# 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
               [relationship_types] doesn't belong to the supported
               relationship types of the [asset_names] or if any of the
               [asset_names]'s types doesn't belong to the source types
               of the [relationship_types].
            -  Otherwise: it outputs the supported relationships'
               history on the [asset_names] or returns an error if any
               of the [asset_names]'s types has no relationship support.
               See `Introduction to Cloud Asset
               Inventory <https://cloud.google.com/asset-inventory/docs/overview>`__
               for all supported asset types and relationship types.
    """

    parent = proto.Field(proto.STRING, number=1,)
    asset_names = proto.RepeatedField(proto.STRING, number=2,)
    content_type = proto.Field(proto.ENUM, number=3, enum="ContentType",)
    read_time_window = proto.Field(
        proto.MESSAGE, number=4, message=gca_assets.TimeWindow,
    )
    relationship_types = proto.RepeatedField(proto.STRING, number=5,)


class BatchGetAssetsHistoryResponse(proto.Message):
    r"""Batch get assets history response.

    Attributes:
        assets (Sequence[google.cloud.asset_v1.types.TemporalAsset]):
            A list of assets with valid time windows.
    """

    assets = proto.RepeatedField(

# 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

               [relationship_types] doesn't belong to the supported
               relationship types of the [asset_names] or if any of the
               [asset_names]'s types doesn't belong to the source types
               of the [relationship_types].
            -  Otherwise: it outputs the supported relationships'
               history on the [asset_names] or returns an error if any
               of the [asset_names]'s types has no relationship support.
               See `Introduction to Cloud Asset
               Inventory <https://cloud.google.com/asset-inventory/docs/overview>`__
               for all supported asset types and relationship types.
    """

    parent = proto.Field(proto.STRING, number=1,)
    asset_names = proto.RepeatedField(proto.STRING, number=2,)
    content_type = proto.Field(proto.ENUM, number=3, enum="ContentType",)
    read_time_window = proto.Field(
        proto.MESSAGE, number=4, message=gca_assets.TimeWindow,
    )
    relationship_types = proto.RepeatedField(proto.STRING, number=5,)


class BatchGetAssetsHistoryResponse(proto.Message):
    r"""Batch get assets history response.

    Attributes:
        assets (Sequence[google.cloud.asset_v1.types.TemporalAsset]):
            A list of assets with valid time windows.
    """

    assets = proto.RepeatedField(

        proto.MESSAGE, number=1, message=gca_assets.TemporalAsset,