/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/cloud/asset/v1p2beta1/assets.proto
// Protobuf Java Version: 3.25.3
package com.google.cloud.asset.v1p2beta1;
public interface AssetOrBuilder
extends
// @@protoc_insertion_point(interface_extends:google.cloud.asset.v1p2beta1.Asset)
com.google.protobuf.MessageOrBuilder {
/**
*
*
*
* The full name of the asset. Example:
* `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`
*
* See [Resource
* names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
* for more information.
*
*
* string name = 1;
*
* @return The name.
*/
java.lang.String getName();
/**
*
*
*
* The full name of the asset. Example:
* `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`
*
* See [Resource
* names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
* for more information.
*
*
* string name = 1;
*
* @return The bytes for name.
*/
com.google.protobuf.ByteString getNameBytes();
/**
*
*
*
* The type of the asset. Example: `compute.googleapis.com/Disk`
*
* See [Supported asset
* types](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
* for more information.
*
*
* string asset_type = 2;
*
* @return The assetType.
*/
java.lang.String getAssetType();
/**
*
*
*
* The type of the asset. Example: `compute.googleapis.com/Disk`
*
* See [Supported asset
* types](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
* for more information.
*
*
* string asset_type = 2;
*
* @return The bytes for assetType.
*/
com.google.protobuf.ByteString getAssetTypeBytes();
/**
*
*
*
* A representation of the resource.
*
*
* .google.cloud.asset.v1p2beta1.Resource resource = 3;
*
* @return Whether the resource field is set.
*/
boolean hasResource();
/**
*
*
*
* A representation of the resource.
*
*
* .google.cloud.asset.v1p2beta1.Resource resource = 3;
*
* @return The resource.
*/
com.google.cloud.asset.v1p2beta1.Resource getResource();
/**
*
*
*
* A representation of the resource.
*
*
* .google.cloud.asset.v1p2beta1.Resource resource = 3;
*/
com.google.cloud.asset.v1p2beta1.ResourceOrBuilder getResourceOrBuilder();
/**
*
*
*
* A representation of the IAM policy set on a Google Cloud resource.
* There can be a maximum of one IAM policy set on any given resource.
* In addition, IAM policies inherit their granted access scope from any
* policies set on parent resources in the resource hierarchy. Therefore, the
* effectively policy is the union of both the policy set on this resource
* and each policy set on all of the resource's ancestry resource levels in
* the hierarchy. See
* [this topic](https://cloud.google.com/iam/help/allow-policies/inheritance)
* for more information.
*
*
* .google.iam.v1.Policy iam_policy = 4;
*
* @return Whether the iamPolicy field is set.
*/
boolean hasIamPolicy();
/**
*
*
*
* A representation of the IAM policy set on a Google Cloud resource.
* There can be a maximum of one IAM policy set on any given resource.
* In addition, IAM policies inherit their granted access scope from any
* policies set on parent resources in the resource hierarchy. Therefore, the
* effectively policy is the union of both the policy set on this resource
* and each policy set on all of the resource's ancestry resource levels in
* the hierarchy. See
* [this topic](https://cloud.google.com/iam/help/allow-policies/inheritance)
* for more information.
*
*
* .google.iam.v1.Policy iam_policy = 4;
*
* @return The iamPolicy.
*/
com.google.iam.v1.Policy getIamPolicy();
/**
*
*
*
* A representation of the IAM policy set on a Google Cloud resource.
* There can be a maximum of one IAM policy set on any given resource.
* In addition, IAM policies inherit their granted access scope from any
* policies set on parent resources in the resource hierarchy. Therefore, the
* effectively policy is the union of both the policy set on this resource
* and each policy set on all of the resource's ancestry resource levels in
* the hierarchy. See
* [this topic](https://cloud.google.com/iam/help/allow-policies/inheritance)
* for more information.
*
*
* .google.iam.v1.Policy iam_policy = 4;
*/
com.google.iam.v1.PolicyOrBuilder getIamPolicyOrBuilder();
/**
*
*
*
* The ancestry path of an asset in Google Cloud [resource
* hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),
* represented as a list of relative resource names. An ancestry path starts
* with the closest ancestor in the hierarchy and ends at root. If the asset
* is a project, folder, or organization, the ancestry path starts from the
* asset itself.
*
* Example: `["projects/123456789", "folders/5432", "organizations/1234"]`
*
*
* repeated string ancestors = 6;
*
* @return A list containing the ancestors.
*/
java.util.List getAncestorsList();
/**
*
*
*
* The ancestry path of an asset in Google Cloud [resource
* hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),
* represented as a list of relative resource names. An ancestry path starts
* with the closest ancestor in the hierarchy and ends at root. If the asset
* is a project, folder, or organization, the ancestry path starts from the
* asset itself.
*
* Example: `["projects/123456789", "folders/5432", "organizations/1234"]`
*
*
* repeated string ancestors = 6;
*
* @return The count of ancestors.
*/
int getAncestorsCount();
/**
*
*
*
* The ancestry path of an asset in Google Cloud [resource
* hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),
* represented as a list of relative resource names. An ancestry path starts
* with the closest ancestor in the hierarchy and ends at root. If the asset
* is a project, folder, or organization, the ancestry path starts from the
* asset itself.
*
* Example: `["projects/123456789", "folders/5432", "organizations/1234"]`
*
*
* repeated string ancestors = 6;
*
* @param index The index of the element to return.
* @return The ancestors at the given index.
*/
java.lang.String getAncestors(int index);
/**
*
*
*
* The ancestry path of an asset in Google Cloud [resource
* hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),
* represented as a list of relative resource names. An ancestry path starts
* with the closest ancestor in the hierarchy and ends at root. If the asset
* is a project, folder, or organization, the ancestry path starts from the
* asset itself.
*
* Example: `["projects/123456789", "folders/5432", "organizations/1234"]`
*
*
* repeated string ancestors = 6;
*
* @param index The index of the value to return.
* @return The bytes of the ancestors at the given index.
*/
com.google.protobuf.ByteString getAncestorsBytes(int index);
/**
*
*
*
* Please also refer to the [access policy user
* guide](https://cloud.google.com/access-context-manager/docs/overview#access-policies).
*
*
* .google.identity.accesscontextmanager.v1.AccessPolicy access_policy = 7;
*
* @return Whether the accessPolicy field is set.
*/
boolean hasAccessPolicy();
/**
*
*
*
* Please also refer to the [access policy user
* guide](https://cloud.google.com/access-context-manager/docs/overview#access-policies).
*
*
* .google.identity.accesscontextmanager.v1.AccessPolicy access_policy = 7;
*
* @return The accessPolicy.
*/
com.google.identity.accesscontextmanager.v1.AccessPolicy getAccessPolicy();
/**
*
*
*
* Please also refer to the [access policy user
* guide](https://cloud.google.com/access-context-manager/docs/overview#access-policies).
*
*
* .google.identity.accesscontextmanager.v1.AccessPolicy access_policy = 7;
*/
com.google.identity.accesscontextmanager.v1.AccessPolicyOrBuilder getAccessPolicyOrBuilder();
/**
*
*
*
* Please also refer to the [access level user
* guide](https://cloud.google.com/access-context-manager/docs/overview#access-levels).
*
*
* .google.identity.accesscontextmanager.v1.AccessLevel access_level = 8;
*
* @return Whether the accessLevel field is set.
*/
boolean hasAccessLevel();
/**
*
*
*
* Please also refer to the [access level user
* guide](https://cloud.google.com/access-context-manager/docs/overview#access-levels).
*
*
* .google.identity.accesscontextmanager.v1.AccessLevel access_level = 8;
*
* @return The accessLevel.
*/
com.google.identity.accesscontextmanager.v1.AccessLevel getAccessLevel();
/**
*
*
*
* Please also refer to the [access level user
* guide](https://cloud.google.com/access-context-manager/docs/overview#access-levels).
*
*
* .google.identity.accesscontextmanager.v1.AccessLevel access_level = 8;
*/
com.google.identity.accesscontextmanager.v1.AccessLevelOrBuilder getAccessLevelOrBuilder();
/**
*
*
*
* Please also refer to the [service perimeter user
* guide](https://cloud.google.com/vpc-service-controls/docs/overview).
*
*
* .google.identity.accesscontextmanager.v1.ServicePerimeter service_perimeter = 9;
*
* @return Whether the servicePerimeter field is set.
*/
boolean hasServicePerimeter();
/**
*
*
*
* Please also refer to the [service perimeter user
* guide](https://cloud.google.com/vpc-service-controls/docs/overview).
*
*
* .google.identity.accesscontextmanager.v1.ServicePerimeter service_perimeter = 9;
*
* @return The servicePerimeter.
*/
com.google.identity.accesscontextmanager.v1.ServicePerimeter getServicePerimeter();
/**
*
*
*
* Please also refer to the [service perimeter user
* guide](https://cloud.google.com/vpc-service-controls/docs/overview).
*
*
* .google.identity.accesscontextmanager.v1.ServicePerimeter service_perimeter = 9;
*/
com.google.identity.accesscontextmanager.v1.ServicePerimeterOrBuilder
getServicePerimeterOrBuilder();
/**
*
*
*
* A representation of an [organization
* policy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy).
* There can be more than one organization policy with different constraints
* set on a given resource.
*
*
* repeated .google.cloud.orgpolicy.v1.Policy org_policy = 10;
*/
java.util.List getOrgPolicyList();
/**
*
*
*
* A representation of an [organization
* policy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy).
* There can be more than one organization policy with different constraints
* set on a given resource.
*
*
* repeated .google.cloud.orgpolicy.v1.Policy org_policy = 10;
*/
com.google.cloud.orgpolicy.v1.Policy getOrgPolicy(int index);
/**
*
*
*
* A representation of an [organization
* policy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy).
* There can be more than one organization policy with different constraints
* set on a given resource.
*
*
* repeated .google.cloud.orgpolicy.v1.Policy org_policy = 10;
*/
int getOrgPolicyCount();
/**
*
*
*
* A representation of an [organization
* policy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy).
* There can be more than one organization policy with different constraints
* set on a given resource.
*
*
* repeated .google.cloud.orgpolicy.v1.Policy org_policy = 10;
*/
java.util.List extends com.google.cloud.orgpolicy.v1.PolicyOrBuilder>
getOrgPolicyOrBuilderList();
/**
*
*
*
* A representation of an [organization
* policy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy).
* There can be more than one organization policy with different constraints
* set on a given resource.
*
*
* repeated .google.cloud.orgpolicy.v1.Policy org_policy = 10;
*/
com.google.cloud.orgpolicy.v1.PolicyOrBuilder getOrgPolicyOrBuilder(int index);
com.google.cloud.asset.v1p2beta1.Asset.AccessContextPolicyCase getAccessContextPolicyCase();
}