Class: Google::Apis::CloudassetV1::ResourceSearchResult
- Inherits:
-
Object
- Object
- Google::Apis::CloudassetV1::ResourceSearchResult
- 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
-
#additional_attributes ⇒ Hash<String,Object>
The additional searchable attributes of this resource.
-
#asset_type ⇒ String
The type of this resource.
-
#attached_resources ⇒ Array<Google::Apis::CloudassetV1::AttachedResource>
Attached resources of this resource.
-
#create_time ⇒ String
The create timestamp of this resource, at which the resource was created.
-
#description ⇒ String
One or more paragraphs of text description of this resource.
-
#display_name ⇒ String
The display name of this resource.
-
#effective_tags ⇒ Array<Google::Apis::CloudassetV1::EffectiveTagDetails>
The effective tags on this resource.
-
#enrichments ⇒ Array<Google::Apis::CloudassetV1::AssetEnrichment>
Enrichments of the asset.
-
#folders ⇒ Array<String>
The folder(s) that this resource belongs to, in the form of folders/
FOLDER_NUMBER
. -
#kms_key ⇒ String
The Cloud KMS CryptoKey name or CryptoKeyVersion name.
-
#kms_keys ⇒ Array<String>
The Cloud KMS CryptoKey names or CryptoKeyVersion names.
-
#labels ⇒ Hash<String,String>
User labels associated with this resource.
-
#location ⇒ String
Location can be
global
, regional likeus-east1
, or zonal likeus-west1-b
. -
#name ⇒ String
The full resource name of this resource.
-
#network_tags ⇒ Array<String>
Network tags associated with this resource.
-
#organization ⇒ String
The organization that this resource belongs to, in the form of organizations/
ORGANIZATION_NUMBER
. -
#parent_asset_type ⇒ String
The type of this resource's immediate parent, if there is one.
-
#parent_full_resource_name ⇒ String
The full resource name of this resource's parent, if it has one.
-
#project ⇒ String
The project that this resource belongs to, in the form of projects/
PROJECT_NUMBER
. -
#relationships ⇒ Hash<String,Google::Apis::CloudassetV1::RelatedResources>
A map of related resources of this resource, keyed by the relationship type.
-
#scc_security_marks ⇒ Hash<String,String>
The actual content of Security Command Center security marks associated with the asset.
-
#state ⇒ String
The state of this resource.
-
#tag_keys ⇒ Array<String>
This field is only present for the purpose of backward compatibility.
-
#tag_value_ids ⇒ Array<String>
This field is only present for the purpose of backward compatibility.
-
#tag_values ⇒ Array<String>
This field is only present for the purpose of backward compatibility.
-
#tags ⇒ Array<Google::Apis::CloudassetV1::Tag>
The tags directly attached to this resource.
-
#update_time ⇒ String
The last update timestamp of this resource, at which the resource was last modified or deleted.
-
#versioned_resources ⇒ Array<Google::Apis::CloudassetV1::VersionedResource>
Versioned resource representations of this resource.
Instance Method Summary collapse
-
#initialize(**args) ⇒ ResourceSearchResult
constructor
A new instance of ResourceSearchResult.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ ResourceSearchResult
Returns a new instance of ResourceSearchResult.
5661 5662 5663 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5661 def initialize(**args) update!(**args) end |
Instance Attribute Details
#additional_attributes ⇒ Hash<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 query
foobar.
Corresponds to the JSON property
additionalAttributes`
5389 5390 5391 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5389 def additional_attributes @additional_attributes end |
#asset_type ⇒ String
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
5396 5397 5398 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5396 def asset_type @asset_type end |
#attached_resources ⇒ Array<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
5405 5406 5407 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5405 def attached_resources @attached_resources end |
#create_time ⇒ String
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
5416 5417 5418 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5416 def create_time @create_time end |
#description ⇒ String
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
5425 5426 5427 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5425 def description @description end |
#display_name ⇒ String
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
5433 5434 5435 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5433 def display_name @display_name end |
#effective_tags ⇒ Array<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
5447 5448 5449 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5447 def @effective_tags end |
#enrichments ⇒ Array<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
5459 5460 5461 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5459 def enrichments @enrichments end |
#folders ⇒ Array<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
5468 5469 5470 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5468 def folders @folders end |
#kms_key ⇒ String
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
5483 5484 5485 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5483 def kms_key @kms_key end |
#kms_keys ⇒ Array<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
5493 5494 5495 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5493 def kms_keys @kms_keys end |
#labels ⇒ Hash<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
5505 5506 5507 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5505 def labels @labels end |
#location ⇒ String
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
5513 5514 5515 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5513 def location @location end |
#name ⇒ String
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
5523 5524 5525 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5523 def name @name end |
#network_tags ⇒ Array<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
5534 5535 5536 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5534 def @network_tags end |
#organization ⇒ String
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
5543 5544 5545 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5543 def organization @organization end |
#parent_asset_type ⇒ String
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
5551 5552 5553 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5551 def parent_asset_type @parent_asset_type end |
#parent_full_resource_name ⇒ String
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
5559 5560 5561 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5559 def parent_full_resource_name @parent_full_resource_name end |
#project ⇒ String
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
5568 5569 5570 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5568 def project @project end |
#relationships ⇒ Hash<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 SourceType
ACTION
DestType
.
Example: DISK_TO_INSTANCE
, DISK_TO_NETWORK
, INSTANCE_TO_INSTANCEGROUP
.
See supported relationship types.
Corresponds to the JSON property relationships
5577 5578 5579 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5577 def relationships @relationships end |
#scc_security_marks ⇒ Hash<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
5585 5586 5587 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5585 def scc_security_marks @scc_security_marks end |
#state ⇒ String
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
5602 5603 5604 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5602 def state @state end |
#tag_keys ⇒ Array<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
5611 5612 5613 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5611 def tag_keys @tag_keys end |
#tag_value_ids ⇒ Array<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
5619 5620 5621 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5619 def tag_value_ids @tag_value_ids end |
#tag_values ⇒ Array<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 propertytagValues
5629 5630 5631 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5629 def tag_values @tag_values end |
#tags ⇒ Array<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
5639 5640 5641 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5639 def @tags end |
#update_time ⇒ String
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
5650 5651 5652 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5650 def update_time @update_time end |
#versioned_resources ⇒ Array<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
5659 5660 5661 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5659 def versioned_resources @versioned_resources end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 |
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 5666 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 |