# Path: google/cloud/asset_v1/types/assets.py
# class TemporalAsset(proto.Message):
#     class PriorAssetState(proto.Enum):
# class TimeWindow(proto.Message):
# class Asset(proto.Message):
# class Resource(proto.Message):
# class RelatedAssets(proto.Message):
# class RelationshipAttributes(proto.Message):
# class RelatedAsset(proto.Message):
# class ResourceSearchResult(proto.Message):
# class VersionedResource(proto.Message):
# class AttachedResource(proto.Message):
# class RelatedResources(proto.Message):
# class RelatedResource(proto.Message):
# class IamPolicySearchResult(proto.Message):
#     class Explanation(proto.Message):
#         class Permissions(proto.Message):
# class IamPolicyAnalysisState(proto.Message):
# class ConditionEvaluation(proto.Message):
#     class EvaluationValue(proto.Enum):
# class IamPolicyAnalysisResult(proto.Message):
#     class Resource(proto.Message):
#     class Access(proto.Message):
#     class Identity(proto.Message):
#     class Edge(proto.Message):
#     class AccessControlList(proto.Message):
#     class IdentityList(proto.Message):
#         PRIOR_ASSET_STATE_UNSPECIFIED = 0
#         PRESENT = 1
#         INVALID = 2
#         DOES_NOT_EXIST = 3
#         DELETED = 4
#         EVALUATION_VALUE_UNSPECIFIED = 0
#         TRUE = 1
#         FALSE = 2
#         CONDITIONAL = 3


import proto  # type: ignore
from google.cloud.asset_v1.types import assets as gca_assets
from google.protobuf import duration_pb2  # type: ignore
from google.protobuf import field_mask_pb2  # type: ignore
from google.protobuf import timestamp_pb2  # type: ignore
from google.rpc import status_pb2  # type: ignore
from google.type import expr_pb2  # type: ignore

    parent = proto.Field(proto.STRING, number=1,)
    read_time = proto.Field(proto.MESSAGE, number=2, message=timestamp_pb2.Timestamp,)
    asset_types = proto.RepeatedField(proto.STRING, number=3,)
    content_type = proto.Field(proto.ENUM, number=4, enum="ContentType",)
    page_size = proto.Field(proto.INT32, number=5,)
    page_token = proto.Field(proto.STRING, number=6,)
    relationship_types = proto.RepeatedField(proto.STRING, number=7,)


class ListAssetsResponse(proto.Message):
    r"""ListAssets response.

    Attributes:
        read_time (google.protobuf.timestamp_pb2.Timestamp):
            Time the snapshot was taken.
        assets (Sequence[google.cloud.asset_v1.types.Asset]):
            Assets.
        next_page_token (str):
            Token to retrieve the next page of results.
            It expires 72 hours after the page token for the
            first page is generated. Set to empty if there
            are no remaining results.
    """

    @property
    def raw_page(self):
        return self

    read_time = proto.Field(proto.MESSAGE, number=1, message=timestamp_pb2.Timestamp,)

# Path: google/cloud/asset_v1/types/assets.py
# class TemporalAsset(proto.Message):
#     class PriorAssetState(proto.Enum):
# class TimeWindow(proto.Message):
# class Asset(proto.Message):
# class Resource(proto.Message):
# class RelatedAssets(proto.Message):
# class RelationshipAttributes(proto.Message):
# class RelatedAsset(proto.Message):
# class ResourceSearchResult(proto.Message):
# class VersionedResource(proto.Message):
# class AttachedResource(proto.Message):
# class RelatedResources(proto.Message):
# class RelatedResource(proto.Message):
# class IamPolicySearchResult(proto.Message):
#     class Explanation(proto.Message):
#         class Permissions(proto.Message):
# class IamPolicyAnalysisState(proto.Message):
# class ConditionEvaluation(proto.Message):
#     class EvaluationValue(proto.Enum):
# class IamPolicyAnalysisResult(proto.Message):
#     class Resource(proto.Message):
#     class Access(proto.Message):
#     class Identity(proto.Message):
#     class Edge(proto.Message):
#     class AccessControlList(proto.Message):
#     class IdentityList(proto.Message):
#         PRIOR_ASSET_STATE_UNSPECIFIED = 0
#         PRESENT = 1
#         INVALID = 2
#         DOES_NOT_EXIST = 3
#         DELETED = 4
#         EVALUATION_VALUE_UNSPECIFIED = 0
#         TRUE = 1
#         FALSE = 2
#         CONDITIONAL = 3


# Path: google/cloud/asset_v1/types/asset_service.py
import proto  # type: ignore
from google.cloud.asset_v1.types import assets as gca_assets
from google.protobuf import duration_pb2  # type: ignore
from google.protobuf import field_mask_pb2  # type: ignore
from google.protobuf import timestamp_pb2  # type: ignore
from google.rpc import status_pb2  # type: ignore
from google.type import expr_pb2  # type: ignore


    parent = proto.Field(proto.STRING, number=1,)
    read_time = proto.Field(proto.MESSAGE, number=2, message=timestamp_pb2.Timestamp,)
    asset_types = proto.RepeatedField(proto.STRING, number=3,)
    content_type = proto.Field(proto.ENUM, number=4, enum="ContentType",)
    page_size = proto.Field(proto.INT32, number=5,)
    page_token = proto.Field(proto.STRING, number=6,)
    relationship_types = proto.RepeatedField(proto.STRING, number=7,)


class ListAssetsResponse(proto.Message):
    r"""ListAssets response.

    Attributes:
        read_time (google.protobuf.timestamp_pb2.Timestamp):
            Time the snapshot was taken.
        assets (Sequence[google.cloud.asset_v1.types.Asset]):
            Assets.
        next_page_token (str):
            Token to retrieve the next page of results.
            It expires 72 hours after the page token for the
            first page is generated. Set to empty if there
            are no remaining results.
    """

    @property
    def raw_page(self):
        return self

    read_time = proto.Field(proto.MESSAGE, number=1, message=timestamp_pb2.Timestamp,)

    assets = proto.RepeatedField(proto.MESSAGE, number=2, message=gca_assets.Asset,)