class Google::Apis::CloudassetV1::ResourceSearchResult

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

Attributes

additional_attributes[RW]

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 GCP service (e.g., Compute Engine). see [API references and supported searchable attributes](cloud.google.com/asset-inventory/docs/supported- asset-types#searchable_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 GCP 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`. Corresponds to the JSON property `additionalAttributes` @return [Hash<String,Object>]

asset_type[RW]

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. Corresponds to the JSON property `assetType` @return [String]

attached_resources[RW]

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. Corresponds to the JSON property `attachedResources` @return [Array<Google::Apis::CloudassetV1::AttachedResource>]

create_time[RW]

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 proto 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”` Corresponds to the JSON property `createTime` @return [String]

description[RW]

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 proto contains it. To search against the `description`: * use a field query. Example: `description:“important instance”` * use a free text query. Example: ` “important instance”` Corresponds to the JSON property `description` @return [String]

display_name[RW]

The display name of this resource. This field is available only when the resource's proto contains it. To search against the `display_name`: * use a field query. Example: `displayName:“My Instance”` * use a free text query. Example: `“My Instance”` Corresponds to the JSON property `displayName` @return [String]

folders[RW]

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. Corresponds to the JSON property `folders` @return [Array<String>]

kms_key[RW]

The Cloud KMS [CryptoKey](cloud.google.com/kms/docs/reference/rest/v1/ projects.locations.keyRings.cryptoKeys) name or [CryptoKeyVersion](https:// cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings. cryptoKeys.cryptoKeyVersions) name. This field is available only when the resource's proto contains it. To search against the `kms_key`: * use a field query. Example: `kmsKey:key` * use a free text query. Example: `key` Corresponds to the JSON property `kmsKey` @return [String]

labels[RW]

Labels associated with this resource. See [Labelling and grouping GCP resources](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 proto 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` Corresponds to the JSON property `labels` @return [Hash<String,String>]

location[RW]

Location can be `global`, regional like `us-east1`, or zonal like `us-west1-b`. This field is available only when the resource's proto contains it. To search against the `location`: * use a field query. Example: `location:us-west*` * use a free text query. Example: `us-west*` Corresponds to the JSON property `location` @return [String]

name[RW]

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](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` Corresponds to the JSON property `name` @return [String]

network_tags[RW]

Network tags associated with this resource. Like labels, network tags are a type of annotations used to group GCP resources. See [Labelling GCP resources]( 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 proto contains it. To search against the `network_tags`: * use a field query. Example: `networkTags:internal` * use a free text query. Example: `internal` Corresponds to the JSON property `networkTags` @return [Array<String>]

organization[RW]

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. Corresponds to the JSON property `organization` @return [String]

parent_asset_type[RW]

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` Corresponds to the JSON property `parentAssetType` @return [String]

parent_full_resource_name[RW]

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` Corresponds to the JSON property `parentFullResourceName` @return [String]

project[RW]

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. Corresponds to the JSON property `project` @return [String]

relationships[RW]

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](cloud.google.com/asset-inventory/ docs/supported-asset-types#supported_relationship_types). Corresponds to the JSON property `relationships` @return [Hash<String,Google::Apis::CloudassetV1::RelatedResources>]

state[RW]

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 proto 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 Cloud Resource Manager, its state will include LIFECYCLE_STATE_UNSPECIFIED, ACTIVE, DELETE_REQUESTED and DELETE_IN_PROGRESS. See `lifecycleState` definition in [API Reference](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` Corresponds to the JSON property `state` @return [String]

update_time[RW]

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 proto 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”` Corresponds to the JSON property `updateTime` @return [String]

versioned_resources[RW]

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. Corresponds to the JSON property `versionedResources` @return [Array<Google::Apis::CloudassetV1::VersionedResource>]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/cloudasset_v1/classes.rb, line 4094
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/cloudasset_v1/classes.rb, line 4099
def update!(**args)
  @additional_attributes = args[:additional_attributes] if args.key?(:additional_attributes)
  @asset_type = args[:asset_type] if args.key?(:asset_type)
  @attached_resources = args[:attached_resources] if args.key?(:attached_resources)
  @create_time = args[:create_time] if args.key?(:create_time)
  @description = args[:description] if args.key?(:description)
  @display_name = args[:display_name] if args.key?(:display_name)
  @folders = args[:folders] if args.key?(:folders)
  @kms_key = args[:kms_key] if args.key?(:kms_key)
  @labels = args[:labels] if args.key?(:labels)
  @location = args[:location] if args.key?(:location)
  @name = args[:name] if args.key?(:name)
  @network_tags = args[:network_tags] if args.key?(:network_tags)
  @organization = args[:organization] if args.key?(:organization)
  @parent_asset_type = args[:parent_asset_type] if args.key?(:parent_asset_type)
  @parent_full_resource_name = args[:parent_full_resource_name] if args.key?(:parent_full_resource_name)
  @project = args[:project] if args.key?(:project)
  @relationships = args[:relationships] if args.key?(:relationships)
  @state = args[:state] if args.key?(:state)
  @update_time = args[:update_time] if args.key?(:update_time)
  @versioned_resources = args[:versioned_resources] if args.key?(:versioned_resources)
end