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

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

global___Microsoft_Network_TrafficManager = Microsoft_Network_TrafficManager

@typing_extensions.final
class TrafficManagerProfiles(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
    ID_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    LOCATION_FIELD_NUMBER: builtins.int
    PROFILE_STATUS_FIELD_NUMBER: builtins.int
    TRAFFIC_ROUTING_METHOD_FIELD_NUMBER: builtins.int
    DNS_CONFIG_FIELD_NUMBER: builtins.int
    MONITOR_CONFIG_FIELD_NUMBER: builtins.int
    ENDPOINTS_FIELD_NUMBER: builtins.int
    TRAFFIC_VIEW_ENROLLMENT_STATUS_FIELD_NUMBER: builtins.int
    MAX_RETURN_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    id: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    location: builtins.str
    profile_status: builtins.str
    traffic_routing_method: builtins.str
    @property
    def dns_config(self) -> global___DnsConfig: ...
    @property
    def monitor_config(self) -> global___MonitorConfig: ...
    @property
    def endpoints(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Endpoint]: ...
    traffic_view_enrollment_status: builtins.str
    max_return: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        id: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        location: builtins.str = ...,
        profile_status: builtins.str = ...,
        traffic_routing_method: builtins.str = ...,
        dns_config: global___DnsConfig | None = ...,
        monitor_config: global___MonitorConfig | None = ...,
        endpoints: collections.abc.Iterable[global___Endpoint] | None = ...,
        traffic_view_enrollment_status: builtins.str = ...,
        max_return: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["dns_config", b"dns_config", "monitor_config", b"monitor_config", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["dns_config", b"dns_config", "endpoints", b"endpoints", "id", b"id", "location", b"location", "max_return", b"max_return", "monitor_config", b"monitor_config", "name", b"name", "profile_status", b"profile_status", "resource_info", b"resource_info", "tags", b"tags", "traffic_routing_method", b"traffic_routing_method", "traffic_view_enrollment_status", b"traffic_view_enrollment_status"]) -> None: ...

global___TrafficManagerProfiles = TrafficManagerProfiles

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

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    TARGET_RESOURCE_ID_FIELD_NUMBER: builtins.int
    TARGET_FIELD_NUMBER: builtins.int
    ENDPOINT_STATUS_FIELD_NUMBER: builtins.int
    WEIGHT_FIELD_NUMBER: builtins.int
    PRIORITY_FIELD_NUMBER: builtins.int
    ENDPOINT_LOCATION_FIELD_NUMBER: builtins.int
    ENDPOINT_MONITOR_STATUS_FIELD_NUMBER: builtins.int
    MIN_CHILD_ENDPOINTS_FIELD_NUMBER: builtins.int
    GEO_MAPPING_FIELD_NUMBER: builtins.int
    SUBNETS_FIELD_NUMBER: builtins.int
    CUSTOM_HEADERS_FIELD_NUMBER: builtins.int
    id: builtins.str
    name: builtins.str
    type: builtins.str
    target_resource_id: builtins.str
    target: builtins.str
    endpoint_status: builtins.str
    weight: builtins.int
    priority: builtins.int
    endpoint_location: builtins.str
    endpoint_monitor_status: builtins.str
    min_child_endpoints: builtins.int
    @property
    def geo_mapping(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def subnets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EndpointPropertiesSubnetsItem]: ...
    @property
    def custom_headers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EndpointPropertiesCustomHeadersItem]: ...
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        name: builtins.str = ...,
        type: builtins.str = ...,
        target_resource_id: builtins.str = ...,
        target: builtins.str = ...,
        endpoint_status: builtins.str = ...,
        weight: builtins.int = ...,
        priority: builtins.int = ...,
        endpoint_location: builtins.str = ...,
        endpoint_monitor_status: builtins.str = ...,
        min_child_endpoints: builtins.int = ...,
        geo_mapping: collections.abc.Iterable[builtins.str] | None = ...,
        subnets: collections.abc.Iterable[global___EndpointPropertiesSubnetsItem] | None = ...,
        custom_headers: collections.abc.Iterable[global___EndpointPropertiesCustomHeadersItem] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["custom_headers", b"custom_headers", "endpoint_location", b"endpoint_location", "endpoint_monitor_status", b"endpoint_monitor_status", "endpoint_status", b"endpoint_status", "geo_mapping", b"geo_mapping", "id", b"id", "min_child_endpoints", b"min_child_endpoints", "name", b"name", "priority", b"priority", "subnets", b"subnets", "target", b"target", "target_resource_id", b"target_resource_id", "type", b"type", "weight", b"weight"]) -> None: ...

global___Endpoint = Endpoint

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

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

global___EndpointPropertiesCustomHeadersItem = EndpointPropertiesCustomHeadersItem

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

    FIRST_FIELD_NUMBER: builtins.int
    LAST_FIELD_NUMBER: builtins.int
    SCOPE_FIELD_NUMBER: builtins.int
    first: builtins.str
    last: builtins.str
    scope: builtins.int
    def __init__(
        self,
        *,
        first: builtins.str = ...,
        last: builtins.str = ...,
        scope: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["first", b"first", "last", b"last", "scope", b"scope"]) -> None: ...

global___EndpointPropertiesSubnetsItem = EndpointPropertiesSubnetsItem

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

    PROFILE_MONITOR_STATUS_FIELD_NUMBER: builtins.int
    PROTOCOL_FIELD_NUMBER: builtins.int
    PORT_FIELD_NUMBER: builtins.int
    PATH_FIELD_NUMBER: builtins.int
    INTERVAL_IN_SECONDS_FIELD_NUMBER: builtins.int
    TIMEOUT_IN_SECONDS_FIELD_NUMBER: builtins.int
    TOLERATED_NUMBER_OF_FAILURES_FIELD_NUMBER: builtins.int
    CUSTOM_HEADERS_FIELD_NUMBER: builtins.int
    EXPECTED_STATUS_CODE_RANGES_FIELD_NUMBER: builtins.int
    profile_monitor_status: builtins.str
    protocol: builtins.str
    port: builtins.int
    path: builtins.str
    interval_in_seconds: builtins.int
    timeout_in_seconds: builtins.int
    tolerated_number_of_failures: builtins.int
    @property
    def custom_headers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MonitorConfigCustomHeadersItem]: ...
    @property
    def expected_status_code_ranges(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MonitorConfigExpectedStatusCodeRangesItem]: ...
    def __init__(
        self,
        *,
        profile_monitor_status: builtins.str = ...,
        protocol: builtins.str = ...,
        port: builtins.int = ...,
        path: builtins.str = ...,
        interval_in_seconds: builtins.int = ...,
        timeout_in_seconds: builtins.int = ...,
        tolerated_number_of_failures: builtins.int = ...,
        custom_headers: collections.abc.Iterable[global___MonitorConfigCustomHeadersItem] | None = ...,
        expected_status_code_ranges: collections.abc.Iterable[global___MonitorConfigExpectedStatusCodeRangesItem] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["custom_headers", b"custom_headers", "expected_status_code_ranges", b"expected_status_code_ranges", "interval_in_seconds", b"interval_in_seconds", "path", b"path", "port", b"port", "profile_monitor_status", b"profile_monitor_status", "protocol", b"protocol", "timeout_in_seconds", b"timeout_in_seconds", "tolerated_number_of_failures", b"tolerated_number_of_failures"]) -> None: ...

global___MonitorConfig = MonitorConfig

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

    MIN_FIELD_NUMBER: builtins.int
    MAX_FIELD_NUMBER: builtins.int
    min: builtins.int
    max: builtins.int
    def __init__(
        self,
        *,
        min: builtins.int = ...,
        max: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["max", b"max", "min", b"min"]) -> None: ...

global___MonitorConfigExpectedStatusCodeRangesItem = MonitorConfigExpectedStatusCodeRangesItem

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

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

global___MonitorConfigCustomHeadersItem = MonitorConfigCustomHeadersItem

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

    RELATIVE_NAME_FIELD_NUMBER: builtins.int
    TTL_FIELD_NUMBER: builtins.int
    relative_name: builtins.str
    ttl: builtins.int
    def __init__(
        self,
        *,
        relative_name: builtins.str = ...,
        ttl: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["relative_name", b"relative_name", "ttl", b"ttl"]) -> None: ...

global___DnsConfig = DnsConfig

@typing_extensions.final
class VpnSites(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
    VIRTUAL_W_A_N_FIELD_NUMBER: builtins.int
    DEVICE_PROPERTIES_FIELD_NUMBER: builtins.int
    IP_ADDRESS_FIELD_NUMBER: builtins.int
    SITE_KEY_FIELD_NUMBER: builtins.int
    ADDRESS_SPACE_FIELD_NUMBER: builtins.int
    BGP_PROPERTIES_FIELD_NUMBER: builtins.int
    PROVISIONING_STATE_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]: ...
    virtual_w_a_n: builtins.str
    @property
    def device_properties(self) -> global___DeviceProperties: ...
    ip_address: builtins.str
    site_key: builtins.str
    @property
    def address_space(self) -> global___AddressSpace: ...
    @property
    def bgp_properties(self) -> global___BgpSettings: ...
    provisioning_state: builtins.str
    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 = ...,
        virtual_w_a_n: builtins.str = ...,
        device_properties: global___DeviceProperties | None = ...,
        ip_address: builtins.str = ...,
        site_key: builtins.str = ...,
        address_space: global___AddressSpace | None = ...,
        bgp_properties: global___BgpSettings | None = ...,
        provisioning_state: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["address_space", b"address_space", "bgp_properties", b"bgp_properties", "device_properties", b"device_properties", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["address_space", b"address_space", "bgp_properties", b"bgp_properties", "device_properties", b"device_properties", "ip_address", b"ip_address", "location", b"location", "name", b"name", "provisioning_state", b"provisioning_state", "resource_info", b"resource_info", "site_key", b"site_key", "tags", b"tags", "virtual_w_a_n", b"virtual_w_a_n"]) -> None: ...

global___VpnSites = VpnSites

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

    DEVICE_VENDOR_FIELD_NUMBER: builtins.int
    DEVICE_MODEL_FIELD_NUMBER: builtins.int
    LINK_SPEED_IN_MBPS_FIELD_NUMBER: builtins.int
    device_vendor: builtins.str
    device_model: builtins.str
    link_speed_in_mbps: builtins.int
    def __init__(
        self,
        *,
        device_vendor: builtins.str = ...,
        device_model: builtins.str = ...,
        link_speed_in_mbps: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["device_model", b"device_model", "device_vendor", b"device_vendor", "link_speed_in_mbps", b"link_speed_in_mbps"]) -> None: ...

global___DeviceProperties = DeviceProperties

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    REMOTE_VPN_SITE_FIELD_NUMBER: builtins.int
    ROUTING_WEIGHT_FIELD_NUMBER: builtins.int
    CONNECTION_STATUS_FIELD_NUMBER: builtins.int
    SHARED_KEY_FIELD_NUMBER: builtins.int
    ENABLE_BGP_FIELD_NUMBER: builtins.int
    IPSEC_POLICIES_FIELD_NUMBER: builtins.int
    PROVISIONING_STATE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    remote_vpn_site: builtins.str
    routing_weight: builtins.int
    connection_status: builtins.str
    shared_key: builtins.str
    enable_bgp: builtins.bool
    @property
    def ipsec_policies(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IpsecPolicy]: ...
    provisioning_state: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        remote_vpn_site: builtins.str = ...,
        routing_weight: builtins.int = ...,
        connection_status: builtins.str = ...,
        shared_key: builtins.str = ...,
        enable_bgp: builtins.bool = ...,
        ipsec_policies: collections.abc.Iterable[global___IpsecPolicy] | None = ...,
        provisioning_state: 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["connection_status", b"connection_status", "enable_bgp", b"enable_bgp", "ipsec_policies", b"ipsec_policies", "name", b"name", "provisioning_state", b"provisioning_state", "remote_vpn_site", b"remote_vpn_site", "resource_info", b"resource_info", "routing_weight", b"routing_weight", "shared_key", b"shared_key"]) -> None: ...

global___VpnGatewaysVpnConnections = VpnGatewaysVpnConnections

@typing_extensions.final
class VpnGateways(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
    VIRTUAL_HUB_FIELD_NUMBER: builtins.int
    CONNECTIONS_FIELD_NUMBER: builtins.int
    BGP_SETTINGS_FIELD_NUMBER: builtins.int
    PROVISIONING_STATE_FIELD_NUMBER: builtins.int
    POLICIES_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]: ...
    virtual_hub: builtins.str
    @property
    def connections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VpnConnection]: ...
    @property
    def bgp_settings(self) -> global___BgpSettings: ...
    provisioning_state: builtins.str
    @property
    def policies(self) -> global___Policies: ...
    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 = ...,
        virtual_hub: builtins.str = ...,
        connections: collections.abc.Iterable[global___VpnConnection] | None = ...,
        bgp_settings: global___BgpSettings | None = ...,
        provisioning_state: builtins.str = ...,
        policies: global___Policies | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["bgp_settings", b"bgp_settings", "policies", b"policies", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bgp_settings", b"bgp_settings", "connections", b"connections", "location", b"location", "name", b"name", "policies", b"policies", "provisioning_state", b"provisioning_state", "resource_info", b"resource_info", "tags", b"tags", "virtual_hub", b"virtual_hub"]) -> None: ...

global___VpnGateways = VpnGateways

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

    ALLOW_BRANCH_TO_BRANCH_TRAFFIC_FIELD_NUMBER: builtins.int
    ALLOW_VNET_TO_VNET_TRAFFIC_FIELD_NUMBER: builtins.int
    allow_branch_to_branch_traffic: builtins.bool
    allow_vnet_to_vnet_traffic: builtins.bool
    def __init__(
        self,
        *,
        allow_branch_to_branch_traffic: builtins.bool = ...,
        allow_vnet_to_vnet_traffic: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_branch_to_branch_traffic", b"allow_branch_to_branch_traffic", "allow_vnet_to_vnet_traffic", b"allow_vnet_to_vnet_traffic"]) -> None: ...

global___Policies = Policies

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

    REMOTE_VPN_SITE_FIELD_NUMBER: builtins.int
    ROUTING_WEIGHT_FIELD_NUMBER: builtins.int
    CONNECTION_STATUS_FIELD_NUMBER: builtins.int
    SHARED_KEY_FIELD_NUMBER: builtins.int
    ENABLE_BGP_FIELD_NUMBER: builtins.int
    IPSEC_POLICIES_FIELD_NUMBER: builtins.int
    PROVISIONING_STATE_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    remote_vpn_site: builtins.str
    routing_weight: builtins.int
    connection_status: builtins.str
    shared_key: builtins.str
    enable_bgp: builtins.bool
    @property
    def ipsec_policies(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IpsecPolicy]: ...
    provisioning_state: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        remote_vpn_site: builtins.str = ...,
        routing_weight: builtins.int = ...,
        connection_status: builtins.str = ...,
        shared_key: builtins.str = ...,
        enable_bgp: builtins.bool = ...,
        ipsec_policies: collections.abc.Iterable[global___IpsecPolicy] | None = ...,
        provisioning_state: builtins.str = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["connection_status", b"connection_status", "enable_bgp", b"enable_bgp", "ipsec_policies", b"ipsec_policies", "name", b"name", "provisioning_state", b"provisioning_state", "remote_vpn_site", b"remote_vpn_site", "routing_weight", b"routing_weight", "shared_key", b"shared_key"]) -> None: ...

global___VpnConnection = VpnConnection

@typing_extensions.final
class VirtualWans(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
    DISABLE_VPN_ENCRYPTION_FIELD_NUMBER: builtins.int
    PROVISIONING_STATE_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]: ...
    disable_vpn_encryption: builtins.bool
    provisioning_state: builtins.str
    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 = ...,
        disable_vpn_encryption: builtins.bool = ...,
        provisioning_state: 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["disable_vpn_encryption", b"disable_vpn_encryption", "location", b"location", "name", b"name", "provisioning_state", b"provisioning_state", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___VirtualWans = VirtualWans

@typing_extensions.final
class VirtualNetworkGateways(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
    IP_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    GATEWAY_TYPE_FIELD_NUMBER: builtins.int
    VPN_TYPE_FIELD_NUMBER: builtins.int
    ENABLE_BGP_FIELD_NUMBER: builtins.int
    ACTIVE_ACTIVE_FIELD_NUMBER: builtins.int
    GATEWAY_DEFAULT_SITE_FIELD_NUMBER: builtins.int
    SKU_FIELD_NUMBER: builtins.int
    VPN_CLIENT_CONFIGURATION_FIELD_NUMBER: builtins.int
    BGP_SETTINGS_FIELD_NUMBER: builtins.int
    RESOURCE_GUID_FIELD_NUMBER: builtins.int
    ETAG_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 ip_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VirtualNetworkGatewayIPConfiguration]: ...
    gateway_type: builtins.str
    vpn_type: builtins.str
    enable_bgp: builtins.bool
    active_active: builtins.bool
    gateway_default_site: builtins.str
    @property
    def sku(self) -> global___VirtualNetworkGatewaySku: ...
    @property
    def vpn_client_configuration(self) -> global___VpnClientConfiguration: ...
    @property
    def bgp_settings(self) -> global___BgpSettings: ...
    resource_guid: builtins.str
    etag: builtins.str
    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 = ...,
        ip_configurations: collections.abc.Iterable[global___VirtualNetworkGatewayIPConfiguration] | None = ...,
        gateway_type: builtins.str = ...,
        vpn_type: builtins.str = ...,
        enable_bgp: builtins.bool = ...,
        active_active: builtins.bool = ...,
        gateway_default_site: builtins.str = ...,
        sku: global___VirtualNetworkGatewaySku | None = ...,
        vpn_client_configuration: global___VpnClientConfiguration | None = ...,
        bgp_settings: global___BgpSettings | None = ...,
        resource_guid: builtins.str = ...,
        etag: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["bgp_settings", b"bgp_settings", "resource_info", b"resource_info", "sku", b"sku", "vpn_client_configuration", b"vpn_client_configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["active_active", b"active_active", "bgp_settings", b"bgp_settings", "enable_bgp", b"enable_bgp", "etag", b"etag", "gateway_default_site", b"gateway_default_site", "gateway_type", b"gateway_type", "ip_configurations", b"ip_configurations", "location", b"location", "name", b"name", "resource_guid", b"resource_guid", "resource_info", b"resource_info", "sku", b"sku", "tags", b"tags", "vpn_client_configuration", b"vpn_client_configuration", "vpn_type", b"vpn_type"]) -> None: ...

global___VirtualNetworkGateways = VirtualNetworkGateways

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

    VPN_CLIENT_ADDRESS_POOL_FIELD_NUMBER: builtins.int
    VPN_CLIENT_ROOT_CERTIFICATES_FIELD_NUMBER: builtins.int
    VPN_CLIENT_REVOKED_CERTIFICATES_FIELD_NUMBER: builtins.int
    VPN_CLIENT_PROTOCOLS_FIELD_NUMBER: builtins.int
    VPN_CLIENT_IPSEC_POLICIES_FIELD_NUMBER: builtins.int
    RADIUS_SERVER_ADDRESS_FIELD_NUMBER: builtins.int
    RADIUS_SERVER_SECRET_FIELD_NUMBER: builtins.int
    @property
    def vpn_client_address_pool(self) -> global___AddressSpace: ...
    @property
    def vpn_client_root_certificates(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VpnClientRootCertificate]: ...
    @property
    def vpn_client_revoked_certificates(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VpnClientRevokedCertificate]: ...
    @property
    def vpn_client_protocols(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def vpn_client_ipsec_policies(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IpsecPolicy]: ...
    radius_server_address: builtins.str
    radius_server_secret: builtins.str
    def __init__(
        self,
        *,
        vpn_client_address_pool: global___AddressSpace | None = ...,
        vpn_client_root_certificates: collections.abc.Iterable[global___VpnClientRootCertificate] | None = ...,
        vpn_client_revoked_certificates: collections.abc.Iterable[global___VpnClientRevokedCertificate] | None = ...,
        vpn_client_protocols: collections.abc.Iterable[builtins.str] | None = ...,
        vpn_client_ipsec_policies: collections.abc.Iterable[global___IpsecPolicy] | None = ...,
        radius_server_address: builtins.str = ...,
        radius_server_secret: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["vpn_client_address_pool", b"vpn_client_address_pool"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["radius_server_address", b"radius_server_address", "radius_server_secret", b"radius_server_secret", "vpn_client_address_pool", b"vpn_client_address_pool", "vpn_client_ipsec_policies", b"vpn_client_ipsec_policies", "vpn_client_protocols", b"vpn_client_protocols", "vpn_client_revoked_certificates", b"vpn_client_revoked_certificates", "vpn_client_root_certificates", b"vpn_client_root_certificates"]) -> None: ...

global___VpnClientConfiguration = VpnClientConfiguration

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

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

global___VpnClientRevokedCertificate = VpnClientRevokedCertificate

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

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

global___VpnClientRootCertificate = VpnClientRootCertificate

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

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

global___VirtualNetworkGatewaySku = VirtualNetworkGatewaySku

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

    PRIVATE_IP_ALLOCATION_METHOD_FIELD_NUMBER: builtins.int
    SUBNET_FIELD_NUMBER: builtins.int
    PUBLIC_IP_ADDRESS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ETAG_FIELD_NUMBER: builtins.int
    private_ip_allocation_method: builtins.str
    subnet: builtins.str
    public_ip_address: builtins.str
    name: builtins.str
    etag: builtins.str
    def __init__(
        self,
        *,
        private_ip_allocation_method: builtins.str = ...,
        subnet: builtins.str = ...,
        public_ip_address: builtins.str = ...,
        name: builtins.str = ...,
        etag: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["etag", b"etag", "name", b"name", "private_ip_allocation_method", b"private_ip_allocation_method", "public_ip_address", b"public_ip_address", "subnet", b"subnet"]) -> None: ...

global___VirtualNetworkGatewayIPConfiguration = VirtualNetworkGatewayIPConfiguration

@typing_extensions.final
class VirtualHubs(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
    VIRTUAL_WAN_FIELD_NUMBER: builtins.int
    HUB_VIRTUAL_NETWORK_CONNECTIONS_FIELD_NUMBER: builtins.int
    ADDRESS_PREFIX_FIELD_NUMBER: builtins.int
    PROVISIONING_STATE_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]: ...
    virtual_wan: builtins.str
    @property
    def hub_virtual_network_connections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HubVirtualNetworkConnection]: ...
    address_prefix: builtins.str
    provisioning_state: builtins.str
    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 = ...,
        virtual_wan: builtins.str = ...,
        hub_virtual_network_connections: collections.abc.Iterable[global___HubVirtualNetworkConnection] | None = ...,
        address_prefix: builtins.str = ...,
        provisioning_state: 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["address_prefix", b"address_prefix", "hub_virtual_network_connections", b"hub_virtual_network_connections", "location", b"location", "name", b"name", "provisioning_state", b"provisioning_state", "resource_info", b"resource_info", "tags", b"tags", "virtual_wan", b"virtual_wan"]) -> None: ...

global___VirtualHubs = VirtualHubs

@typing_extensions.final
class HubVirtualNetworkConnection(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: ...

    LOCATION_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    REMOTE_VIRTUAL_NETWORK_FIELD_NUMBER: builtins.int
    ALLOW_HUB_TO_REMOTE_VNET_TRANSIT_FIELD_NUMBER: builtins.int
    ALLOW_REMOTE_VNET_TO_USE_HUB_VNET_GATEWAYS_FIELD_NUMBER: builtins.int
    PROVISIONING_STATE_FIELD_NUMBER: builtins.int
    location: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    remote_virtual_network: builtins.str
    allow_hub_to_remote_vnet_transit: builtins.bool
    allow_remote_vnet_to_use_hub_vnet_gateways: builtins.bool
    provisioning_state: builtins.str
    def __init__(
        self,
        *,
        location: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        remote_virtual_network: builtins.str = ...,
        allow_hub_to_remote_vnet_transit: builtins.bool = ...,
        allow_remote_vnet_to_use_hub_vnet_gateways: builtins.bool = ...,
        provisioning_state: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_hub_to_remote_vnet_transit", b"allow_hub_to_remote_vnet_transit", "allow_remote_vnet_to_use_hub_vnet_gateways", b"allow_remote_vnet_to_use_hub_vnet_gateways", "location", b"location", "provisioning_state", b"provisioning_state", "remote_virtual_network", b"remote_virtual_network", "tags", b"tags"]) -> None: ...

global___HubVirtualNetworkConnection = HubVirtualNetworkConnection

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ACCESS_FIELD_NUMBER: builtins.int
    ROUTE_FILTER_RULE_TYPE_FIELD_NUMBER: builtins.int
    COMMUNITIES_FIELD_NUMBER: builtins.int
    LOCATION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    access: builtins.str
    route_filter_rule_type: builtins.str
    @property
    def communities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    location: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        access: builtins.str = ...,
        route_filter_rule_type: builtins.str = ...,
        communities: collections.abc.Iterable[builtins.str] | None = ...,
        location: 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["access", b"access", "communities", b"communities", "location", b"location", "name", b"name", "resource_info", b"resource_info", "route_filter_rule_type", b"route_filter_rule_type"]) -> None: ...

global___RouteFiltersRouteFilterRules = RouteFiltersRouteFilterRules

@typing_extensions.final
class RouteFilters(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
    RULES_FIELD_NUMBER: builtins.int
    PEERINGS_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 rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RouteFilterRule]: ...
    @property
    def peerings(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    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 = ...,
        rules: collections.abc.Iterable[global___RouteFilterRule] | None = ...,
        peerings: 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["location", b"location", "name", b"name", "peerings", b"peerings", "resource_info", b"resource_info", "rules", b"rules", "tags", b"tags"]) -> None: ...

global___RouteFilters = RouteFilters

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

    ACCESS_FIELD_NUMBER: builtins.int
    ROUTE_FILTER_RULE_TYPE_FIELD_NUMBER: builtins.int
    COMMUNITIES_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    LOCATION_FIELD_NUMBER: builtins.int
    access: builtins.str
    route_filter_rule_type: builtins.str
    @property
    def communities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    name: builtins.str
    location: builtins.str
    def __init__(
        self,
        *,
        access: builtins.str = ...,
        route_filter_rule_type: builtins.str = ...,
        communities: collections.abc.Iterable[builtins.str] | None = ...,
        name: builtins.str = ...,
        location: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["access", b"access", "communities", b"communities", "location", b"location", "name", b"name", "route_filter_rule_type", b"route_filter_rule_type"]) -> None: ...

global___RouteFilterRule = RouteFilterRule

@typing_extensions.final
class PublicIPAddresses(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
    SKU_FIELD_NUMBER: builtins.int
    PUBLIC_IP_ALLOCATION_METHOD_FIELD_NUMBER: builtins.int
    PUBLIC_IP_ADDRESS_VERSION_FIELD_NUMBER: builtins.int
    DNS_SETTINGS_FIELD_NUMBER: builtins.int
    IP_TAGS_FIELD_NUMBER: builtins.int
    IP_ADDRESS_FIELD_NUMBER: builtins.int
    IDLE_TIMEOUT_IN_MINUTES_FIELD_NUMBER: builtins.int
    RESOURCE_GUID_FIELD_NUMBER: builtins.int
    PROVISIONING_STATE_FIELD_NUMBER: builtins.int
    ETAG_FIELD_NUMBER: builtins.int
    ZONES_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 sku(self) -> global___PublicIPAddressSku: ...
    public_ip_allocation_method: builtins.str
    public_ip_address_version: builtins.str
    @property
    def dns_settings(self) -> global___PublicIPAddressDnsSettings: ...
    @property
    def ip_tags(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IpTag]: ...
    ip_address: builtins.str
    idle_timeout_in_minutes: builtins.int
    resource_guid: builtins.str
    provisioning_state: builtins.str
    etag: builtins.str
    @property
    def zones(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    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 = ...,
        sku: global___PublicIPAddressSku | None = ...,
        public_ip_allocation_method: builtins.str = ...,
        public_ip_address_version: builtins.str = ...,
        dns_settings: global___PublicIPAddressDnsSettings | None = ...,
        ip_tags: collections.abc.Iterable[global___IpTag] | None = ...,
        ip_address: builtins.str = ...,
        idle_timeout_in_minutes: builtins.int = ...,
        resource_guid: builtins.str = ...,
        provisioning_state: builtins.str = ...,
        etag: builtins.str = ...,
        zones: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["dns_settings", b"dns_settings", "resource_info", b"resource_info", "sku", b"sku"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["dns_settings", b"dns_settings", "etag", b"etag", "idle_timeout_in_minutes", b"idle_timeout_in_minutes", "ip_address", b"ip_address", "ip_tags", b"ip_tags", "location", b"location", "name", b"name", "provisioning_state", b"provisioning_state", "public_ip_address_version", b"public_ip_address_version", "public_ip_allocation_method", b"public_ip_allocation_method", "resource_guid", b"resource_guid", "resource_info", b"resource_info", "sku", b"sku", "tags", b"tags", "zones", b"zones"]) -> None: ...

global___PublicIPAddresses = PublicIPAddresses

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

    IP_TAG_TYPE_FIELD_NUMBER: builtins.int
    TAG_FIELD_NUMBER: builtins.int
    ip_tag_type: builtins.str
    tag: builtins.str
    def __init__(
        self,
        *,
        ip_tag_type: builtins.str = ...,
        tag: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["ip_tag_type", b"ip_tag_type", "tag", b"tag"]) -> None: ...

global___IpTag = IpTag

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

    DOMAIN_NAME_LABEL_FIELD_NUMBER: builtins.int
    FQDN_FIELD_NUMBER: builtins.int
    REVERSE_FQDN_FIELD_NUMBER: builtins.int
    domain_name_label: builtins.str
    fqdn: builtins.str
    reverse_fqdn: builtins.str
    def __init__(
        self,
        *,
        domain_name_label: builtins.str = ...,
        fqdn: builtins.str = ...,
        reverse_fqdn: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["domain_name_label", b"domain_name_label", "fqdn", b"fqdn", "reverse_fqdn", b"reverse_fqdn"]) -> None: ...

global___PublicIPAddressDnsSettings = PublicIPAddressDnsSettings

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

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

global___PublicIPAddressSku = PublicIPAddressSku

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    TARGET_FIELD_NUMBER: builtins.int
    BYTES_TO_CAPTURE_PER_PACKET_FIELD_NUMBER: builtins.int
    TOTAL_BYTES_PER_SESSION_FIELD_NUMBER: builtins.int
    TIME_LIMIT_IN_SECONDS_FIELD_NUMBER: builtins.int
    STORAGE_LOCATION_FIELD_NUMBER: builtins.int
    FILTERS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    target: builtins.str
    bytes_to_capture_per_packet: builtins.int
    total_bytes_per_session: builtins.int
    time_limit_in_seconds: builtins.int
    @property
    def storage_location(self) -> global___PacketCaptureStorageLocation: ...
    @property
    def filters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PacketCaptureFilter]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        target: builtins.str = ...,
        bytes_to_capture_per_packet: builtins.int = ...,
        total_bytes_per_session: builtins.int = ...,
        time_limit_in_seconds: builtins.int = ...,
        storage_location: global___PacketCaptureStorageLocation | None = ...,
        filters: collections.abc.Iterable[global___PacketCaptureFilter] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "storage_location", b"storage_location"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bytes_to_capture_per_packet", b"bytes_to_capture_per_packet", "filters", b"filters", "name", b"name", "resource_info", b"resource_info", "storage_location", b"storage_location", "target", b"target", "time_limit_in_seconds", b"time_limit_in_seconds", "total_bytes_per_session", b"total_bytes_per_session"]) -> None: ...

global___NetworkWatchersPacketCaptures = NetworkWatchersPacketCaptures

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

    PROTOCOL_FIELD_NUMBER: builtins.int
    LOCAL_IP_ADDRESS_FIELD_NUMBER: builtins.int
    REMOTE_IP_ADDRESS_FIELD_NUMBER: builtins.int
    LOCAL_PORT_FIELD_NUMBER: builtins.int
    REMOTE_PORT_FIELD_NUMBER: builtins.int
    protocol: builtins.str
    local_ip_address: builtins.str
    remote_ip_address: builtins.str
    local_port: builtins.str
    remote_port: builtins.str
    def __init__(
        self,
        *,
        protocol: builtins.str = ...,
        local_ip_address: builtins.str = ...,
        remote_ip_address: builtins.str = ...,
        local_port: builtins.str = ...,
        remote_port: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["local_ip_address", b"local_ip_address", "local_port", b"local_port", "protocol", b"protocol", "remote_ip_address", b"remote_ip_address", "remote_port", b"remote_port"]) -> None: ...

global___PacketCaptureFilter = PacketCaptureFilter

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

    STORAGE_ID_FIELD_NUMBER: builtins.int
    STORAGE_PATH_FIELD_NUMBER: builtins.int
    FILE_PATH_FIELD_NUMBER: builtins.int
    storage_id: builtins.str
    storage_path: builtins.str
    file_path: builtins.str
    def __init__(
        self,
        *,
        storage_id: builtins.str = ...,
        storage_path: builtins.str = ...,
        file_path: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["file_path", b"file_path", "storage_id", b"storage_id", "storage_path", b"storage_path"]) -> None: ...

global___PacketCaptureStorageLocation = PacketCaptureStorageLocation

@typing_extensions.final
class NetworkWatchersConnectionMonitors(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
    SOURCE_FIELD_NUMBER: builtins.int
    DESTINATION_FIELD_NUMBER: builtins.int
    AUTO_START_FIELD_NUMBER: builtins.int
    MONITORING_INTERVAL_IN_SECONDS_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 source(self) -> global___ConnectionMonitorSource: ...
    @property
    def destination(self) -> global___ConnectionMonitorDestination: ...
    auto_start: builtins.bool
    monitoring_interval_in_seconds: builtins.int
    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 = ...,
        source: global___ConnectionMonitorSource | None = ...,
        destination: global___ConnectionMonitorDestination | None = ...,
        auto_start: builtins.bool = ...,
        monitoring_interval_in_seconds: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["destination", b"destination", "resource_info", b"resource_info", "source", b"source"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["auto_start", b"auto_start", "destination", b"destination", "location", b"location", "monitoring_interval_in_seconds", b"monitoring_interval_in_seconds", "name", b"name", "resource_info", b"resource_info", "source", b"source", "tags", b"tags"]) -> None: ...

global___NetworkWatchersConnectionMonitors = NetworkWatchersConnectionMonitors

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

    RESOURCE_ID_FIELD_NUMBER: builtins.int
    ADDRESS_FIELD_NUMBER: builtins.int
    PORT_FIELD_NUMBER: builtins.int
    resource_id: builtins.str
    address: builtins.str
    port: builtins.int
    def __init__(
        self,
        *,
        resource_id: builtins.str = ...,
        address: builtins.str = ...,
        port: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["address", b"address", "port", b"port", "resource_id", b"resource_id"]) -> None: ...

global___ConnectionMonitorDestination = ConnectionMonitorDestination

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

    RESOURCE_ID_FIELD_NUMBER: builtins.int
    PORT_FIELD_NUMBER: builtins.int
    resource_id: builtins.str
    port: builtins.int
    def __init__(
        self,
        *,
        resource_id: builtins.str = ...,
        port: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["port", b"port", "resource_id", b"resource_id"]) -> None: ...

global___ConnectionMonitorSource = ConnectionMonitorSource

@typing_extensions.final
class NetworkWatchers(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
    ETAG_FIELD_NUMBER: builtins.int
    NETWORK_WATCHERS_CONNECTION_MONITORS_FIELD_NUMBER: builtins.int
    NETWORK_WATCHERS_PACKET_CAPTURES_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]: ...
    etag: builtins.str
    @property
    def network_watchers_connection_monitors(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkWatchersConnectionMonitors]: ...
    @property
    def network_watchers_packet_captures(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkWatchersPacketCaptures]: ...
    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 = ...,
        etag: builtins.str = ...,
        network_watchers_connection_monitors: collections.abc.Iterable[global___NetworkWatchersConnectionMonitors] | None = ...,
        network_watchers_packet_captures: collections.abc.Iterable[global___NetworkWatchersPacketCaptures] | 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["etag", b"etag", "location", b"location", "name", b"name", "network_watchers_connection_monitors", b"network_watchers_connection_monitors", "network_watchers_packet_captures", b"network_watchers_packet_captures", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___NetworkWatchers = NetworkWatchers

@typing_extensions.final
class NetworkInterfaces(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
    VIRTUAL_MACHINE_FIELD_NUMBER: builtins.int
    NETWORK_SECURITY_GROUP_FIELD_NUMBER: builtins.int
    IP_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    DNS_SETTINGS_FIELD_NUMBER: builtins.int
    MAC_ADDRESS_FIELD_NUMBER: builtins.int
    PRIMARY_FIELD_NUMBER: builtins.int
    ENABLE_ACCELERATED_NETWORKING_FIELD_NUMBER: builtins.int
    ENABLE_IP_FORWARDING_FIELD_NUMBER: builtins.int
    RESOURCE_GUID_FIELD_NUMBER: builtins.int
    PROVISIONING_STATE_FIELD_NUMBER: builtins.int
    ETAG_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]: ...
    virtual_machine: builtins.str
    network_security_group: builtins.str
    @property
    def ip_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkInterfaceIPConfiguration]: ...
    @property
    def dns_settings(self) -> global___NetworkInterfaceDnsSettings: ...
    mac_address: builtins.str
    primary: builtins.bool
    enable_accelerated_networking: builtins.bool
    enable_ip_forwarding: builtins.bool
    resource_guid: builtins.str
    provisioning_state: builtins.str
    etag: builtins.str
    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 = ...,
        virtual_machine: builtins.str = ...,
        network_security_group: builtins.str = ...,
        ip_configurations: collections.abc.Iterable[global___NetworkInterfaceIPConfiguration] | None = ...,
        dns_settings: global___NetworkInterfaceDnsSettings | None = ...,
        mac_address: builtins.str = ...,
        primary: builtins.bool = ...,
        enable_accelerated_networking: builtins.bool = ...,
        enable_ip_forwarding: builtins.bool = ...,
        resource_guid: builtins.str = ...,
        provisioning_state: builtins.str = ...,
        etag: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["dns_settings", b"dns_settings", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["dns_settings", b"dns_settings", "enable_accelerated_networking", b"enable_accelerated_networking", "enable_ip_forwarding", b"enable_ip_forwarding", "etag", b"etag", "ip_configurations", b"ip_configurations", "location", b"location", "mac_address", b"mac_address", "name", b"name", "network_security_group", b"network_security_group", "primary", b"primary", "provisioning_state", b"provisioning_state", "resource_guid", b"resource_guid", "resource_info", b"resource_info", "tags", b"tags", "virtual_machine", b"virtual_machine"]) -> None: ...

global___NetworkInterfaces = NetworkInterfaces

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

    DNS_SERVERS_FIELD_NUMBER: builtins.int
    APPLIED_DNS_SERVERS_FIELD_NUMBER: builtins.int
    INTERNAL_DNS_NAME_LABEL_FIELD_NUMBER: builtins.int
    INTERNAL_FQDN_FIELD_NUMBER: builtins.int
    INTERNAL_DOMAIN_NAME_SUFFIX_FIELD_NUMBER: builtins.int
    @property
    def dns_servers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def applied_dns_servers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    internal_dns_name_label: builtins.str
    internal_fqdn: builtins.str
    internal_domain_name_suffix: builtins.str
    def __init__(
        self,
        *,
        dns_servers: collections.abc.Iterable[builtins.str] | None = ...,
        applied_dns_servers: collections.abc.Iterable[builtins.str] | None = ...,
        internal_dns_name_label: builtins.str = ...,
        internal_fqdn: builtins.str = ...,
        internal_domain_name_suffix: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["applied_dns_servers", b"applied_dns_servers", "dns_servers", b"dns_servers", "internal_dns_name_label", b"internal_dns_name_label", "internal_domain_name_suffix", b"internal_domain_name_suffix", "internal_fqdn", b"internal_fqdn"]) -> None: ...

global___NetworkInterfaceDnsSettings = NetworkInterfaceDnsSettings

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

    APPLICATION_GATEWAY_BACKEND_ADDRESS_POOLS_FIELD_NUMBER: builtins.int
    LOAD_BALANCER_BACKEND_ADDRESS_POOLS_FIELD_NUMBER: builtins.int
    LOAD_BALANCER_INBOUND_NAT_RULES_FIELD_NUMBER: builtins.int
    PRIVATE_IP_ADDRESS_FIELD_NUMBER: builtins.int
    PRIVATE_IP_ALLOCATION_METHOD_FIELD_NUMBER: builtins.int
    PRIVATE_IP_ADDRESS_VERSION_FIELD_NUMBER: builtins.int
    SUBNET_FIELD_NUMBER: builtins.int
    PRIMARY_FIELD_NUMBER: builtins.int
    PUBLIC_IP_ADDRESS_FIELD_NUMBER: builtins.int
    APPLICATION_SECURITY_GROUPS_FIELD_NUMBER: builtins.int
    PROVISIONING_STATE_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ETAG_FIELD_NUMBER: builtins.int
    @property
    def application_gateway_backend_address_pools(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def load_balancer_backend_address_pools(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def load_balancer_inbound_nat_rules(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    private_ip_address: builtins.str
    private_ip_allocation_method: builtins.str
    private_ip_address_version: builtins.str
    subnet: builtins.str
    primary: builtins.bool
    public_ip_address: builtins.str
    @property
    def application_security_groups(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    provisioning_state: builtins.str
    name: builtins.str
    etag: builtins.str
    def __init__(
        self,
        *,
        application_gateway_backend_address_pools: collections.abc.Iterable[builtins.str] | None = ...,
        load_balancer_backend_address_pools: collections.abc.Iterable[builtins.str] | None = ...,
        load_balancer_inbound_nat_rules: collections.abc.Iterable[builtins.str] | None = ...,
        private_ip_address: builtins.str = ...,
        private_ip_allocation_method: builtins.str = ...,
        private_ip_address_version: builtins.str = ...,
        subnet: builtins.str = ...,
        primary: builtins.bool = ...,
        public_ip_address: builtins.str = ...,
        application_security_groups: collections.abc.Iterable[builtins.str] | None = ...,
        provisioning_state: builtins.str = ...,
        name: builtins.str = ...,
        etag: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["application_gateway_backend_address_pools", b"application_gateway_backend_address_pools", "application_security_groups", b"application_security_groups", "etag", b"etag", "load_balancer_backend_address_pools", b"load_balancer_backend_address_pools", "load_balancer_inbound_nat_rules", b"load_balancer_inbound_nat_rules", "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", "provisioning_state", b"provisioning_state", "public_ip_address", b"public_ip_address", "subnet", b"subnet"]) -> None: ...

global___NetworkInterfaceIPConfiguration = NetworkInterfaceIPConfiguration

@typing_extensions.final
class LocalNetworkGateways(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
    LOCAL_NETWORK_ADDRESS_SPACE_FIELD_NUMBER: builtins.int
    GATEWAY_IP_ADDRESS_FIELD_NUMBER: builtins.int
    BGP_SETTINGS_FIELD_NUMBER: builtins.int
    RESOURCE_GUID_FIELD_NUMBER: builtins.int
    ETAG_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 local_network_address_space(self) -> global___AddressSpace: ...
    gateway_ip_address: builtins.str
    @property
    def bgp_settings(self) -> global___BgpSettings: ...
    resource_guid: builtins.str
    etag: builtins.str
    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 = ...,
        local_network_address_space: global___AddressSpace | None = ...,
        gateway_ip_address: builtins.str = ...,
        bgp_settings: global___BgpSettings | None = ...,
        resource_guid: builtins.str = ...,
        etag: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["bgp_settings", b"bgp_settings", "local_network_address_space", b"local_network_address_space", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bgp_settings", b"bgp_settings", "etag", b"etag", "gateway_ip_address", b"gateway_ip_address", "local_network_address_space", b"local_network_address_space", "location", b"location", "name", b"name", "resource_guid", b"resource_guid", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___LocalNetworkGateways = LocalNetworkGateways

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

    ASN_FIELD_NUMBER: builtins.int
    BGP_PEERING_ADDRESS_FIELD_NUMBER: builtins.int
    PEER_WEIGHT_FIELD_NUMBER: builtins.int
    asn: builtins.int
    bgp_peering_address: builtins.str
    peer_weight: builtins.int
    def __init__(
        self,
        *,
        asn: builtins.int = ...,
        bgp_peering_address: builtins.str = ...,
        peer_weight: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["asn", b"asn", "bgp_peering_address", b"bgp_peering_address", "peer_weight", b"peer_weight"]) -> None: ...

global___BgpSettings = BgpSettings

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

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

global___AddressSpace = AddressSpace

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    PEERING_TYPE_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    PEER_ASN_FIELD_NUMBER: builtins.int
    PRIMARY_PEER_ADDRESS_PREFIX_FIELD_NUMBER: builtins.int
    SECONDARY_PEER_ADDRESS_PREFIX_FIELD_NUMBER: builtins.int
    SHARED_KEY_FIELD_NUMBER: builtins.int
    VLAN_ID_FIELD_NUMBER: builtins.int
    MICROSOFT_PEERING_CONFIG_FIELD_NUMBER: builtins.int
    GATEWAY_MANAGER_ETAG_FIELD_NUMBER: builtins.int
    LAST_MODIFIED_BY_FIELD_NUMBER: builtins.int
    IPV6_PEERING_CONFIG_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    peering_type: builtins.str
    state: builtins.str
    peer_asn: builtins.int
    primary_peer_address_prefix: builtins.str
    secondary_peer_address_prefix: builtins.str
    shared_key: builtins.str
    vlan_id: builtins.int
    @property
    def microsoft_peering_config(self) -> global___ExpressRouteCircuitPeeringConfig: ...
    gateway_manager_etag: builtins.str
    last_modified_by: builtins.str
    @property
    def ipv6_peering_config(self) -> global___Ipv6ExpressRouteCircuitPeeringConfig: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        peering_type: builtins.str = ...,
        state: builtins.str = ...,
        peer_asn: builtins.int = ...,
        primary_peer_address_prefix: builtins.str = ...,
        secondary_peer_address_prefix: builtins.str = ...,
        shared_key: builtins.str = ...,
        vlan_id: builtins.int = ...,
        microsoft_peering_config: global___ExpressRouteCircuitPeeringConfig | None = ...,
        gateway_manager_etag: builtins.str = ...,
        last_modified_by: builtins.str = ...,
        ipv6_peering_config: global___Ipv6ExpressRouteCircuitPeeringConfig | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["ipv6_peering_config", b"ipv6_peering_config", "microsoft_peering_config", b"microsoft_peering_config", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["gateway_manager_etag", b"gateway_manager_etag", "ipv6_peering_config", b"ipv6_peering_config", "last_modified_by", b"last_modified_by", "microsoft_peering_config", b"microsoft_peering_config", "name", b"name", "peer_asn", b"peer_asn", "peering_type", b"peering_type", "primary_peer_address_prefix", b"primary_peer_address_prefix", "resource_info", b"resource_info", "secondary_peer_address_prefix", b"secondary_peer_address_prefix", "shared_key", b"shared_key", "state", b"state", "vlan_id", b"vlan_id"]) -> None: ...

global___ExpressRouteCrossConnectionsPeerings = ExpressRouteCrossConnectionsPeerings

@typing_extensions.final
class ExpressRouteCrossConnections(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
    PEERING_LOCATION_FIELD_NUMBER: builtins.int
    BANDWIDTH_IN_MBPS_FIELD_NUMBER: builtins.int
    EXPRESS_ROUTE_CIRCUIT_FIELD_NUMBER: builtins.int
    SERVICE_PROVIDER_PROVISIONING_STATE_FIELD_NUMBER: builtins.int
    SERVICE_PROVIDER_NOTES_FIELD_NUMBER: builtins.int
    PEERINGS_FIELD_NUMBER: builtins.int
    EXPRESS_ROUTE_CROSS_CONNECTIONS_PEERINGS_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]: ...
    peering_location: builtins.str
    bandwidth_in_mbps: builtins.int
    @property
    def express_route_circuit(self) -> global___ExpressRouteCircuitReference: ...
    service_provider_provisioning_state: builtins.str
    service_provider_notes: builtins.str
    @property
    def peerings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExpressRouteCrossConnectionPeering]: ...
    @property
    def express_route_cross_connections_peerings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExpressRouteCrossConnectionsPeerings]: ...
    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 = ...,
        peering_location: builtins.str = ...,
        bandwidth_in_mbps: builtins.int = ...,
        express_route_circuit: global___ExpressRouteCircuitReference | None = ...,
        service_provider_provisioning_state: builtins.str = ...,
        service_provider_notes: builtins.str = ...,
        peerings: collections.abc.Iterable[global___ExpressRouteCrossConnectionPeering] | None = ...,
        express_route_cross_connections_peerings: collections.abc.Iterable[global___ExpressRouteCrossConnectionsPeerings] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["express_route_circuit", b"express_route_circuit", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bandwidth_in_mbps", b"bandwidth_in_mbps", "express_route_circuit", b"express_route_circuit", "express_route_cross_connections_peerings", b"express_route_cross_connections_peerings", "location", b"location", "name", b"name", "peering_location", b"peering_location", "peerings", b"peerings", "resource_info", b"resource_info", "service_provider_notes", b"service_provider_notes", "service_provider_provisioning_state", b"service_provider_provisioning_state", "tags", b"tags"]) -> None: ...

global___ExpressRouteCrossConnections = ExpressRouteCrossConnections

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

    PEERING_TYPE_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    PEER_ASN_FIELD_NUMBER: builtins.int
    PRIMARY_PEER_ADDRESS_PREFIX_FIELD_NUMBER: builtins.int
    SECONDARY_PEER_ADDRESS_PREFIX_FIELD_NUMBER: builtins.int
    SHARED_KEY_FIELD_NUMBER: builtins.int
    VLAN_ID_FIELD_NUMBER: builtins.int
    MICROSOFT_PEERING_CONFIG_FIELD_NUMBER: builtins.int
    GATEWAY_MANAGER_ETAG_FIELD_NUMBER: builtins.int
    LAST_MODIFIED_BY_FIELD_NUMBER: builtins.int
    IPV6_PEERING_CONFIG_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    peering_type: builtins.str
    state: builtins.str
    peer_asn: builtins.int
    primary_peer_address_prefix: builtins.str
    secondary_peer_address_prefix: builtins.str
    shared_key: builtins.str
    vlan_id: builtins.int
    @property
    def microsoft_peering_config(self) -> global___ExpressRouteCircuitPeeringConfig: ...
    gateway_manager_etag: builtins.str
    last_modified_by: builtins.str
    @property
    def ipv6_peering_config(self) -> global___Ipv6ExpressRouteCircuitPeeringConfig: ...
    name: builtins.str
    def __init__(
        self,
        *,
        peering_type: builtins.str = ...,
        state: builtins.str = ...,
        peer_asn: builtins.int = ...,
        primary_peer_address_prefix: builtins.str = ...,
        secondary_peer_address_prefix: builtins.str = ...,
        shared_key: builtins.str = ...,
        vlan_id: builtins.int = ...,
        microsoft_peering_config: global___ExpressRouteCircuitPeeringConfig | None = ...,
        gateway_manager_etag: builtins.str = ...,
        last_modified_by: builtins.str = ...,
        ipv6_peering_config: global___Ipv6ExpressRouteCircuitPeeringConfig | None = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["ipv6_peering_config", b"ipv6_peering_config", "microsoft_peering_config", b"microsoft_peering_config"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["gateway_manager_etag", b"gateway_manager_etag", "ipv6_peering_config", b"ipv6_peering_config", "last_modified_by", b"last_modified_by", "microsoft_peering_config", b"microsoft_peering_config", "name", b"name", "peer_asn", b"peer_asn", "peering_type", b"peering_type", "primary_peer_address_prefix", b"primary_peer_address_prefix", "secondary_peer_address_prefix", b"secondary_peer_address_prefix", "shared_key", b"shared_key", "state", b"state", "vlan_id", b"vlan_id"]) -> None: ...

global___ExpressRouteCrossConnectionPeering = ExpressRouteCrossConnectionPeering

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

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

global___ExpressRouteCircuitReference = ExpressRouteCircuitReference

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    EXPRESS_ROUTE_CIRCUIT_PEERING_FIELD_NUMBER: builtins.int
    PEER_EXPRESS_ROUTE_CIRCUIT_PEERING_FIELD_NUMBER: builtins.int
    ADDRESS_PREFIX_FIELD_NUMBER: builtins.int
    AUTHORIZATION_KEY_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    express_route_circuit_peering: builtins.str
    peer_express_route_circuit_peering: builtins.str
    address_prefix: builtins.str
    authorization_key: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        express_route_circuit_peering: builtins.str = ...,
        peer_express_route_circuit_peering: builtins.str = ...,
        address_prefix: builtins.str = ...,
        authorization_key: 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["address_prefix", b"address_prefix", "authorization_key", b"authorization_key", "express_route_circuit_peering", b"express_route_circuit_peering", "name", b"name", "peer_express_route_circuit_peering", b"peer_express_route_circuit_peering", "resource_info", b"resource_info"]) -> None: ...

global___ExpressRouteCircuitsPeeringsConnections = ExpressRouteCircuitsPeeringsConnections

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    PEERING_TYPE_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    AZURE_ASN_FIELD_NUMBER: builtins.int
    PEER_ASN_FIELD_NUMBER: builtins.int
    PRIMARY_PEER_ADDRESS_PREFIX_FIELD_NUMBER: builtins.int
    SECONDARY_PEER_ADDRESS_PREFIX_FIELD_NUMBER: builtins.int
    PRIMARY_AZURE_PORT_FIELD_NUMBER: builtins.int
    SECONDARY_AZURE_PORT_FIELD_NUMBER: builtins.int
    SHARED_KEY_FIELD_NUMBER: builtins.int
    VLAN_ID_FIELD_NUMBER: builtins.int
    MICROSOFT_PEERING_CONFIG_FIELD_NUMBER: builtins.int
    STATS_FIELD_NUMBER: builtins.int
    PROVISIONING_STATE_FIELD_NUMBER: builtins.int
    GATEWAY_MANAGER_ETAG_FIELD_NUMBER: builtins.int
    LAST_MODIFIED_BY_FIELD_NUMBER: builtins.int
    ROUTE_FILTER_FIELD_NUMBER: builtins.int
    IPV6_PEERING_CONFIG_FIELD_NUMBER: builtins.int
    CONNECTIONS_FIELD_NUMBER: builtins.int
    EXPRESS_ROUTE_CIRCUITS_PEERINGS_CONNECTIONS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    peering_type: builtins.str
    state: builtins.str
    azure_asn: builtins.int
    peer_asn: builtins.int
    primary_peer_address_prefix: builtins.str
    secondary_peer_address_prefix: builtins.str
    primary_azure_port: builtins.str
    secondary_azure_port: builtins.str
    shared_key: builtins.str
    vlan_id: builtins.int
    @property
    def microsoft_peering_config(self) -> global___ExpressRouteCircuitPeeringConfig: ...
    @property
    def stats(self) -> global___ExpressRouteCircuitStats: ...
    provisioning_state: builtins.str
    gateway_manager_etag: builtins.str
    last_modified_by: builtins.str
    route_filter: builtins.str
    @property
    def ipv6_peering_config(self) -> global___Ipv6ExpressRouteCircuitPeeringConfig: ...
    @property
    def connections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExpressRouteCircuitConnection]: ...
    @property
    def express_route_circuits_peerings_connections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExpressRouteCircuitsPeeringsConnections]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        peering_type: builtins.str = ...,
        state: builtins.str = ...,
        azure_asn: builtins.int = ...,
        peer_asn: builtins.int = ...,
        primary_peer_address_prefix: builtins.str = ...,
        secondary_peer_address_prefix: builtins.str = ...,
        primary_azure_port: builtins.str = ...,
        secondary_azure_port: builtins.str = ...,
        shared_key: builtins.str = ...,
        vlan_id: builtins.int = ...,
        microsoft_peering_config: global___ExpressRouteCircuitPeeringConfig | None = ...,
        stats: global___ExpressRouteCircuitStats | None = ...,
        provisioning_state: builtins.str = ...,
        gateway_manager_etag: builtins.str = ...,
        last_modified_by: builtins.str = ...,
        route_filter: builtins.str = ...,
        ipv6_peering_config: global___Ipv6ExpressRouteCircuitPeeringConfig | None = ...,
        connections: collections.abc.Iterable[global___ExpressRouteCircuitConnection] | None = ...,
        express_route_circuits_peerings_connections: collections.abc.Iterable[global___ExpressRouteCircuitsPeeringsConnections] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["ipv6_peering_config", b"ipv6_peering_config", "microsoft_peering_config", b"microsoft_peering_config", "resource_info", b"resource_info", "stats", b"stats"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["azure_asn", b"azure_asn", "connections", b"connections", "express_route_circuits_peerings_connections", b"express_route_circuits_peerings_connections", "gateway_manager_etag", b"gateway_manager_etag", "ipv6_peering_config", b"ipv6_peering_config", "last_modified_by", b"last_modified_by", "microsoft_peering_config", b"microsoft_peering_config", "name", b"name", "peer_asn", b"peer_asn", "peering_type", b"peering_type", "primary_azure_port", b"primary_azure_port", "primary_peer_address_prefix", b"primary_peer_address_prefix", "provisioning_state", b"provisioning_state", "resource_info", b"resource_info", "route_filter", b"route_filter", "secondary_azure_port", b"secondary_azure_port", "secondary_peer_address_prefix", b"secondary_peer_address_prefix", "shared_key", b"shared_key", "state", b"state", "stats", b"stats", "vlan_id", b"vlan_id"]) -> None: ...

global___ExpressRouteCircuitsPeerings = ExpressRouteCircuitsPeerings

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

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

global___ExpressRouteCircuitsAuthorizations = ExpressRouteCircuitsAuthorizations

@typing_extensions.final
class ExpressRouteCircuits(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
    SKU_FIELD_NUMBER: builtins.int
    ALLOW_CLASSIC_OPERATIONS_FIELD_NUMBER: builtins.int
    CIRCUIT_PROVISIONING_STATE_FIELD_NUMBER: builtins.int
    SERVICE_PROVIDER_PROVISIONING_STATE_FIELD_NUMBER: builtins.int
    AUTHORIZATIONS_FIELD_NUMBER: builtins.int
    PEERINGS_FIELD_NUMBER: builtins.int
    SERVICE_KEY_FIELD_NUMBER: builtins.int
    SERVICE_PROVIDER_NOTES_FIELD_NUMBER: builtins.int
    SERVICE_PROVIDER_PROPERTIES_FIELD_NUMBER: builtins.int
    PROVISIONING_STATE_FIELD_NUMBER: builtins.int
    GATEWAY_MANAGER_ETAG_FIELD_NUMBER: builtins.int
    EXPRESS_ROUTE_CIRCUITS_PEERINGS_FIELD_NUMBER: builtins.int
    EXPRESS_ROUTE_CIRCUITS_AUTHORIZATIONS_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 sku(self) -> global___ExpressRouteCircuitSku: ...
    allow_classic_operations: builtins.bool
    circuit_provisioning_state: builtins.str
    service_provider_provisioning_state: builtins.str
    @property
    def authorizations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExpressRouteCircuitAuthorization]: ...
    @property
    def peerings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExpressRouteCircuitPeering]: ...
    service_key: builtins.str
    service_provider_notes: builtins.str
    @property
    def service_provider_properties(self) -> global___ExpressRouteCircuitServiceProviderProperties: ...
    provisioning_state: builtins.str
    gateway_manager_etag: builtins.str
    @property
    def express_route_circuits_peerings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExpressRouteCircuitsPeerings]: ...
    @property
    def express_route_circuits_authorizations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExpressRouteCircuitsAuthorizations]: ...
    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 = ...,
        sku: global___ExpressRouteCircuitSku | None = ...,
        allow_classic_operations: builtins.bool = ...,
        circuit_provisioning_state: builtins.str = ...,
        service_provider_provisioning_state: builtins.str = ...,
        authorizations: collections.abc.Iterable[global___ExpressRouteCircuitAuthorization] | None = ...,
        peerings: collections.abc.Iterable[global___ExpressRouteCircuitPeering] | None = ...,
        service_key: builtins.str = ...,
        service_provider_notes: builtins.str = ...,
        service_provider_properties: global___ExpressRouteCircuitServiceProviderProperties | None = ...,
        provisioning_state: builtins.str = ...,
        gateway_manager_etag: builtins.str = ...,
        express_route_circuits_peerings: collections.abc.Iterable[global___ExpressRouteCircuitsPeerings] | None = ...,
        express_route_circuits_authorizations: collections.abc.Iterable[global___ExpressRouteCircuitsAuthorizations] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "service_provider_properties", b"service_provider_properties", "sku", b"sku"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_classic_operations", b"allow_classic_operations", "authorizations", b"authorizations", "circuit_provisioning_state", b"circuit_provisioning_state", "express_route_circuits_authorizations", b"express_route_circuits_authorizations", "express_route_circuits_peerings", b"express_route_circuits_peerings", "gateway_manager_etag", b"gateway_manager_etag", "location", b"location", "name", b"name", "peerings", b"peerings", "provisioning_state", b"provisioning_state", "resource_info", b"resource_info", "service_key", b"service_key", "service_provider_notes", b"service_provider_notes", "service_provider_properties", b"service_provider_properties", "service_provider_provisioning_state", b"service_provider_provisioning_state", "sku", b"sku", "tags", b"tags"]) -> None: ...

global___ExpressRouteCircuits = ExpressRouteCircuits

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

    SERVICE_PROVIDER_NAME_FIELD_NUMBER: builtins.int
    PEERING_LOCATION_FIELD_NUMBER: builtins.int
    BANDWIDTH_IN_MBPS_FIELD_NUMBER: builtins.int
    service_provider_name: builtins.str
    peering_location: builtins.str
    bandwidth_in_mbps: builtins.int
    def __init__(
        self,
        *,
        service_provider_name: builtins.str = ...,
        peering_location: builtins.str = ...,
        bandwidth_in_mbps: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["bandwidth_in_mbps", b"bandwidth_in_mbps", "peering_location", b"peering_location", "service_provider_name", b"service_provider_name"]) -> None: ...

global___ExpressRouteCircuitServiceProviderProperties = ExpressRouteCircuitServiceProviderProperties

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

    PEERING_TYPE_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    AZURE_ASN_FIELD_NUMBER: builtins.int
    PEER_ASN_FIELD_NUMBER: builtins.int
    PRIMARY_PEER_ADDRESS_PREFIX_FIELD_NUMBER: builtins.int
    SECONDARY_PEER_ADDRESS_PREFIX_FIELD_NUMBER: builtins.int
    PRIMARY_AZURE_PORT_FIELD_NUMBER: builtins.int
    SECONDARY_AZURE_PORT_FIELD_NUMBER: builtins.int
    SHARED_KEY_FIELD_NUMBER: builtins.int
    VLAN_ID_FIELD_NUMBER: builtins.int
    MICROSOFT_PEERING_CONFIG_FIELD_NUMBER: builtins.int
    STATS_FIELD_NUMBER: builtins.int
    PROVISIONING_STATE_FIELD_NUMBER: builtins.int
    GATEWAY_MANAGER_ETAG_FIELD_NUMBER: builtins.int
    LAST_MODIFIED_BY_FIELD_NUMBER: builtins.int
    ROUTE_FILTER_FIELD_NUMBER: builtins.int
    IPV6_PEERING_CONFIG_FIELD_NUMBER: builtins.int
    CONNECTIONS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    peering_type: builtins.str
    state: builtins.str
    azure_asn: builtins.int
    peer_asn: builtins.int
    primary_peer_address_prefix: builtins.str
    secondary_peer_address_prefix: builtins.str
    primary_azure_port: builtins.str
    secondary_azure_port: builtins.str
    shared_key: builtins.str
    vlan_id: builtins.int
    @property
    def microsoft_peering_config(self) -> global___ExpressRouteCircuitPeeringConfig: ...
    @property
    def stats(self) -> global___ExpressRouteCircuitStats: ...
    provisioning_state: builtins.str
    gateway_manager_etag: builtins.str
    last_modified_by: builtins.str
    route_filter: builtins.str
    @property
    def ipv6_peering_config(self) -> global___Ipv6ExpressRouteCircuitPeeringConfig: ...
    @property
    def connections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExpressRouteCircuitConnection]: ...
    name: builtins.str
    def __init__(
        self,
        *,
        peering_type: builtins.str = ...,
        state: builtins.str = ...,
        azure_asn: builtins.int = ...,
        peer_asn: builtins.int = ...,
        primary_peer_address_prefix: builtins.str = ...,
        secondary_peer_address_prefix: builtins.str = ...,
        primary_azure_port: builtins.str = ...,
        secondary_azure_port: builtins.str = ...,
        shared_key: builtins.str = ...,
        vlan_id: builtins.int = ...,
        microsoft_peering_config: global___ExpressRouteCircuitPeeringConfig | None = ...,
        stats: global___ExpressRouteCircuitStats | None = ...,
        provisioning_state: builtins.str = ...,
        gateway_manager_etag: builtins.str = ...,
        last_modified_by: builtins.str = ...,
        route_filter: builtins.str = ...,
        ipv6_peering_config: global___Ipv6ExpressRouteCircuitPeeringConfig | None = ...,
        connections: collections.abc.Iterable[global___ExpressRouteCircuitConnection] | None = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["ipv6_peering_config", b"ipv6_peering_config", "microsoft_peering_config", b"microsoft_peering_config", "stats", b"stats"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["azure_asn", b"azure_asn", "connections", b"connections", "gateway_manager_etag", b"gateway_manager_etag", "ipv6_peering_config", b"ipv6_peering_config", "last_modified_by", b"last_modified_by", "microsoft_peering_config", b"microsoft_peering_config", "name", b"name", "peer_asn", b"peer_asn", "peering_type", b"peering_type", "primary_azure_port", b"primary_azure_port", "primary_peer_address_prefix", b"primary_peer_address_prefix", "provisioning_state", b"provisioning_state", "route_filter", b"route_filter", "secondary_azure_port", b"secondary_azure_port", "secondary_peer_address_prefix", b"secondary_peer_address_prefix", "shared_key", b"shared_key", "state", b"state", "stats", b"stats", "vlan_id", b"vlan_id"]) -> None: ...

global___ExpressRouteCircuitPeering = ExpressRouteCircuitPeering

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

    EXPRESS_ROUTE_CIRCUIT_PEERING_FIELD_NUMBER: builtins.int
    PEER_EXPRESS_ROUTE_CIRCUIT_PEERING_FIELD_NUMBER: builtins.int
    ADDRESS_PREFIX_FIELD_NUMBER: builtins.int
    AUTHORIZATION_KEY_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    express_route_circuit_peering: builtins.str
    peer_express_route_circuit_peering: builtins.str
    address_prefix: builtins.str
    authorization_key: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        express_route_circuit_peering: builtins.str = ...,
        peer_express_route_circuit_peering: builtins.str = ...,
        address_prefix: builtins.str = ...,
        authorization_key: builtins.str = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["address_prefix", b"address_prefix", "authorization_key", b"authorization_key", "express_route_circuit_peering", b"express_route_circuit_peering", "name", b"name", "peer_express_route_circuit_peering", b"peer_express_route_circuit_peering"]) -> None: ...

global___ExpressRouteCircuitConnection = ExpressRouteCircuitConnection

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

    PRIMARY_PEER_ADDRESS_PREFIX_FIELD_NUMBER: builtins.int
    SECONDARY_PEER_ADDRESS_PREFIX_FIELD_NUMBER: builtins.int
    MICROSOFT_PEERING_CONFIG_FIELD_NUMBER: builtins.int
    ROUTE_FILTER_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    primary_peer_address_prefix: builtins.str
    secondary_peer_address_prefix: builtins.str
    @property
    def microsoft_peering_config(self) -> global___ExpressRouteCircuitPeeringConfig: ...
    route_filter: builtins.str
    state: builtins.str
    def __init__(
        self,
        *,
        primary_peer_address_prefix: builtins.str = ...,
        secondary_peer_address_prefix: builtins.str = ...,
        microsoft_peering_config: global___ExpressRouteCircuitPeeringConfig | None = ...,
        route_filter: builtins.str = ...,
        state: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["microsoft_peering_config", b"microsoft_peering_config"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["microsoft_peering_config", b"microsoft_peering_config", "primary_peer_address_prefix", b"primary_peer_address_prefix", "route_filter", b"route_filter", "secondary_peer_address_prefix", b"secondary_peer_address_prefix", "state", b"state"]) -> None: ...

global___Ipv6ExpressRouteCircuitPeeringConfig = Ipv6ExpressRouteCircuitPeeringConfig

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

    PRIMARYBYTES_IN_FIELD_NUMBER: builtins.int
    PRIMARYBYTES_OUT_FIELD_NUMBER: builtins.int
    SECONDARYBYTES_IN_FIELD_NUMBER: builtins.int
    SECONDARYBYTES_OUT_FIELD_NUMBER: builtins.int
    primarybytes_in: builtins.int
    primarybytes_out: builtins.int
    secondarybytes_in: builtins.int
    secondarybytes_out: builtins.int
    def __init__(
        self,
        *,
        primarybytes_in: builtins.int = ...,
        primarybytes_out: builtins.int = ...,
        secondarybytes_in: builtins.int = ...,
        secondarybytes_out: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["primarybytes_in", b"primarybytes_in", "primarybytes_out", b"primarybytes_out", "secondarybytes_in", b"secondarybytes_in", "secondarybytes_out", b"secondarybytes_out"]) -> None: ...

global___ExpressRouteCircuitStats = ExpressRouteCircuitStats

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

    ADVERTISED_PUBLIC_PREFIXES_FIELD_NUMBER: builtins.int
    ADVERTISED_COMMUNITIES_FIELD_NUMBER: builtins.int
    ADVERTISED_PUBLIC_PREFIXES_STATE_FIELD_NUMBER: builtins.int
    LEGACY_MODE_FIELD_NUMBER: builtins.int
    CUSTOMER_ASN_FIELD_NUMBER: builtins.int
    ROUTING_REGISTRY_NAME_FIELD_NUMBER: builtins.int
    @property
    def advertised_public_prefixes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def advertised_communities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    advertised_public_prefixes_state: builtins.str
    legacy_mode: builtins.int
    customer_asn: builtins.int
    routing_registry_name: builtins.str
    def __init__(
        self,
        *,
        advertised_public_prefixes: collections.abc.Iterable[builtins.str] | None = ...,
        advertised_communities: collections.abc.Iterable[builtins.str] | None = ...,
        advertised_public_prefixes_state: builtins.str = ...,
        legacy_mode: builtins.int = ...,
        customer_asn: builtins.int = ...,
        routing_registry_name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["advertised_communities", b"advertised_communities", "advertised_public_prefixes", b"advertised_public_prefixes", "advertised_public_prefixes_state", b"advertised_public_prefixes_state", "customer_asn", b"customer_asn", "legacy_mode", b"legacy_mode", "routing_registry_name", b"routing_registry_name"]) -> None: ...

global___ExpressRouteCircuitPeeringConfig = ExpressRouteCircuitPeeringConfig

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

    AUTHORIZATION_KEY_FIELD_NUMBER: builtins.int
    AUTHORIZATION_USE_STATUS_FIELD_NUMBER: builtins.int
    PROVISIONING_STATE_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    authorization_key: builtins.str
    authorization_use_status: builtins.str
    provisioning_state: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        authorization_key: builtins.str = ...,
        authorization_use_status: builtins.str = ...,
        provisioning_state: builtins.str = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["authorization_key", b"authorization_key", "authorization_use_status", b"authorization_use_status", "name", b"name", "provisioning_state", b"provisioning_state"]) -> None: ...

global___ExpressRouteCircuitAuthorization = ExpressRouteCircuitAuthorization

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

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

global___ExpressRouteCircuitSku = ExpressRouteCircuitSku

@typing_extensions.final
class DdosProtectionPlans(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
    @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]: ...
    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 = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["location", b"location", "name", b"name", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___DdosProtectionPlans = DdosProtectionPlans

@typing_extensions.final
class Connections(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
    AUTHORIZATION_KEY_FIELD_NUMBER: builtins.int
    VIRTUAL_NETWORK_GATEWAY1_FIELD_NUMBER: builtins.int
    VIRTUAL_NETWORK_GATEWAY2_FIELD_NUMBER: builtins.int
    LOCAL_NETWORK_GATEWAY2_FIELD_NUMBER: builtins.int
    CONNECTION_TYPE_FIELD_NUMBER: builtins.int
    ROUTING_WEIGHT_FIELD_NUMBER: builtins.int
    SHARED_KEY_FIELD_NUMBER: builtins.int
    PEER_FIELD_NUMBER: builtins.int
    ENABLE_BGP_FIELD_NUMBER: builtins.int
    USE_POLICY_BASED_TRAFFIC_SELECTORS_FIELD_NUMBER: builtins.int
    IPSEC_POLICIES_FIELD_NUMBER: builtins.int
    RESOURCE_GUID_FIELD_NUMBER: builtins.int
    ETAG_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]: ...
    authorization_key: builtins.str
    virtual_network_gateway1: builtins.str
    virtual_network_gateway2: builtins.str
    local_network_gateway2: builtins.str
    connection_type: builtins.str
    routing_weight: builtins.int
    shared_key: builtins.str
    peer: builtins.str
    enable_bgp: builtins.bool
    use_policy_based_traffic_selectors: builtins.bool
    @property
    def ipsec_policies(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IpsecPolicy]: ...
    resource_guid: builtins.str
    etag: builtins.str
    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 = ...,
        authorization_key: builtins.str = ...,
        virtual_network_gateway1: builtins.str = ...,
        virtual_network_gateway2: builtins.str = ...,
        local_network_gateway2: builtins.str = ...,
        connection_type: builtins.str = ...,
        routing_weight: builtins.int = ...,
        shared_key: builtins.str = ...,
        peer: builtins.str = ...,
        enable_bgp: builtins.bool = ...,
        use_policy_based_traffic_selectors: builtins.bool = ...,
        ipsec_policies: collections.abc.Iterable[global___IpsecPolicy] | None = ...,
        resource_guid: builtins.str = ...,
        etag: 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["authorization_key", b"authorization_key", "connection_type", b"connection_type", "enable_bgp", b"enable_bgp", "etag", b"etag", "ipsec_policies", b"ipsec_policies", "local_network_gateway2", b"local_network_gateway2", "location", b"location", "name", b"name", "peer", b"peer", "resource_guid", b"resource_guid", "resource_info", b"resource_info", "routing_weight", b"routing_weight", "shared_key", b"shared_key", "tags", b"tags", "use_policy_based_traffic_selectors", b"use_policy_based_traffic_selectors", "virtual_network_gateway1", b"virtual_network_gateway1", "virtual_network_gateway2", b"virtual_network_gateway2"]) -> None: ...

global___Connections = Connections

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

    SA_LIFE_TIME_SECONDS_FIELD_NUMBER: builtins.int
    SA_DATA_SIZE_KILOBYTES_FIELD_NUMBER: builtins.int
    IPSEC_ENCRYPTION_FIELD_NUMBER: builtins.int
    IPSEC_INTEGRITY_FIELD_NUMBER: builtins.int
    IKE_ENCRYPTION_FIELD_NUMBER: builtins.int
    IKE_INTEGRITY_FIELD_NUMBER: builtins.int
    DH_GROUP_FIELD_NUMBER: builtins.int
    PFS_GROUP_FIELD_NUMBER: builtins.int
    sa_life_time_seconds: builtins.int
    sa_data_size_kilobytes: builtins.int
    ipsec_encryption: builtins.str
    ipsec_integrity: builtins.str
    ike_encryption: builtins.str
    ike_integrity: builtins.str
    dh_group: builtins.str
    pfs_group: builtins.str
    def __init__(
        self,
        *,
        sa_life_time_seconds: builtins.int = ...,
        sa_data_size_kilobytes: builtins.int = ...,
        ipsec_encryption: builtins.str = ...,
        ipsec_integrity: builtins.str = ...,
        ike_encryption: builtins.str = ...,
        ike_integrity: builtins.str = ...,
        dh_group: builtins.str = ...,
        pfs_group: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["dh_group", b"dh_group", "ike_encryption", b"ike_encryption", "ike_integrity", b"ike_integrity", "ipsec_encryption", b"ipsec_encryption", "ipsec_integrity", b"ipsec_integrity", "pfs_group", b"pfs_group", "sa_data_size_kilobytes", b"sa_data_size_kilobytes", "sa_life_time_seconds", b"sa_life_time_seconds"]) -> None: ...

global___IpsecPolicy = IpsecPolicy

@typing_extensions.final
class AzureFirewalls(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
    APPLICATION_RULE_COLLECTIONS_FIELD_NUMBER: builtins.int
    NETWORK_RULE_COLLECTIONS_FIELD_NUMBER: builtins.int
    IP_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    PROVISIONING_STATE_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 application_rule_collections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AzureFirewallApplicationRuleCollection]: ...
    @property
    def network_rule_collections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AzureFirewallNetworkRuleCollection]: ...
    @property
    def ip_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AzureFirewallIPConfiguration]: ...
    provisioning_state: builtins.str
    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 = ...,
        application_rule_collections: collections.abc.Iterable[global___AzureFirewallApplicationRuleCollection] | None = ...,
        network_rule_collections: collections.abc.Iterable[global___AzureFirewallNetworkRuleCollection] | None = ...,
        ip_configurations: collections.abc.Iterable[global___AzureFirewallIPConfiguration] | None = ...,
        provisioning_state: 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["application_rule_collections", b"application_rule_collections", "ip_configurations", b"ip_configurations", "location", b"location", "name", b"name", "network_rule_collections", b"network_rule_collections", "provisioning_state", b"provisioning_state", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___AzureFirewalls = AzureFirewalls

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

    PRIVATE_IP_ADDRESS_FIELD_NUMBER: builtins.int
    SUBNET_FIELD_NUMBER: builtins.int
    INTERNAL_PUBLIC_IP_ADDRESS_FIELD_NUMBER: builtins.int
    PUBLIC_IP_ADDRESS_FIELD_NUMBER: builtins.int
    PROVISIONING_STATE_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ETAG_FIELD_NUMBER: builtins.int
    private_ip_address: builtins.str
    subnet: builtins.str
    internal_public_ip_address: builtins.str
    public_ip_address: builtins.str
    provisioning_state: builtins.str
    name: builtins.str
    etag: builtins.str
    def __init__(
        self,
        *,
        private_ip_address: builtins.str = ...,
        subnet: builtins.str = ...,
        internal_public_ip_address: builtins.str = ...,
        public_ip_address: builtins.str = ...,
        provisioning_state: builtins.str = ...,
        name: builtins.str = ...,
        etag: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["etag", b"etag", "internal_public_ip_address", b"internal_public_ip_address", "name", b"name", "private_ip_address", b"private_ip_address", "provisioning_state", b"provisioning_state", "public_ip_address", b"public_ip_address", "subnet", b"subnet"]) -> None: ...

global___AzureFirewallIPConfiguration = AzureFirewallIPConfiguration

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

    PRIORITY_FIELD_NUMBER: builtins.int
    ACTION_FIELD_NUMBER: builtins.int
    RULES_FIELD_NUMBER: builtins.int
    PROVISIONING_STATE_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    priority: builtins.int
    @property
    def action(self) -> global___AzureFirewallRCAction: ...
    @property
    def rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AzureFirewallNetworkRule]: ...
    provisioning_state: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        priority: builtins.int = ...,
        action: global___AzureFirewallRCAction | None = ...,
        rules: collections.abc.Iterable[global___AzureFirewallNetworkRule] | None = ...,
        provisioning_state: builtins.str = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["action", b"action"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["action", b"action", "name", b"name", "priority", b"priority", "provisioning_state", b"provisioning_state", "rules", b"rules"]) -> None: ...

global___AzureFirewallNetworkRuleCollection = AzureFirewallNetworkRuleCollection

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

    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    PROTOCOLS_FIELD_NUMBER: builtins.int
    SOURCE_ADDRESSES_FIELD_NUMBER: builtins.int
    DESTINATION_ADDRESSES_FIELD_NUMBER: builtins.int
    DESTINATION_PORTS_FIELD_NUMBER: builtins.int
    name: builtins.str
    description: builtins.str
    @property
    def protocols(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def source_addresses(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def destination_addresses(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def destination_ports(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        description: builtins.str = ...,
        protocols: collections.abc.Iterable[builtins.str] | None = ...,
        source_addresses: collections.abc.Iterable[builtins.str] | None = ...,
        destination_addresses: collections.abc.Iterable[builtins.str] | None = ...,
        destination_ports: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "destination_addresses", b"destination_addresses", "destination_ports", b"destination_ports", "name", b"name", "protocols", b"protocols", "source_addresses", b"source_addresses"]) -> None: ...

global___AzureFirewallNetworkRule = AzureFirewallNetworkRule

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

    PRIORITY_FIELD_NUMBER: builtins.int
    ACTION_FIELD_NUMBER: builtins.int
    RULES_FIELD_NUMBER: builtins.int
    PROVISIONING_STATE_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    priority: builtins.int
    @property
    def action(self) -> global___AzureFirewallRCAction: ...
    @property
    def rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AzureFirewallApplicationRule]: ...
    provisioning_state: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        priority: builtins.int = ...,
        action: global___AzureFirewallRCAction | None = ...,
        rules: collections.abc.Iterable[global___AzureFirewallApplicationRule] | None = ...,
        provisioning_state: builtins.str = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["action", b"action"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["action", b"action", "name", b"name", "priority", b"priority", "provisioning_state", b"provisioning_state", "rules", b"rules"]) -> None: ...

global___AzureFirewallApplicationRuleCollection = AzureFirewallApplicationRuleCollection

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

    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    SOURCE_ADDRESSES_FIELD_NUMBER: builtins.int
    PROTOCOLS_FIELD_NUMBER: builtins.int
    TARGET_URLS_FIELD_NUMBER: builtins.int
    name: builtins.str
    description: builtins.str
    @property
    def source_addresses(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def protocols(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AzureFirewallApplicationRuleProtocol]: ...
    @property
    def target_urls(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        description: builtins.str = ...,
        source_addresses: collections.abc.Iterable[builtins.str] | None = ...,
        protocols: collections.abc.Iterable[global___AzureFirewallApplicationRuleProtocol] | None = ...,
        target_urls: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "name", b"name", "protocols", b"protocols", "source_addresses", b"source_addresses", "target_urls", b"target_urls"]) -> None: ...

global___AzureFirewallApplicationRule = AzureFirewallApplicationRule

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

    PROTOCOL_TYPE_FIELD_NUMBER: builtins.int
    PORT_FIELD_NUMBER: builtins.int
    protocol_type: builtins.str
    port: builtins.int
    def __init__(
        self,
        *,
        protocol_type: builtins.str = ...,
        port: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["port", b"port", "protocol_type", b"protocol_type"]) -> None: ...

global___AzureFirewallApplicationRuleProtocol = AzureFirewallApplicationRuleProtocol

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

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

global___AzureFirewallRCAction = AzureFirewallRCAction

@typing_extensions.final
class ApplicationSecurityGroups(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
    @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]: ...
    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 = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["location", b"location", "name", b"name", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___ApplicationSecurityGroups = ApplicationSecurityGroups
