Class AssetServiceClient (1.2.0)

AssetServiceClient(
    transport=None,
    channel=None,
    credentials=None,
    client_config=None,
    client_info=None,
    client_options=None,
)

Asset service definition.

Methods

AssetServiceClient

AssetServiceClient(
    transport=None,
    channel=None,
    credentials=None,
    client_config=None,
    client_info=None,
    client_options=None,
)

Constructor.

Parameters
NameDescription
channel grpc.Channel

DEPRECATED. A Channel instance through which to make calls. This argument is mutually exclusive with credentials; providing both will raise an exception.

credentials google.auth.credentials.Credentials

The authorization credentials to attach to requests. These credentials identify this application to the service. If none are specified, the client will attempt to ascertain the credentials from the environment. This argument is mutually exclusive with providing a transport instance to transport; doing so will raise an exception.

client_config dict

DEPRECATED. A dictionary of call options for each method. If not specified, the default configuration is used.

client_info google.api_core.gapic_v1.client_info.ClientInfo

The client info used to send a user-agent string along with API requests. If None, then default info will be used. Generally, you only need to set this if you're developing your own client library.

client_options Union[dict, google.api_core.client_options.ClientOptions]

Client options used to set user options on the client. API Endpoint should be set through client_options.

batch_get_assets_history

batch_get_assets_history(parent, content_type=None, read_time_window=None, asset_names=None, retry=<_MethodDefault._DEFAULT_VALUE: <object object>>, timeout=<_MethodDefault._DEFAULT_VALUE: <object object>>, metadata=None)

Batch gets the update history of assets that overlap a time window. 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. Otherwise, this API outputs history with asset in both non-delete or deleted status. If a specified asset does not exist, this API returns an INVALID_ARGUMENT error.

.. rubric:: Example

from google.cloud import asset_v1

client = asset_v1.AssetServiceClient()

TODO: Initialize parent:

parent = ''

response = client.batch_get_assets_history(parent)

Parameters
NameDescription
parent str

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

asset_names list[str]

A list of the full names of the assets. See: https://cloud.google.com/asset-inventory/docs/resource-name-format Example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1. 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 Union[dict, TimeWindow]

Optional. The time window for the asset history. Both start_time and end_time are optional and if set, it must be after the current time minus 35 days. 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. If a dict is provided, it must be of the same form as the protobuf message TimeWindow

retry Optional[google.api_core.retry.Retry]

A retry object used to retry requests. If None is specified, requests will be retried using a default configuration.

timeout Optional[float]

The amount of time, in seconds, to wait for the request to complete. Note that if retry is specified, the timeout applies to each individual attempt.

metadata Optional[Sequence[Tuple[str, str]]]

Additional metadata that is provided to the method.

Exceptions
TypeDescription
google.api_core.exceptions.GoogleAPICallErrorIf the request failed for any reason.
google.api_core.exceptions.RetryErrorIf the request failed due to a retryable error and retry attempts failed.
ValueErrorIf the parameters are invalid.

create_feed

create_feed(parent, feed_id, feed, retry=<_MethodDefault._DEFAULT_VALUE: <object object>>, timeout=<_MethodDefault._DEFAULT_VALUE: <object object>>, metadata=None)

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

.. rubric:: Example

from google.cloud import asset_v1

client = asset_v1.AssetServiceClient()

TODO: Initialize parent:

parent = ''

TODO: Initialize feed_id:

feed_id = ''

TODO: Initialize feed:

feed = {}

response = client.create_feed(parent, feed_id, feed)

Parameters
NameDescription
parent str

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 str

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

feed Union[dict, 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 If a dict is provided, it must be of the same form as the protobuf message Feed

retry Optional[google.api_core.retry.Retry]

A retry object used to retry requests. If None is specified, requests will be retried using a default configuration.

timeout Optional[float]

The amount of time, in seconds, to wait for the request to complete. Note that if retry is specified, the timeout applies to each individual attempt.

metadata Optional[Sequence[Tuple[str, str]]]

Additional metadata that is provided to the method.

Exceptions
TypeDescription
google.api_core.exceptions.GoogleAPICallErrorIf the request failed for any reason.
google.api_core.exceptions.RetryErrorIf the request failed due to a retryable error and retry attempts failed.
ValueErrorIf the parameters are invalid.

delete_feed

delete_feed(name, retry=<_MethodDefault._DEFAULT_VALUE: <object object>>, timeout=<_MethodDefault._DEFAULT_VALUE: <object object>>, metadata=None)

Deletes an asset feed.

.. rubric:: Example

from google.cloud import asset_v1

client = asset_v1.AssetServiceClient()

TODO: Initialize name:

name = ''

client.delete_feed(name)

Parameters
NameDescription
name str

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

retry Optional[google.api_core.retry.Retry]

A retry object used to retry requests. If None is specified, requests will be retried using a default configuration.

timeout Optional[float]

The amount of time, in seconds, to wait for the request to complete. Note that if retry is specified, the timeout applies to each individual attempt.

metadata Optional[Sequence[Tuple[str, str]]]

Additional metadata that is provided to the method.

Exceptions
TypeDescription
google.api_core.exceptions.GoogleAPICallErrorIf the request failed for any reason.
google.api_core.exceptions.RetryErrorIf the request failed due to a retryable error and retry attempts failed.
ValueErrorIf the parameters are invalid.

export_assets

export_assets(parent, output_config, read_time=None, asset_types=None, content_type=None, retry=<_MethodDefault._DEFAULT_VALUE: <object object>>, timeout=<_MethodDefault._DEFAULT_VALUE: <object object>>, metadata=None)

Exports assets with time and resource types to a given Cloud Storage location/BigQuery table. For Cloud Storage location destinations, the output format is newline-delimited JSON. Each line represents a google.cloud.asset.v1.Asset in the JSON format; for BigQuery table destinations, the output table stores the fields in asset proto as columns. This API implements the google.longrunning.Operation API , which allows you to keep track of the export. We recommend intervals of at least 2 seconds with exponential retry to poll the export operation result. For regular-size resource parent, the export operation usually finishes within 5 minutes.

.. rubric:: Example

from google.cloud import asset_v1

client = asset_v1.AssetServiceClient()

TODO: Initialize parent:

parent = ''

TODO: Initialize output_config:

output_config = {}

response = client.export_assets(parent, output_config)

def callback(operation_future): ... # Handle result. ... result = operation_future.result()

response.add_done_callback(callback)

Handle metadata.

metadata = response.metadata()

Parameters
NameDescription
parent str

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

output_config Union[dict, OutputConfig]

Required. Output configuration indicating where the results will be output to. If a dict is provided, it must be of the same form as the protobuf message OutputConfig

read_time Union[dict, Timestamp]

Timestamp to take an asset snapshot. This can only be set to a timestamp between the current time and the current time minus 35 days (inclusive). 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. If a dict is provided, it must be of the same form as the protobuf message Timestamp

asset_types list[str]

A list of asset types of which to take a snapshot for. Example: "compute.googleapis.com/Disk". If specified, only matching assets will be returned. See Introduction to Cloud Asset Inventory https://cloud.google.com/asset-inventory/docs/overview__ for all supported asset types.

content_type ContentType

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

retry Optional[google.api_core.retry.Retry]

A retry object used to retry requests. If None is specified, requests will be retried using a default configuration.

timeout Optional[float]

The amount of time, in seconds, to wait for the request to complete. Note that if retry is specified, the timeout applies to each individual attempt.

metadata Optional[Sequence[Tuple[str, str]]]

Additional metadata that is provided to the method.

Exceptions
TypeDescription
google.api_core.exceptions.GoogleAPICallErrorIf the request failed for any reason.
google.api_core.exceptions.RetryErrorIf the request failed due to a retryable error and retry attempts failed.
ValueErrorIf the parameters are invalid.

feed_path

feed_path(project, feed)

Return a fully-qualified feed string.

from_service_account_file

from_service_account_file(filename, *args, **kwargs)

Creates an instance of this client using the provided credentials file.

Parameter
NameDescription
filename str

The path to the service account private key json file.

Returns
TypeDescription
AssetServiceClientThe constructed client.

from_service_account_json

from_service_account_json(filename, *args, **kwargs)

Creates an instance of this client using the provided credentials file.

Parameter
NameDescription
filename str

The path to the service account private key json file.

Returns
TypeDescription
AssetServiceClientThe constructed client.

get_feed

get_feed(name, retry=<_MethodDefault._DEFAULT_VALUE: <object object>>, timeout=<_MethodDefault._DEFAULT_VALUE: <object object>>, metadata=None)

Gets details about an asset feed.

.. rubric:: Example

from google.cloud import asset_v1

client = asset_v1.AssetServiceClient()

TODO: Initialize name:

name = ''

response = client.get_feed(name)

Parameters
NameDescription
name str

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

retry Optional[google.api_core.retry.Retry]

A retry object used to retry requests. If None is specified, requests will be retried using a default configuration.

timeout Optional[float]

The amount of time, in seconds, to wait for the request to complete. Note that if retry is specified, the timeout applies to each individual attempt.

metadata Optional[Sequence[Tuple[str, str]]]

Additional metadata that is provided to the method.

Exceptions
TypeDescription
google.api_core.exceptions.GoogleAPICallErrorIf the request failed for any reason.
google.api_core.exceptions.RetryErrorIf the request failed due to a retryable error and retry attempts failed.
ValueErrorIf the parameters are invalid.

list_feeds

list_feeds(parent, retry=<_MethodDefault._DEFAULT_VALUE: <object object>>, timeout=<_MethodDefault._DEFAULT_VALUE: <object object>>, metadata=None)

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

.. rubric:: Example

from google.cloud import asset_v1

client = asset_v1.AssetServiceClient()

TODO: Initialize parent:

parent = ''

response = client.list_feeds(parent)

Parameters
NameDescription
parent str

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

retry Optional[google.api_core.retry.Retry]

A retry object used to retry requests. If None is specified, requests will be retried using a default configuration.

timeout Optional[float]

The amount of time, in seconds, to wait for the request to complete. Note that if retry is specified, the timeout applies to each individual attempt.

metadata Optional[Sequence[Tuple[str, str]]]

Additional metadata that is provided to the method.

Exceptions
TypeDescription
google.api_core.exceptions.GoogleAPICallErrorIf the request failed for any reason.
google.api_core.exceptions.RetryErrorIf the request failed due to a retryable error and retry attempts failed.
ValueErrorIf the parameters are invalid.

project_path

project_path(project)

Return a fully-qualified project string.

search_all_iam_policies

search_all_iam_policies(scope, query=None, page_size=None, retry=<_MethodDefault._DEFAULT_VALUE: <object object>>, timeout=<_MethodDefault._DEFAULT_VALUE: <object object>>, metadata=None)

Searches all the IAM policies within the given accessible scope (e.g., a project, a folder or an organization). Callers should have cloud.assets.SearchAllIamPolicies permission upon the requested scope, otherwise the request will be rejected.

.. rubric:: Example

from google.cloud import asset_v1

client = asset_v1.AssetServiceClient()

TODO: Initialize scope:

scope = ''

Iterate over all results

for element in client.search_all_iam_policies(scope): ... # process element ... pass

Alternatively:

Iterate over results one page at a time

for page in client.search_all_iam_policies(scope).pages: ... for element in page: ... # process element ... pass

Parameters
NameDescription
scope str

Required. A scope can be a project, a folder or an organization. The search is limited to the IAM policies within the scope. The allowed values are: - projects/{PROJECT_ID} - projects/{PROJECT_NUMBER} - folders/{FOLDER_NUMBER} - organizations/{ORGANIZATION_NUMBER}

query str

Optional. The query statement. An empty query can be specified to search all the IAM policies within the given scope. Examples: - policy : "amy@gmail.com" to find Cloud IAM policy bindings that specify user "amy@gmail.com". - policy : "roles/compute.admin" to find Cloud IAM policy bindings that specify the Compute Admin role. - policy.role.permissions : "storage.buckets.update" to find Cloud IAM policy bindings that specify a role containing "storage.buckets.update" permission. - resource : "organizations/123" to find Cloud IAM policy bindings that are set on "organizations/123". - (resource : ("organizations/123" OR "folders/1234") AND policy : "amy") to find Cloud IAM policy bindings that are set on "organizations/123" or "folders/1234", and also specify user "amy". See how to construct a query https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query__ for more details.

page_size int

The maximum number of resources contained in the underlying API response. If page streaming is performed per- resource, this parameter does not affect the return value. If page streaming is performed per-page, this determines the maximum number of resources in a page.

retry Optional[google.api_core.retry.Retry]

A retry object used to retry requests. If None is specified, requests will be retried using a default configuration.

timeout Optional[float]

The amount of time, in seconds, to wait for the request to complete. Note that if retry is specified, the timeout applies to each individual attempt.

metadata Optional[Sequence[Tuple[str, str]]]

Additional metadata that is provided to the method.

Exceptions
TypeDescription
google.api_core.exceptions.GoogleAPICallErrorIf the request failed for any reason.
google.api_core.exceptions.RetryErrorIf the request failed due to a retryable error and retry attempts failed.
ValueErrorIf the parameters are invalid.

search_all_resources

search_all_resources(scope, query=None, asset_types=None, page_size=None, order_by=None, retry=<_MethodDefault._DEFAULT_VALUE: <object object>>, timeout=<_MethodDefault._DEFAULT_VALUE: <object object>>, metadata=None)

Searches all the resources within the given accessible scope (e.g., a project, a folder or an organization). Callers should have cloud.assets.SearchAllResources permission upon the requested scope, otherwise the request will be rejected.

.. rubric:: Example

from google.cloud import asset_v1

client = asset_v1.AssetServiceClient()

TODO: Initialize scope:

scope = ''

Iterate over all results

for element in client.search_all_resources(scope): ... # process element ... pass

Alternatively:

Iterate over results one page at a time

for page in client.search_all_resources(scope).pages: ... for element in page: ... # process element ... pass

Parameters
NameDescription
scope str

Required. A scope can be a project, a folder or an organization. The search is limited to the resources within the scope. The allowed values are: - projects/{PROJECT_ID} - projects/{PROJECT_NUMBER} - folders/{FOLDER_NUMBER} - organizations/{ORGANIZATION_NUMBER}

query str

Optional. The query statement. An empty query can be specified to search all the resources of certain asset_types within the given scope. Examples: - name : "Important" to find Cloud resources whose name contains "Important" as a word. - displayName : "Impor" to find Cloud resources whose display name contains "Impor" as a word prefix. - description : "por" to find Cloud resources whose description contains "por" as a substring. - location : "us-west" to find Cloud resources whose location is prefixed with "us-west". - labels : "prod" to find Cloud resources whose labels contain "prod" as a key or value. - labels.env : "prod" to find Cloud resources which have a label "env" and its value is "prod". - labels.env : to find Cloud resources which have a label "env". - "Important" to find Cloud resources which contain "Important" as a word in any of the searchable fields. - "Impor" to find Cloud resources which contain "Impor" as a word prefix in any of the searchable fields. - "por" to find Cloud resources which contain "por" as a substring in any of the searchable fields. - ("Important" AND location : ("us-west1" OR "global")) to find Cloud resources which contain "Important" as a word in any of the searchable fields and are also located in the "us-west1" region or the "global" location. See how to construct a query https://cloud.google.com/asset-inventory/docs/searching-resources#how_to_construct_a_query__ for more details.

asset_types list[str]

Optional. A list of asset types that this request searches for. If empty, it will search all the searchable asset types https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types__.

page_size int

The maximum number of resources contained in the underlying API response. If page streaming is performed per- resource, this parameter does not affect the return value. If page streaming is performed per-page, this determines the maximum number of resources in a page.

order_by str

Optional. A comma separated list of fields specifying the sorting order of the results. The default order is ascending. Add " DESC" after the field name to indicate descending order. Redundant space characters are ignored. Example: "location DESC, name". See supported resource metadata fields https://cloud.google.com/asset-inventory/docs/searching-resources#query_on_resource_metadata_fields__ for more details.

retry Optional[google.api_core.retry.Retry]

A retry object used to retry requests. If None is specified, requests will be retried using a default configuration.

timeout Optional[float]

The amount of time, in seconds, to wait for the request to complete. Note that if retry is specified, the timeout applies to each individual attempt.

metadata Optional[Sequence[Tuple[str, str]]]

Additional metadata that is provided to the method.

Exceptions
TypeDescription
google.api_core.exceptions.GoogleAPICallErrorIf the request failed for any reason.
google.api_core.exceptions.RetryErrorIf the request failed due to a retryable error and retry attempts failed.
ValueErrorIf the parameters are invalid.

update_feed

update_feed(feed, update_mask, retry=<_MethodDefault._DEFAULT_VALUE: <object object>>, timeout=<_MethodDefault._DEFAULT_VALUE: <object object>>, metadata=None)

Updates an asset feed configuration.

.. rubric:: Example

from google.cloud import asset_v1

client = asset_v1.AssetServiceClient()

TODO: Initialize feed:

feed = {}

TODO: Initialize update_mask:

update_mask = {}

response = client.update_feed(feed, update_mask)

Parameters
NameDescription
feed Union[dict, 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. If a dict is provided, it must be of the same form as the protobuf message Feed

update_mask Union[dict, 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. If a dict is provided, it must be of the same form as the protobuf message FieldMask

retry Optional[google.api_core.retry.Retry]

A retry object used to retry requests. If None is specified, requests will be retried using a default configuration.

timeout Optional[float]

The amount of time, in seconds, to wait for the request to complete. Note that if retry is specified, the timeout applies to each individual attempt.

metadata Optional[Sequence[Tuple[str, str]]]

Additional metadata that is provided to the method.

Exceptions
TypeDescription
google.api_core.exceptions.GoogleAPICallErrorIf the request failed for any reason.
google.api_core.exceptions.RetryErrorIf the request failed due to a retryable error and retry attempts failed.
ValueErrorIf the parameters are invalid.