"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import shared.shared_pb2
import sys

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class TrailDataResource(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    VALUES_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def values(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        values: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "values", b"values"]) -> None: ...

global___TrailDataResource = TrailDataResource

@typing_extensions.final
class TrailEventSelector(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DATA_RESOURCES_FIELD_NUMBER: builtins.int
    INCLUDE_MANAGEMENT_EVENTS_FIELD_NUMBER: builtins.int
    READ_WRITE_TYPE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def data_resources(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TrailDataResource]: ...
    include_management_events: builtins.bool
    read_write_type: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        data_resources: collections.abc.Iterable[global___TrailDataResource] | None = ...,
        include_management_events: builtins.bool = ...,
        read_write_type: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["data_resources", b"data_resources", "include_management_events", b"include_management_events", "read_write_type", b"read_write_type", "resource_info", b"resource_info"]) -> None: ...

global___TrailEventSelector = TrailEventSelector

@typing_extensions.final
class Trail(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class TagsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        value: builtins.str
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: builtins.str = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CLOUD_WATCH_LOGS_LOG_GROUP_ARN_FIELD_NUMBER: builtins.int
    CLOUD_WATCH_LOGS_ROLE_ARN_FIELD_NUMBER: builtins.int
    ENABLE_LOG_FILE_VALIDATION_FIELD_NUMBER: builtins.int
    EVENT_SELECTORS_FIELD_NUMBER: builtins.int
    INCLUDE_GLOBAL_SERVICE_EVENTS_FIELD_NUMBER: builtins.int
    IS_LOGGING_FIELD_NUMBER: builtins.int
    IS_MULTI_REGION_TRAIL_FIELD_NUMBER: builtins.int
    KMS_KEY_ID_FIELD_NUMBER: builtins.int
    S3_BUCKET_NAME_FIELD_NUMBER: builtins.int
    S3_KEY_PREFIX_FIELD_NUMBER: builtins.int
    SNS_TOPIC_NAME_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    TRAIL_NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    cloud_watch_logs_log_group_arn: builtins.str
    cloud_watch_logs_role_arn: builtins.str
    enable_log_file_validation: builtins.bool
    @property
    def event_selectors(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TrailEventSelector]: ...
    include_global_service_events: builtins.bool
    is_logging: builtins.bool
    is_multi_region_trail: builtins.bool
    kms_key_id: builtins.str
    s3_bucket_name: builtins.str
    s3_key_prefix: builtins.str
    sns_topic_name: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    trail_name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        cloud_watch_logs_log_group_arn: builtins.str = ...,
        cloud_watch_logs_role_arn: builtins.str = ...,
        enable_log_file_validation: builtins.bool = ...,
        event_selectors: collections.abc.Iterable[global___TrailEventSelector] | None = ...,
        include_global_service_events: builtins.bool = ...,
        is_logging: builtins.bool = ...,
        is_multi_region_trail: builtins.bool = ...,
        kms_key_id: builtins.str = ...,
        s3_bucket_name: builtins.str = ...,
        s3_key_prefix: builtins.str = ...,
        sns_topic_name: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        trail_name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["cloud_watch_logs_log_group_arn", b"cloud_watch_logs_log_group_arn", "cloud_watch_logs_role_arn", b"cloud_watch_logs_role_arn", "enable_log_file_validation", b"enable_log_file_validation", "event_selectors", b"event_selectors", "include_global_service_events", b"include_global_service_events", "is_logging", b"is_logging", "is_multi_region_trail", b"is_multi_region_trail", "kms_key_id", b"kms_key_id", "resource_info", b"resource_info", "s3_bucket_name", b"s3_bucket_name", "s3_key_prefix", b"s3_key_prefix", "sns_topic_name", b"sns_topic_name", "tags", b"tags", "trail_name", b"trail_name"]) -> None: ...

global___Trail = Trail

@typing_extensions.final
class CloudTrail(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TRAIL_FIELD_NUMBER: builtins.int
    @property
    def trail(self) -> global___Trail: ...
    def __init__(
        self,
        *,
        trail: global___Trail | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["trail", b"trail"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["trail", b"trail"]) -> None: ...

global___CloudTrail = CloudTrail
