As of January 1, 2020 this library no longer supports Python 2 on the latest released version. Library versions released prior to that date will continue to be available. For more information please visit Python 2 support on Google Cloud.

Source code for google.cloud.asset_v1p2beta1.types.assets

# -*- coding: utf-8 -*-
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
import proto  # type: ignore

from google.iam.v1 import policy_pb2  # type: ignore
from google.protobuf import struct_pb2  # type: ignore
from google.protobuf import timestamp_pb2  # type: ignore


__protobuf__ = proto.module(
    package="google.cloud.asset.v1p2beta1",
    manifest={"TemporalAsset", "TimeWindow", "Asset", "Resource",},
)


[docs]class TemporalAsset(proto.Message): r"""Temporal asset. In addition to the asset, the temporal asset includes the status of the asset and valid from and to time of it. Attributes: window (google.cloud.asset_v1p2beta1.types.TimeWindow): The time window when the asset data and state was observed. deleted (bool): If the asset is deleted or not. asset (google.cloud.asset_v1p2beta1.types.Asset): Asset. """ window = proto.Field(proto.MESSAGE, number=1, message="TimeWindow",) deleted = proto.Field(proto.BOOL, number=2,) asset = proto.Field(proto.MESSAGE, number=3, message="Asset",)
[docs]class TimeWindow(proto.Message): r"""A time window of (start_time, end_time]. Attributes: start_time (google.protobuf.timestamp_pb2.Timestamp): Start time of the time window (exclusive). end_time (google.protobuf.timestamp_pb2.Timestamp): End time of the time window (inclusive). Current timestamp if not specified. """ start_time = proto.Field(proto.MESSAGE, number=1, message=timestamp_pb2.Timestamp,) end_time = proto.Field(proto.MESSAGE, number=2, message=timestamp_pb2.Timestamp,)
[docs]class Asset(proto.Message): r"""Cloud asset. This includes all Google Cloud Platform resources, Cloud IAM policies, and other non-GCP assets. Attributes: name (str): The full name of the asset. For example: ``//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1``. See `Resource Names <https://cloud.google.com/apis/design/resource_names#full_resource_name>`__ for more information. asset_type (str): Type of the asset. Example: "compute.googleapis.com/Disk". resource (google.cloud.asset_v1p2beta1.types.Resource): Representation of the resource. iam_policy (google.iam.v1.policy_pb2.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. ancestors (Sequence[str]): 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"] """ name = proto.Field(proto.STRING, number=1,) asset_type = proto.Field(proto.STRING, number=2,) resource = proto.Field(proto.MESSAGE, number=3, message="Resource",) iam_policy = proto.Field(proto.MESSAGE, number=4, message=policy_pb2.Policy,) ancestors = proto.RepeatedField(proto.STRING, number=6,)
[docs]class Resource(proto.Message): r"""Representation of a cloud resource. Attributes: version (str): The API version. Example: "v1". discovery_document_uri (str): 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 (str): 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 (str): 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 (str): The full name of the immediate parent of this resource. See `Resource Names <https://cloud.google.com/apis/design/resource_names#full_resource_name>`__ for more information. For GCP assets, it is the parent resource defined in the `Cloud IAM policy hierarchy <https://cloud.google.com/iam/docs/overview#policy_hierarchy>`__. For example: ``"//cloudresourcemanager.googleapis.com/projects/my_project_123"``. For third-party assets, it is up to the users to define. data (google.protobuf.struct_pb2.Struct): The content of the resource, in which some sensitive fields are scrubbed away and may not be present. """ version = proto.Field(proto.STRING, number=1,) discovery_document_uri = proto.Field(proto.STRING, number=2,) discovery_name = proto.Field(proto.STRING, number=3,) resource_url = proto.Field(proto.STRING, number=4,) parent = proto.Field(proto.STRING, number=5,) data = proto.Field(proto.MESSAGE, number=6, message=struct_pb2.Struct,)
__all__ = tuple(sorted(__protobuf__.manifest))