Package google.cloud.asset.v1

Index

AssetService

Asset service definition.

BatchGetAssetsHistory

rpc BatchGetAssetsHistory(BatchGetAssetsHistoryRequest) returns (BatchGetAssetsHistoryResponse)

Batch gets the update history of assets that overlap a time window. For RESOURCE content, this API outputs history with asset in both non-delete or deleted status. For IAM_POLICY content, this API outputs history when the asset and its attached IAM POLICY both exist. This can create gaps in the output history. If a specified asset does not exist, this API returns an INVALID_ARGUMENT error.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateFeed

rpc CreateFeed(CreateFeedRequest) returns (Feed)

Creates a feed in a parent project/folder/organization to listen to its asset updates.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteFeed

rpc DeleteFeed(DeleteFeedRequest) returns (Empty)

Deletes an asset feed.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ExportAssets

rpc ExportAssets(ExportAssetsRequest) returns (Operation)

Exports assets with time and resource types to a given Cloud Storage location. The output format is newline-delimited JSON. This API implements the google.longrunning.Operation API allowing you to keep track of the export.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetFeed

rpc GetFeed(GetFeedRequest) returns (Feed)

Gets details about an asset feed.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListFeeds

rpc ListFeeds(ListFeedsRequest) returns (ListFeedsResponse)

Lists all asset feeds in a parent project/folder/organization.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateFeed

rpc UpdateFeed(UpdateFeedRequest) returns (Feed)

Updates an asset feed configuration.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

Asset

Cloud asset. This includes all Google Cloud Platform resources, Cloud IAM policies, and other non-GCP assets.

Fields
name

string

The full name of the asset. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1. See Resource Names for more information.

asset_type

string

Type of the asset. Example: "compute.googleapis.com/Disk".

resource

Resource

Representation of the resource.

iam_policy

Policy

Representation of the actual Cloud IAM policy set on a cloud resource. For each resource, there must be at most one Cloud IAM policy set on it.

org_policy[]

Policy

Representation of the Cloud Organization Policy set on an asset. For each asset, there could be multiple Organization policies with different constraints.

ancestors[]

string

Asset's ancestry path in Cloud Resource Manager (CRM) hierarchy, represented as a list of relative resource names. Ancestry path starts with the closest CRM ancestor and ends at root. If the asset is a CRM project/folder/organization, this starts from the asset itself.

Example: ["projects/123456789", "folders/5432", "organizations/1234"]

Union field access_context_policy. Representation of the Cloud Organization access policy. access_context_policy can be only one of the following:
access_policy

AccessPolicy

access_level

AccessLevel

service_perimeter

ServicePerimeter

BatchGetAssetsHistoryRequest

Batch get assets history request.

Fields
parent

string

Required. The relative name of the root asset. It can only be an organization number (such as "organizations/123"), a project ID (such as "projects/my-project-id")", or a project number (such as "projects/12345").

Authorization requires one or more of the following Google IAM permissions on the specified resource parent:

  • cloudasset.assets.exportResource
  • cloudasset.assets.exportIamPolicy
asset_names[]

string

A list of the full names of the assets. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1. See Resource Names and Resource Name Format for more info.

The request becomes a no-op if the asset name list is empty, and the max size of the asset name list is 100 in one request.

content_type

ContentType

Optional. The content type.

read_time_window

TimeWindow

Optional. The time window for the asset history. Both start_time and end_time are optional and if set, it must be after 2018-10-02 UTC. If end_time is not set, it is default to current timestamp. If start_time is not set, the snapshot of the assets at end_time will be returned. The returned results contain all temporal assets whose time window overlap with read_time_window.

BatchGetAssetsHistoryResponse

Batch get assets history response.

Fields
assets[]

TemporalAsset

A list of assets with valid time windows.

BigQueryDestination

A BigQuery destination.

Fields
dataset

string

Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId", to which the snapshot result should be exported. If this dataset does not exist, the export call returns an error.

table

string

Required. The BigQuery table to which the snapshot result should be written. If this table does not exist, a new table with the given name will be created.

force

bool

If the destination table already exists and this flag is TRUE, the table will be overwritten by the contents of assets snapshot. If the flag is not set and the destination table already exists, the export call returns an error.

ContentType

Asset content type.

Enums
CONTENT_TYPE_UNSPECIFIED Unspecified content type.
RESOURCE Resource metadata.
IAM_POLICY The actual IAM policy set on a resource.
ORG_POLICY The Cloud Organization Policy set on an asset.
ACCESS_POLICY The Cloud Access context mananger Policy set on an asset.

CreateFeedRequest

Create asset feed request.

Fields
parent

string

Required. The name of the project/folder/organization where this feed should be created in. It can only be an organization number (such as "organizations/123"), a folder number (such as "folders/123"), a project ID (such as "projects/my-project-id")", or a project number (such as "projects/12345").

feed_id

string

Required. This is the client-assigned asset feed identifier and it needs to be unique under a specific parent project/folder/organization.

feed

Feed

Required. The feed details. The field name must be empty and it will be generated in the format of: projects/project_number/feeds/feed_id folders/folder_number/feeds/feed_id organizations/organization_number/feeds/feed_id

DeleteFeedRequest

Fields
name

string

Required. The name of the feed and it must be in the format of: projects/project_number/feeds/feed_id folders/folder_number/feeds/feed_id organizations/organization_number/feeds/feed_id

ExportAssetsRequest

Export asset request.

Fields
parent

string

Required. The relative name of the root asset. This can only be an organization number (such as "organizations/123"), a project ID (such as "projects/my-project-id"), or a project number (such as "projects/12345"), or a folder number (such as "folders/123").

Authorization requires one or more of the following Google IAM permissions on the specified resource parent:

  • cloudasset.assets.exportResource
  • cloudasset.assets.exportIamPolicy
read_time

Timestamp

Timestamp to take an asset snapshot. This can only be set to a timestamp between 2018-10-02 UTC (inclusive) and the current time. If not specified, the current time will be used. Due to delays in resource data collection and indexing, there is a volatile window during which running the same query may get different results.

asset_types[]

string

A list of asset types of which to take a snapshot for. For example: "compute.googleapis.com/Disk". If specified, only matching assets will be returned. See Introduction to Cloud Asset Inventory for all supported asset types.

content_type

ContentType

Asset content type. If not specified, no content but the asset name will be returned.

output_config

OutputConfig

Required. Output configuration indicating where the results will be output to. All results will be in newline delimited JSON format.

ExportAssetsResponse

The export asset response. This message is returned by the google.longrunning.Operations.GetOperation method in the returned google.longrunning.Operation.response field.

Fields
read_time

Timestamp

Time the snapshot was taken.

output_config

OutputConfig

Output configuration indicating where the results were output to. All results are in JSON format.

Feed

An asset feed used to export asset updates to a destinations. An asset feed filter controls what updates are exported. The asset feed must be created within a project, organization, or folder. Supported destinations are: Cloud Pub/Sub topics.

Fields
name

string

Required. The format will be projects/{project_number}/feeds/{client-assigned_feed_identifier} or folders/{folder_number}/feeds/{client-assigned_feed_identifier} or organizations/{organization_number}/feeds/{client-assigned_feed_identifier}

The client-assigned feed identifier must be unique within the parent project/folder/organization.

asset_names[]

string

A list of the full names of the assets to receive updates. You must specify either or both of asset_names and asset_types. Only asset updates matching specified asset_names and asset_types are exported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1. See Resource Names for more info.

asset_types[]

string

A list of types of the assets to receive updates. You must specify either or both of asset_names and asset_types. Only asset updates matching specified asset_names and asset_types are exported to the feed. For example: "compute.googleapis.com/Disk" See Introduction to Cloud Asset Inventory for all supported asset types.

content_type

ContentType

Asset content type. If not specified, no content but the asset name and type will be returned.

feed_output_config

FeedOutputConfig

Required. Feed output configuration defining where the asset updates are published to.

FeedOutputConfig

Output configuration for asset feed destination.

Fields
pubsub_destination

PubsubDestination

Destination on Cloud Pubsub.

GcsDestination

A Cloud Storage location.

Fields
Union field object_uri. Required. object_uri can be only one of the following:
uri

string

The uri of the Cloud Storage object. It's the same uri that is used by gsutil. For example: "gs://bucket_name/object_name". See Viewing and Editing Object Metadata for more information.

uri_prefix

string

The uri prefix of all generated Cloud Storage objects. For example: "gs://bucket_name/object_name_prefix". Each object uri is in format: "gs://bucket_name/object_name_prefix// and only contains assets for that type. starts from 0. For example: "gs://bucket_name/object_name_prefix/compute.googleapis.com/Disk/0" is the first shard of output objects containing all compute.googleapis.com/Disk assets. An INVALID_ARGUMENT error will be returned if file with the same name "gs://bucket_name/object_name_prefix" already exists.

GetFeedRequest

Get asset feed request.

Fields
name

string

Required. The name of the Feed and it must be in the format of: projects/project_number/feeds/feed_id folders/folder_number/feeds/feed_id organizations/organization_number/feeds/feed_id

ListFeedsRequest

List asset feeds request.

Fields
parent

string

Required. The parent project/folder/organization whose feeds are to be listed. It can only be using project/folder/organization number (such as "folders/12345")", or a project ID (such as "projects/my-project-id").

ListFeedsResponse

Fields
feeds[]

Feed

A list of feeds.

OutputConfig

Output configuration for export assets destination.

Fields
Union field destination. Asset export destination. destination can be only one of the following:
gcs_destination

GcsDestination

Destination on Cloud Storage.

bigquery_destination

BigQueryDestination

Destination on BigQuery. The output table stores the fields in asset proto as columns in BigQuery. The resource/iam_policy field is converted to a record with each field to a column, except metadata to a single JSON string.

PubsubDestination

A Cloud Pubsub destination.

Fields
topic

string

The name of the Cloud Pub/Sub topic to publish to. For example: projects/PROJECT_ID/topics/TOPIC_ID.

Resource

Representation of a cloud resource.

Fields
version

string

The API version. Example: "v1".

discovery_document_uri

string

The URL of the discovery document containing the resource's JSON schema. For example: "https://www.googleapis.com/discovery/v1/apis/compute/v1/rest". It will be left unspecified for resources without a discovery-based API, such as Cloud Bigtable.

discovery_name

string

The JSON schema name listed in the discovery document. Example: "Project". It will be left unspecified for resources (such as Cloud Bigtable) without a discovery-based API.

resource_url

string

The REST URL for accessing the resource. An HTTP GET operation using this URL returns the resource itself. Example: https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123. It will be left unspecified for resources without a REST API.

parent

string

The full name of the immediate parent of this resource. See Resource Names for more information.

For GCP assets, it is the parent resource defined in the Cloud IAM policy hierarchy. For example: "//cloudresourcemanager.googleapis.com/projects/my_project_123".

For third-party assets, it is up to the users to define.

data

Struct

The content of the resource, in which some sensitive fields are scrubbed away and may not be present.

TemporalAsset

Temporal asset. In addition to the asset, the temporal asset includes the status of the asset and valid from and to time of it.

Fields
window

TimeWindow

The time window when the asset data and state was observed.

deleted

bool

If the asset is deleted or not.

asset

Asset

Asset.

TimeWindow

A time window of (start_time, end_time].

Fields
start_time

Timestamp

Start time of the time window (exclusive).

end_time

Timestamp

End time of the time window (inclusive). Current timestamp if not specified.

UpdateFeedRequest

Update asset feed request.

Fields
feed

Feed

Required. The new values of feed details. It must match an existing feed and the field name must be in the format of: projects/project_number/feeds/feed_id or folders/folder_number/feeds/feed_id or organizations/organization_number/feeds/feed_id.

update_mask

FieldMask

Required. Only updates the feed fields indicated by this mask. The field mask must not be empty, and it must not contain fields that are immutable or only set by the server.