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

    PRIVATE_LINK_SERVICES_FIELD_NUMBER: builtins.int
    PRIVATE_LINK_SERVICES_PRIVATE_ENDPOINT_CONNECTIONS_FIELD_NUMBER: builtins.int
    @property
    def private_link_services(self) -> global___PrivateLinkServices: ...
    @property
    def private_link_services_private_endpoint_connections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PrivateLinkServicesPrivateEndpointConnections]: ...
    def __init__(
        self,
        *,
        private_link_services: global___PrivateLinkServices | None = ...,
        private_link_services_private_endpoint_connections: collections.abc.Iterable[global___PrivateLinkServicesPrivateEndpointConnections] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["private_link_services", b"private_link_services"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["private_link_services", b"private_link_services", "private_link_services_private_endpoint_connections", b"private_link_services_private_endpoint_connections"]) -> None: ...

global___Microsoft_Network_privateLinkServices = Microsoft_Network_privateLinkServices

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    PRIVATE_LINK_SERVICE_CONNECTION_STATE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    @property
    def private_link_service_connection_state(self) -> global___PrivateLinkServiceConnectionState: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        private_link_service_connection_state: global___PrivateLinkServiceConnectionState | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["private_link_service_connection_state", b"private_link_service_connection_state", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "private_link_service_connection_state", b"private_link_service_connection_state", "resource_info", b"resource_info"]) -> None: ...

global___PrivateLinkServicesPrivateEndpointConnections = PrivateLinkServicesPrivateEndpointConnections

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

    STATUS_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    ACTIONS_REQUIRED_FIELD_NUMBER: builtins.int
    status: builtins.str
    description: builtins.str
    actions_required: builtins.str
    def __init__(
        self,
        *,
        status: builtins.str = ...,
        description: builtins.str = ...,
        actions_required: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["actions_required", b"actions_required", "description", b"description", "status", b"status"]) -> None: ...

global___PrivateLinkServiceConnectionState = PrivateLinkServiceConnectionState

@typing_extensions.final
class PrivateLinkServices(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
    LOCATION_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    EXTENDED_LOCATION_FIELD_NUMBER: builtins.int
    LOAD_BALANCER_FRONTEND_IP_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    IP_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    VISIBILITY_FIELD_NUMBER: builtins.int
    AUTO_APPROVAL_FIELD_NUMBER: builtins.int
    FQDNS_FIELD_NUMBER: builtins.int
    ENABLE_PROXY_PROTOCOL_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    location: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def extended_location(self) -> global___ExtendedLocation: ...
    @property
    def load_balancer_frontend_ip_configurations(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def ip_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PrivateLinkServiceIpConfiguration]: ...
    @property
    def visibility(self) -> global___PrivateLinkServicePropertiesVisibility: ...
    @property
    def auto_approval(self) -> global___PrivateLinkServicePropertiesAutoApproval: ...
    @property
    def fqdns(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    enable_proxy_protocol: builtins.bool
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        location: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        extended_location: global___ExtendedLocation | None = ...,
        load_balancer_frontend_ip_configurations: collections.abc.Iterable[builtins.str] | None = ...,
        ip_configurations: collections.abc.Iterable[global___PrivateLinkServiceIpConfiguration] | None = ...,
        visibility: global___PrivateLinkServicePropertiesVisibility | None = ...,
        auto_approval: global___PrivateLinkServicePropertiesAutoApproval | None = ...,
        fqdns: collections.abc.Iterable[builtins.str] | None = ...,
        enable_proxy_protocol: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["auto_approval", b"auto_approval", "extended_location", b"extended_location", "resource_info", b"resource_info", "visibility", b"visibility"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["auto_approval", b"auto_approval", "enable_proxy_protocol", b"enable_proxy_protocol", "extended_location", b"extended_location", "fqdns", b"fqdns", "ip_configurations", b"ip_configurations", "load_balancer_frontend_ip_configurations", b"load_balancer_frontend_ip_configurations", "location", b"location", "name", b"name", "resource_info", b"resource_info", "tags", b"tags", "visibility", b"visibility"]) -> None: ...

global___PrivateLinkServices = PrivateLinkServices

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

    SUBSCRIPTIONS_FIELD_NUMBER: builtins.int
    @property
    def subscriptions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        subscriptions: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["subscriptions", b"subscriptions"]) -> None: ...

global___PrivateLinkServicePropertiesAutoApproval = PrivateLinkServicePropertiesAutoApproval

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

    SUBSCRIPTIONS_FIELD_NUMBER: builtins.int
    @property
    def subscriptions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        subscriptions: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["subscriptions", b"subscriptions"]) -> None: ...

global___PrivateLinkServicePropertiesVisibility = PrivateLinkServicePropertiesVisibility

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

    PRIVATE_IP_ADDRESS_FIELD_NUMBER: builtins.int
    PRIVATE_IP_ALLOCATION_METHOD_FIELD_NUMBER: builtins.int
    SUBNET_FIELD_NUMBER: builtins.int
    PRIMARY_FIELD_NUMBER: builtins.int
    PRIVATE_IP_ADDRESS_VERSION_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    private_ip_address: builtins.str
    private_ip_allocation_method: builtins.str
    subnet: builtins.str
    primary: builtins.bool
    private_ip_address_version: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        private_ip_address: builtins.str = ...,
        private_ip_allocation_method: builtins.str = ...,
        subnet: builtins.str = ...,
        primary: builtins.bool = ...,
        private_ip_address_version: builtins.str = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "primary", b"primary", "private_ip_address", b"private_ip_address", "private_ip_address_version", b"private_ip_address_version", "private_ip_allocation_method", b"private_ip_allocation_method", "subnet", b"subnet"]) -> None: ...

global___PrivateLinkServiceIpConfiguration = PrivateLinkServiceIpConfiguration

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

    NAME_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    name: builtins.str
    type: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        type: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "type", b"type"]) -> None: ...

global___ExtendedLocation = ExtendedLocation
