Class AssetServiceClient (3.12.0)

AssetServiceClient(*, credentials: Optional[google.auth.credentials.Credentials] = None, transport: Optional[Union[str, google.cloud.asset_v1.services.asset_service.transports.base.AssetServiceTransport]] = None, client_options: Optional[google.api_core.client_options.ClientOptions] = None, client_info: google.api_core.gapic_v1.client_info.ClientInfo = <google.api_core.gapic_v1.client_info.ClientInfo object>)

Asset service definition.

Properties

transport

Returns the transport used by the client instance.

Returns
TypeDescription
AssetServiceTransportThe transport used by the client instance.

Methods

AssetServiceClient

AssetServiceClient(*, credentials: Optional[google.auth.credentials.Credentials] = None, transport: Optional[Union[str, google.cloud.asset_v1.services.asset_service.transports.base.AssetServiceTransport]] = None, client_options: Optional[google.api_core.client_options.ClientOptions] = None, client_info: google.api_core.gapic_v1.client_info.ClientInfo = <google.api_core.gapic_v1.client_info.ClientInfo object>)

Instantiates the asset service client.

Parameters
NameDescription
credentials Optional[google.auth.credentials.Credentials]

The authorization credentials to attach to requests. These credentials identify the application to the service; if none are specified, the client will attempt to ascertain the credentials from the environment.

transport Union[str, AssetServiceTransport]

The transport to use. If set to None, a transport is chosen automatically.

client_options google.api_core.client_options.ClientOptions

Custom options for the client. It won't take effect if a transport instance is provided. (1) The api_endpoint property can be used to override the default endpoint provided by the client. GOOGLE_API_USE_MTLS_ENDPOINT environment variable can also be used to override the endpoint: "always" (always use the default mTLS endpoint), "never" (always use the default regular endpoint) and "auto" (auto switch to the default mTLS endpoint if client certificate is present, this is the default value). However, the api_endpoint property takes precedence if provided. (2) If GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is "true", then the client_cert_source property can be used to provide client certificate for mutual TLS transport. If not provided, the default SSL client certificate will be used if present. If GOOGLE_API_USE_CLIENT_CERTIFICATE is "false" or not set, no client certificate will be 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.

Exceptions
TypeDescription
google.auth.exceptions.MutualTLSChannelErrorIf mutual TLS transport creation failed for any reason.

__exit__

__exit__(type, value, traceback)

Releases underlying transport's resources.

access_level_path

access_level_path(access_policy: str, access_level: str)

Returns a fully-qualified access_level string.

access_policy_path

access_policy_path(access_policy: str)

Returns a fully-qualified access_policy string.

analyze_iam_policy

analyze_iam_policy(request: Optional[Union[google.cloud.asset_v1.types.asset_service.AnalyzeIamPolicyRequest, dict]] = None, *, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Analyzes IAM policies to answer which identities have what accesses on which resources.

from google.cloud import asset_v1

def sample_analyze_iam_policy():
    # Create a client
    client = asset_v1.AssetServiceClient()

    # Initialize request argument(s)
    analysis_query = asset_v1.IamPolicyAnalysisQuery()
    analysis_query.scope = "scope_value"

    request = asset_v1.AnalyzeIamPolicyRequest(
        analysis_query=analysis_query,
    )

    # Make the request
    response = client.analyze_iam_policy(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.asset_v1.types.AnalyzeIamPolicyRequest, dict]

The request object. A request message for AssetService.AnalyzeIamPolicy.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.asset_v1.types.AnalyzeIamPolicyResponseA response message for AssetService.AnalyzeIamPolicy.

analyze_iam_policy_longrunning

analyze_iam_policy_longrunning(request: Optional[Union[google.cloud.asset_v1.types.asset_service.AnalyzeIamPolicyLongrunningRequest, dict]] = None, *, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Analyzes IAM policies asynchronously to answer which identities have what accesses on which resources, and writes the analysis results to a Google Cloud Storage or a BigQuery destination. For Cloud Storage destination, the output format is the JSON format that represents a xref_AnalyzeIamPolicyResponse. This method implements the google.longrunning.Operation][google.longrunning.Operation], which allows you to track the operation status. We recommend intervals of at least 2 seconds with exponential backoff retry to poll the operation result. The metadata contains the metadata for the long-running operation.

from google.cloud import asset_v1

def sample_analyze_iam_policy_longrunning():
    # Create a client
    client = asset_v1.AssetServiceClient()

    # Initialize request argument(s)
    analysis_query = asset_v1.IamPolicyAnalysisQuery()
    analysis_query.scope = "scope_value"

    output_config = asset_v1.IamPolicyAnalysisOutputConfig()
    output_config.gcs_destination.uri = "uri_value"

    request = asset_v1.AnalyzeIamPolicyLongrunningRequest(
        analysis_query=analysis_query,
        output_config=output_config,
    )

    # Make the request
    operation = client.analyze_iam_policy_longrunning(request=request)

    print("Waiting for operation to complete...")

    response = operation.result()

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.asset_v1.types.AnalyzeIamPolicyLongrunningRequest, dict]

The request object. A request message for AssetService.AnalyzeIamPolicyLongrunning.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.api_core.operation.OperationAn object representing a long-running operation. The result type for the operation will be AnalyzeIamPolicyLongrunningResponse A response message for AssetService.AnalyzeIamPolicyLongrunning.

analyze_move

analyze_move(request: Optional[Union[google.cloud.asset_v1.types.asset_service.AnalyzeMoveRequest, dict]] = None, *, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Analyze moving a resource to a specified destination without kicking off the actual move. The analysis is best effort depending on the user's permissions of viewing different hierarchical policies and configurations. The policies and configuration are subject to change before the actual resource migration takes place.

from google.cloud import asset_v1

def sample_analyze_move():
    # Create a client
    client = asset_v1.AssetServiceClient()

    # Initialize request argument(s)
    request = asset_v1.AnalyzeMoveRequest(
        resource="resource_value",
        destination_parent="destination_parent_value",
    )

    # Make the request
    response = client.analyze_move(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.asset_v1.types.AnalyzeMoveRequest, dict]

The request object. The request message for performing resource move analysis.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.asset_v1.types.AnalyzeMoveResponseThe response message for resource move analysis.

asset_path

asset_path()

Returns a fully-qualified asset string.

batch_get_assets_history

batch_get_assets_history(request: Optional[Union[google.cloud.asset_v1.types.asset_service.BatchGetAssetsHistoryRequest, dict]] = None, *, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

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.

from google.cloud import asset_v1

def sample_batch_get_assets_history():
    # Create a client
    client = asset_v1.AssetServiceClient()

    # Initialize request argument(s)
    request = asset_v1.BatchGetAssetsHistoryRequest(
        parent="parent_value",
    )

    # Make the request
    response = client.batch_get_assets_history(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.asset_v1.types.BatchGetAssetsHistoryRequest, dict]

The request object. Batch get assets history request.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.asset_v1.types.BatchGetAssetsHistoryResponseBatch get assets history response.

batch_get_effective_iam_policies

batch_get_effective_iam_policies(request: Optional[Union[google.cloud.asset_v1.types.asset_service.BatchGetEffectiveIamPoliciesRequest, dict]] = None, *, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Gets effective IAM policies for a batch of resources.

from google.cloud import asset_v1

def sample_batch_get_effective_iam_policies():
    # Create a client
    client = asset_v1.AssetServiceClient()

    # Initialize request argument(s)
    request = asset_v1.BatchGetEffectiveIamPoliciesRequest(
        scope="scope_value",
        names=['names_value_1', 'names_value_2'],
    )

    # Make the request
    response = client.batch_get_effective_iam_policies(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.asset_v1.types.BatchGetEffectiveIamPoliciesRequest, dict]

The request object. A request message for AssetService.BatchGetEffectiveIamPolicies.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.asset_v1.types.BatchGetEffectiveIamPoliciesResponseA response message for AssetService.BatchGetEffectiveIamPolicies.

common_billing_account_path

common_billing_account_path(billing_account: str)

Returns a fully-qualified billing_account string.

common_folder_path

common_folder_path(folder: str)

Returns a fully-qualified folder string.

common_location_path

common_location_path(project: str, location: str)

Returns a fully-qualified location string.

common_organization_path

common_organization_path(organization: str)

Returns a fully-qualified organization string.

common_project_path

common_project_path(project: str)

Returns a fully-qualified project string.

create_feed

create_feed(request: Optional[Union[google.cloud.asset_v1.types.asset_service.CreateFeedRequest, dict]] = None, *, parent: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

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

from google.cloud import asset_v1

def sample_create_feed():
    # Create a client
    client = asset_v1.AssetServiceClient()

    # Initialize request argument(s)
    feed = asset_v1.Feed()
    feed.name = "name_value"

    request = asset_v1.CreateFeedRequest(
        parent="parent_value",
        feed_id="feed_id_value",
        feed=feed,
    )

    # Make the request
    response = client.create_feed(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.asset_v1.types.CreateFeedRequest, dict]

The request object. Create asset feed request.

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"). This corresponds to the parent field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.asset_v1.types.FeedAn 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: Pub/Sub topics.

create_saved_query

create_saved_query(request: Optional[Union[google.cloud.asset_v1.types.asset_service.CreateSavedQueryRequest, dict]] = None, *, parent: Optional[str] = None, saved_query: Optional[google.cloud.asset_v1.types.asset_service.SavedQuery] = None, saved_query_id: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Creates a saved query in a parent project/folder/organization.

from google.cloud import asset_v1

def sample_create_saved_query():
    # Create a client
    client = asset_v1.AssetServiceClient()

    # Initialize request argument(s)
    request = asset_v1.CreateSavedQueryRequest(
        parent="parent_value",
        saved_query_id="saved_query_id_value",
    )

    # Make the request
    response = client.create_saved_query(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.asset_v1.types.CreateSavedQueryRequest, dict]

The request object. Request to create a saved query.

parent str

Required. The name of the project/folder/organization where this saved_query 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"). This corresponds to the parent field on the request instance; if request is provided, this should not be set.

saved_query google.cloud.asset_v1.types.SavedQuery

Required. The saved_query details. The name field must be empty as it will be generated based on the parent and saved_query_id. This corresponds to the saved_query field on the request instance; if request is provided, this should not be set.

saved_query_id str

Required. The ID to use for the saved query, which must be unique in the specified parent. It will become the final component of the saved query's resource name. This value should be 4-63 characters, and valid characters are /a-z][0-9]-/. Notice that this field is required in the saved query creation, and the name field of the saved_query will be ignored. This corresponds to the saved_query_id field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.asset_v1.types.SavedQueryA saved query which can be shared with others or used later.

delete_feed

delete_feed(request: Optional[Union[google.cloud.asset_v1.types.asset_service.DeleteFeedRequest, dict]] = None, *, name: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Deletes an asset feed.

from google.cloud import asset_v1

def sample_delete_feed():
    # Create a client
    client = asset_v1.AssetServiceClient()

    # Initialize request argument(s)
    request = asset_v1.DeleteFeedRequest(
        name="name_value",
    )

    # Make the request
    client.delete_feed(request=request)
Parameters
NameDescription
request Union[google.cloud.asset_v1.types.DeleteFeedRequest, dict]

The request object.

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 This corresponds to the name field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

delete_saved_query

delete_saved_query(request: Optional[Union[google.cloud.asset_v1.types.asset_service.DeleteSavedQueryRequest, dict]] = None, *, name: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Deletes a saved query.

from google.cloud import asset_v1

def sample_delete_saved_query():
    # Create a client
    client = asset_v1.AssetServiceClient()

    # Initialize request argument(s)
    request = asset_v1.DeleteSavedQueryRequest(
        name="name_value",
    )

    # Make the request
    client.delete_saved_query(request=request)
Parameters
NameDescription
request Union[google.cloud.asset_v1.types.DeleteSavedQueryRequest, dict]

The request object. Request to delete a saved query.

name str

Required. The name of the saved query to delete. It must be in the format of: - projects/project_number/savedQueries/saved_query_id - folders/folder_number/savedQueries/saved_query_id - organizations/organization_number/savedQueries/saved_query_id This corresponds to the name field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

export_assets

export_assets(request: Optional[Union[google.cloud.asset_v1.types.asset_service.ExportAssetsRequest, dict]] = None, *, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

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 xref_google.cloud.asset.v1.Asset in the JSON format; for BigQuery table destinations, the output table stores the fields in asset Protobuf as columns. This API implements the google.longrunning.Operation][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.

from google.cloud import asset_v1

def sample_export_assets():
    # Create a client
    client = asset_v1.AssetServiceClient()

    # Initialize request argument(s)
    output_config = asset_v1.OutputConfig()
    output_config.gcs_destination.uri = "uri_value"

    request = asset_v1.ExportAssetsRequest(
        parent="parent_value",
        output_config=output_config,
    )

    # Make the request
    operation = client.export_assets(request=request)

    print("Waiting for operation to complete...")

    response = operation.result()

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.asset_v1.types.ExportAssetsRequest, dict]

The request object. Export asset request.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.api_core.operation.OperationAn object representing a long-running operation. The result type for the operation will be ExportAssetsResponse The export asset response. This message is returned by the google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation] method in the returned google.longrunning.Operation.response][google.longrunning.Operation.response] field.

feed_path

feed_path(project: str, feed: str)

Returns a fully-qualified feed string.

from_service_account_file

from_service_account_file(filename: str, *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_info

from_service_account_info(info: dict, *args, **kwargs)

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

Parameter
NameDescription
info dict

The service account private key info.

Returns
TypeDescription
AssetServiceClientThe constructed client.

from_service_account_json

from_service_account_json(filename: str, *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(request: Optional[Union[google.cloud.asset_v1.types.asset_service.GetFeedRequest, dict]] = None, *, name: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Gets details about an asset feed.

from google.cloud import asset_v1

def sample_get_feed():
    # Create a client
    client = asset_v1.AssetServiceClient()

    # Initialize request argument(s)
    request = asset_v1.GetFeedRequest(
        name="name_value",
    )

    # Make the request
    response = client.get_feed(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.asset_v1.types.GetFeedRequest, dict]

The request object. Get asset feed request.

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 This corresponds to the name field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.asset_v1.types.FeedAn 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: Pub/Sub topics.

get_mtls_endpoint_and_cert_source

get_mtls_endpoint_and_cert_source(
    client_options: Optional[google.api_core.client_options.ClientOptions] = None,
)

Return the API endpoint and client cert source for mutual TLS.

The client cert source is determined in the following order: (1) if GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is not "true", the client cert source is None. (2) if client_options.client_cert_source is provided, use the provided one; if the default client cert source exists, use the default one; otherwise the client cert source is None.

The API endpoint is determined in the following order: (1) if client_options.api_endpoint if provided, use the provided one. (2) if GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is "always", use the default mTLS endpoint; if the environment variabel is "never", use the default API endpoint; otherwise if client cert source exists, use the default mTLS endpoint, otherwise use the default API endpoint.

More details can be found at https://google.aip.dev/auth/4114.

Parameter
NameDescription
client_options google.api_core.client_options.ClientOptions

Custom options for the client. Only the api_endpoint and client_cert_source properties may be used in this method.

Exceptions
TypeDescription
google.auth.exceptions.MutualTLSChannelErrorIf any errors happen.
Returns
TypeDescription
Tuple[str, Callable[[], Tuple[bytes, bytes]]]returns the API endpoint and the client cert source to use.

get_saved_query

get_saved_query(request: Optional[Union[google.cloud.asset_v1.types.asset_service.GetSavedQueryRequest, dict]] = None, *, name: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Gets details about a saved query.

from google.cloud import asset_v1

def sample_get_saved_query():
    # Create a client
    client = asset_v1.AssetServiceClient()

    # Initialize request argument(s)
    request = asset_v1.GetSavedQueryRequest(
        name="name_value",
    )

    # Make the request
    response = client.get_saved_query(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.asset_v1.types.GetSavedQueryRequest, dict]

The request object. Request to get a saved query.

name str

Required. The name of the saved query and it must be in the format of: - projects/project_number/savedQueries/saved_query_id - folders/folder_number/savedQueries/saved_query_id - organizations/organization_number/savedQueries/saved_query_id This corresponds to the name field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.asset_v1.types.SavedQueryA saved query which can be shared with others or used later.

inventory_path

inventory_path(project: str, location: str, instance: str)

Returns a fully-qualified inventory string.

list_assets

list_assets(request: Optional[Union[google.cloud.asset_v1.types.asset_service.ListAssetsRequest, dict]] = None, *, parent: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Lists assets with time and resource types and returns paged results in response.

from google.cloud import asset_v1

def sample_list_assets():
    # Create a client
    client = asset_v1.AssetServiceClient()

    # Initialize request argument(s)
    request = asset_v1.ListAssetsRequest(
        parent="parent_value",
    )

    # Make the request
    page_result = client.list_assets(request=request)

    # Handle the response
    for response in page_result:
        print(response)
Parameters
NameDescription
request Union[google.cloud.asset_v1.types.ListAssetsRequest, dict]

The request object. ListAssets request.

parent str

Required. Name of the organization, folder, or project the assets belong to. Format: "organizations/[organization-number]" (such as "organizations/123"), "projects/[project-id]" (such as "projects/my-project-id"), "projects/[project-number]" (such as "projects/12345"), or "folders/[folder-number]" (such as "folders/12345"). This corresponds to the parent field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.asset_v1.services.asset_service.pagers.ListAssetsPagerListAssets response. Iterating over this object will yield results and resolve additional pages automatically.

list_feeds

list_feeds(request: Optional[Union[google.cloud.asset_v1.types.asset_service.ListFeedsRequest, dict]] = None, *, parent: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

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

from google.cloud import asset_v1

def sample_list_feeds():
    # Create a client
    client = asset_v1.AssetServiceClient()

    # Initialize request argument(s)
    request = asset_v1.ListFeedsRequest(
        parent="parent_value",
    )

    # Make the request
    response = client.list_feeds(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.asset_v1.types.ListFeedsRequest, dict]

The request object. List asset feeds request.

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"). This corresponds to the parent field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

list_saved_queries

list_saved_queries(request: Optional[Union[google.cloud.asset_v1.types.asset_service.ListSavedQueriesRequest, dict]] = None, *, parent: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Lists all saved queries in a parent project/folder/organization.

from google.cloud import asset_v1

def sample_list_saved_queries():
    # Create a client
    client = asset_v1.AssetServiceClient()

    # Initialize request argument(s)
    request = asset_v1.ListSavedQueriesRequest(
        parent="parent_value",
    )

    # Make the request
    page_result = client.list_saved_queries(request=request)

    # Handle the response
    for response in page_result:
        print(response)
Parameters
NameDescription
request Union[google.cloud.asset_v1.types.ListSavedQueriesRequest, dict]

The request object. Request to list saved queries.

parent str

Required. The parent project/folder/organization whose savedQueries 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"). This corresponds to the parent field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.asset_v1.services.asset_service.pagers.ListSavedQueriesPagerResponse of listing saved queries. Iterating over this object will yield results and resolve additional pages automatically.

parse_access_level_path

parse_access_level_path(path: str)

Parses a access_level path into its component segments.

parse_access_policy_path

parse_access_policy_path(path: str)

Parses a access_policy path into its component segments.

parse_common_billing_account_path

parse_common_billing_account_path(path: str)

Parse a billing_account path into its component segments.

parse_common_folder_path

parse_common_folder_path(path: str)

Parse a folder path into its component segments.

parse_common_location_path

parse_common_location_path(path: str)

Parse a location path into its component segments.

parse_common_organization_path

parse_common_organization_path(path: str)

Parse a organization path into its component segments.

parse_common_project_path

parse_common_project_path(path: str)

Parse a project path into its component segments.

parse_feed_path

parse_feed_path(path: str)

Parses a feed path into its component segments.

parse_inventory_path

parse_inventory_path(path: str)

Parses a inventory path into its component segments.

parse_saved_query_path

parse_saved_query_path(path: str)

Parses a saved_query path into its component segments.

parse_service_perimeter_path

parse_service_perimeter_path(path: str)

Parses a service_perimeter path into its component segments.

query_assets

query_assets(request: Optional[Union[google.cloud.asset_v1.types.asset_service.QueryAssetsRequest, dict]] = None, *, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Issue a job that queries assets using a SQL statement compatible with BigQuery Standard SQL <http://cloud/bigquery/docs/reference/standard-sql/enabling-standard-sql>__.

If the query execution finishes within timeout and there's no pagination, the full query results will be returned in the QueryAssetsResponse.

Otherwise, full query results can be obtained by issuing extra requests with the job_reference from the a previous QueryAssets call.

Note, the query result has approximately 10 GB limitation enforced by BigQuery https://cloud.google.com/bigquery/docs/best-practices-performance-output, queries return larger results will result in errors.

from google.cloud import asset_v1

def sample_query_assets():
    # Create a client
    client = asset_v1.AssetServiceClient()

    # Initialize request argument(s)
    request = asset_v1.QueryAssetsRequest(
        statement="statement_value",
        parent="parent_value",
    )

    # Make the request
    response = client.query_assets(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.asset_v1.types.QueryAssetsRequest, dict]

The request object. QueryAssets request.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.asset_v1.types.QueryAssetsResponseQueryAssets response.

saved_query_path

saved_query_path(project: str, saved_query: str)

Returns a fully-qualified saved_query string.

search_all_iam_policies

search_all_iam_policies(request: Optional[Union[google.cloud.asset_v1.types.asset_service.SearchAllIamPoliciesRequest, dict]] = None, *, scope: Optional[str] = None, query: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Searches all IAM policies within the specified scope, such as a project, folder, or organization. The caller must be granted the cloudasset.assets.searchAllIamPolicies permission on the desired scope, otherwise the request will be rejected.

from google.cloud import asset_v1

def sample_search_all_iam_policies():
    # Create a client
    client = asset_v1.AssetServiceClient()

    # Initialize request argument(s)
    request = asset_v1.SearchAllIamPoliciesRequest(
        scope="scope_value",
    )

    # Make the request
    page_result = client.search_all_iam_policies(request=request)

    # Handle the response
    for response in page_result:
        print(response)
Parameters
NameDescription
request Union[google.cloud.asset_v1.types.SearchAllIamPoliciesRequest, dict]

The request object. Search all IAM policies request.

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 caller must be granted the ``cloudasset.assets.searchAllIamPolicies https://cloud.google.com/asset-inventory/docs/access-control#required_permissions__ permission on the desired scope. The allowed values are: - projects/{PROJECT_ID} (e.g., "projects/foo-bar") - projects/{PROJECT_NUMBER} (e.g., "projects/12345678") - folders/{FOLDER_NUMBER} (e.g., "folders/1234567") - organizations/{ORGANIZATION_NUMBER} (e.g., "organizations/123456") This corresponds to the scope field on the request instance; if request is provided, this should not be set.

query str

Optional. The query statement. See how to construct a query https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query for more information. If not specified or empty, it will search all the IAM policies within the specified scope. Note that the query string is compared against each Cloud IAM policy binding, including its principals, roles, and Cloud IAM conditions. The returned Cloud IAM policies will only contain the bindings that match your query. To learn more about the IAM policy structure, see the IAM policy documentation https://cloud.google.com/iam/help/allow-policies/structure. Examples: - policy:amy@gmail.com to find IAM policy bindings that specify user "amy@gmail.com". - policy:roles/compute.admin to find IAM policy bindings that specify the Compute Admin role. - policy:comp to find IAM policy bindings that contain "comp" as a prefix of any word in the binding. - policy.role.permissions:storage.buckets.update to find IAM policy bindings that specify a role containing "storage.buckets.update" permission. Note that if callers don't have iam.roles.get access to a role's included permissions, policy bindings that specify this role will be dropped from the search results. - policy.role.permissions:upd to find IAM policy bindings that specify a role containing "upd" as a prefix of any word in the role permission. Note that if callers don't have iam.roles.get access to a role's included permissions, policy bindings that specify this role will be dropped from the search results. - resource:organizations/123456 to find IAM policy bindings that are set on "organizations/123456". - resource=//cloudresourcemanager.googleapis.com/projects/myproject to find IAM policy bindings that are set on the project named "myproject". - Important to find IAM policy bindings that contain "Important" as a word in any of the searchable fields (except for the included permissions). - resource:(instance1 OR instance2) policy:amy to find IAM policy bindings that are set on resources "instance1" or "instance2" and also specify user "amy". - roles:roles/compute.admin to find IAM policy bindings that specify the Compute Admin role. - memberTypes:user to find IAM policy bindings that contain the principal type "user". This corresponds to the query field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.asset_v1.services.asset_service.pagers.SearchAllIamPoliciesPagerSearch all IAM policies response. Iterating over this object will yield results and resolve additional pages automatically.

search_all_resources

search_all_resources(request: Optional[Union[google.cloud.asset_v1.types.asset_service.SearchAllResourcesRequest, dict]] = None, *, scope: Optional[str] = None, query: Optional[str] = None, asset_types: Optional[Sequence[str]] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Searches all Cloud resources within the specified scope, such as a project, folder, or organization. The caller must be granted the cloudasset.assets.searchAllResources permission on the desired scope, otherwise the request will be rejected.

from google.cloud import asset_v1

def sample_search_all_resources():
    # Create a client
    client = asset_v1.AssetServiceClient()

    # Initialize request argument(s)
    request = asset_v1.SearchAllResourcesRequest(
        scope="scope_value",
    )

    # Make the request
    page_result = client.search_all_resources(request=request)

    # Handle the response
    for response in page_result:
        print(response)
Parameters
NameDescription
request Union[google.cloud.asset_v1.types.SearchAllResourcesRequest, dict]

The request object. Search all resources request.

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 caller must be granted the ``cloudasset.assets.searchAllResources https://cloud.google.com/asset-inventory/docs/access-control#required_permissions__ permission on the desired scope. The allowed values are: - projects/{PROJECT_ID} (e.g., "projects/foo-bar") - projects/{PROJECT_NUMBER} (e.g., "projects/12345678") - folders/{FOLDER_NUMBER} (e.g., "folders/1234567") - organizations/{ORGANIZATION_NUMBER} (e.g., "organizations/123456") This corresponds to the scope field on the request instance; if request is provided, this should not be set.

query str

Optional. The query statement. See how to construct a query https://cloud.google.com/asset-inventory/docs/searching-resources#how_to_construct_a_query__ for more information. If not specified or empty, it will search all the resources within the specified scope. Examples: - name:Important to find Cloud resources whose name contains "Important" as a word. - name=Important to find the Cloud resource whose name is exactly "Important". - displayName:Impor to find Cloud resources whose display name contains "Impor" as a prefix of any word in the field. - location:us-west to find Cloud resources whose location contains both "us" and "west" as prefixes. - labels:prod to find Cloud resources whose labels contain "prod" as a key or value. - labels.env:prod to find Cloud resources that have a label "env" and its value is "prod". - labels.env: to find Cloud resources that have a label "env". - kmsKey:key to find Cloud resources encrypted with a customer-managed encryption key whose name contains the word "key". - relationships:instance-group-1 to find Cloud resources that have relationships with "instance-group-1" in the related resource name. - relationships:INSTANCE_TO_INSTANCEGROUP to find compute instances that have relationships of type "INSTANCE_TO_INSTANCEGROUP". - relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1 to find compute instances that have relationships with "instance-group-1" in the compute instance group resource name, for relationship type "INSTANCE_TO_INSTANCEGROUP". - state:ACTIVE to find Cloud resources whose state contains "ACTIVE" as a word. - NOT state:ACTIVE to find Cloud resources whose state doesn't contain "ACTIVE" as a word. - createTime<1609459200 to find Cloud resources that were created before "2021-01-01 00:00:00 UTC". 1609459200 is the epoch timestamp of "2021-01-01 00:00:00 UTC" in seconds. - updateTime>1609459200 to find Cloud resources that were updated after "2021-01-01 00:00:00 UTC". 1609459200 is the epoch timestamp of "2021-01-01 00:00:00 UTC" in seconds. - Important to find Cloud resources that contain "Important" as a word in any of the searchable fields. - Impor to find Cloud resources that contain "Impor" as a prefix of any word in any of the searchable fields. - Important location:(us-west1 OR global) to find Cloud resources that contain "Important" as a word in any of the searchable fields and are also located in the "us-west1" region or the "global" location. This corresponds to the query field on the request instance; if request is provided, this should not be set.

asset_types Sequence[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. Regular expressions are also supported. For example: - "compute.googleapis.com." snapshots resources whose asset type starts with "compute.googleapis.com". - ".Instance" snapshots resources whose asset type ends with "Instance". - ".Instance." snapshots resources whose asset type contains "Instance". See RE2 https://github.com/google/re2/wiki/Syntax for all supported regular expression syntax. If the regular expression does not match any supported asset type, an INVALID_ARGUMENT error will be returned. This corresponds to the asset_types field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.asset_v1.services.asset_service.pagers.SearchAllResourcesPagerSearch all resources response. Iterating over this object will yield results and resolve additional pages automatically.

service_perimeter_path

service_perimeter_path(access_policy: str, service_perimeter: str)

Returns a fully-qualified service_perimeter string.

update_feed

update_feed(request: Optional[Union[google.cloud.asset_v1.types.asset_service.UpdateFeedRequest, dict]] = None, *, feed: Optional[google.cloud.asset_v1.types.asset_service.Feed] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Updates an asset feed configuration.

from google.cloud import asset_v1

def sample_update_feed():
    # Create a client
    client = asset_v1.AssetServiceClient()

    # Initialize request argument(s)
    feed = asset_v1.Feed()
    feed.name = "name_value"

    request = asset_v1.UpdateFeedRequest(
        feed=feed,
    )

    # Make the request
    response = client.update_feed(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.asset_v1.types.UpdateFeedRequest, dict]

The request object. Update asset feed request.

feed google.cloud.asset_v1.types.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. This corresponds to the feed field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.asset_v1.types.FeedAn 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: Pub/Sub topics.

update_saved_query

update_saved_query(request: Optional[Union[google.cloud.asset_v1.types.asset_service.UpdateSavedQueryRequest, dict]] = None, *, saved_query: Optional[google.cloud.asset_v1.types.asset_service.SavedQuery] = None, update_mask: Optional[google.protobuf.field_mask_pb2.FieldMask] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Updates a saved query.

from google.cloud import asset_v1

def sample_update_saved_query():
    # Create a client
    client = asset_v1.AssetServiceClient()

    # Initialize request argument(s)
    request = asset_v1.UpdateSavedQueryRequest(
    )

    # Make the request
    response = client.update_saved_query(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.asset_v1.types.UpdateSavedQueryRequest, dict]

The request object. Request to update a saved query.

saved_query google.cloud.asset_v1.types.SavedQuery

Required. The saved query to update. The saved query's name field is used to identify the one to update, which has format as below: - projects/project_number/savedQueries/saved_query_id - folders/folder_number/savedQueries/saved_query_id - organizations/organization_number/savedQueries/saved_query_id This corresponds to the saved_query field on the request instance; if request is provided, this should not be set.

update_mask google.protobuf.field_mask_pb2.FieldMask

Required. The list of fields to update. This corresponds to the update_mask field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.asset_v1.types.SavedQueryA saved query which can be shared with others or used later.