All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.cloudasset.v1.model.ResourceSearchResult Maven / Gradle / Ivy

The newest version!
/*
 * 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
 *
 * http://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.
 */
/*
 * This code was generated by https://github.com/googleapis/google-api-java-client-services/
 * Modify at your own risk.
 */

package com.google.api.services.cloudasset.v1.model;

/**
 * A result of Resource Search, containing information of a cloud resource.
 *
 * 

This is the Java data model class that specifies how to parse/serialize into the JSON that is * transmitted over HTTP when working with the Cloud Asset API. For a detailed explanation see: * https://developers.google.com/api-client-library/java/google-http-java-client/json *

* * @author Google, Inc. */ @SuppressWarnings("javadoc") public final class ResourceSearchResult extends com.google.api.client.json.GenericJson { /** * The additional searchable attributes of this resource. The attributes may vary from one * resource type to another. Examples: `projectId` for Project, `dnsName` for DNS ManagedZone. * This field contains a subset of the resource metadata fields that are returned by the List or * Get APIs provided by the corresponding Google Cloud service (e.g., Compute Engine). see [API * references and supported searchable attributes](https://cloud.google.com/asset- * inventory/docs/supported-asset-types) to see which fields are included. You can search values * of these fields through free text search. However, you should not consume the field * programically as the field names and values may change as the Google Cloud service updates to a * new incompatible API version. To search against the `additional_attributes`: * Use a free text * query to match the attributes values. Example: to search `additional_attributes = { dnsName: * "foobar" }`, you can issue a query `foobar`. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.Map additionalAttributes; /** * The type of this resource. Example: `compute.googleapis.com/Disk`. To search against the * `asset_type`: * Specify the `asset_type` field in your search request. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String assetType; /** * Attached resources of this resource. For example, an OSConfig Inventory is an attached resource * of a Compute Instance. This field is repeated because a resource could have multiple attached * resources. This `attached_resources` field is not searchable. Some attributes of the attached * resources are exposed in `additional_attributes` field, so as to allow users to search on them. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List attachedResources; static { // hack to force ProGuard to consider AttachedResource used, since otherwise it would be stripped out // see https://github.com/google/google-api-java-client/issues/543 com.google.api.client.util.Data.nullOf(AttachedResource.class); } /** * The create timestamp of this resource, at which the resource was created. The granularity is in * seconds. Timestamp.nanos will always be 0. This field is available only when the resource's * Protobuf contains it. To search against `create_time`: * Use a field query. - value in seconds * since unix epoch. Example: `createTime > 1609459200` - value in date string. Example: * `createTime > 2021-01-01` - value in date-time string (must be quoted). Example: `createTime > * "2021-01-01T00:00:00"` * The value may be {@code null}. */ @com.google.api.client.util.Key private String createTime; /** * One or more paragraphs of text description of this resource. Maximum length could be up to 1M * bytes. This field is available only when the resource's Protobuf contains it. To search against * the `description`: * Use a field query. Example: `description:"important instance"` * Use a * free text query. Example: `"important instance"` * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String description; /** * The display name of this resource. This field is available only when the resource's Protobuf * contains it. To search against the `display_name`: * Use a field query. Example: * `displayName:"My Instance"` * Use a free text query. Example: `"My Instance"` * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String displayName; /** * The effective tags on this resource. All of the tags that are both attached to and inherited by * a resource are collectively called the effective tags. For more information, see [tag * inheritance](https://cloud.google.com/resource-manager/docs/tags/tags-overview#inheritance). To * search against the `effective_tags`: * Use a field query. Example: - * `effectiveTagKeys:"123456789/env*"` - `effectiveTagKeys="123456789/env"` - * `effectiveTagKeys:"env"` - `effectiveTagKeyIds="tagKeys/123"` - `effectiveTagValues:"env"` - * `effectiveTagValues:"env/prod"` - `effectiveTagValues:"123456789/env/prod*"` - * `effectiveTagValues="123456789/env/prod"` - `effectiveTagValueIds="tagValues/456"` * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List effectiveTags; static { // hack to force ProGuard to consider EffectiveTagDetails used, since otherwise it would be stripped out // see https://github.com/google/google-api-java-client/issues/543 com.google.api.client.util.Data.nullOf(EffectiveTagDetails.class); } /** * Enrichments of the asset. Currently supported enrichment types with SearchAllResources API: * * RESOURCE_OWNERS The corresponding read masks in order to get the enrichment: * * enrichments.resource_owners The corresponding required permissions: * * cloudasset.assets.searchEnrichmentResourceOwners Example query to get resource owner * enrichment: ``` scope: "projects/my-project" query: "name: my-project" assetTypes: * "cloudresourcemanager.googleapis.com/Project" readMask: { paths: "asset_type" paths: "name" * paths: "enrichments.resource_owners" } ``` * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List enrichments; static { // hack to force ProGuard to consider AssetEnrichment used, since otherwise it would be stripped out // see https://github.com/google/google-api-java-client/issues/543 com.google.api.client.util.Data.nullOf(AssetEnrichment.class); } /** * The folder(s) that this resource belongs to, in the form of folders/{FOLDER_NUMBER}. This field * is available when the resource belongs to one or more folders. To search against `folders`: * * Use a field query. Example: `folders:(123 OR 456)` * Use a free text query. Example: `123` * * Specify the `scope` field as this folder in your search request. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List folders; /** * The Cloud KMS [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.location * s.keyRings.cryptoKeys) name or [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/r * est/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions) name. This field only presents * for the purpose of backward compatibility. Use the `kms_keys` field to retrieve Cloud KMS key * information. This field is available only when the resource's Protobuf contains it and will * only be populated for [these resource types](https://cloud.google.com/asset- * inventory/docs/legacy-field-names#resource_types_with_the_to_be_deprecated_kmskey_field) for * backward compatible purposes. To search against the `kms_key`: * Use a field query. Example: * `kmsKey:key` * Use a free text query. Example: `key` * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String kmsKey; /** * The Cloud KMS [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.location * s.keyRings.cryptoKeys) names or [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/ * rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions) names. This field is * available only when the resource's Protobuf contains it. To search against the `kms_keys`: * * Use a field query. Example: `kmsKeys:key` * Use a free text query. Example: `key` * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List kmsKeys; /** * User labels associated with this resource. See [Labelling and grouping Google Cloud * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud- * platform-resources) for more information. This field is available only when the resource's * Protobuf contains it. To search against the `labels`: * Use a field query: - query on any * label's key or value. Example: `labels:prod` - query by a given label. Example: * `labels.env:prod` - query by a given label's existence. Example: `labels.env:*` * Use a free * text query. Example: `prod` * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.Map labels; /** * Location can be `global`, regional like `us-east1`, or zonal like `us-west1-b`. This field is * available only when the resource's Protobuf contains it. To search against the `location`: * * Use a field query. Example: `location:us-west*` * Use a free text query. Example: `us-west*` * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String location; /** * The full resource name of this resource. Example: * `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. See [Cloud * Asset Inventory Resource Name Format](https://cloud.google.com/asset-inventory/docs/resource- * name-format) for more information. To search against the `name`: * Use a field query. Example: * `name:instance1` * Use a free text query. Example: `instance1` * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String name; /** * Network tags associated with this resource. Like labels, network tags are a type of annotations * used to group Google Cloud resources. See [Labelling Google Cloud * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud- * platform-resources) for more information. This field is available only when the resource's * Protobuf contains it. To search against the `network_tags`: * Use a field query. Example: * `networkTags:internal` * Use a free text query. Example: `internal` * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List networkTags; /** * The organization that this resource belongs to, in the form of * organizations/{ORGANIZATION_NUMBER}. This field is available when the resource belongs to an * organization. To search against `organization`: * Use a field query. Example: * `organization:123` * Use a free text query. Example: `123` * Specify the `scope` field as this * organization in your search request. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String organization; /** * The type of this resource's immediate parent, if there is one. To search against the * `parent_asset_type`: * Use a field query. Example: * `parentAssetType:"cloudresourcemanager.googleapis.com/Project"` * Use a free text query. * Example: `cloudresourcemanager.googleapis.com/Project` * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String parentAssetType; /** * The full resource name of this resource's parent, if it has one. To search against the * `parent_full_resource_name`: * Use a field query. Example: `parentFullResourceName:"project- * name"` * Use a free text query. Example: `project-name` * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String parentFullResourceName; /** * The project that this resource belongs to, in the form of projects/{PROJECT_NUMBER}. This field * is available when the resource belongs to a project. To search against `project`: * Use a field * query. Example: `project:12345` * Use a free text query. Example: `12345` * Specify the `scope` * field as this project in your search request. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String project; /** * A map of related resources of this resource, keyed by the relationship type. A relationship * type is in the format of {SourceType}_{ACTION}_{DestType}. Example: `DISK_TO_INSTANCE`, * `DISK_TO_NETWORK`, `INSTANCE_TO_INSTANCEGROUP`. See [supported relationship * types](https://cloud.google.com/asset-inventory/docs/supported-asset- * types#supported_relationship_types). * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.Map relationships; static { // hack to force ProGuard to consider RelatedResources used, since otherwise it would be stripped out // see https://github.com/google/google-api-java-client/issues/543 com.google.api.client.util.Data.nullOf(RelatedResources.class); } /** * The actual content of Security Command Center security marks associated with the asset. To * search against SCC SecurityMarks field: * Use a field query: - query by a given key value pair. * Example: `sccSecurityMarks.foo=bar` - query by a given key's existence. Example: * `sccSecurityMarks.foo:*` * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.Map sccSecurityMarks; /** * The state of this resource. Different resources types have different state definitions that are * mapped from various fields of different resource types. This field is available only when the * resource's Protobuf contains it. Example: If the resource is an instance provided by Compute * Engine, its state will include PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, * REPAIRING, and TERMINATED. See `status` definition in [API * Reference](https://cloud.google.com/compute/docs/reference/rest/v1/instances). If the resource * is a project provided by Resource Manager, its state will include LIFECYCLE_STATE_UNSPECIFIED, * ACTIVE, DELETE_REQUESTED and DELETE_IN_PROGRESS. See `lifecycleState` definition in [API * Reference](https://cloud.google.com/resource-manager/reference/rest/v1/projects). To search * against the `state`: * Use a field query. Example: `state:RUNNING` * Use a free text query. * Example: `RUNNING` * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String state; /** * This field is only present for the purpose of backward compatibility. Use the `tags` field * instead. TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}. To search * against the `tagKeys`: * Use a field query. Example: - `tagKeys:"123456789/env*"` - * `tagKeys="123456789/env"` - `tagKeys:"env"` * Use a free text query. Example: - `env` * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List tagKeys; /** * This field is only present for the purpose of backward compatibility. Use the `tags` field * instead. TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}. To search against the * `tagValueIds`: * Use a field query. Example: - `tagValueIds="tagValues/456"` * Use a free text * query. Example: - `456` * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List tagValueIds; /** * This field is only present for the purpose of backward compatibility. Use the `tags` field * instead. TagValue namespaced names, in the format of * {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}. To search against the `tagValues`: * Use * a field query. Example: - `tagValues:"env"` - `tagValues:"env/prod"` - * `tagValues:"123456789/env/prod*"` - `tagValues="123456789/env/prod"` * Use a free text query. * Example: - `prod` * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List tagValues; /** * The tags directly attached to this resource. To search against the `tags`: * Use a field query. * Example: - `tagKeys:"123456789/env*"` - `tagKeys="123456789/env"` - `tagKeys:"env"` - * `tagKeyIds="tagKeys/123"` - `tagValues:"env"` - `tagValues:"env/prod"` - * `tagValues:"123456789/env/prod*"` - `tagValues="123456789/env/prod"` - * `tagValueIds="tagValues/456"` * Use a free text query. Example: - `env/prod` * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List tags; /** * The last update timestamp of this resource, at which the resource was last modified or deleted. * The granularity is in seconds. Timestamp.nanos will always be 0. This field is available only * when the resource's Protobuf contains it. To search against `update_time`: * Use a field query. * - value in seconds since unix epoch. Example: `updateTime < 1609459200` - value in date string. * Example: `updateTime < 2021-01-01` - value in date-time string (must be quoted). Example: * `updateTime < "2021-01-01T00:00:00"` * The value may be {@code null}. */ @com.google.api.client.util.Key private String updateTime; /** * Versioned resource representations of this resource. This is repeated because there could be * multiple versions of resource representations during version migration. This * `versioned_resources` field is not searchable. Some attributes of the resource representations * are exposed in `additional_attributes` field, so as to allow users to search on them. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List versionedResources; /** * The additional searchable attributes of this resource. The attributes may vary from one * resource type to another. Examples: `projectId` for Project, `dnsName` for DNS ManagedZone. * This field contains a subset of the resource metadata fields that are returned by the List or * Get APIs provided by the corresponding Google Cloud service (e.g., Compute Engine). see [API * references and supported searchable attributes](https://cloud.google.com/asset- * inventory/docs/supported-asset-types) to see which fields are included. You can search values * of these fields through free text search. However, you should not consume the field * programically as the field names and values may change as the Google Cloud service updates to a * new incompatible API version. To search against the `additional_attributes`: * Use a free text * query to match the attributes values. Example: to search `additional_attributes = { dnsName: * "foobar" }`, you can issue a query `foobar`. * @return value or {@code null} for none */ public java.util.Map getAdditionalAttributes() { return additionalAttributes; } /** * The additional searchable attributes of this resource. The attributes may vary from one * resource type to another. Examples: `projectId` for Project, `dnsName` for DNS ManagedZone. * This field contains a subset of the resource metadata fields that are returned by the List or * Get APIs provided by the corresponding Google Cloud service (e.g., Compute Engine). see [API * references and supported searchable attributes](https://cloud.google.com/asset- * inventory/docs/supported-asset-types) to see which fields are included. You can search values * of these fields through free text search. However, you should not consume the field * programically as the field names and values may change as the Google Cloud service updates to a * new incompatible API version. To search against the `additional_attributes`: * Use a free text * query to match the attributes values. Example: to search `additional_attributes = { dnsName: * "foobar" }`, you can issue a query `foobar`. * @param additionalAttributes additionalAttributes or {@code null} for none */ public ResourceSearchResult setAdditionalAttributes(java.util.Map additionalAttributes) { this.additionalAttributes = additionalAttributes; return this; } /** * The type of this resource. Example: `compute.googleapis.com/Disk`. To search against the * `asset_type`: * Specify the `asset_type` field in your search request. * @return value or {@code null} for none */ public java.lang.String getAssetType() { return assetType; } /** * The type of this resource. Example: `compute.googleapis.com/Disk`. To search against the * `asset_type`: * Specify the `asset_type` field in your search request. * @param assetType assetType or {@code null} for none */ public ResourceSearchResult setAssetType(java.lang.String assetType) { this.assetType = assetType; return this; } /** * Attached resources of this resource. For example, an OSConfig Inventory is an attached resource * of a Compute Instance. This field is repeated because a resource could have multiple attached * resources. This `attached_resources` field is not searchable. Some attributes of the attached * resources are exposed in `additional_attributes` field, so as to allow users to search on them. * @return value or {@code null} for none */ public java.util.List getAttachedResources() { return attachedResources; } /** * Attached resources of this resource. For example, an OSConfig Inventory is an attached resource * of a Compute Instance. This field is repeated because a resource could have multiple attached * resources. This `attached_resources` field is not searchable. Some attributes of the attached * resources are exposed in `additional_attributes` field, so as to allow users to search on them. * @param attachedResources attachedResources or {@code null} for none */ public ResourceSearchResult setAttachedResources(java.util.List attachedResources) { this.attachedResources = attachedResources; return this; } /** * The create timestamp of this resource, at which the resource was created. The granularity is in * seconds. Timestamp.nanos will always be 0. This field is available only when the resource's * Protobuf contains it. To search against `create_time`: * Use a field query. - value in seconds * since unix epoch. Example: `createTime > 1609459200` - value in date string. Example: * `createTime > 2021-01-01` - value in date-time string (must be quoted). Example: `createTime > * "2021-01-01T00:00:00"` * @return value or {@code null} for none */ public String getCreateTime() { return createTime; } /** * The create timestamp of this resource, at which the resource was created. The granularity is in * seconds. Timestamp.nanos will always be 0. This field is available only when the resource's * Protobuf contains it. To search against `create_time`: * Use a field query. - value in seconds * since unix epoch. Example: `createTime > 1609459200` - value in date string. Example: * `createTime > 2021-01-01` - value in date-time string (must be quoted). Example: `createTime > * "2021-01-01T00:00:00"` * @param createTime createTime or {@code null} for none */ public ResourceSearchResult setCreateTime(String createTime) { this.createTime = createTime; return this; } /** * One or more paragraphs of text description of this resource. Maximum length could be up to 1M * bytes. This field is available only when the resource's Protobuf contains it. To search against * the `description`: * Use a field query. Example: `description:"important instance"` * Use a * free text query. Example: `"important instance"` * @return value or {@code null} for none */ public java.lang.String getDescription() { return description; } /** * One or more paragraphs of text description of this resource. Maximum length could be up to 1M * bytes. This field is available only when the resource's Protobuf contains it. To search against * the `description`: * Use a field query. Example: `description:"important instance"` * Use a * free text query. Example: `"important instance"` * @param description description or {@code null} for none */ public ResourceSearchResult setDescription(java.lang.String description) { this.description = description; return this; } /** * The display name of this resource. This field is available only when the resource's Protobuf * contains it. To search against the `display_name`: * Use a field query. Example: * `displayName:"My Instance"` * Use a free text query. Example: `"My Instance"` * @return value or {@code null} for none */ public java.lang.String getDisplayName() { return displayName; } /** * The display name of this resource. This field is available only when the resource's Protobuf * contains it. To search against the `display_name`: * Use a field query. Example: * `displayName:"My Instance"` * Use a free text query. Example: `"My Instance"` * @param displayName displayName or {@code null} for none */ public ResourceSearchResult setDisplayName(java.lang.String displayName) { this.displayName = displayName; return this; } /** * The effective tags on this resource. All of the tags that are both attached to and inherited by * a resource are collectively called the effective tags. For more information, see [tag * inheritance](https://cloud.google.com/resource-manager/docs/tags/tags-overview#inheritance). To * search against the `effective_tags`: * Use a field query. Example: - * `effectiveTagKeys:"123456789/env*"` - `effectiveTagKeys="123456789/env"` - * `effectiveTagKeys:"env"` - `effectiveTagKeyIds="tagKeys/123"` - `effectiveTagValues:"env"` - * `effectiveTagValues:"env/prod"` - `effectiveTagValues:"123456789/env/prod*"` - * `effectiveTagValues="123456789/env/prod"` - `effectiveTagValueIds="tagValues/456"` * @return value or {@code null} for none */ public java.util.List getEffectiveTags() { return effectiveTags; } /** * The effective tags on this resource. All of the tags that are both attached to and inherited by * a resource are collectively called the effective tags. For more information, see [tag * inheritance](https://cloud.google.com/resource-manager/docs/tags/tags-overview#inheritance). To * search against the `effective_tags`: * Use a field query. Example: - * `effectiveTagKeys:"123456789/env*"` - `effectiveTagKeys="123456789/env"` - * `effectiveTagKeys:"env"` - `effectiveTagKeyIds="tagKeys/123"` - `effectiveTagValues:"env"` - * `effectiveTagValues:"env/prod"` - `effectiveTagValues:"123456789/env/prod*"` - * `effectiveTagValues="123456789/env/prod"` - `effectiveTagValueIds="tagValues/456"` * @param effectiveTags effectiveTags or {@code null} for none */ public ResourceSearchResult setEffectiveTags(java.util.List effectiveTags) { this.effectiveTags = effectiveTags; return this; } /** * Enrichments of the asset. Currently supported enrichment types with SearchAllResources API: * * RESOURCE_OWNERS The corresponding read masks in order to get the enrichment: * * enrichments.resource_owners The corresponding required permissions: * * cloudasset.assets.searchEnrichmentResourceOwners Example query to get resource owner * enrichment: ``` scope: "projects/my-project" query: "name: my-project" assetTypes: * "cloudresourcemanager.googleapis.com/Project" readMask: { paths: "asset_type" paths: "name" * paths: "enrichments.resource_owners" } ``` * @return value or {@code null} for none */ public java.util.List getEnrichments() { return enrichments; } /** * Enrichments of the asset. Currently supported enrichment types with SearchAllResources API: * * RESOURCE_OWNERS The corresponding read masks in order to get the enrichment: * * enrichments.resource_owners The corresponding required permissions: * * cloudasset.assets.searchEnrichmentResourceOwners Example query to get resource owner * enrichment: ``` scope: "projects/my-project" query: "name: my-project" assetTypes: * "cloudresourcemanager.googleapis.com/Project" readMask: { paths: "asset_type" paths: "name" * paths: "enrichments.resource_owners" } ``` * @param enrichments enrichments or {@code null} for none */ public ResourceSearchResult setEnrichments(java.util.List enrichments) { this.enrichments = enrichments; return this; } /** * The folder(s) that this resource belongs to, in the form of folders/{FOLDER_NUMBER}. This field * is available when the resource belongs to one or more folders. To search against `folders`: * * Use a field query. Example: `folders:(123 OR 456)` * Use a free text query. Example: `123` * * Specify the `scope` field as this folder in your search request. * @return value or {@code null} for none */ public java.util.List getFolders() { return folders; } /** * The folder(s) that this resource belongs to, in the form of folders/{FOLDER_NUMBER}. This field * is available when the resource belongs to one or more folders. To search against `folders`: * * Use a field query. Example: `folders:(123 OR 456)` * Use a free text query. Example: `123` * * Specify the `scope` field as this folder in your search request. * @param folders folders or {@code null} for none */ public ResourceSearchResult setFolders(java.util.List folders) { this.folders = folders; return this; } /** * The Cloud KMS [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.location * s.keyRings.cryptoKeys) name or [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/r * est/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions) name. This field only presents * for the purpose of backward compatibility. Use the `kms_keys` field to retrieve Cloud KMS key * information. This field is available only when the resource's Protobuf contains it and will * only be populated for [these resource types](https://cloud.google.com/asset- * inventory/docs/legacy-field-names#resource_types_with_the_to_be_deprecated_kmskey_field) for * backward compatible purposes. To search against the `kms_key`: * Use a field query. Example: * `kmsKey:key` * Use a free text query. Example: `key` * @return value or {@code null} for none */ public java.lang.String getKmsKey() { return kmsKey; } /** * The Cloud KMS [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.location * s.keyRings.cryptoKeys) name or [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/r * est/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions) name. This field only presents * for the purpose of backward compatibility. Use the `kms_keys` field to retrieve Cloud KMS key * information. This field is available only when the resource's Protobuf contains it and will * only be populated for [these resource types](https://cloud.google.com/asset- * inventory/docs/legacy-field-names#resource_types_with_the_to_be_deprecated_kmskey_field) for * backward compatible purposes. To search against the `kms_key`: * Use a field query. Example: * `kmsKey:key` * Use a free text query. Example: `key` * @param kmsKey kmsKey or {@code null} for none */ public ResourceSearchResult setKmsKey(java.lang.String kmsKey) { this.kmsKey = kmsKey; return this; } /** * The Cloud KMS [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.location * s.keyRings.cryptoKeys) names or [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/ * rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions) names. This field is * available only when the resource's Protobuf contains it. To search against the `kms_keys`: * * Use a field query. Example: `kmsKeys:key` * Use a free text query. Example: `key` * @return value or {@code null} for none */ public java.util.List getKmsKeys() { return kmsKeys; } /** * The Cloud KMS [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.location * s.keyRings.cryptoKeys) names or [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/ * rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions) names. This field is * available only when the resource's Protobuf contains it. To search against the `kms_keys`: * * Use a field query. Example: `kmsKeys:key` * Use a free text query. Example: `key` * @param kmsKeys kmsKeys or {@code null} for none */ public ResourceSearchResult setKmsKeys(java.util.List kmsKeys) { this.kmsKeys = kmsKeys; return this; } /** * User labels associated with this resource. See [Labelling and grouping Google Cloud * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud- * platform-resources) for more information. This field is available only when the resource's * Protobuf contains it. To search against the `labels`: * Use a field query: - query on any * label's key or value. Example: `labels:prod` - query by a given label. Example: * `labels.env:prod` - query by a given label's existence. Example: `labels.env:*` * Use a free * text query. Example: `prod` * @return value or {@code null} for none */ public java.util.Map getLabels() { return labels; } /** * User labels associated with this resource. See [Labelling and grouping Google Cloud * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud- * platform-resources) for more information. This field is available only when the resource's * Protobuf contains it. To search against the `labels`: * Use a field query: - query on any * label's key or value. Example: `labels:prod` - query by a given label. Example: * `labels.env:prod` - query by a given label's existence. Example: `labels.env:*` * Use a free * text query. Example: `prod` * @param labels labels or {@code null} for none */ public ResourceSearchResult setLabels(java.util.Map labels) { this.labels = labels; return this; } /** * Location can be `global`, regional like `us-east1`, or zonal like `us-west1-b`. This field is * available only when the resource's Protobuf contains it. To search against the `location`: * * Use a field query. Example: `location:us-west*` * Use a free text query. Example: `us-west*` * @return value or {@code null} for none */ public java.lang.String getLocation() { return location; } /** * Location can be `global`, regional like `us-east1`, or zonal like `us-west1-b`. This field is * available only when the resource's Protobuf contains it. To search against the `location`: * * Use a field query. Example: `location:us-west*` * Use a free text query. Example: `us-west*` * @param location location or {@code null} for none */ public ResourceSearchResult setLocation(java.lang.String location) { this.location = location; return this; } /** * The full resource name of this resource. Example: * `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. See [Cloud * Asset Inventory Resource Name Format](https://cloud.google.com/asset-inventory/docs/resource- * name-format) for more information. To search against the `name`: * Use a field query. Example: * `name:instance1` * Use a free text query. Example: `instance1` * @return value or {@code null} for none */ public java.lang.String getName() { return name; } /** * The full resource name of this resource. Example: * `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. See [Cloud * Asset Inventory Resource Name Format](https://cloud.google.com/asset-inventory/docs/resource- * name-format) for more information. To search against the `name`: * Use a field query. Example: * `name:instance1` * Use a free text query. Example: `instance1` * @param name name or {@code null} for none */ public ResourceSearchResult setName(java.lang.String name) { this.name = name; return this; } /** * Network tags associated with this resource. Like labels, network tags are a type of annotations * used to group Google Cloud resources. See [Labelling Google Cloud * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud- * platform-resources) for more information. This field is available only when the resource's * Protobuf contains it. To search against the `network_tags`: * Use a field query. Example: * `networkTags:internal` * Use a free text query. Example: `internal` * @return value or {@code null} for none */ public java.util.List getNetworkTags() { return networkTags; } /** * Network tags associated with this resource. Like labels, network tags are a type of annotations * used to group Google Cloud resources. See [Labelling Google Cloud * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud- * platform-resources) for more information. This field is available only when the resource's * Protobuf contains it. To search against the `network_tags`: * Use a field query. Example: * `networkTags:internal` * Use a free text query. Example: `internal` * @param networkTags networkTags or {@code null} for none */ public ResourceSearchResult setNetworkTags(java.util.List networkTags) { this.networkTags = networkTags; return this; } /** * The organization that this resource belongs to, in the form of * organizations/{ORGANIZATION_NUMBER}. This field is available when the resource belongs to an * organization. To search against `organization`: * Use a field query. Example: * `organization:123` * Use a free text query. Example: `123` * Specify the `scope` field as this * organization in your search request. * @return value or {@code null} for none */ public java.lang.String getOrganization() { return organization; } /** * The organization that this resource belongs to, in the form of * organizations/{ORGANIZATION_NUMBER}. This field is available when the resource belongs to an * organization. To search against `organization`: * Use a field query. Example: * `organization:123` * Use a free text query. Example: `123` * Specify the `scope` field as this * organization in your search request. * @param organization organization or {@code null} for none */ public ResourceSearchResult setOrganization(java.lang.String organization) { this.organization = organization; return this; } /** * The type of this resource's immediate parent, if there is one. To search against the * `parent_asset_type`: * Use a field query. Example: * `parentAssetType:"cloudresourcemanager.googleapis.com/Project"` * Use a free text query. * Example: `cloudresourcemanager.googleapis.com/Project` * @return value or {@code null} for none */ public java.lang.String getParentAssetType() { return parentAssetType; } /** * The type of this resource's immediate parent, if there is one. To search against the * `parent_asset_type`: * Use a field query. Example: * `parentAssetType:"cloudresourcemanager.googleapis.com/Project"` * Use a free text query. * Example: `cloudresourcemanager.googleapis.com/Project` * @param parentAssetType parentAssetType or {@code null} for none */ public ResourceSearchResult setParentAssetType(java.lang.String parentAssetType) { this.parentAssetType = parentAssetType; return this; } /** * The full resource name of this resource's parent, if it has one. To search against the * `parent_full_resource_name`: * Use a field query. Example: `parentFullResourceName:"project- * name"` * Use a free text query. Example: `project-name` * @return value or {@code null} for none */ public java.lang.String getParentFullResourceName() { return parentFullResourceName; } /** * The full resource name of this resource's parent, if it has one. To search against the * `parent_full_resource_name`: * Use a field query. Example: `parentFullResourceName:"project- * name"` * Use a free text query. Example: `project-name` * @param parentFullResourceName parentFullResourceName or {@code null} for none */ public ResourceSearchResult setParentFullResourceName(java.lang.String parentFullResourceName) { this.parentFullResourceName = parentFullResourceName; return this; } /** * The project that this resource belongs to, in the form of projects/{PROJECT_NUMBER}. This field * is available when the resource belongs to a project. To search against `project`: * Use a field * query. Example: `project:12345` * Use a free text query. Example: `12345` * Specify the `scope` * field as this project in your search request. * @return value or {@code null} for none */ public java.lang.String getProject() { return project; } /** * The project that this resource belongs to, in the form of projects/{PROJECT_NUMBER}. This field * is available when the resource belongs to a project. To search against `project`: * Use a field * query. Example: `project:12345` * Use a free text query. Example: `12345` * Specify the `scope` * field as this project in your search request. * @param project project or {@code null} for none */ public ResourceSearchResult setProject(java.lang.String project) { this.project = project; return this; } /** * A map of related resources of this resource, keyed by the relationship type. A relationship * type is in the format of {SourceType}_{ACTION}_{DestType}. Example: `DISK_TO_INSTANCE`, * `DISK_TO_NETWORK`, `INSTANCE_TO_INSTANCEGROUP`. See [supported relationship * types](https://cloud.google.com/asset-inventory/docs/supported-asset- * types#supported_relationship_types). * @return value or {@code null} for none */ public java.util.Map getRelationships() { return relationships; } /** * A map of related resources of this resource, keyed by the relationship type. A relationship * type is in the format of {SourceType}_{ACTION}_{DestType}. Example: `DISK_TO_INSTANCE`, * `DISK_TO_NETWORK`, `INSTANCE_TO_INSTANCEGROUP`. See [supported relationship * types](https://cloud.google.com/asset-inventory/docs/supported-asset- * types#supported_relationship_types). * @param relationships relationships or {@code null} for none */ public ResourceSearchResult setRelationships(java.util.Map relationships) { this.relationships = relationships; return this; } /** * The actual content of Security Command Center security marks associated with the asset. To * search against SCC SecurityMarks field: * Use a field query: - query by a given key value pair. * Example: `sccSecurityMarks.foo=bar` - query by a given key's existence. Example: * `sccSecurityMarks.foo:*` * @return value or {@code null} for none */ public java.util.Map getSccSecurityMarks() { return sccSecurityMarks; } /** * The actual content of Security Command Center security marks associated with the asset. To * search against SCC SecurityMarks field: * Use a field query: - query by a given key value pair. * Example: `sccSecurityMarks.foo=bar` - query by a given key's existence. Example: * `sccSecurityMarks.foo:*` * @param sccSecurityMarks sccSecurityMarks or {@code null} for none */ public ResourceSearchResult setSccSecurityMarks(java.util.Map sccSecurityMarks) { this.sccSecurityMarks = sccSecurityMarks; return this; } /** * The state of this resource. Different resources types have different state definitions that are * mapped from various fields of different resource types. This field is available only when the * resource's Protobuf contains it. Example: If the resource is an instance provided by Compute * Engine, its state will include PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, * REPAIRING, and TERMINATED. See `status` definition in [API * Reference](https://cloud.google.com/compute/docs/reference/rest/v1/instances). If the resource * is a project provided by Resource Manager, its state will include LIFECYCLE_STATE_UNSPECIFIED, * ACTIVE, DELETE_REQUESTED and DELETE_IN_PROGRESS. See `lifecycleState` definition in [API * Reference](https://cloud.google.com/resource-manager/reference/rest/v1/projects). To search * against the `state`: * Use a field query. Example: `state:RUNNING` * Use a free text query. * Example: `RUNNING` * @return value or {@code null} for none */ public java.lang.String getState() { return state; } /** * The state of this resource. Different resources types have different state definitions that are * mapped from various fields of different resource types. This field is available only when the * resource's Protobuf contains it. Example: If the resource is an instance provided by Compute * Engine, its state will include PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, * REPAIRING, and TERMINATED. See `status` definition in [API * Reference](https://cloud.google.com/compute/docs/reference/rest/v1/instances). If the resource * is a project provided by Resource Manager, its state will include LIFECYCLE_STATE_UNSPECIFIED, * ACTIVE, DELETE_REQUESTED and DELETE_IN_PROGRESS. See `lifecycleState` definition in [API * Reference](https://cloud.google.com/resource-manager/reference/rest/v1/projects). To search * against the `state`: * Use a field query. Example: `state:RUNNING` * Use a free text query. * Example: `RUNNING` * @param state state or {@code null} for none */ public ResourceSearchResult setState(java.lang.String state) { this.state = state; return this; } /** * This field is only present for the purpose of backward compatibility. Use the `tags` field * instead. TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}. To search * against the `tagKeys`: * Use a field query. Example: - `tagKeys:"123456789/env*"` - * `tagKeys="123456789/env"` - `tagKeys:"env"` * Use a free text query. Example: - `env` * @return value or {@code null} for none */ public java.util.List getTagKeys() { return tagKeys; } /** * This field is only present for the purpose of backward compatibility. Use the `tags` field * instead. TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}. To search * against the `tagKeys`: * Use a field query. Example: - `tagKeys:"123456789/env*"` - * `tagKeys="123456789/env"` - `tagKeys:"env"` * Use a free text query. Example: - `env` * @param tagKeys tagKeys or {@code null} for none */ public ResourceSearchResult setTagKeys(java.util.List tagKeys) { this.tagKeys = tagKeys; return this; } /** * This field is only present for the purpose of backward compatibility. Use the `tags` field * instead. TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}. To search against the * `tagValueIds`: * Use a field query. Example: - `tagValueIds="tagValues/456"` * Use a free text * query. Example: - `456` * @return value or {@code null} for none */ public java.util.List getTagValueIds() { return tagValueIds; } /** * This field is only present for the purpose of backward compatibility. Use the `tags` field * instead. TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}. To search against the * `tagValueIds`: * Use a field query. Example: - `tagValueIds="tagValues/456"` * Use a free text * query. Example: - `456` * @param tagValueIds tagValueIds or {@code null} for none */ public ResourceSearchResult setTagValueIds(java.util.List tagValueIds) { this.tagValueIds = tagValueIds; return this; } /** * This field is only present for the purpose of backward compatibility. Use the `tags` field * instead. TagValue namespaced names, in the format of * {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}. To search against the `tagValues`: * Use * a field query. Example: - `tagValues:"env"` - `tagValues:"env/prod"` - * `tagValues:"123456789/env/prod*"` - `tagValues="123456789/env/prod"` * Use a free text query. * Example: - `prod` * @return value or {@code null} for none */ public java.util.List getTagValues() { return tagValues; } /** * This field is only present for the purpose of backward compatibility. Use the `tags` field * instead. TagValue namespaced names, in the format of * {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}. To search against the `tagValues`: * Use * a field query. Example: - `tagValues:"env"` - `tagValues:"env/prod"` - * `tagValues:"123456789/env/prod*"` - `tagValues="123456789/env/prod"` * Use a free text query. * Example: - `prod` * @param tagValues tagValues or {@code null} for none */ public ResourceSearchResult setTagValues(java.util.List tagValues) { this.tagValues = tagValues; return this; } /** * The tags directly attached to this resource. To search against the `tags`: * Use a field query. * Example: - `tagKeys:"123456789/env*"` - `tagKeys="123456789/env"` - `tagKeys:"env"` - * `tagKeyIds="tagKeys/123"` - `tagValues:"env"` - `tagValues:"env/prod"` - * `tagValues:"123456789/env/prod*"` - `tagValues="123456789/env/prod"` - * `tagValueIds="tagValues/456"` * Use a free text query. Example: - `env/prod` * @return value or {@code null} for none */ public java.util.List getTags() { return tags; } /** * The tags directly attached to this resource. To search against the `tags`: * Use a field query. * Example: - `tagKeys:"123456789/env*"` - `tagKeys="123456789/env"` - `tagKeys:"env"` - * `tagKeyIds="tagKeys/123"` - `tagValues:"env"` - `tagValues:"env/prod"` - * `tagValues:"123456789/env/prod*"` - `tagValues="123456789/env/prod"` - * `tagValueIds="tagValues/456"` * Use a free text query. Example: - `env/prod` * @param tags tags or {@code null} for none */ public ResourceSearchResult setTags(java.util.List tags) { this.tags = tags; return this; } /** * The last update timestamp of this resource, at which the resource was last modified or deleted. * The granularity is in seconds. Timestamp.nanos will always be 0. This field is available only * when the resource's Protobuf contains it. To search against `update_time`: * Use a field query. * - value in seconds since unix epoch. Example: `updateTime < 1609459200` - value in date string. * Example: `updateTime < 2021-01-01` - value in date-time string (must be quoted). Example: * `updateTime < "2021-01-01T00:00:00"` * @return value or {@code null} for none */ public String getUpdateTime() { return updateTime; } /** * The last update timestamp of this resource, at which the resource was last modified or deleted. * The granularity is in seconds. Timestamp.nanos will always be 0. This field is available only * when the resource's Protobuf contains it. To search against `update_time`: * Use a field query. * - value in seconds since unix epoch. Example: `updateTime < 1609459200` - value in date string. * Example: `updateTime < 2021-01-01` - value in date-time string (must be quoted). Example: * `updateTime < "2021-01-01T00:00:00"` * @param updateTime updateTime or {@code null} for none */ public ResourceSearchResult setUpdateTime(String updateTime) { this.updateTime = updateTime; return this; } /** * Versioned resource representations of this resource. This is repeated because there could be * multiple versions of resource representations during version migration. This * `versioned_resources` field is not searchable. Some attributes of the resource representations * are exposed in `additional_attributes` field, so as to allow users to search on them. * @return value or {@code null} for none */ public java.util.List getVersionedResources() { return versionedResources; } /** * Versioned resource representations of this resource. This is repeated because there could be * multiple versions of resource representations during version migration. This * `versioned_resources` field is not searchable. Some attributes of the resource representations * are exposed in `additional_attributes` field, so as to allow users to search on them. * @param versionedResources versionedResources or {@code null} for none */ public ResourceSearchResult setVersionedResources(java.util.List versionedResources) { this.versionedResources = versionedResources; return this; } @Override public ResourceSearchResult set(String fieldName, Object value) { return (ResourceSearchResult) super.set(fieldName, value); } @Override public ResourceSearchResult clone() { return (ResourceSearchResult) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy