Struct google_api_proto::google::cloud::asset::v1::ResourceSearchResult

source ·
pub struct ResourceSearchResult {
Show 27 fields pub name: String, pub asset_type: String, pub project: String, pub folders: Vec<String>, pub organization: String, pub display_name: String, pub description: String, pub location: String, pub labels: BTreeMap<String, String>, pub network_tags: Vec<String>, pub kms_key: String, pub kms_keys: Vec<String>, pub create_time: Option<Timestamp>, pub update_time: Option<Timestamp>, pub state: String, pub additional_attributes: Option<Struct>, pub parent_full_resource_name: String, pub versioned_resources: Vec<VersionedResource>, pub attached_resources: Vec<AttachedResource>, pub relationships: BTreeMap<String, RelatedResources>, pub tag_keys: Vec<String>, pub tag_values: Vec<String>, pub tag_value_ids: Vec<String>, pub tags: Vec<Tag>, pub effective_tags: Vec<EffectiveTagDetails>, pub parent_asset_type: String, pub scc_security_marks: BTreeMap<String, String>,
}
Expand description

A result of Resource Search, containing information of a cloud resource. Next ID: 34

Fields§

§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
§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.
§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.
§folders: Vec<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.
§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.
§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"
§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"
§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*
§labels: BTreeMap<String, String>

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
§network_tags: Vec<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
§kms_key: String
👎Deprecated

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
§kms_keys: Vec<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
§create_time: Option<Timestamp>

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"
§update_time: Option<Timestamp>

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"
§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
§additional_attributes: Option<Struct>

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.
§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
§versioned_resources: Vec<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.

§attached_resources: Vec<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.

§relationships: BTreeMap<String, 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.

§tag_keys: Vec<String>
👎Deprecated

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
§tag_values: Vec<String>
👎Deprecated

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
§tag_value_ids: Vec<String>
👎Deprecated

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
§tags: Vec<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
§effective_tags: Vec<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"
§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
§scc_security_marks: BTreeMap<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:*

Trait Implementations§

source§

impl Clone for ResourceSearchResult

source§

fn clone(&self) -> ResourceSearchResult

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ResourceSearchResult

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ResourceSearchResult

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Message for ResourceSearchResult

source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
source§

fn clear(&mut self)

Clears the message, resetting all fields to their default.
source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message to a buffer. Read more
source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
source§

fn encode_length_delimited( &self, buf: &mut impl BufMut, ) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
source§

fn decode(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes an instance of the message from a buffer. Read more
source§

fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes a length-delimited instance of the message from the buffer.
source§

fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
source§

fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
source§

impl PartialEq for ResourceSearchResult

source§

fn eq(&self, other: &ResourceSearchResult) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for ResourceSearchResult

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more