"""
@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 ResolverEndpointIpAddressRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    IP_FIELD_NUMBER: builtins.int
    SUBNET_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    ip: builtins.str
    subnet_id: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        ip: builtins.str = ...,
        subnet_id: 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["ip", b"ip", "resource_info", b"resource_info", "subnet_id", b"subnet_id"]) -> None: ...

global___ResolverEndpointIpAddressRequest = ResolverEndpointIpAddressRequest

@typing_extensions.final
class ResolverEndpoint(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
    IP_ADDRESSES_FIELD_NUMBER: builtins.int
    DIRECTION_FIELD_NUMBER: builtins.int
    SECURITY_GROUP_IDS_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def ip_addresses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResolverEndpointIpAddressRequest]: ...
    direction: builtins.str
    @property
    def security_group_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        ip_addresses: collections.abc.Iterable[global___ResolverEndpointIpAddressRequest] | None = ...,
        direction: builtins.str = ...,
        security_group_ids: collections.abc.Iterable[builtins.str] | None = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        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["direction", b"direction", "ip_addresses", b"ip_addresses", "name", b"name", "resource_info", b"resource_info", "security_group_ids", b"security_group_ids", "tags", b"tags"]) -> None: ...

global___ResolverEndpoint = ResolverEndpoint

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

    RESOLVER_ENDPOINT_FIELD_NUMBER: builtins.int
    RESOLVER_QUERY_LOGGING_CONFIG_FIELD_NUMBER: builtins.int
    RESOLVER_QUERY_LOGGING_CONFIG_ASSOCIATION_FIELD_NUMBER: builtins.int
    RESOLVER_RULE_FIELD_NUMBER: builtins.int
    RESOLVER_RULE_ASSOCIATION_FIELD_NUMBER: builtins.int
    @property
    def resolver_endpoint(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResolverEndpoint]: ...
    @property
    def resolver_query_logging_config(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResolverQueryLoggingConfig]: ...
    @property
    def resolver_query_logging_config_association(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResolverQueryLoggingConfigAssociation]: ...
    @property
    def resolver_rule(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResolverRule]: ...
    @property
    def resolver_rule_association(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResolverRuleAssociation]: ...
    def __init__(
        self,
        *,
        resolver_endpoint: collections.abc.Iterable[global___ResolverEndpoint] | None = ...,
        resolver_query_logging_config: collections.abc.Iterable[global___ResolverQueryLoggingConfig] | None = ...,
        resolver_query_logging_config_association: collections.abc.Iterable[global___ResolverQueryLoggingConfigAssociation] | None = ...,
        resolver_rule: collections.abc.Iterable[global___ResolverRule] | None = ...,
        resolver_rule_association: collections.abc.Iterable[global___ResolverRuleAssociation] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["resolver_endpoint", b"resolver_endpoint", "resolver_query_logging_config", b"resolver_query_logging_config", "resolver_query_logging_config_association", b"resolver_query_logging_config_association", "resolver_rule", b"resolver_rule", "resolver_rule_association", b"resolver_rule_association"]) -> None: ...

global___Route53Resolver = Route53Resolver

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DESTINATION_ARN_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    destination_arn: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        destination_arn: 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["destination_arn", b"destination_arn", "name", b"name", "resource_info", b"resource_info"]) -> None: ...

global___ResolverQueryLoggingConfig = ResolverQueryLoggingConfig

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    RESOLVER_QUERY_LOG_CONFIG_ID_FIELD_NUMBER: builtins.int
    RESOURCE_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    resolver_query_log_config_id: builtins.str
    resource_id: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        resolver_query_log_config_id: builtins.str = ...,
        resource_id: 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["resolver_query_log_config_id", b"resolver_query_log_config_id", "resource_id", b"resource_id", "resource_info", b"resource_info"]) -> None: ...

global___ResolverQueryLoggingConfigAssociation = ResolverQueryLoggingConfigAssociation

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    IP_FIELD_NUMBER: builtins.int
    PORT_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    ip: builtins.str
    port: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        ip: builtins.str = ...,
        port: 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["ip", b"ip", "port", b"port", "resource_info", b"resource_info"]) -> None: ...

global___ResolverRuleTargetAddress = ResolverRuleTargetAddress

@typing_extensions.final
class ResolverRule(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
    RESOLVER_ENDPOINT_ID_FIELD_NUMBER: builtins.int
    DOMAIN_NAME_FIELD_NUMBER: builtins.int
    RULE_TYPE_FIELD_NUMBER: builtins.int
    TARGET_IPS_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    resolver_endpoint_id: builtins.str
    domain_name: builtins.str
    rule_type: builtins.str
    @property
    def target_ips(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResolverRuleTargetAddress]: ...
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        resolver_endpoint_id: builtins.str = ...,
        domain_name: builtins.str = ...,
        rule_type: builtins.str = ...,
        target_ips: collections.abc.Iterable[global___ResolverRuleTargetAddress] | None = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        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["domain_name", b"domain_name", "name", b"name", "resolver_endpoint_id", b"resolver_endpoint_id", "resource_info", b"resource_info", "rule_type", b"rule_type", "tags", b"tags", "target_ips", b"target_ips"]) -> None: ...

global___ResolverRule = ResolverRule

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    VPC_ID_FIELD_NUMBER: builtins.int
    RESOLVER_RULE_ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    vpc_id: builtins.str
    resolver_rule_id: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        vpc_id: builtins.str = ...,
        resolver_rule_id: builtins.str = ...,
        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["name", b"name", "resolver_rule_id", b"resolver_rule_id", "resource_info", b"resource_info", "vpc_id", b"vpc_id"]) -> None: ...

global___ResolverRuleAssociation = ResolverRuleAssociation
