Class ResourceSearchResult
A result of Resource Search, containing information of a cloud resource.
Implements
Inherited Members
Namespace: Google.Apis.CloudAsset.v1.Data
Assembly: Google.Apis.CloudAsset.v1.dll
Syntax
public class ResourceSearchResult : IDirectResponseSchema
Properties
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 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.
Declaration
[JsonProperty("additionalAttributes")]
public virtual IDictionary<string, object> AdditionalAttributes { get; set; }
Property Value
| Type | Description |
|---|---|
| IDictionary<string, object> |
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.
Declaration
[JsonProperty("assetType")]
public virtual string AssetType { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
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.
Declaration
[JsonProperty("attachedResources")]
public virtual IList<AttachedResource> AttachedResources { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<AttachedResource> |
CreateTime
object representation of CreateTimeRaw.
Declaration
[JsonIgnore]
[Obsolete("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")]
public virtual object CreateTime { get; set; }
Property Value
| Type | Description |
|---|---|
| object |
CreateTimeDateTimeOffset
DateTimeOffset representation of CreateTimeRaw.
Declaration
[JsonIgnore]
public virtual DateTimeOffset? CreateTimeDateTimeOffset { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTimeOffset? |
CreateTimeRaw
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"
Declaration
[JsonProperty("createTime")]
public virtual string CreateTimeRaw { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
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"
Declaration
[JsonProperty("description")]
public virtual string Description { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
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"
Declaration
[JsonProperty("displayName")]
public virtual string DisplayName { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ETag
The ETag of the item.
Declaration
public virtual string ETag { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
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. 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"
Declaration
[JsonProperty("effectiveTags")]
public virtual IList<EffectiveTagDetails> EffectiveTags { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<EffectiveTagDetails> |
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" }
Declaration
[JsonProperty("enrichments")]
public virtual IList<AssetEnrichment> Enrichments { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<AssetEnrichment> |
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.
Declaration
[JsonProperty("folders")]
public virtual IList<string> Folders { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<string> |
KmsKey
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
Declaration
[JsonProperty("kmsKey")]
public virtual string KmsKey { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
KmsKeys
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
Declaration
[JsonProperty("kmsKeys")]
public virtual IList<string> KmsKeys { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<string> |
Labels
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
Declaration
[JsonProperty("labels")]
public virtual IDictionary<string, string> Labels { get; set; }
Property Value
| Type | Description |
|---|---|
| IDictionary<string, string> |
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*
Declaration
[JsonProperty("location")]
public virtual string Location { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
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 for more
information. To search against the name: * Use a field query. Example: name:instance1 * Use a free text
query. Example: instance1
Declaration
[JsonProperty("name")]
public virtual string Name { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
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
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
Declaration
[JsonProperty("networkTags")]
public virtual IList<string> NetworkTags { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<string> |
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.
Declaration
[JsonProperty("organization")]
public virtual string Organization { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
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
Declaration
[JsonProperty("parentAssetType")]
public virtual string ParentAssetType { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
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
Declaration
[JsonProperty("parentFullResourceName")]
public virtual string ParentFullResourceName { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
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.
Declaration
[JsonProperty("project")]
public virtual string Project { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
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.
Declaration
[JsonProperty("relationships")]
public virtual IDictionary<string, RelatedResources> Relationships { get; set; }
Property Value
| Type | Description |
|---|---|
| IDictionary<string, RelatedResources> |
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:*
Declaration
[JsonProperty("sccSecurityMarks")]
public virtual IDictionary<string, string> SccSecurityMarks { get; set; }
Property Value
| Type | Description |
|---|---|
| IDictionary<string, string> |
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. 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
Declaration
[JsonProperty("state")]
public virtual string State { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
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
Declaration
[JsonProperty("tagKeys")]
public virtual IList<string> TagKeys { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<string> |
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
Declaration
[JsonProperty("tagValueIds")]
public virtual IList<string> TagValueIds { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<string> |
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
Declaration
[JsonProperty("tagValues")]
public virtual IList<string> TagValues { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<string> |
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
Declaration
[JsonProperty("tags")]
public virtual IList<Tag> Tags { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<Tag> |
UpdateTime
object representation of UpdateTimeRaw.
Declaration
[JsonIgnore]
[Obsolete("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")]
public virtual object UpdateTime { get; set; }
Property Value
| Type | Description |
|---|---|
| object |
UpdateTimeDateTimeOffset
DateTimeOffset representation of UpdateTimeRaw.
Declaration
[JsonIgnore]
public virtual DateTimeOffset? UpdateTimeDateTimeOffset { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTimeOffset? |
UpdateTimeRaw
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"
Declaration
[JsonProperty("updateTime")]
public virtual string UpdateTimeRaw { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
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.
Declaration
[JsonProperty("versionedResources")]
public virtual IList<VersionedResource> VersionedResources { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<VersionedResource> |