Class: Google::Apis::CloudassetV1::ResourceSearchResult

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/cloudasset_v1/classes.rb,
lib/google/apis/cloudasset_v1/representations.rb,
lib/google/apis/cloudasset_v1/representations.rb

Overview

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ResourceSearchResult

Returns a new instance of ResourceSearchResult.



5637
5638
5639
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5637

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#additional_attributesHash<String,Object>

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 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 queryfoobar. Corresponds to the JSON propertyadditionalAttributes`

Returns:

  • (Hash<String,Object>)


5365
5366
5367
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5365

def additional_attributes
  @additional_attributes
end

#asset_typeString

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

Returns:

  • (String)


5372
5373
5374
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5372

def asset_type
  @asset_type
end

#attached_resourcesArray<Google::Apis::CloudassetV1::AttachedResource>

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



5381
5382
5383
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5381

def attached_resources
  @attached_resources
end

#create_timeString

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" Corresponds to the JSON property createTime

Returns:

  • (String)


5392
5393
5394
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5392

def create_time
  @create_time
end

#descriptionString

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" Corresponds to the JSON property description

Returns:

  • (String)


5401
5402
5403
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5401

def description
  @description
end

#display_nameString

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" Corresponds to the JSON property displayName

Returns:

  • (String)


5409
5410
5411
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5409

def display_name
  @display_name
end

#effective_tagsArray<Google::Apis::CloudassetV1::EffectiveTagDetails>

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. 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" Corresponds to the JSON property effectiveTags



5423
5424
5425
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5423

def effective_tags
  @effective_tags
end

#enrichmentsArray<Google::Apis::CloudassetV1::AssetEnrichment>

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" ` Corresponds to the JSON property enrichments



5435
5436
5437
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5435

def enrichments
  @enrichments
end

#foldersArray<String>

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

Returns:

  • (Array<String>)


5444
5445
5446
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5444

def folders
  @folders
end

#kms_keyString

The Cloud KMS CryptoKey name or CryptoKeyVersion 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 for backward compatible purposes. 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

Returns:

  • (String)


5459
5460
5461
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5459

def kms_key
  @kms_key
end

#kms_keysArray<String>

The Cloud KMS CryptoKey names or CryptoKeyVersion 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 Corresponds to the JSON property kmsKeys

Returns:

  • (Array<String>)


5469
5470
5471
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5469

def kms_keys
  @kms_keys
end

#labelsHash<String,String>

User labels associated with this resource. See Labelling and grouping Google Cloud 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 Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


5481
5482
5483
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5481

def labels
  @labels
end

#locationString

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* Corresponds to the JSON property location

Returns:

  • (String)


5489
5490
5491
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5489

def location
  @location
end

#nameString

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 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

Returns:

  • (String)


5499
5500
5501
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5499

def name
  @name
end

#network_tagsArray<String>

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 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 Corresponds to the JSON property networkTags

Returns:

  • (Array<String>)


5510
5511
5512
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5510

def network_tags
  @network_tags
end

#organizationString

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

Returns:

  • (String)


5519
5520
5521
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5519

def organization
  @organization
end

#parent_asset_typeString

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

Returns:

  • (String)


5527
5528
5529
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5527

def parent_asset_type
  @parent_asset_type
end

#parent_full_resource_nameString

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

Returns:

  • (String)


5535
5536
5537
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5535

def parent_full_resource_name
  @parent_full_resource_name
end

#projectString

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

Returns:

  • (String)


5544
5545
5546
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5544

def project
  @project
end

#relationshipsHash<String,Google::Apis::CloudassetV1::RelatedResources>

A map of related resources of this resource, keyed by the relationship type. A relationship type is in the format of SourceTypeACTIONDestType. Example: DISK_TO_INSTANCE, DISK_TO_NETWORK, INSTANCE_TO_INSTANCEGROUP. See supported relationship types. Corresponds to the JSON property relationships



5553
5554
5555
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5553

def relationships
  @relationships
end

#scc_security_marksHash<String,String>

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:* Corresponds to the JSON property sccSecurityMarks

Returns:

  • (Hash<String,String>)


5561
5562
5563
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5561

def scc_security_marks
  @scc_security_marks
end

#stateString

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. 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. 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

Returns:

  • (String)


5578
5579
5580
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5578

def state
  @state
end

#tag_keysArray<String>

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 Corresponds to the JSON property tagKeys

Returns:

  • (Array<String>)


5587
5588
5589
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5587

def tag_keys
  @tag_keys
end

#tag_value_idsArray<String>

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 Corresponds to the JSON property tagValueIds

Returns:

  • (Array<String>)


5595
5596
5597
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5595

def tag_value_ids
  @tag_value_ids
end

#tag_valuesArray<String>

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 Corresponds to the JSON property tagValues

Returns:

  • (Array<String>)


5605
5606
5607
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5605

def tag_values
  @tag_values
end

#tagsArray<Google::Apis::CloudassetV1::Tag>

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 Corresponds to the JSON property tags



5615
5616
5617
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5615

def tags
  @tags
end

#update_timeString

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" Corresponds to the JSON property updateTime

Returns:

  • (String)


5626
5627
5628
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5626

def update_time
  @update_time
end

#versioned_resourcesArray<Google::Apis::CloudassetV1::VersionedResource>

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



5635
5636
5637
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5635

def versioned_resources
  @versioned_resources
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5642

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)
  @effective_tags = args[:effective_tags] if args.key?(:effective_tags)
  @enrichments = args[:enrichments] if args.key?(:enrichments)
  @folders = args[:folders] if args.key?(:folders)
  @kms_key = args[:kms_key] if args.key?(:kms_key)
  @kms_keys = args[:kms_keys] if args.key?(:kms_keys)
  @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)
  @scc_security_marks = args[:scc_security_marks] if args.key?(:scc_security_marks)
  @state = args[:state] if args.key?(:state)
  @tag_keys = args[:tag_keys] if args.key?(:tag_keys)
  @tag_value_ids = args[:tag_value_ids] if args.key?(:tag_value_ids)
  @tag_values = args[:tag_values] if args.key?(:tag_values)
  @tags = args[:tags] if args.key?(:tags)
  @update_time = args[:update_time] if args.key?(:update_time)
  @versioned_resources = args[:versioned_resources] if args.key?(:versioned_resources)
end