"""
@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 Accelerator(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
    NAME_FIELD_NUMBER: builtins.int
    IP_ADDRESS_TYPE_FIELD_NUMBER: builtins.int
    IP_ADDRESSES_FIELD_NUMBER: builtins.int
    ENABLED_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    ip_address_type: builtins.str
    @property
    def ip_addresses(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    enabled: builtins.bool
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        ip_address_type: builtins.str = ...,
        ip_addresses: collections.abc.Iterable[builtins.str] | None = ...,
        enabled: builtins.bool = ...,
        tags: collections.abc.Mapping[builtins.str, 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["enabled", b"enabled", "ip_address_type", b"ip_address_type", "ip_addresses", b"ip_addresses", "name", b"name", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___Accelerator = Accelerator

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

    ACCELERATOR_FIELD_NUMBER: builtins.int
    ENDPOINT_GROUP_FIELD_NUMBER: builtins.int
    LISTENER_FIELD_NUMBER: builtins.int
    @property
    def accelerator(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Accelerator]: ...
    @property
    def endpoint_group(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EndpointGroup]: ...
    @property
    def listener(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Listener]: ...
    def __init__(
        self,
        *,
        accelerator: collections.abc.Iterable[global___Accelerator] | None = ...,
        endpoint_group: collections.abc.Iterable[global___EndpointGroup] | None = ...,
        listener: collections.abc.Iterable[global___Listener] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["accelerator", b"accelerator", "endpoint_group", b"endpoint_group", "listener", b"listener"]) -> None: ...

global___GlobalAccelerator = GlobalAccelerator

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ENDPOINT_ID_FIELD_NUMBER: builtins.int
    WEIGHT_FIELD_NUMBER: builtins.int
    CLIENT_IP_PRESERVATION_ENABLED_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    endpoint_id: builtins.str
    weight: builtins.int
    client_ip_preservation_enabled: builtins.bool
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        endpoint_id: builtins.str = ...,
        weight: builtins.int = ...,
        client_ip_preservation_enabled: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["client_ip_preservation_enabled", b"client_ip_preservation_enabled", "endpoint_id", b"endpoint_id", "resource_info", b"resource_info", "weight", b"weight"]) -> None: ...

global___EndpointGroupEndpointConfiguration = EndpointGroupEndpointConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    LISTENER_ARN_FIELD_NUMBER: builtins.int
    ENDPOINT_GROUP_REGION_FIELD_NUMBER: builtins.int
    ENDPOINT_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    TRAFFIC_DIAL_PERCENTAGE_FIELD_NUMBER: builtins.int
    HEALTH_CHECK_PORT_FIELD_NUMBER: builtins.int
    HEALTH_CHECK_PROTOCOL_FIELD_NUMBER: builtins.int
    HEALTH_CHECK_PATH_FIELD_NUMBER: builtins.int
    HEALTH_CHECK_INTERVAL_SECONDS_FIELD_NUMBER: builtins.int
    THRESHOLD_COUNT_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    listener_arn: builtins.str
    endpoint_group_region: builtins.str
    @property
    def endpoint_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EndpointGroupEndpointConfiguration]: ...
    traffic_dial_percentage: builtins.float
    health_check_port: builtins.int
    health_check_protocol: builtins.str
    health_check_path: builtins.str
    health_check_interval_seconds: builtins.int
    threshold_count: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        listener_arn: builtins.str = ...,
        endpoint_group_region: builtins.str = ...,
        endpoint_configurations: collections.abc.Iterable[global___EndpointGroupEndpointConfiguration] | None = ...,
        traffic_dial_percentage: builtins.float = ...,
        health_check_port: builtins.int = ...,
        health_check_protocol: builtins.str = ...,
        health_check_path: builtins.str = ...,
        health_check_interval_seconds: builtins.int = ...,
        threshold_count: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["endpoint_configurations", b"endpoint_configurations", "endpoint_group_region", b"endpoint_group_region", "health_check_interval_seconds", b"health_check_interval_seconds", "health_check_path", b"health_check_path", "health_check_port", b"health_check_port", "health_check_protocol", b"health_check_protocol", "listener_arn", b"listener_arn", "resource_info", b"resource_info", "threshold_count", b"threshold_count", "traffic_dial_percentage", b"traffic_dial_percentage"]) -> None: ...

global___EndpointGroup = EndpointGroup

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    FROM_PORT_FIELD_NUMBER: builtins.int
    TO_PORT_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    from_port: builtins.int
    to_port: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        from_port: builtins.int = ...,
        to_port: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["from_port", b"from_port", "resource_info", b"resource_info", "to_port", b"to_port"]) -> None: ...

global___ListenerPortRange = ListenerPortRange

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ACCELERATOR_ARN_FIELD_NUMBER: builtins.int
    PORT_RANGES_FIELD_NUMBER: builtins.int
    PROTOCOL_FIELD_NUMBER: builtins.int
    CLIENT_AFFINITY_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    accelerator_arn: builtins.str
    @property
    def port_ranges(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ListenerPortRange]: ...
    protocol: builtins.str
    client_affinity: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        accelerator_arn: builtins.str = ...,
        port_ranges: collections.abc.Iterable[global___ListenerPortRange] | None = ...,
        protocol: builtins.str = ...,
        client_affinity: 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["accelerator_arn", b"accelerator_arn", "client_affinity", b"client_affinity", "port_ranges", b"port_ranges", "protocol", b"protocol", "resource_info", b"resource_info"]) -> None: ...

global___Listener = Listener
