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

    APPLICATION_GATEWAY_WEB_APPLICATION_FIREWALL_POLICIES_FIELD_NUMBER: builtins.int
    APPLICATION_SECURITY_GROUPS_FIELD_NUMBER: builtins.int
    AZURE_FIREWALLS_FIELD_NUMBER: builtins.int
    BASTION_HOSTS_FIELD_NUMBER: builtins.int
    CONNECTIONS_FIELD_NUMBER: builtins.int
    CUSTOM_IP_PREFIXES_FIELD_NUMBER: builtins.int
    DDOS_CUSTOM_POLICIES_FIELD_NUMBER: builtins.int
    DDOS_PROTECTION_PLANS_FIELD_NUMBER: builtins.int
    DSCP_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    EXPRESS_ROUTE_CIRCUITS_FIELD_NUMBER: builtins.int
    EXPRESS_ROUTE_CROSS_CONNECTIONS_FIELD_NUMBER: builtins.int
    EXPRESS_ROUTE_GATEWAYS_FIELD_NUMBER: builtins.int
    EXPRESS_ROUTE_PORTS_FIELD_NUMBER: builtins.int
    IP_ALLOCATIONS_FIELD_NUMBER: builtins.int
    IP_GROUPS_FIELD_NUMBER: builtins.int
    LOCAL_NETWORK_GATEWAYS_FIELD_NUMBER: builtins.int
    NAT_GATEWAYS_FIELD_NUMBER: builtins.int
    NETWORK_INTERFACES_FIELD_NUMBER: builtins.int
    NETWORK_PROFILES_FIELD_NUMBER: builtins.int
    NETWORK_VIRTUAL_APPLIANCES_FIELD_NUMBER: builtins.int
    NETWORK_WATCHERS_FIELD_NUMBER: builtins.int
    P2SVPN_GATEWAYS_FIELD_NUMBER: builtins.int
    PUBLIC_IP_ADDRESSES_FIELD_NUMBER: builtins.int
    PUBLIC_IP_PREFIXES_FIELD_NUMBER: builtins.int
    ROUTE_FILTERS_FIELD_NUMBER: builtins.int
    ROUTE_FILTERS_ROUTE_FILTER_RULES_FIELD_NUMBER: builtins.int
    SECURITY_PARTNER_PROVIDERS_FIELD_NUMBER: builtins.int
    SERVICE_ENDPOINT_POLICIES_FIELD_NUMBER: builtins.int
    SERVICE_ENDPOINT_POLICIES_SERVICE_ENDPOINT_POLICY_DEFINITIONS_FIELD_NUMBER: builtins.int
    VIRTUAL_HUBS_FIELD_NUMBER: builtins.int
    VIRTUAL_NETWORK_GATEWAYS_FIELD_NUMBER: builtins.int
    VIRTUAL_NETWORK_TAPS_FIELD_NUMBER: builtins.int
    VIRTUAL_ROUTERS_FIELD_NUMBER: builtins.int
    VIRTUAL_WANS_FIELD_NUMBER: builtins.int
    VPN_GATEWAYS_FIELD_NUMBER: builtins.int
    VPN_GATEWAYS_VPN_CONNECTIONS_FIELD_NUMBER: builtins.int
    VPN_SERVER_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    VPN_SITES_FIELD_NUMBER: builtins.int
    @property
    def application_gateway_web_application_firewall_policies(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ApplicationGatewayWebApplicationFirewallPolicies]: ...
    @property
    def application_security_groups(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ApplicationSecurityGroups]: ...
    @property
    def azure_firewalls(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AzureFirewalls]: ...
    @property
    def bastion_hosts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BastionHosts]: ...
    @property
    def connections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Connections]: ...
    @property
    def custom_ip_prefixes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CustomIpPrefixes]: ...
    @property
    def ddos_custom_policies(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DdosCustomPolicies]: ...
    @property
    def ddos_protection_plans(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DdosProtectionPlans]: ...
    @property
    def dscp_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DscpConfigurations]: ...
    @property
    def express_route_circuits(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExpressRouteCircuits]: ...
    @property
    def express_route_cross_connections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExpressRouteCrossConnections]: ...
    @property
    def express_route_gateways(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExpressRouteGateways]: ...
    @property
    def express_route_ports(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExpressRoutePorts]: ...
    @property
    def ip_allocations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IpAllocations]: ...
    @property
    def ip_groups(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IpGroups]: ...
    @property
    def local_network_gateways(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LocalNetworkGateways]: ...
    @property
    def nat_gateways(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NatGateways]: ...
    @property
    def network_interfaces(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkInterfaces]: ...
    @property
    def network_profiles(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkProfiles]: ...
    @property
    def network_virtual_appliances(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkVirtualAppliances]: ...
    @property
    def network_watchers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkWatchers]: ...
    @property
    def p2svpn_gateways(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___P2svpnGateways]: ...
    @property
    def public_ip_addresses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PublicIPAddresses]: ...
    @property
    def public_ip_prefixes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PublicIPPrefixes]: ...
    @property
    def route_filters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RouteFilters]: ...
    @property
    def route_filters_route_filter_rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RouteFiltersRouteFilterRules]: ...
    @property
    def security_partner_providers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SecurityPartnerProviders]: ...
    @property
    def service_endpoint_policies(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ServiceEndpointPolicies]: ...
    @property
    def service_endpoint_policies_service_endpoint_policy_definitions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ServiceEndpointPoliciesServiceEndpointPolicyDefinitions]: ...
    @property
    def virtual_hubs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VirtualHubs]: ...
    @property
    def virtual_network_gateways(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VirtualNetworkGateways]: ...
    @property
    def virtual_network_taps(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VirtualNetworkTaps]: ...
    @property
    def virtual_routers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VirtualRouters]: ...
    @property
    def virtual_wans(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VirtualWans]: ...
    @property
    def vpn_gateways(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VpnGateways]: ...
    @property
    def vpn_gateways_vpn_connections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VpnGatewaysVpnConnections]: ...
    @property
    def vpn_server_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VpnServerConfigurations]: ...
    @property
    def vpn_sites(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VpnSites]: ...
    def __init__(
        self,
        *,
        application_gateway_web_application_firewall_policies: collections.abc.Iterable[global___ApplicationGatewayWebApplicationFirewallPolicies] | None = ...,
        application_security_groups: collections.abc.Iterable[global___ApplicationSecurityGroups] | None = ...,
        azure_firewalls: collections.abc.Iterable[global___AzureFirewalls] | None = ...,
        bastion_hosts: collections.abc.Iterable[global___BastionHosts] | None = ...,
        connections: collections.abc.Iterable[global___Connections] | None = ...,
        custom_ip_prefixes: collections.abc.Iterable[global___CustomIpPrefixes] | None = ...,
        ddos_custom_policies: collections.abc.Iterable[global___DdosCustomPolicies] | None = ...,
        ddos_protection_plans: collections.abc.Iterable[global___DdosProtectionPlans] | None = ...,
        dscp_configurations: collections.abc.Iterable[global___DscpConfigurations] | None = ...,
        express_route_circuits: collections.abc.Iterable[global___ExpressRouteCircuits] | None = ...,
        express_route_cross_connections: collections.abc.Iterable[global___ExpressRouteCrossConnections] | None = ...,
        express_route_gateways: collections.abc.Iterable[global___ExpressRouteGateways] | None = ...,
        express_route_ports: collections.abc.Iterable[global___ExpressRoutePorts] | None = ...,
        ip_allocations: collections.abc.Iterable[global___IpAllocations] | None = ...,
        ip_groups: collections.abc.Iterable[global___IpGroups] | None = ...,
        local_network_gateways: collections.abc.Iterable[global___LocalNetworkGateways] | None = ...,
        nat_gateways: collections.abc.Iterable[global___NatGateways] | None = ...,
        network_interfaces: collections.abc.Iterable[global___NetworkInterfaces] | None = ...,
        network_profiles: collections.abc.Iterable[global___NetworkProfiles] | None = ...,
        network_virtual_appliances: collections.abc.Iterable[global___NetworkVirtualAppliances] | None = ...,
        network_watchers: collections.abc.Iterable[global___NetworkWatchers] | None = ...,
        p2svpn_gateways: collections.abc.Iterable[global___P2svpnGateways] | None = ...,
        public_ip_addresses: collections.abc.Iterable[global___PublicIPAddresses] | None = ...,
        public_ip_prefixes: collections.abc.Iterable[global___PublicIPPrefixes] | None = ...,
        route_filters: collections.abc.Iterable[global___RouteFilters] | None = ...,
        route_filters_route_filter_rules: collections.abc.Iterable[global___RouteFiltersRouteFilterRules] | None = ...,
        security_partner_providers: collections.abc.Iterable[global___SecurityPartnerProviders] | None = ...,
        service_endpoint_policies: collections.abc.Iterable[global___ServiceEndpointPolicies] | None = ...,
        service_endpoint_policies_service_endpoint_policy_definitions: collections.abc.Iterable[global___ServiceEndpointPoliciesServiceEndpointPolicyDefinitions] | None = ...,
        virtual_hubs: collections.abc.Iterable[global___VirtualHubs] | None = ...,
        virtual_network_gateways: collections.abc.Iterable[global___VirtualNetworkGateways] | None = ...,
        virtual_network_taps: collections.abc.Iterable[global___VirtualNetworkTaps] | None = ...,
        virtual_routers: collections.abc.Iterable[global___VirtualRouters] | None = ...,
        virtual_wans: collections.abc.Iterable[global___VirtualWans] | None = ...,
        vpn_gateways: collections.abc.Iterable[global___VpnGateways] | None = ...,
        vpn_gateways_vpn_connections: collections.abc.Iterable[global___VpnGatewaysVpnConnections] | None = ...,
        vpn_server_configurations: collections.abc.Iterable[global___VpnServerConfigurations] | None = ...,
        vpn_sites: collections.abc.Iterable[global___VpnSites] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["application_gateway_web_application_firewall_policies", b"application_gateway_web_application_firewall_policies", "application_security_groups", b"application_security_groups", "azure_firewalls", b"azure_firewalls", "bastion_hosts", b"bastion_hosts", "connections", b"connections", "custom_ip_prefixes", b"custom_ip_prefixes", "ddos_custom_policies", b"ddos_custom_policies", "ddos_protection_plans", b"ddos_protection_plans", "dscp_configurations", b"dscp_configurations", "express_route_circuits", b"express_route_circuits", "express_route_cross_connections", b"express_route_cross_connections", "express_route_gateways", b"express_route_gateways", "express_route_ports", b"express_route_ports", "ip_allocations", b"ip_allocations", "ip_groups", b"ip_groups", "local_network_gateways", b"local_network_gateways", "nat_gateways", b"nat_gateways", "network_interfaces", b"network_interfaces", "network_profiles", b"network_profiles", "network_virtual_appliances", b"network_virtual_appliances", "network_watchers", b"network_watchers", "p2svpn_gateways", b"p2svpn_gateways", "public_ip_addresses", b"public_ip_addresses", "public_ip_prefixes", b"public_ip_prefixes", "route_filters", b"route_filters", "route_filters_route_filter_rules", b"route_filters_route_filter_rules", "security_partner_providers", b"security_partner_providers", "service_endpoint_policies", b"service_endpoint_policies", "service_endpoint_policies_service_endpoint_policy_definitions", b"service_endpoint_policies_service_endpoint_policy_definitions", "virtual_hubs", b"virtual_hubs", "virtual_network_gateways", b"virtual_network_gateways", "virtual_network_taps", b"virtual_network_taps", "virtual_routers", b"virtual_routers", "virtual_wans", b"virtual_wans", "vpn_gateways", b"vpn_gateways", "vpn_gateways_vpn_connections", b"vpn_gateways_vpn_connections", "vpn_server_configurations", b"vpn_server_configurations", "vpn_sites", b"vpn_sites"]) -> None: ...

global___Microsoft_Network = Microsoft_Network

@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_WAN_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
    IS_SECURITY_SITE_FIELD_NUMBER: builtins.int
    VPN_SITE_LINKS_FIELD_NUMBER: builtins.int
    O365_POLICY_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 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: ...
    is_security_site: builtins.bool
    @property
    def vpn_site_links(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VpnSiteLink]: ...
    @property
    def o365_policy(self) -> global___O365PolicyProperties: ...
    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 = ...,
        device_properties: global___DeviceProperties | None = ...,
        ip_address: builtins.str = ...,
        site_key: builtins.str = ...,
        address_space: global___AddressSpace | None = ...,
        bgp_properties: global___BgpSettings | None = ...,
        is_security_site: builtins.bool = ...,
        vpn_site_links: collections.abc.Iterable[global___VpnSiteLink] | None = ...,
        o365_policy: global___O365PolicyProperties | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["address_space", b"address_space", "bgp_properties", b"bgp_properties", "device_properties", b"device_properties", "o365_policy", b"o365_policy", "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", "is_security_site", b"is_security_site", "location", b"location", "name", b"name", "o365_policy", b"o365_policy", "resource_info", b"resource_info", "site_key", b"site_key", "tags", b"tags", "virtual_wan", b"virtual_wan", "vpn_site_links", b"vpn_site_links"]) -> None: ...

global___VpnSites = VpnSites

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

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

global___O365PolicyProperties = O365PolicyProperties

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

    ALLOW_FIELD_NUMBER: builtins.int
    OPTIMIZE_FIELD_NUMBER: builtins.int
    DEFAULT_FIELD_NUMBER: builtins.int
    allow: builtins.bool
    optimize: builtins.bool
    default: builtins.bool
    def __init__(
        self,
        *,
        allow: builtins.bool = ...,
        optimize: builtins.bool = ...,
        default: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow", b"allow", "default", b"default", "optimize", b"optimize"]) -> None: ...

global___O365BreakOutCategoryPolicies = O365BreakOutCategoryPolicies

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

    LINK_PROPERTIES_FIELD_NUMBER: builtins.int
    IP_ADDRESS_FIELD_NUMBER: builtins.int
    FQDN_FIELD_NUMBER: builtins.int
    BGP_PROPERTIES_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    @property
    def link_properties(self) -> global___VpnLinkProviderProperties: ...
    ip_address: builtins.str
    fqdn: builtins.str
    @property
    def bgp_properties(self) -> global___VpnLinkBgpSettings: ...
    name: builtins.str
    def __init__(
        self,
        *,
        link_properties: global___VpnLinkProviderProperties | None = ...,
        ip_address: builtins.str = ...,
        fqdn: builtins.str = ...,
        bgp_properties: global___VpnLinkBgpSettings | None = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["bgp_properties", b"bgp_properties", "link_properties", b"link_properties"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bgp_properties", b"bgp_properties", "fqdn", b"fqdn", "ip_address", b"ip_address", "link_properties", b"link_properties", "name", b"name"]) -> None: ...

global___VpnSiteLink = VpnSiteLink

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

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

global___VpnLinkBgpSettings = VpnLinkBgpSettings

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

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

global___VpnLinkProviderProperties = VpnLinkProviderProperties

@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 VpnServerConfigurations(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
    VPN_PROTOCOLS_FIELD_NUMBER: builtins.int
    VPN_AUTHENTICATION_TYPES_FIELD_NUMBER: builtins.int
    VPN_CLIENT_ROOT_CERTIFICATES_FIELD_NUMBER: builtins.int
    VPN_CLIENT_REVOKED_CERTIFICATES_FIELD_NUMBER: builtins.int
    RADIUS_SERVER_ROOT_CERTIFICATES_FIELD_NUMBER: builtins.int
    RADIUS_CLIENT_ROOT_CERTIFICATES_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
    RADIUS_SERVERS_FIELD_NUMBER: builtins.int
    AAD_AUTHENTICATION_PARAMETERS_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 vpn_protocols(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def vpn_authentication_types(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def vpn_client_root_certificates(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VpnServerConfigVpnClientRootCertificate]: ...
    @property
    def vpn_client_revoked_certificates(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VpnServerConfigVpnClientRevokedCertificate]: ...
    @property
    def radius_server_root_certificates(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VpnServerConfigRadiusServerRootCertificate]: ...
    @property
    def radius_client_root_certificates(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VpnServerConfigRadiusClientRootCertificate]: ...
    @property
    def vpn_client_ipsec_policies(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IpsecPolicy]: ...
    radius_server_address: builtins.str
    radius_server_secret: builtins.str
    @property
    def radius_servers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RadiusServer]: ...
    @property
    def aad_authentication_parameters(self) -> global___AadAuthenticationParameters: ...
    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 = ...,
        vpn_protocols: collections.abc.Iterable[builtins.str] | None = ...,
        vpn_authentication_types: collections.abc.Iterable[builtins.str] | None = ...,
        vpn_client_root_certificates: collections.abc.Iterable[global___VpnServerConfigVpnClientRootCertificate] | None = ...,
        vpn_client_revoked_certificates: collections.abc.Iterable[global___VpnServerConfigVpnClientRevokedCertificate] | None = ...,
        radius_server_root_certificates: collections.abc.Iterable[global___VpnServerConfigRadiusServerRootCertificate] | None = ...,
        radius_client_root_certificates: collections.abc.Iterable[global___VpnServerConfigRadiusClientRootCertificate] | None = ...,
        vpn_client_ipsec_policies: collections.abc.Iterable[global___IpsecPolicy] | None = ...,
        radius_server_address: builtins.str = ...,
        radius_server_secret: builtins.str = ...,
        radius_servers: collections.abc.Iterable[global___RadiusServer] | None = ...,
        aad_authentication_parameters: global___AadAuthenticationParameters | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["aad_authentication_parameters", b"aad_authentication_parameters", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["aad_authentication_parameters", b"aad_authentication_parameters", "location", b"location", "name", b"name", "radius_client_root_certificates", b"radius_client_root_certificates", "radius_server_address", b"radius_server_address", "radius_server_root_certificates", b"radius_server_root_certificates", "radius_server_secret", b"radius_server_secret", "radius_servers", b"radius_servers", "resource_info", b"resource_info", "tags", b"tags", "vpn_authentication_types", b"vpn_authentication_types", "vpn_client_ipsec_policies", b"vpn_client_ipsec_policies", "vpn_client_revoked_certificates", b"vpn_client_revoked_certificates", "vpn_client_root_certificates", b"vpn_client_root_certificates", "vpn_protocols", b"vpn_protocols"]) -> None: ...

global___VpnServerConfigurations = VpnServerConfigurations

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

    AAD_TENANT_FIELD_NUMBER: builtins.int
    AAD_AUDIENCE_FIELD_NUMBER: builtins.int
    AAD_ISSUER_FIELD_NUMBER: builtins.int
    aad_tenant: builtins.str
    aad_audience: builtins.str
    aad_issuer: builtins.str
    def __init__(
        self,
        *,
        aad_tenant: builtins.str = ...,
        aad_audience: builtins.str = ...,
        aad_issuer: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["aad_audience", b"aad_audience", "aad_issuer", b"aad_issuer", "aad_tenant", b"aad_tenant"]) -> None: ...

global___AadAuthenticationParameters = AadAuthenticationParameters

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

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

global___VpnServerConfigRadiusClientRootCertificate = VpnServerConfigRadiusClientRootCertificate

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

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

global___VpnServerConfigRadiusServerRootCertificate = VpnServerConfigRadiusServerRootCertificate

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

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

global___VpnServerConfigVpnClientRevokedCertificate = VpnServerConfigVpnClientRevokedCertificate

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

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

global___VpnServerConfigVpnClientRootCertificate = VpnServerConfigVpnClientRootCertificate

@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
    DPD_TIMEOUT_SECONDS_FIELD_NUMBER: builtins.int
    CONNECTION_STATUS_FIELD_NUMBER: builtins.int
    VPN_CONNECTION_PROTOCOL_TYPE_FIELD_NUMBER: builtins.int
    CONNECTION_BANDWIDTH_FIELD_NUMBER: builtins.int
    SHARED_KEY_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
    TRAFFIC_SELECTOR_POLICIES_FIELD_NUMBER: builtins.int
    ENABLE_RATE_LIMITING_FIELD_NUMBER: builtins.int
    ENABLE_INTERNET_SECURITY_FIELD_NUMBER: builtins.int
    USE_LOCAL_AZURE_IP_ADDRESS_FIELD_NUMBER: builtins.int
    VPN_LINK_CONNECTIONS_FIELD_NUMBER: builtins.int
    ROUTING_CONFIGURATION_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
    dpd_timeout_seconds: builtins.int
    connection_status: builtins.str
    vpn_connection_protocol_type: builtins.str
    connection_bandwidth: builtins.int
    shared_key: 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]: ...
    @property
    def traffic_selector_policies(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TrafficSelectorPolicy]: ...
    enable_rate_limiting: builtins.bool
    enable_internet_security: builtins.bool
    use_local_azure_ip_address: builtins.bool
    @property
    def vpn_link_connections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VpnSiteLinkConnection]: ...
    @property
    def routing_configuration(self) -> global___RoutingConfiguration: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        remote_vpn_site: builtins.str = ...,
        routing_weight: builtins.int = ...,
        dpd_timeout_seconds: builtins.int = ...,
        connection_status: builtins.str = ...,
        vpn_connection_protocol_type: builtins.str = ...,
        connection_bandwidth: builtins.int = ...,
        shared_key: builtins.str = ...,
        enable_bgp: builtins.bool = ...,
        use_policy_based_traffic_selectors: builtins.bool = ...,
        ipsec_policies: collections.abc.Iterable[global___IpsecPolicy] | None = ...,
        traffic_selector_policies: collections.abc.Iterable[global___TrafficSelectorPolicy] | None = ...,
        enable_rate_limiting: builtins.bool = ...,
        enable_internet_security: builtins.bool = ...,
        use_local_azure_ip_address: builtins.bool = ...,
        vpn_link_connections: collections.abc.Iterable[global___VpnSiteLinkConnection] | None = ...,
        routing_configuration: global___RoutingConfiguration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "routing_configuration", b"routing_configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["connection_bandwidth", b"connection_bandwidth", "connection_status", b"connection_status", "dpd_timeout_seconds", b"dpd_timeout_seconds", "enable_bgp", b"enable_bgp", "enable_internet_security", b"enable_internet_security", "enable_rate_limiting", b"enable_rate_limiting", "ipsec_policies", b"ipsec_policies", "name", b"name", "remote_vpn_site", b"remote_vpn_site", "resource_info", b"resource_info", "routing_configuration", b"routing_configuration", "routing_weight", b"routing_weight", "shared_key", b"shared_key", "traffic_selector_policies", b"traffic_selector_policies", "use_local_azure_ip_address", b"use_local_azure_ip_address", "use_policy_based_traffic_selectors", b"use_policy_based_traffic_selectors", "vpn_connection_protocol_type", b"vpn_connection_protocol_type", "vpn_link_connections", b"vpn_link_connections"]) -> None: ...

global___VpnGatewaysVpnConnections = VpnGatewaysVpnConnections

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    MODE_FIELD_NUMBER: builtins.int
    INTERNAL_MAPPINGS_FIELD_NUMBER: builtins.int
    EXTERNAL_MAPPINGS_FIELD_NUMBER: builtins.int
    IP_CONFIGURATION_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    type: builtins.str
    mode: builtins.str
    @property
    def internal_mappings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VpnNatRuleMapping]: ...
    @property
    def external_mappings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VpnNatRuleMapping]: ...
    ip_configuration_id: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        type: builtins.str = ...,
        mode: builtins.str = ...,
        internal_mappings: collections.abc.Iterable[global___VpnNatRuleMapping] | None = ...,
        external_mappings: collections.abc.Iterable[global___VpnNatRuleMapping] | None = ...,
        ip_configuration_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["external_mappings", b"external_mappings", "internal_mappings", b"internal_mappings", "ip_configuration_id", b"ip_configuration_id", "mode", b"mode", "name", b"name", "resource_info", b"resource_info", "type", b"type"]) -> None: ...

global___VpnGatewaysNatRules = VpnGatewaysNatRules

@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
    VPN_GATEWAY_SCALE_UNIT_FIELD_NUMBER: builtins.int
    IS_ROUTING_PREFERENCE_INTERNET_FIELD_NUMBER: builtins.int
    NAT_RULES_FIELD_NUMBER: builtins.int
    VPN_GATEWAYS_NAT_RULES_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: ...
    vpn_gateway_scale_unit: builtins.int
    is_routing_preference_internet: builtins.bool
    @property
    def nat_rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VpnGatewayNatRule]: ...
    @property
    def vpn_gateways_nat_rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VpnGatewaysNatRules]: ...
    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 = ...,
        vpn_gateway_scale_unit: builtins.int = ...,
        is_routing_preference_internet: builtins.bool = ...,
        nat_rules: collections.abc.Iterable[global___VpnGatewayNatRule] | None = ...,
        vpn_gateways_nat_rules: collections.abc.Iterable[global___VpnGatewaysNatRules] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["bgp_settings", b"bgp_settings", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bgp_settings", b"bgp_settings", "connections", b"connections", "is_routing_preference_internet", b"is_routing_preference_internet", "location", b"location", "name", b"name", "nat_rules", b"nat_rules", "resource_info", b"resource_info", "tags", b"tags", "virtual_hub", b"virtual_hub", "vpn_gateway_scale_unit", b"vpn_gateway_scale_unit", "vpn_gateways_nat_rules", b"vpn_gateways_nat_rules"]) -> None: ...

global___VpnGateways = VpnGateways

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

    TYPE_FIELD_NUMBER: builtins.int
    MODE_FIELD_NUMBER: builtins.int
    INTERNAL_MAPPINGS_FIELD_NUMBER: builtins.int
    EXTERNAL_MAPPINGS_FIELD_NUMBER: builtins.int
    IP_CONFIGURATION_ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    type: builtins.str
    mode: builtins.str
    @property
    def internal_mappings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VpnNatRuleMapping]: ...
    @property
    def external_mappings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VpnNatRuleMapping]: ...
    ip_configuration_id: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        type: builtins.str = ...,
        mode: builtins.str = ...,
        internal_mappings: collections.abc.Iterable[global___VpnNatRuleMapping] | None = ...,
        external_mappings: collections.abc.Iterable[global___VpnNatRuleMapping] | None = ...,
        ip_configuration_id: builtins.str = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["external_mappings", b"external_mappings", "internal_mappings", b"internal_mappings", "ip_configuration_id", b"ip_configuration_id", "mode", b"mode", "name", b"name", "type", b"type"]) -> None: ...

global___VpnGatewayNatRule = VpnGatewayNatRule

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

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

global___VpnNatRuleMapping = VpnNatRuleMapping

@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
    DPD_TIMEOUT_SECONDS_FIELD_NUMBER: builtins.int
    CONNECTION_STATUS_FIELD_NUMBER: builtins.int
    VPN_CONNECTION_PROTOCOL_TYPE_FIELD_NUMBER: builtins.int
    CONNECTION_BANDWIDTH_FIELD_NUMBER: builtins.int
    SHARED_KEY_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
    TRAFFIC_SELECTOR_POLICIES_FIELD_NUMBER: builtins.int
    ENABLE_RATE_LIMITING_FIELD_NUMBER: builtins.int
    ENABLE_INTERNET_SECURITY_FIELD_NUMBER: builtins.int
    USE_LOCAL_AZURE_IP_ADDRESS_FIELD_NUMBER: builtins.int
    VPN_LINK_CONNECTIONS_FIELD_NUMBER: builtins.int
    ROUTING_CONFIGURATION_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    remote_vpn_site: builtins.str
    routing_weight: builtins.int
    dpd_timeout_seconds: builtins.int
    connection_status: builtins.str
    vpn_connection_protocol_type: builtins.str
    connection_bandwidth: builtins.int
    shared_key: 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]: ...
    @property
    def traffic_selector_policies(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TrafficSelectorPolicy]: ...
    enable_rate_limiting: builtins.bool
    enable_internet_security: builtins.bool
    use_local_azure_ip_address: builtins.bool
    @property
    def vpn_link_connections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VpnSiteLinkConnection]: ...
    @property
    def routing_configuration(self) -> global___RoutingConfiguration: ...
    name: builtins.str
    def __init__(
        self,
        *,
        remote_vpn_site: builtins.str = ...,
        routing_weight: builtins.int = ...,
        dpd_timeout_seconds: builtins.int = ...,
        connection_status: builtins.str = ...,
        vpn_connection_protocol_type: builtins.str = ...,
        connection_bandwidth: builtins.int = ...,
        shared_key: builtins.str = ...,
        enable_bgp: builtins.bool = ...,
        use_policy_based_traffic_selectors: builtins.bool = ...,
        ipsec_policies: collections.abc.Iterable[global___IpsecPolicy] | None = ...,
        traffic_selector_policies: collections.abc.Iterable[global___TrafficSelectorPolicy] | None = ...,
        enable_rate_limiting: builtins.bool = ...,
        enable_internet_security: builtins.bool = ...,
        use_local_azure_ip_address: builtins.bool = ...,
        vpn_link_connections: collections.abc.Iterable[global___VpnSiteLinkConnection] | None = ...,
        routing_configuration: global___RoutingConfiguration | None = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["routing_configuration", b"routing_configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["connection_bandwidth", b"connection_bandwidth", "connection_status", b"connection_status", "dpd_timeout_seconds", b"dpd_timeout_seconds", "enable_bgp", b"enable_bgp", "enable_internet_security", b"enable_internet_security", "enable_rate_limiting", b"enable_rate_limiting", "ipsec_policies", b"ipsec_policies", "name", b"name", "remote_vpn_site", b"remote_vpn_site", "routing_configuration", b"routing_configuration", "routing_weight", b"routing_weight", "shared_key", b"shared_key", "traffic_selector_policies", b"traffic_selector_policies", "use_local_azure_ip_address", b"use_local_azure_ip_address", "use_policy_based_traffic_selectors", b"use_policy_based_traffic_selectors", "vpn_connection_protocol_type", b"vpn_connection_protocol_type", "vpn_link_connections", b"vpn_link_connections"]) -> None: ...

global___VpnConnection = VpnConnection

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

    VPN_SITE_LINK_FIELD_NUMBER: builtins.int
    ROUTING_WEIGHT_FIELD_NUMBER: builtins.int
    VPN_LINK_CONNECTION_MODE_FIELD_NUMBER: builtins.int
    CONNECTION_STATUS_FIELD_NUMBER: builtins.int
    VPN_CONNECTION_PROTOCOL_TYPE_FIELD_NUMBER: builtins.int
    CONNECTION_BANDWIDTH_FIELD_NUMBER: builtins.int
    SHARED_KEY_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
    ENABLE_RATE_LIMITING_FIELD_NUMBER: builtins.int
    USE_LOCAL_AZURE_IP_ADDRESS_FIELD_NUMBER: builtins.int
    INGRESS_NAT_RULES_FIELD_NUMBER: builtins.int
    EGRESS_NAT_RULES_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    vpn_site_link: builtins.str
    routing_weight: builtins.int
    vpn_link_connection_mode: builtins.str
    connection_status: builtins.str
    vpn_connection_protocol_type: builtins.str
    connection_bandwidth: builtins.int
    shared_key: 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]: ...
    enable_rate_limiting: builtins.bool
    use_local_azure_ip_address: builtins.bool
    @property
    def ingress_nat_rules(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def egress_nat_rules(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    name: builtins.str
    def __init__(
        self,
        *,
        vpn_site_link: builtins.str = ...,
        routing_weight: builtins.int = ...,
        vpn_link_connection_mode: builtins.str = ...,
        connection_status: builtins.str = ...,
        vpn_connection_protocol_type: builtins.str = ...,
        connection_bandwidth: builtins.int = ...,
        shared_key: builtins.str = ...,
        enable_bgp: builtins.bool = ...,
        use_policy_based_traffic_selectors: builtins.bool = ...,
        ipsec_policies: collections.abc.Iterable[global___IpsecPolicy] | None = ...,
        enable_rate_limiting: builtins.bool = ...,
        use_local_azure_ip_address: builtins.bool = ...,
        ingress_nat_rules: collections.abc.Iterable[builtins.str] | None = ...,
        egress_nat_rules: collections.abc.Iterable[builtins.str] | None = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["connection_bandwidth", b"connection_bandwidth", "connection_status", b"connection_status", "egress_nat_rules", b"egress_nat_rules", "enable_bgp", b"enable_bgp", "enable_rate_limiting", b"enable_rate_limiting", "ingress_nat_rules", b"ingress_nat_rules", "ipsec_policies", b"ipsec_policies", "name", b"name", "routing_weight", b"routing_weight", "shared_key", b"shared_key", "use_local_azure_ip_address", b"use_local_azure_ip_address", "use_policy_based_traffic_selectors", b"use_policy_based_traffic_selectors", "vpn_connection_protocol_type", b"vpn_connection_protocol_type", "vpn_link_connection_mode", b"vpn_link_connection_mode", "vpn_site_link", b"vpn_site_link"]) -> None: ...

global___VpnSiteLinkConnection = VpnSiteLinkConnection

@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
    ALLOW_BRANCH_TO_BRANCH_TRAFFIC_FIELD_NUMBER: builtins.int
    ALLOW_VNET_TO_VNET_TRAFFIC_FIELD_NUMBER: builtins.int
    OFFICE365_LOCAL_BREAKOUT_CATEGORY_FIELD_NUMBER: builtins.int
    TYPE_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
    allow_branch_to_branch_traffic: builtins.bool
    allow_vnet_to_vnet_traffic: builtins.bool
    office365_local_breakout_category: builtins.str
    type: 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 = ...,
        allow_branch_to_branch_traffic: builtins.bool = ...,
        allow_vnet_to_vnet_traffic: builtins.bool = ...,
        office365_local_breakout_category: builtins.str = ...,
        type: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_branch_to_branch_traffic", b"allow_branch_to_branch_traffic", "allow_vnet_to_vnet_traffic", b"allow_vnet_to_vnet_traffic", "disable_vpn_encryption", b"disable_vpn_encryption", "location", b"location", "name", b"name", "office365_local_breakout_category", b"office365_local_breakout_category", "resource_info", b"resource_info", "tags", b"tags", "type", b"type"]) -> None: ...

global___VirtualWans = VirtualWans

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

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

global___VirtualRoutersPeerings = VirtualRoutersPeerings

@typing_extensions.final
class VirtualRouters(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_ROUTER_ASN_FIELD_NUMBER: builtins.int
    VIRTUAL_ROUTER_IPS_FIELD_NUMBER: builtins.int
    HOSTED_SUBNET_FIELD_NUMBER: builtins.int
    HOSTED_GATEWAY_FIELD_NUMBER: builtins.int
    VIRTUAL_ROUTERS_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]: ...
    virtual_router_asn: builtins.int
    @property
    def virtual_router_ips(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    hosted_subnet: builtins.str
    hosted_gateway: builtins.str
    @property
    def virtual_routers_peerings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VirtualRoutersPeerings]: ...
    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_router_asn: builtins.int = ...,
        virtual_router_ips: collections.abc.Iterable[builtins.str] | None = ...,
        hosted_subnet: builtins.str = ...,
        hosted_gateway: builtins.str = ...,
        virtual_routers_peerings: collections.abc.Iterable[global___VirtualRoutersPeerings] | 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["hosted_gateway", b"hosted_gateway", "hosted_subnet", b"hosted_subnet", "location", b"location", "name", b"name", "resource_info", b"resource_info", "tags", b"tags", "virtual_router_asn", b"virtual_router_asn", "virtual_router_ips", b"virtual_router_ips", "virtual_routers_peerings", b"virtual_routers_peerings"]) -> None: ...

global___VirtualRouters = VirtualRouters

@typing_extensions.final
class VirtualNetworkTaps(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
    DESTINATION_NETWORK_INTERFACE_IP_CONFIGURATION_FIELD_NUMBER: builtins.int
    DESTINATION_LOAD_BALANCER_FRONT_END_IP_CONFIGURATION_FIELD_NUMBER: builtins.int
    DESTINATION_PORT_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]: ...
    destination_network_interface_ip_configuration: builtins.str
    destination_load_balancer_front_end_ip_configuration: builtins.str
    destination_port: 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 = ...,
        destination_network_interface_ip_configuration: builtins.str = ...,
        destination_load_balancer_front_end_ip_configuration: builtins.str = ...,
        destination_port: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["destination_load_balancer_front_end_ip_configuration", b"destination_load_balancer_front_end_ip_configuration", "destination_network_interface_ip_configuration", b"destination_network_interface_ip_configuration", "destination_port", b"destination_port", "location", b"location", "name", b"name", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___VirtualNetworkTaps = VirtualNetworkTaps

@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
    VPN_GATEWAY_GENERATION_FIELD_NUMBER: builtins.int
    ENABLE_BGP_FIELD_NUMBER: builtins.int
    ENABLE_PRIVATE_IP_ADDRESS_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
    CUSTOM_ROUTES_FIELD_NUMBER: builtins.int
    ENABLE_DNS_FORWARDING_FIELD_NUMBER: builtins.int
    V_NET_EXTENDED_LOCATION_RESOURCE_ID_FIELD_NUMBER: builtins.int
    VIRTUAL_NETWORK_EXTENDED_LOCATION_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
    vpn_gateway_generation: builtins.str
    enable_bgp: builtins.bool
    enable_private_ip_address: 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: ...
    @property
    def custom_routes(self) -> global___AddressSpace: ...
    enable_dns_forwarding: builtins.bool
    v_net_extended_location_resource_id: builtins.str
    @property
    def virtual_network_extended_location(self) -> global___ExtendedLocation: ...
    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 = ...,
        vpn_gateway_generation: builtins.str = ...,
        enable_bgp: builtins.bool = ...,
        enable_private_ip_address: 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 = ...,
        custom_routes: global___AddressSpace | None = ...,
        enable_dns_forwarding: builtins.bool = ...,
        v_net_extended_location_resource_id: builtins.str = ...,
        virtual_network_extended_location: global___ExtendedLocation | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["bgp_settings", b"bgp_settings", "custom_routes", b"custom_routes", "resource_info", b"resource_info", "sku", b"sku", "virtual_network_extended_location", b"virtual_network_extended_location", "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", "custom_routes", b"custom_routes", "enable_bgp", b"enable_bgp", "enable_dns_forwarding", b"enable_dns_forwarding", "enable_private_ip_address", b"enable_private_ip_address", "gateway_default_site", b"gateway_default_site", "gateway_type", b"gateway_type", "ip_configurations", b"ip_configurations", "location", b"location", "name", b"name", "resource_info", b"resource_info", "sku", b"sku", "tags", b"tags", "v_net_extended_location_resource_id", b"v_net_extended_location_resource_id", "virtual_network_extended_location", b"virtual_network_extended_location", "vpn_client_configuration", b"vpn_client_configuration", "vpn_gateway_generation", b"vpn_gateway_generation", "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_AUTHENTICATION_TYPES_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
    RADIUS_SERVERS_FIELD_NUMBER: builtins.int
    AAD_TENANT_FIELD_NUMBER: builtins.int
    AAD_AUDIENCE_FIELD_NUMBER: builtins.int
    AAD_ISSUER_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_authentication_types(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
    @property
    def radius_servers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RadiusServer]: ...
    aad_tenant: builtins.str
    aad_audience: builtins.str
    aad_issuer: 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_authentication_types: 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 = ...,
        radius_servers: collections.abc.Iterable[global___RadiusServer] | None = ...,
        aad_tenant: builtins.str = ...,
        aad_audience: builtins.str = ...,
        aad_issuer: 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["aad_audience", b"aad_audience", "aad_issuer", b"aad_issuer", "aad_tenant", b"aad_tenant", "radius_server_address", b"radius_server_address", "radius_server_secret", b"radius_server_secret", "radius_servers", b"radius_servers", "vpn_authentication_types", b"vpn_authentication_types", "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 RadiusServer(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RADIUS_SERVER_ADDRESS_FIELD_NUMBER: builtins.int
    RADIUS_SERVER_SCORE_FIELD_NUMBER: builtins.int
    RADIUS_SERVER_SECRET_FIELD_NUMBER: builtins.int
    radius_server_address: builtins.str
    radius_server_score: builtins.int
    radius_server_secret: builtins.str
    def __init__(
        self,
        *,
        radius_server_address: builtins.str = ...,
        radius_server_score: builtins.int = ...,
        radius_server_secret: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["radius_server_address", b"radius_server_address", "radius_server_score", b"radius_server_score", "radius_server_secret", b"radius_server_secret"]) -> None: ...

global___RadiusServer = RadiusServer

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

    THUMBPRINT_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    thumbprint: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        thumbprint: builtins.str = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["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
    public_cert_data: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        public_cert_data: builtins.str = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["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
    name: builtins.str
    tier: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        tier: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["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
    private_ip_allocation_method: builtins.str
    subnet: builtins.str
    public_ip_address: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        private_ip_allocation_method: builtins.str = ...,
        subnet: builtins.str = ...,
        public_ip_address: builtins.str = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["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 VirtualHubsRouteTables(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ROUTES_FIELD_NUMBER: builtins.int
    ATTACHED_CONNECTIONS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    @property
    def routes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VirtualHubRouteV2]: ...
    @property
    def attached_connections(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        routes: collections.abc.Iterable[global___VirtualHubRouteV2] | None = ...,
        attached_connections: 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["attached_connections", b"attached_connections", "name", b"name", "resource_info", b"resource_info", "routes", b"routes"]) -> None: ...

global___VirtualHubsRouteTables = VirtualHubsRouteTables

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    PRIVATE_IP_ADDRESS_FIELD_NUMBER: builtins.int
    PRIVATE_IP_ALLOCATION_METHOD_FIELD_NUMBER: builtins.int
    SUBNET_FIELD_NUMBER: builtins.int
    PUBLIC_IP_ADDRESS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    private_ip_address: builtins.str
    private_ip_allocation_method: builtins.str
    @property
    def subnet(self) -> global___Subnet: ...
    @property
    def public_ip_address(self) -> global___PublicIPAddress: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        private_ip_address: builtins.str = ...,
        private_ip_allocation_method: builtins.str = ...,
        subnet: global___Subnet | None = ...,
        public_ip_address: global___PublicIPAddress | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["public_ip_address", b"public_ip_address", "resource_info", b"resource_info", "subnet", b"subnet"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "private_ip_address", b"private_ip_address", "private_ip_allocation_method", b"private_ip_allocation_method", "public_ip_address", b"public_ip_address", "resource_info", b"resource_info", "subnet", b"subnet"]) -> None: ...

global___VirtualHubsIpConfigurations = VirtualHubsIpConfigurations

@typing_extensions.final
class PublicIPAddress(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
    EXTENDED_LOCATION_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
    DDOS_SETTINGS_FIELD_NUMBER: builtins.int
    IP_TAGS_FIELD_NUMBER: builtins.int
    IP_ADDRESS_FIELD_NUMBER: builtins.int
    PUBLIC_IP_PREFIX_FIELD_NUMBER: builtins.int
    IDLE_TIMEOUT_IN_MINUTES_FIELD_NUMBER: builtins.int
    ZONES_FIELD_NUMBER: builtins.int
    location: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def extended_location(self) -> global___ExtendedLocation: ...
    @property
    def 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 ddos_settings(self) -> global___DdosSettings: ...
    @property
    def ip_tags(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IpTag]: ...
    ip_address: builtins.str
    public_ip_prefix: builtins.str
    idle_timeout_in_minutes: builtins.int
    @property
    def zones(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        location: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        extended_location: global___ExtendedLocation | None = ...,
        sku: global___PublicIPAddressSku | None = ...,
        public_ip_allocation_method: builtins.str = ...,
        public_ip_address_version: builtins.str = ...,
        dns_settings: global___PublicIPAddressDnsSettings | None = ...,
        ddos_settings: global___DdosSettings | None = ...,
        ip_tags: collections.abc.Iterable[global___IpTag] | None = ...,
        ip_address: builtins.str = ...,
        public_ip_prefix: builtins.str = ...,
        idle_timeout_in_minutes: builtins.int = ...,
        zones: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["ddos_settings", b"ddos_settings", "dns_settings", b"dns_settings", "extended_location", b"extended_location", "sku", b"sku"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["ddos_settings", b"ddos_settings", "dns_settings", b"dns_settings", "extended_location", b"extended_location", "idle_timeout_in_minutes", b"idle_timeout_in_minutes", "ip_address", b"ip_address", "ip_tags", b"ip_tags", "location", b"location", "public_ip_address_version", b"public_ip_address_version", "public_ip_allocation_method", b"public_ip_allocation_method", "public_ip_prefix", b"public_ip_prefix", "sku", b"sku", "tags", b"tags", "zones", b"zones"]) -> None: ...

global___PublicIPAddress = PublicIPAddress

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

    ADDRESS_PREFIX_FIELD_NUMBER: builtins.int
    ADDRESS_PREFIXES_FIELD_NUMBER: builtins.int
    NETWORK_SECURITY_GROUP_FIELD_NUMBER: builtins.int
    ROUTE_TABLE_FIELD_NUMBER: builtins.int
    NAT_GATEWAY_FIELD_NUMBER: builtins.int
    SERVICE_ENDPOINTS_FIELD_NUMBER: builtins.int
    SERVICE_ENDPOINT_POLICIES_FIELD_NUMBER: builtins.int
    IP_ALLOCATIONS_FIELD_NUMBER: builtins.int
    DELEGATIONS_FIELD_NUMBER: builtins.int
    PRIVATE_ENDPOINT_NETWORK_POLICIES_FIELD_NUMBER: builtins.int
    PRIVATE_LINK_SERVICE_NETWORK_POLICIES_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    address_prefix: builtins.str
    @property
    def address_prefixes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    network_security_group: builtins.str
    route_table: builtins.str
    nat_gateway: builtins.str
    @property
    def service_endpoints(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ServiceEndpointPropertiesFormat]: ...
    @property
    def service_endpoint_policies(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def ip_allocations(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def delegations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Delegation]: ...
    private_endpoint_network_policies: builtins.str
    private_link_service_network_policies: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        address_prefix: builtins.str = ...,
        address_prefixes: collections.abc.Iterable[builtins.str] | None = ...,
        network_security_group: builtins.str = ...,
        route_table: builtins.str = ...,
        nat_gateway: builtins.str = ...,
        service_endpoints: collections.abc.Iterable[global___ServiceEndpointPropertiesFormat] | None = ...,
        service_endpoint_policies: collections.abc.Iterable[builtins.str] | None = ...,
        ip_allocations: collections.abc.Iterable[builtins.str] | None = ...,
        delegations: collections.abc.Iterable[global___Delegation] | None = ...,
        private_endpoint_network_policies: builtins.str = ...,
        private_link_service_network_policies: builtins.str = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["address_prefix", b"address_prefix", "address_prefixes", b"address_prefixes", "delegations", b"delegations", "ip_allocations", b"ip_allocations", "name", b"name", "nat_gateway", b"nat_gateway", "network_security_group", b"network_security_group", "private_endpoint_network_policies", b"private_endpoint_network_policies", "private_link_service_network_policies", b"private_link_service_network_policies", "route_table", b"route_table", "service_endpoint_policies", b"service_endpoint_policies", "service_endpoints", b"service_endpoints"]) -> None: ...

global___Subnet = Subnet

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

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

global___Delegation = Delegation

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

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

global___ServiceEndpointPropertiesFormat = ServiceEndpointPropertiesFormat

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_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
    ENABLE_INTERNET_SECURITY_FIELD_NUMBER: builtins.int
    ROUTING_CONFIGURATION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: 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
    enable_internet_security: builtins.bool
    @property
    def routing_configuration(self) -> global___RoutingConfiguration: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: 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 = ...,
        enable_internet_security: builtins.bool = ...,
        routing_configuration: global___RoutingConfiguration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "routing_configuration", b"routing_configuration"]) -> builtins.bool: ...
    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", "enable_internet_security", b"enable_internet_security", "name", b"name", "remote_virtual_network", b"remote_virtual_network", "resource_info", b"resource_info", "routing_configuration", b"routing_configuration"]) -> None: ...

global___VirtualHubsHubVirtualNetworkConnections = VirtualHubsHubVirtualNetworkConnections

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ROUTES_FIELD_NUMBER: builtins.int
    LABELS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    @property
    def routes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HubRoute]: ...
    @property
    def labels(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        routes: collections.abc.Iterable[global___HubRoute] | None = ...,
        labels: 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["labels", b"labels", "name", b"name", "resource_info", b"resource_info", "routes", b"routes"]) -> None: ...

global___VirtualHubsHubRouteTables = VirtualHubsHubRouteTables

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

    NAME_FIELD_NUMBER: builtins.int
    DESTINATION_TYPE_FIELD_NUMBER: builtins.int
    DESTINATIONS_FIELD_NUMBER: builtins.int
    NEXT_HOP_TYPE_FIELD_NUMBER: builtins.int
    NEXT_HOP_FIELD_NUMBER: builtins.int
    name: builtins.str
    destination_type: builtins.str
    @property
    def destinations(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    next_hop_type: builtins.str
    next_hop: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        destination_type: builtins.str = ...,
        destinations: collections.abc.Iterable[builtins.str] | None = ...,
        next_hop_type: builtins.str = ...,
        next_hop: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["destination_type", b"destination_type", "destinations", b"destinations", "name", b"name", "next_hop", b"next_hop", "next_hop_type", b"next_hop_type"]) -> None: ...

global___HubRoute = HubRoute

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

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

global___VirtualHubsBgpConnections = VirtualHubsBgpConnections

@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
    VPN_GATEWAY_FIELD_NUMBER: builtins.int
    P2_S_VPN_GATEWAY_FIELD_NUMBER: builtins.int
    EXPRESS_ROUTE_GATEWAY_FIELD_NUMBER: builtins.int
    AZURE_FIREWALL_FIELD_NUMBER: builtins.int
    SECURITY_PARTNER_PROVIDER_FIELD_NUMBER: builtins.int
    ADDRESS_PREFIX_FIELD_NUMBER: builtins.int
    ROUTE_TABLE_FIELD_NUMBER: builtins.int
    SECURITY_PROVIDER_NAME_FIELD_NUMBER: builtins.int
    VIRTUAL_HUB_ROUTE_TABLE_V2S_FIELD_NUMBER: builtins.int
    SKU_FIELD_NUMBER: builtins.int
    ROUTING_STATE_FIELD_NUMBER: builtins.int
    VIRTUAL_ROUTER_ASN_FIELD_NUMBER: builtins.int
    VIRTUAL_ROUTER_IPS_FIELD_NUMBER: builtins.int
    ALLOW_BRANCH_TO_BRANCH_TRAFFIC_FIELD_NUMBER: builtins.int
    VIRTUAL_HUBS_HUB_ROUTE_TABLES_FIELD_NUMBER: builtins.int
    VIRTUAL_HUBS_IP_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    VIRTUAL_HUBS_BGP_CONNECTIONS_FIELD_NUMBER: builtins.int
    VIRTUAL_HUBS_ROUTE_TABLES_FIELD_NUMBER: builtins.int
    VIRTUAL_HUBS_HUB_VIRTUAL_NETWORK_CONNECTIONS_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
    vpn_gateway: builtins.str
    p2_s_vpn_gateway: builtins.str
    express_route_gateway: builtins.str
    azure_firewall: builtins.str
    security_partner_provider: builtins.str
    address_prefix: builtins.str
    @property
    def route_table(self) -> global___VirtualHubRouteTable: ...
    security_provider_name: builtins.str
    @property
    def virtual_hub_route_table_v2s(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VirtualHubRouteTableV2]: ...
    sku: builtins.str
    routing_state: builtins.str
    virtual_router_asn: builtins.int
    @property
    def virtual_router_ips(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    allow_branch_to_branch_traffic: builtins.bool
    @property
    def virtual_hubs_hub_route_tables(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VirtualHubsHubRouteTables]: ...
    @property
    def virtual_hubs_ip_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VirtualHubsIpConfigurations]: ...
    @property
    def virtual_hubs_bgp_connections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VirtualHubsBgpConnections]: ...
    @property
    def virtual_hubs_route_tables(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VirtualHubsRouteTables]: ...
    @property
    def virtual_hubs_hub_virtual_network_connections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VirtualHubsHubVirtualNetworkConnections]: ...
    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 = ...,
        vpn_gateway: builtins.str = ...,
        p2_s_vpn_gateway: builtins.str = ...,
        express_route_gateway: builtins.str = ...,
        azure_firewall: builtins.str = ...,
        security_partner_provider: builtins.str = ...,
        address_prefix: builtins.str = ...,
        route_table: global___VirtualHubRouteTable | None = ...,
        security_provider_name: builtins.str = ...,
        virtual_hub_route_table_v2s: collections.abc.Iterable[global___VirtualHubRouteTableV2] | None = ...,
        sku: builtins.str = ...,
        routing_state: builtins.str = ...,
        virtual_router_asn: builtins.int = ...,
        virtual_router_ips: collections.abc.Iterable[builtins.str] | None = ...,
        allow_branch_to_branch_traffic: builtins.bool = ...,
        virtual_hubs_hub_route_tables: collections.abc.Iterable[global___VirtualHubsHubRouteTables] | None = ...,
        virtual_hubs_ip_configurations: collections.abc.Iterable[global___VirtualHubsIpConfigurations] | None = ...,
        virtual_hubs_bgp_connections: collections.abc.Iterable[global___VirtualHubsBgpConnections] | None = ...,
        virtual_hubs_route_tables: collections.abc.Iterable[global___VirtualHubsRouteTables] | None = ...,
        virtual_hubs_hub_virtual_network_connections: collections.abc.Iterable[global___VirtualHubsHubVirtualNetworkConnections] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "route_table", b"route_table"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["address_prefix", b"address_prefix", "allow_branch_to_branch_traffic", b"allow_branch_to_branch_traffic", "azure_firewall", b"azure_firewall", "express_route_gateway", b"express_route_gateway", "location", b"location", "name", b"name", "p2_s_vpn_gateway", b"p2_s_vpn_gateway", "resource_info", b"resource_info", "route_table", b"route_table", "routing_state", b"routing_state", "security_partner_provider", b"security_partner_provider", "security_provider_name", b"security_provider_name", "sku", b"sku", "tags", b"tags", "virtual_hub_route_table_v2s", b"virtual_hub_route_table_v2s", "virtual_hubs_bgp_connections", b"virtual_hubs_bgp_connections", "virtual_hubs_hub_route_tables", b"virtual_hubs_hub_route_tables", "virtual_hubs_hub_virtual_network_connections", b"virtual_hubs_hub_virtual_network_connections", "virtual_hubs_ip_configurations", b"virtual_hubs_ip_configurations", "virtual_hubs_route_tables", b"virtual_hubs_route_tables", "virtual_router_asn", b"virtual_router_asn", "virtual_router_ips", b"virtual_router_ips", "virtual_wan", b"virtual_wan", "vpn_gateway", b"vpn_gateway"]) -> None: ...

global___VirtualHubs = VirtualHubs

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

    ROUTES_FIELD_NUMBER: builtins.int
    ATTACHED_CONNECTIONS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    @property
    def routes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VirtualHubRouteV2]: ...
    @property
    def attached_connections(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    name: builtins.str
    def __init__(
        self,
        *,
        routes: collections.abc.Iterable[global___VirtualHubRouteV2] | None = ...,
        attached_connections: collections.abc.Iterable[builtins.str] | None = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["attached_connections", b"attached_connections", "name", b"name", "routes", b"routes"]) -> None: ...

global___VirtualHubRouteTableV2 = VirtualHubRouteTableV2

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

    DESTINATION_TYPE_FIELD_NUMBER: builtins.int
    DESTINATIONS_FIELD_NUMBER: builtins.int
    NEXT_HOP_TYPE_FIELD_NUMBER: builtins.int
    NEXT_HOPS_FIELD_NUMBER: builtins.int
    destination_type: builtins.str
    @property
    def destinations(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    next_hop_type: builtins.str
    @property
    def next_hops(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        destination_type: builtins.str = ...,
        destinations: collections.abc.Iterable[builtins.str] | None = ...,
        next_hop_type: builtins.str = ...,
        next_hops: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["destination_type", b"destination_type", "destinations", b"destinations", "next_hop_type", b"next_hop_type", "next_hops", b"next_hops"]) -> None: ...

global___VirtualHubRouteV2 = VirtualHubRouteV2

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

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

global___VirtualHubRouteTable = VirtualHubRouteTable

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

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

global___VirtualHubRoute = VirtualHubRoute

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    SERVICE_FIELD_NUMBER: builtins.int
    SERVICE_RESOURCES_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    description: builtins.str
    service: builtins.str
    @property
    def service_resources(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        description: builtins.str = ...,
        service: builtins.str = ...,
        service_resources: 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["description", b"description", "name", b"name", "resource_info", b"resource_info", "service", b"service", "service_resources", b"service_resources"]) -> None: ...

global___ServiceEndpointPoliciesServiceEndpointPolicyDefinitions = ServiceEndpointPoliciesServiceEndpointPolicyDefinitions

@typing_extensions.final
class ServiceEndpointPolicies(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
    SERVICE_ENDPOINT_POLICY_DEFINITIONS_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 service_endpoint_policy_definitions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ServiceEndpointPolicyDefinition]: ...
    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 = ...,
        service_endpoint_policy_definitions: collections.abc.Iterable[global___ServiceEndpointPolicyDefinition] | 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", "service_endpoint_policy_definitions", b"service_endpoint_policy_definitions", "tags", b"tags"]) -> None: ...

global___ServiceEndpointPolicies = ServiceEndpointPolicies

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

    DESCRIPTION_FIELD_NUMBER: builtins.int
    SERVICE_FIELD_NUMBER: builtins.int
    SERVICE_RESOURCES_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    description: builtins.str
    service: builtins.str
    @property
    def service_resources(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    name: builtins.str
    def __init__(
        self,
        *,
        description: builtins.str = ...,
        service: builtins.str = ...,
        service_resources: collections.abc.Iterable[builtins.str] | None = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "name", b"name", "service", b"service", "service_resources", b"service_resources"]) -> None: ...

global___ServiceEndpointPolicyDefinition = ServiceEndpointPolicyDefinition

@typing_extensions.final
class SecurityPartnerProviders(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
    SECURITY_PROVIDER_NAME_FIELD_NUMBER: builtins.int
    VIRTUAL_HUB_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]: ...
    security_provider_name: builtins.str
    virtual_hub: 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 = ...,
        security_provider_name: builtins.str = ...,
        virtual_hub: 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["location", b"location", "name", b"name", "resource_info", b"resource_info", "security_provider_name", b"security_provider_name", "tags", b"tags", "virtual_hub", b"virtual_hub"]) -> None: ...

global___SecurityPartnerProviders = SecurityPartnerProviders

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

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

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    LOCATION_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    EXTENDED_LOCATION_FIELD_NUMBER: builtins.int
    SKU_FIELD_NUMBER: builtins.int
    PUBLIC_IP_ADDRESS_VERSION_FIELD_NUMBER: builtins.int
    IP_TAGS_FIELD_NUMBER: builtins.int
    PREFIX_LENGTH_FIELD_NUMBER: builtins.int
    CUSTOM_IP_PREFIX_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 extended_location(self) -> global___ExtendedLocation: ...
    @property
    def sku(self) -> global___PublicIPPrefixSku: ...
    public_ip_address_version: builtins.str
    @property
    def ip_tags(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IpTag]: ...
    prefix_length: builtins.int
    custom_ip_prefix: 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 = ...,
        extended_location: global___ExtendedLocation | None = ...,
        sku: global___PublicIPPrefixSku | None = ...,
        public_ip_address_version: builtins.str = ...,
        ip_tags: collections.abc.Iterable[global___IpTag] | None = ...,
        prefix_length: builtins.int = ...,
        custom_ip_prefix: builtins.str = ...,
        zones: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["extended_location", b"extended_location", "resource_info", b"resource_info", "sku", b"sku"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["custom_ip_prefix", b"custom_ip_prefix", "extended_location", b"extended_location", "ip_tags", b"ip_tags", "location", b"location", "name", b"name", "prefix_length", b"prefix_length", "public_ip_address_version", b"public_ip_address_version", "resource_info", b"resource_info", "sku", b"sku", "tags", b"tags", "zones", b"zones"]) -> None: ...

global___PublicIPPrefixes = PublicIPPrefixes

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

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

global___PublicIPPrefixSku = PublicIPPrefixSku

@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
    EXTENDED_LOCATION_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
    DDOS_SETTINGS_FIELD_NUMBER: builtins.int
    IP_TAGS_FIELD_NUMBER: builtins.int
    IP_ADDRESS_FIELD_NUMBER: builtins.int
    PUBLIC_IP_PREFIX_FIELD_NUMBER: builtins.int
    IDLE_TIMEOUT_IN_MINUTES_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 extended_location(self) -> global___ExtendedLocation: ...
    @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 ddos_settings(self) -> global___DdosSettings: ...
    @property
    def ip_tags(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IpTag]: ...
    ip_address: builtins.str
    public_ip_prefix: builtins.str
    idle_timeout_in_minutes: builtins.int
    @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 = ...,
        extended_location: global___ExtendedLocation | None = ...,
        sku: global___PublicIPAddressSku | None = ...,
        public_ip_allocation_method: builtins.str = ...,
        public_ip_address_version: builtins.str = ...,
        dns_settings: global___PublicIPAddressDnsSettings | None = ...,
        ddos_settings: global___DdosSettings | None = ...,
        ip_tags: collections.abc.Iterable[global___IpTag] | None = ...,
        ip_address: builtins.str = ...,
        public_ip_prefix: builtins.str = ...,
        idle_timeout_in_minutes: builtins.int = ...,
        zones: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["ddos_settings", b"ddos_settings", "dns_settings", b"dns_settings", "extended_location", b"extended_location", "resource_info", b"resource_info", "sku", b"sku"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["ddos_settings", b"ddos_settings", "dns_settings", b"dns_settings", "extended_location", b"extended_location", "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", "public_ip_address_version", b"public_ip_address_version", "public_ip_allocation_method", b"public_ip_allocation_method", "public_ip_prefix", b"public_ip_prefix", "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 DdosSettings(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DDOS_CUSTOM_POLICY_FIELD_NUMBER: builtins.int
    PROTECTION_COVERAGE_FIELD_NUMBER: builtins.int
    PROTECTED_IP_FIELD_NUMBER: builtins.int
    ddos_custom_policy: builtins.str
    protection_coverage: builtins.str
    protected_ip: builtins.bool
    def __init__(
        self,
        *,
        ddos_custom_policy: builtins.str = ...,
        protection_coverage: builtins.str = ...,
        protected_ip: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["ddos_custom_policy", b"ddos_custom_policy", "protected_ip", b"protected_ip", "protection_coverage", b"protection_coverage"]) -> None: ...

global___DdosSettings = DdosSettings

@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
    TIER_FIELD_NUMBER: builtins.int
    name: builtins.str
    tier: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        tier: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "tier", b"tier"]) -> None: ...

global___PublicIPAddressSku = PublicIPAddressSku

@typing_extensions.final
class P2svpnGateways(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
    P2_S_CONNECTION_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    VPN_GATEWAY_SCALE_UNIT_FIELD_NUMBER: builtins.int
    VPN_SERVER_CONFIGURATION_FIELD_NUMBER: builtins.int
    CUSTOM_DNS_SERVERS_FIELD_NUMBER: builtins.int
    IS_ROUTING_PREFERENCE_INTERNET_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 p2_s_connection_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___P2SConnectionConfiguration]: ...
    vpn_gateway_scale_unit: builtins.int
    vpn_server_configuration: builtins.str
    @property
    def custom_dns_servers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    is_routing_preference_internet: builtins.bool
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        location: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        virtual_hub: builtins.str = ...,
        p2_s_connection_configurations: collections.abc.Iterable[global___P2SConnectionConfiguration] | None = ...,
        vpn_gateway_scale_unit: builtins.int = ...,
        vpn_server_configuration: builtins.str = ...,
        custom_dns_servers: collections.abc.Iterable[builtins.str] | None = ...,
        is_routing_preference_internet: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["custom_dns_servers", b"custom_dns_servers", "is_routing_preference_internet", b"is_routing_preference_internet", "location", b"location", "name", b"name", "p2_s_connection_configurations", b"p2_s_connection_configurations", "resource_info", b"resource_info", "tags", b"tags", "virtual_hub", b"virtual_hub", "vpn_gateway_scale_unit", b"vpn_gateway_scale_unit", "vpn_server_configuration", b"vpn_server_configuration"]) -> None: ...

global___P2svpnGateways = P2svpnGateways

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

    VPN_CLIENT_ADDRESS_POOL_FIELD_NUMBER: builtins.int
    ROUTING_CONFIGURATION_FIELD_NUMBER: builtins.int
    ENABLE_INTERNET_SECURITY_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    @property
    def vpn_client_address_pool(self) -> global___AddressSpace: ...
    @property
    def routing_configuration(self) -> global___RoutingConfiguration: ...
    enable_internet_security: builtins.bool
    name: builtins.str
    def __init__(
        self,
        *,
        vpn_client_address_pool: global___AddressSpace | None = ...,
        routing_configuration: global___RoutingConfiguration | None = ...,
        enable_internet_security: builtins.bool = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["routing_configuration", b"routing_configuration", "vpn_client_address_pool", b"vpn_client_address_pool"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["enable_internet_security", b"enable_internet_security", "name", b"name", "routing_configuration", b"routing_configuration", "vpn_client_address_pool", b"vpn_client_address_pool"]) -> None: ...

global___P2SConnectionConfiguration = P2SConnectionConfiguration

@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 NetworkWatchersFlowLogs(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
    TARGET_RESOURCE_ID_FIELD_NUMBER: builtins.int
    STORAGE_ID_FIELD_NUMBER: builtins.int
    ENABLED_FIELD_NUMBER: builtins.int
    RETENTION_POLICY_FIELD_NUMBER: builtins.int
    FORMAT_FIELD_NUMBER: builtins.int
    FLOW_ANALYTICS_CONFIGURATION_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]: ...
    target_resource_id: builtins.str
    storage_id: builtins.str
    enabled: builtins.bool
    @property
    def retention_policy(self) -> global___RetentionPolicyParameters: ...
    @property
    def format(self) -> global___FlowLogFormatParameters: ...
    @property
    def flow_analytics_configuration(self) -> global___TrafficAnalyticsProperties: ...
    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 = ...,
        target_resource_id: builtins.str = ...,
        storage_id: builtins.str = ...,
        enabled: builtins.bool = ...,
        retention_policy: global___RetentionPolicyParameters | None = ...,
        format: global___FlowLogFormatParameters | None = ...,
        flow_analytics_configuration: global___TrafficAnalyticsProperties | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["flow_analytics_configuration", b"flow_analytics_configuration", "format", b"format", "resource_info", b"resource_info", "retention_policy", b"retention_policy"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["enabled", b"enabled", "flow_analytics_configuration", b"flow_analytics_configuration", "format", b"format", "location", b"location", "name", b"name", "resource_info", b"resource_info", "retention_policy", b"retention_policy", "storage_id", b"storage_id", "tags", b"tags", "target_resource_id", b"target_resource_id"]) -> None: ...

global___NetworkWatchersFlowLogs = NetworkWatchersFlowLogs

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

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

global___TrafficAnalyticsProperties = TrafficAnalyticsProperties

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

    ENABLED_FIELD_NUMBER: builtins.int
    WORKSPACE_ID_FIELD_NUMBER: builtins.int
    WORKSPACE_REGION_FIELD_NUMBER: builtins.int
    WORKSPACE_RESOURCE_ID_FIELD_NUMBER: builtins.int
    TRAFFIC_ANALYTICS_INTERVAL_FIELD_NUMBER: builtins.int
    enabled: builtins.bool
    workspace_id: builtins.str
    workspace_region: builtins.str
    workspace_resource_id: builtins.str
    traffic_analytics_interval: builtins.int
    def __init__(
        self,
        *,
        enabled: builtins.bool = ...,
        workspace_id: builtins.str = ...,
        workspace_region: builtins.str = ...,
        workspace_resource_id: builtins.str = ...,
        traffic_analytics_interval: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["enabled", b"enabled", "traffic_analytics_interval", b"traffic_analytics_interval", "workspace_id", b"workspace_id", "workspace_region", b"workspace_region", "workspace_resource_id", b"workspace_resource_id"]) -> None: ...

global___TrafficAnalyticsConfigurationProperties = TrafficAnalyticsConfigurationProperties

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

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

global___FlowLogFormatParameters = FlowLogFormatParameters

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

    DAYS_FIELD_NUMBER: builtins.int
    ENABLED_FIELD_NUMBER: builtins.int
    days: builtins.int
    enabled: builtins.bool
    def __init__(
        self,
        *,
        days: builtins.int = ...,
        enabled: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["days", b"days", "enabled", b"enabled"]) -> None: ...

global___RetentionPolicyParameters = RetentionPolicyParameters

@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
    ENDPOINTS_FIELD_NUMBER: builtins.int
    TEST_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    TEST_GROUPS_FIELD_NUMBER: builtins.int
    OUTPUTS_FIELD_NUMBER: builtins.int
    NOTES_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
    @property
    def endpoints(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConnectionMonitorEndpoint]: ...
    @property
    def test_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConnectionMonitorTestConfiguration]: ...
    @property
    def test_groups(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConnectionMonitorTestGroup]: ...
    @property
    def outputs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConnectionMonitorOutput]: ...
    notes: 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 = ...,
        source: global___ConnectionMonitorSource | None = ...,
        destination: global___ConnectionMonitorDestination | None = ...,
        auto_start: builtins.bool = ...,
        monitoring_interval_in_seconds: builtins.int = ...,
        endpoints: collections.abc.Iterable[global___ConnectionMonitorEndpoint] | None = ...,
        test_configurations: collections.abc.Iterable[global___ConnectionMonitorTestConfiguration] | None = ...,
        test_groups: collections.abc.Iterable[global___ConnectionMonitorTestGroup] | None = ...,
        outputs: collections.abc.Iterable[global___ConnectionMonitorOutput] | None = ...,
        notes: builtins.str = ...,
    ) -> 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", "endpoints", b"endpoints", "location", b"location", "monitoring_interval_in_seconds", b"monitoring_interval_in_seconds", "name", b"name", "notes", b"notes", "outputs", b"outputs", "resource_info", b"resource_info", "source", b"source", "tags", b"tags", "test_configurations", b"test_configurations", "test_groups", b"test_groups"]) -> None: ...

global___NetworkWatchersConnectionMonitors = NetworkWatchersConnectionMonitors

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

    TYPE_FIELD_NUMBER: builtins.int
    WORKSPACE_SETTINGS_FIELD_NUMBER: builtins.int
    type: builtins.str
    @property
    def workspace_settings(self) -> global___ConnectionMonitorWorkspaceSettings: ...
    def __init__(
        self,
        *,
        type: builtins.str = ...,
        workspace_settings: global___ConnectionMonitorWorkspaceSettings | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["workspace_settings", b"workspace_settings"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["type", b"type", "workspace_settings", b"workspace_settings"]) -> None: ...

global___ConnectionMonitorOutput = ConnectionMonitorOutput

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

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

global___ConnectionMonitorWorkspaceSettings = ConnectionMonitorWorkspaceSettings

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

    NAME_FIELD_NUMBER: builtins.int
    DISABLE_FIELD_NUMBER: builtins.int
    TEST_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    SOURCES_FIELD_NUMBER: builtins.int
    DESTINATIONS_FIELD_NUMBER: builtins.int
    name: builtins.str
    disable: builtins.bool
    @property
    def test_configurations(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def sources(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def destinations(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        disable: builtins.bool = ...,
        test_configurations: collections.abc.Iterable[builtins.str] | None = ...,
        sources: collections.abc.Iterable[builtins.str] | None = ...,
        destinations: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["destinations", b"destinations", "disable", b"disable", "name", b"name", "sources", b"sources", "test_configurations", b"test_configurations"]) -> None: ...

global___ConnectionMonitorTestGroup = ConnectionMonitorTestGroup

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

    NAME_FIELD_NUMBER: builtins.int
    TEST_FREQUENCY_SEC_FIELD_NUMBER: builtins.int
    PROTOCOL_FIELD_NUMBER: builtins.int
    PREFERRED_IP_VERSION_FIELD_NUMBER: builtins.int
    HTTP_CONFIGURATION_FIELD_NUMBER: builtins.int
    TCP_CONFIGURATION_FIELD_NUMBER: builtins.int
    ICMP_CONFIGURATION_FIELD_NUMBER: builtins.int
    SUCCESS_THRESHOLD_FIELD_NUMBER: builtins.int
    name: builtins.str
    test_frequency_sec: builtins.int
    protocol: builtins.str
    preferred_ip_version: builtins.str
    @property
    def http_configuration(self) -> global___ConnectionMonitorHttpConfiguration: ...
    @property
    def tcp_configuration(self) -> global___ConnectionMonitorTcpConfiguration: ...
    @property
    def icmp_configuration(self) -> global___ConnectionMonitorIcmpConfiguration: ...
    @property
    def success_threshold(self) -> global___ConnectionMonitorSuccessThreshold: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        test_frequency_sec: builtins.int = ...,
        protocol: builtins.str = ...,
        preferred_ip_version: builtins.str = ...,
        http_configuration: global___ConnectionMonitorHttpConfiguration | None = ...,
        tcp_configuration: global___ConnectionMonitorTcpConfiguration | None = ...,
        icmp_configuration: global___ConnectionMonitorIcmpConfiguration | None = ...,
        success_threshold: global___ConnectionMonitorSuccessThreshold | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["http_configuration", b"http_configuration", "icmp_configuration", b"icmp_configuration", "success_threshold", b"success_threshold", "tcp_configuration", b"tcp_configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["http_configuration", b"http_configuration", "icmp_configuration", b"icmp_configuration", "name", b"name", "preferred_ip_version", b"preferred_ip_version", "protocol", b"protocol", "success_threshold", b"success_threshold", "tcp_configuration", b"tcp_configuration", "test_frequency_sec", b"test_frequency_sec"]) -> None: ...

global___ConnectionMonitorTestConfiguration = ConnectionMonitorTestConfiguration

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

    CHECKS_FAILED_PERCENT_FIELD_NUMBER: builtins.int
    ROUND_TRIP_TIME_MS_FIELD_NUMBER: builtins.int
    checks_failed_percent: builtins.int
    round_trip_time_ms: builtins.float
    def __init__(
        self,
        *,
        checks_failed_percent: builtins.int = ...,
        round_trip_time_ms: builtins.float = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["checks_failed_percent", b"checks_failed_percent", "round_trip_time_ms", b"round_trip_time_ms"]) -> None: ...

global___ConnectionMonitorSuccessThreshold = ConnectionMonitorSuccessThreshold

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

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

global___ConnectionMonitorIcmpConfiguration = ConnectionMonitorIcmpConfiguration

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

    PORT_FIELD_NUMBER: builtins.int
    DISABLE_TRACE_ROUTE_FIELD_NUMBER: builtins.int
    DESTINATION_PORT_BEHAVIOR_FIELD_NUMBER: builtins.int
    port: builtins.int
    disable_trace_route: builtins.bool
    destination_port_behavior: builtins.str
    def __init__(
        self,
        *,
        port: builtins.int = ...,
        disable_trace_route: builtins.bool = ...,
        destination_port_behavior: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["destination_port_behavior", b"destination_port_behavior", "disable_trace_route", b"disable_trace_route", "port", b"port"]) -> None: ...

global___ConnectionMonitorTcpConfiguration = ConnectionMonitorTcpConfiguration

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

    PORT_FIELD_NUMBER: builtins.int
    METHOD_FIELD_NUMBER: builtins.int
    PATH_FIELD_NUMBER: builtins.int
    REQUEST_HEADERS_FIELD_NUMBER: builtins.int
    VALID_STATUS_CODE_RANGES_FIELD_NUMBER: builtins.int
    PREFER_HTTP_S_FIELD_NUMBER: builtins.int
    port: builtins.int
    method: builtins.str
    path: builtins.str
    @property
    def request_headers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HTTPHeader]: ...
    @property
    def valid_status_code_ranges(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    prefer_http_s: builtins.bool
    def __init__(
        self,
        *,
        port: builtins.int = ...,
        method: builtins.str = ...,
        path: builtins.str = ...,
        request_headers: collections.abc.Iterable[global___HTTPHeader] | None = ...,
        valid_status_code_ranges: collections.abc.Iterable[builtins.str] | None = ...,
        prefer_http_s: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["method", b"method", "path", b"path", "port", b"port", "prefer_http_s", b"prefer_http_s", "request_headers", b"request_headers", "valid_status_code_ranges", b"valid_status_code_ranges"]) -> None: ...

global___ConnectionMonitorHttpConfiguration = ConnectionMonitorHttpConfiguration

@typing_extensions.final
class HTTPHeader(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___HTTPHeader = HTTPHeader

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

    NAME_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    RESOURCE_ID_FIELD_NUMBER: builtins.int
    ADDRESS_FIELD_NUMBER: builtins.int
    FILTER_FIELD_NUMBER: builtins.int
    SCOPE_FIELD_NUMBER: builtins.int
    COVERAGE_LEVEL_FIELD_NUMBER: builtins.int
    name: builtins.str
    type: builtins.str
    resource_id: builtins.str
    address: builtins.str
    @property
    def filter(self) -> global___ConnectionMonitorEndpointFilter: ...
    @property
    def scope(self) -> global___ConnectionMonitorEndpointScope: ...
    coverage_level: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        type: builtins.str = ...,
        resource_id: builtins.str = ...,
        address: builtins.str = ...,
        filter: global___ConnectionMonitorEndpointFilter | None = ...,
        scope: global___ConnectionMonitorEndpointScope | None = ...,
        coverage_level: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["filter", b"filter", "scope", b"scope"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["address", b"address", "coverage_level", b"coverage_level", "filter", b"filter", "name", b"name", "resource_id", b"resource_id", "scope", b"scope", "type", b"type"]) -> None: ...

global___ConnectionMonitorEndpoint = ConnectionMonitorEndpoint

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

    INCLUDE_FIELD_NUMBER: builtins.int
    EXCLUDE_FIELD_NUMBER: builtins.int
    @property
    def include(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConnectionMonitorEndpointScopeItem]: ...
    @property
    def exclude(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConnectionMonitorEndpointScopeItem]: ...
    def __init__(
        self,
        *,
        include: collections.abc.Iterable[global___ConnectionMonitorEndpointScopeItem] | None = ...,
        exclude: collections.abc.Iterable[global___ConnectionMonitorEndpointScopeItem] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["exclude", b"exclude", "include", b"include"]) -> None: ...

global___ConnectionMonitorEndpointScope = ConnectionMonitorEndpointScope

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

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

global___ConnectionMonitorEndpointScopeItem = ConnectionMonitorEndpointScopeItem

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

    TYPE_FIELD_NUMBER: builtins.int
    ITEMS_FIELD_NUMBER: builtins.int
    type: builtins.str
    @property
    def items(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConnectionMonitorEndpointFilterItem]: ...
    def __init__(
        self,
        *,
        type: builtins.str = ...,
        items: collections.abc.Iterable[global___ConnectionMonitorEndpointFilterItem] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["items", b"items", "type", b"type"]) -> None: ...

global___ConnectionMonitorEndpointFilter = ConnectionMonitorEndpointFilter

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

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

global___ConnectionMonitorEndpointFilterItem = ConnectionMonitorEndpointFilterItem

@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
    NETWORK_WATCHERS_FLOW_LOGS_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]: ...
    @property
    def network_watchers_flow_logs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkWatchersFlowLogs]: ...
    @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 = ...,
        network_watchers_flow_logs: collections.abc.Iterable[global___NetworkWatchersFlowLogs] | None = ...,
        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["location", b"location", "name", b"name", "network_watchers_connection_monitors", b"network_watchers_connection_monitors", "network_watchers_flow_logs", b"network_watchers_flow_logs", "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 NetworkVirtualAppliancesVirtualApplianceSites(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___NetworkVirtualAppliancesVirtualApplianceSites = NetworkVirtualAppliancesVirtualApplianceSites

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

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

global___Office365PolicyProperties = Office365PolicyProperties

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

    ALLOW_FIELD_NUMBER: builtins.int
    OPTIMIZE_FIELD_NUMBER: builtins.int
    DEFAULT_FIELD_NUMBER: builtins.int
    allow: builtins.bool
    optimize: builtins.bool
    default: builtins.bool
    def __init__(
        self,
        *,
        allow: builtins.bool = ...,
        optimize: builtins.bool = ...,
        default: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow", b"allow", "default", b"default", "optimize", b"optimize"]) -> None: ...

global___BreakOutCategoryPolicies = BreakOutCategoryPolicies

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    RULES_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    @property
    def rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InboundSecurityRules]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        rules: collections.abc.Iterable[global___InboundSecurityRules] | 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["name", b"name", "resource_info", b"resource_info", "rules", b"rules"]) -> None: ...

global___NetworkVirtualAppliancesInboundSecurityRules = NetworkVirtualAppliancesInboundSecurityRules

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

    PROTOCOL_FIELD_NUMBER: builtins.int
    SOURCE_ADDRESS_PREFIX_FIELD_NUMBER: builtins.int
    DESTINATION_PORT_RANGE_FIELD_NUMBER: builtins.int
    protocol: builtins.str
    source_address_prefix: builtins.str
    destination_port_range: builtins.int
    def __init__(
        self,
        *,
        protocol: builtins.str = ...,
        source_address_prefix: builtins.str = ...,
        destination_port_range: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["destination_port_range", b"destination_port_range", "protocol", b"protocol", "source_address_prefix", b"source_address_prefix"]) -> None: ...

global___InboundSecurityRules = InboundSecurityRules

@typing_extensions.final
class NetworkVirtualAppliances(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
    NVA_SKU_FIELD_NUMBER: builtins.int
    BOOT_STRAP_CONFIGURATION_BLOBS_FIELD_NUMBER: builtins.int
    VIRTUAL_HUB_FIELD_NUMBER: builtins.int
    CLOUD_INIT_CONFIGURATION_BLOBS_FIELD_NUMBER: builtins.int
    CLOUD_INIT_CONFIGURATION_FIELD_NUMBER: builtins.int
    VIRTUAL_APPLIANCE_ASN_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    NETWORK_VIRTUAL_APPLIANCES_INBOUND_SECURITY_RULES_FIELD_NUMBER: builtins.int
    NETWORK_VIRTUAL_APPLIANCES_VIRTUAL_APPLIANCE_SITES_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 nva_sku(self) -> global___VirtualApplianceSkuProperties: ...
    @property
    def boot_strap_configuration_blobs(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    virtual_hub: builtins.str
    @property
    def cloud_init_configuration_blobs(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    cloud_init_configuration: builtins.str
    virtual_appliance_asn: builtins.int
    @property
    def identity(self) -> global___ManagedServiceIdentity: ...
    @property
    def network_virtual_appliances_inbound_security_rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkVirtualAppliancesInboundSecurityRules]: ...
    @property
    def network_virtual_appliances_virtual_appliance_sites(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkVirtualAppliancesVirtualApplianceSites]: ...
    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 = ...,
        nva_sku: global___VirtualApplianceSkuProperties | None = ...,
        boot_strap_configuration_blobs: collections.abc.Iterable[builtins.str] | None = ...,
        virtual_hub: builtins.str = ...,
        cloud_init_configuration_blobs: collections.abc.Iterable[builtins.str] | None = ...,
        cloud_init_configuration: builtins.str = ...,
        virtual_appliance_asn: builtins.int = ...,
        identity: global___ManagedServiceIdentity | None = ...,
        network_virtual_appliances_inbound_security_rules: collections.abc.Iterable[global___NetworkVirtualAppliancesInboundSecurityRules] | None = ...,
        network_virtual_appliances_virtual_appliance_sites: collections.abc.Iterable[global___NetworkVirtualAppliancesVirtualApplianceSites] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["identity", b"identity", "nva_sku", b"nva_sku", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["boot_strap_configuration_blobs", b"boot_strap_configuration_blobs", "cloud_init_configuration", b"cloud_init_configuration", "cloud_init_configuration_blobs", b"cloud_init_configuration_blobs", "identity", b"identity", "location", b"location", "name", b"name", "network_virtual_appliances_inbound_security_rules", b"network_virtual_appliances_inbound_security_rules", "network_virtual_appliances_virtual_appliance_sites", b"network_virtual_appliances_virtual_appliance_sites", "nva_sku", b"nva_sku", "resource_info", b"resource_info", "tags", b"tags", "virtual_appliance_asn", b"virtual_appliance_asn", "virtual_hub", b"virtual_hub"]) -> None: ...

global___NetworkVirtualAppliances = NetworkVirtualAppliances

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

    VENDOR_FIELD_NUMBER: builtins.int
    BUNDLED_SCALE_UNIT_FIELD_NUMBER: builtins.int
    MARKET_PLACE_VERSION_FIELD_NUMBER: builtins.int
    vendor: builtins.str
    bundled_scale_unit: builtins.str
    market_place_version: builtins.str
    def __init__(
        self,
        *,
        vendor: builtins.str = ...,
        bundled_scale_unit: builtins.str = ...,
        market_place_version: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["bundled_scale_unit", b"bundled_scale_unit", "market_place_version", b"market_place_version", "vendor", b"vendor"]) -> None: ...

global___VirtualApplianceSkuProperties = VirtualApplianceSkuProperties

@typing_extensions.final
class NetworkProfiles(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
    CONTAINER_NETWORK_INTERFACE_CONFIGURATIONS_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 container_network_interface_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ContainerNetworkInterfaceConfiguration]: ...
    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 = ...,
        container_network_interface_configurations: collections.abc.Iterable[global___ContainerNetworkInterfaceConfiguration] | 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["container_network_interface_configurations", b"container_network_interface_configurations", "location", b"location", "name", b"name", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___NetworkProfiles = NetworkProfiles

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

    IP_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    CONTAINER_NETWORK_INTERFACES_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    @property
    def ip_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IPConfigurationProfile]: ...
    @property
    def container_network_interfaces(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    name: builtins.str
    def __init__(
        self,
        *,
        ip_configurations: collections.abc.Iterable[global___IPConfigurationProfile] | None = ...,
        container_network_interfaces: collections.abc.Iterable[builtins.str] | None = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["container_network_interfaces", b"container_network_interfaces", "ip_configurations", b"ip_configurations", "name", b"name"]) -> None: ...

global___ContainerNetworkInterfaceConfiguration = ContainerNetworkInterfaceConfiguration

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

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

global___IPConfigurationProfile = IPConfigurationProfile

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

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

global___NetworkInterfacesTapConfigurations = NetworkInterfacesTapConfigurations

@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
    EXTENDED_LOCATION_FIELD_NUMBER: builtins.int
    NETWORK_SECURITY_GROUP_FIELD_NUMBER: builtins.int
    IP_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    DNS_SETTINGS_FIELD_NUMBER: builtins.int
    ENABLE_ACCELERATED_NETWORKING_FIELD_NUMBER: builtins.int
    ENABLE_IP_FORWARDING_FIELD_NUMBER: builtins.int
    NETWORK_INTERFACES_TAP_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    location: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def extended_location(self) -> global___ExtendedLocation: ...
    network_security_group: builtins.str
    @property
    def ip_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkInterfaceIPConfiguration]: ...
    @property
    def dns_settings(self) -> global___NetworkInterfaceDnsSettings: ...
    enable_accelerated_networking: builtins.bool
    enable_ip_forwarding: builtins.bool
    @property
    def network_interfaces_tap_configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkInterfacesTapConfigurations]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        location: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        extended_location: global___ExtendedLocation | None = ...,
        network_security_group: builtins.str = ...,
        ip_configurations: collections.abc.Iterable[global___NetworkInterfaceIPConfiguration] | None = ...,
        dns_settings: global___NetworkInterfaceDnsSettings | None = ...,
        enable_accelerated_networking: builtins.bool = ...,
        enable_ip_forwarding: builtins.bool = ...,
        network_interfaces_tap_configurations: collections.abc.Iterable[global___NetworkInterfacesTapConfigurations] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["dns_settings", b"dns_settings", "extended_location", b"extended_location", "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", "extended_location", b"extended_location", "ip_configurations", b"ip_configurations", "location", b"location", "name", b"name", "network_interfaces_tap_configurations", b"network_interfaces_tap_configurations", "network_security_group", b"network_security_group", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___NetworkInterfaces = NetworkInterfaces

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

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

global___NetworkInterfaceDnsSettings = NetworkInterfaceDnsSettings

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

    VIRTUAL_NETWORK_TAPS_FIELD_NUMBER: builtins.int
    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
    NAME_FIELD_NUMBER: builtins.int
    @property
    def virtual_network_taps(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @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]: ...
    name: builtins.str
    def __init__(
        self,
        *,
        virtual_network_taps: collections.abc.Iterable[builtins.str] | None = ...,
        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 = ...,
        name: 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", "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", "public_ip_address", b"public_ip_address", "subnet", b"subnet", "virtual_network_taps", b"virtual_network_taps"]) -> None: ...

global___NetworkInterfaceIPConfiguration = NetworkInterfaceIPConfiguration

@typing_extensions.final
class NatGateways(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
    IDLE_TIMEOUT_IN_MINUTES_FIELD_NUMBER: builtins.int
    PUBLIC_IP_ADDRESSES_FIELD_NUMBER: builtins.int
    PUBLIC_IP_PREFIXES_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___NatGatewaySku: ...
    idle_timeout_in_minutes: builtins.int
    @property
    def public_ip_addresses(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def public_ip_prefixes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[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___NatGatewaySku | None = ...,
        idle_timeout_in_minutes: builtins.int = ...,
        public_ip_addresses: collections.abc.Iterable[builtins.str] | None = ...,
        public_ip_prefixes: collections.abc.Iterable[builtins.str] | None = ...,
        zones: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "sku", b"sku"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["idle_timeout_in_minutes", b"idle_timeout_in_minutes", "location", b"location", "name", b"name", "public_ip_addresses", b"public_ip_addresses", "public_ip_prefixes", b"public_ip_prefixes", "resource_info", b"resource_info", "sku", b"sku", "tags", b"tags", "zones", b"zones"]) -> None: ...

global___NatGateways = NatGateways

@typing_extensions.final
class NatGatewaySku(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___NatGatewaySku = NatGatewaySku

@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
    FQDN_FIELD_NUMBER: builtins.int
    BGP_SETTINGS_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
    fqdn: builtins.str
    @property
    def bgp_settings(self) -> global___BgpSettings: ...
    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 = ...,
        fqdn: builtins.str = ...,
        bgp_settings: global___BgpSettings | None = ...,
    ) -> 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", "fqdn", b"fqdn", "gateway_ip_address", b"gateway_ip_address", "local_network_address_space", b"local_network_address_space", "location", b"location", "name", b"name", "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
    BGP_PEERING_ADDRESSES_FIELD_NUMBER: builtins.int
    asn: builtins.int
    bgp_peering_address: builtins.str
    peer_weight: builtins.int
    @property
    def bgp_peering_addresses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IPConfigurationBgpPeeringAddress]: ...
    def __init__(
        self,
        *,
        asn: builtins.int = ...,
        bgp_peering_address: builtins.str = ...,
        peer_weight: builtins.int = ...,
        bgp_peering_addresses: collections.abc.Iterable[global___IPConfigurationBgpPeeringAddress] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["asn", b"asn", "bgp_peering_address", b"bgp_peering_address", "bgp_peering_addresses", b"bgp_peering_addresses", "peer_weight", b"peer_weight"]) -> None: ...

global___BgpSettings = BgpSettings

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

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

global___IPConfigurationBgpPeeringAddress = IPConfigurationBgpPeeringAddress

@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 IpGroups(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_ADDRESSES_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_addresses(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 = ...,
        ip_addresses: 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["ip_addresses", b"ip_addresses", "location", b"location", "name", b"name", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___IpGroups = IpGroups

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

    @typing_extensions.final
    class AllocationTagsEntry(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
    TYPE_FIELD_NUMBER: builtins.int
    PREFIX_FIELD_NUMBER: builtins.int
    PREFIX_LENGTH_FIELD_NUMBER: builtins.int
    PREFIX_TYPE_FIELD_NUMBER: builtins.int
    IPAM_ALLOCATION_ID_FIELD_NUMBER: builtins.int
    ALLOCATION_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]: ...
    type: builtins.str
    prefix: builtins.str
    prefix_length: builtins.int
    prefix_type: builtins.str
    ipam_allocation_id: builtins.str
    @property
    def allocation_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 = ...,
        type: builtins.str = ...,
        prefix: builtins.str = ...,
        prefix_length: builtins.int = ...,
        prefix_type: builtins.str = ...,
        ipam_allocation_id: builtins.str = ...,
        allocation_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["allocation_tags", b"allocation_tags", "ipam_allocation_id", b"ipam_allocation_id", "location", b"location", "name", b"name", "prefix", b"prefix", "prefix_length", b"prefix_length", "prefix_type", b"prefix_type", "resource_info", b"resource_info", "tags", b"tags", "type", b"type"]) -> None: ...

global___IpAllocations = IpAllocations

@typing_extensions.final
class ExpressRoutePorts(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_GBPS_FIELD_NUMBER: builtins.int
    ENCAPSULATION_FIELD_NUMBER: builtins.int
    LINKS_FIELD_NUMBER: builtins.int
    IDENTITY_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_gbps: builtins.int
    encapsulation: builtins.str
    @property
    def links(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExpressRouteLink]: ...
    @property
    def identity(self) -> global___ManagedServiceIdentity: ...
    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_gbps: builtins.int = ...,
        encapsulation: builtins.str = ...,
        links: collections.abc.Iterable[global___ExpressRouteLink] | None = ...,
        identity: global___ManagedServiceIdentity | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["identity", b"identity", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bandwidth_in_gbps", b"bandwidth_in_gbps", "encapsulation", b"encapsulation", "identity", b"identity", "links", b"links", "location", b"location", "name", b"name", "peering_location", b"peering_location", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___ExpressRoutePorts = ExpressRoutePorts

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

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

    TYPE_FIELD_NUMBER: builtins.int
    USER_ASSIGNED_IDENTITIES_FIELD_NUMBER: builtins.int
    type: builtins.str
    @property
    def user_assigned_identities(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        type: builtins.str = ...,
        user_assigned_identities: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["type", b"type", "user_assigned_identities", b"user_assigned_identities"]) -> None: ...

global___ManagedServiceIdentity = ManagedServiceIdentity

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

    ADMIN_STATE_FIELD_NUMBER: builtins.int
    MAC_SEC_CONFIG_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    admin_state: builtins.str
    @property
    def mac_sec_config(self) -> global___ExpressRouteLinkMacSecConfig: ...
    name: builtins.str
    def __init__(
        self,
        *,
        admin_state: builtins.str = ...,
        mac_sec_config: global___ExpressRouteLinkMacSecConfig | None = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["mac_sec_config", b"mac_sec_config"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["admin_state", b"admin_state", "mac_sec_config", b"mac_sec_config", "name", b"name"]) -> None: ...

global___ExpressRouteLink = ExpressRouteLink

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

    CKN_SECRET_IDENTIFIER_FIELD_NUMBER: builtins.int
    CAK_SECRET_IDENTIFIER_FIELD_NUMBER: builtins.int
    CIPHER_FIELD_NUMBER: builtins.int
    SCI_STATE_FIELD_NUMBER: builtins.int
    ckn_secret_identifier: builtins.str
    cak_secret_identifier: builtins.str
    cipher: builtins.str
    sci_state: builtins.str
    def __init__(
        self,
        *,
        ckn_secret_identifier: builtins.str = ...,
        cak_secret_identifier: builtins.str = ...,
        cipher: builtins.str = ...,
        sci_state: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["cak_secret_identifier", b"cak_secret_identifier", "cipher", b"cipher", "ckn_secret_identifier", b"ckn_secret_identifier", "sci_state", b"sci_state"]) -> None: ...

global___ExpressRouteLinkMacSecConfig = ExpressRouteLinkMacSecConfig

@typing_extensions.final
class ExpressRouteGatewaysExpressRouteConnections(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
    AUTHORIZATION_KEY_FIELD_NUMBER: builtins.int
    ROUTING_WEIGHT_FIELD_NUMBER: builtins.int
    ENABLE_INTERNET_SECURITY_FIELD_NUMBER: builtins.int
    EXPRESS_ROUTE_GATEWAY_BYPASS_FIELD_NUMBER: builtins.int
    ROUTING_CONFIGURATION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    express_route_circuit_peering: builtins.str
    authorization_key: builtins.str
    routing_weight: builtins.int
    enable_internet_security: builtins.bool
    express_route_gateway_bypass: builtins.bool
    @property
    def routing_configuration(self) -> global___RoutingConfiguration: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        express_route_circuit_peering: builtins.str = ...,
        authorization_key: builtins.str = ...,
        routing_weight: builtins.int = ...,
        enable_internet_security: builtins.bool = ...,
        express_route_gateway_bypass: builtins.bool = ...,
        routing_configuration: global___RoutingConfiguration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "routing_configuration", b"routing_configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["authorization_key", b"authorization_key", "enable_internet_security", b"enable_internet_security", "express_route_circuit_peering", b"express_route_circuit_peering", "express_route_gateway_bypass", b"express_route_gateway_bypass", "name", b"name", "resource_info", b"resource_info", "routing_configuration", b"routing_configuration", "routing_weight", b"routing_weight"]) -> None: ...

global___ExpressRouteGatewaysExpressRouteConnections = ExpressRouteGatewaysExpressRouteConnections

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

    ASSOCIATED_ROUTE_TABLE_FIELD_NUMBER: builtins.int
    PROPAGATED_ROUTE_TABLES_FIELD_NUMBER: builtins.int
    VNET_ROUTES_FIELD_NUMBER: builtins.int
    associated_route_table: builtins.str
    @property
    def propagated_route_tables(self) -> global___PropagatedRouteTable: ...
    @property
    def vnet_routes(self) -> global___VnetRoute: ...
    def __init__(
        self,
        *,
        associated_route_table: builtins.str = ...,
        propagated_route_tables: global___PropagatedRouteTable | None = ...,
        vnet_routes: global___VnetRoute | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["propagated_route_tables", b"propagated_route_tables", "vnet_routes", b"vnet_routes"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["associated_route_table", b"associated_route_table", "propagated_route_tables", b"propagated_route_tables", "vnet_routes", b"vnet_routes"]) -> None: ...

global___RoutingConfiguration = RoutingConfiguration

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

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

global___VnetRoute = VnetRoute

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

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

global___StaticRoute = StaticRoute

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

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

global___PropagatedRouteTable = PropagatedRouteTable

@typing_extensions.final
class ExpressRouteGateways(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
    AUTO_SCALE_CONFIGURATION_FIELD_NUMBER: builtins.int
    VIRTUAL_HUB_FIELD_NUMBER: builtins.int
    EXPRESS_ROUTE_GATEWAYS_EXPRESS_ROUTE_CONNECTIONS_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 auto_scale_configuration(self) -> global___ExpressRouteGatewayPropertiesAutoScaleConfiguration: ...
    virtual_hub: builtins.str
    @property
    def express_route_gateways_express_route_connections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExpressRouteGatewaysExpressRouteConnections]: ...
    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 = ...,
        auto_scale_configuration: global___ExpressRouteGatewayPropertiesAutoScaleConfiguration | None = ...,
        virtual_hub: builtins.str = ...,
        express_route_gateways_express_route_connections: collections.abc.Iterable[global___ExpressRouteGatewaysExpressRouteConnections] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["auto_scale_configuration", b"auto_scale_configuration", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["auto_scale_configuration", b"auto_scale_configuration", "express_route_gateways_express_route_connections", b"express_route_gateways_express_route_connections", "location", b"location", "name", b"name", "resource_info", b"resource_info", "tags", b"tags", "virtual_hub", b"virtual_hub"]) -> None: ...

global___ExpressRouteGateways = ExpressRouteGateways

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

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

global___ExpressRouteGatewayPropertiesAutoScaleConfiguration = ExpressRouteGatewayPropertiesAutoScaleConfiguration

@typing_extensions.final
class ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds(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___ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds = ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds

@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
    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
    @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 = ...,
        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", "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
    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]: ...
    express_route_circuit: builtins.str
    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 = ...,
        express_route_circuit: builtins.str = ...,
        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["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["express_route_circuit", b"express_route_circuit", "express_route_cross_connections_peerings", b"express_route_cross_connections_peerings", "location", b"location", "name", b"name", "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
    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
    @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 = ...,
        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", "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 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
    IPV6_CIRCUIT_CONNECTION_CONFIG_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
    @property
    def ipv6_circuit_connection_config(self) -> global___Ipv6CircuitConnectionConfig: ...
    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 = ...,
        ipv6_circuit_connection_config: global___Ipv6CircuitConnectionConfig | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["ipv6_circuit_connection_config", b"ipv6_circuit_connection_config", "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", "ipv6_circuit_connection_config", b"ipv6_circuit_connection_config", "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 Ipv6CircuitConnectionConfig(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___Ipv6CircuitConnectionConfig = Ipv6CircuitConnectionConfig

@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
    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
    STATS_FIELD_NUMBER: builtins.int
    GATEWAY_MANAGER_ETAG_FIELD_NUMBER: builtins.int
    ROUTE_FILTER_FIELD_NUMBER: builtins.int
    IPV6_PEERING_CONFIG_FIELD_NUMBER: builtins.int
    EXPRESS_ROUTE_CONNECTION_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
    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: ...
    @property
    def stats(self) -> global___ExpressRouteCircuitStats: ...
    gateway_manager_etag: builtins.str
    route_filter: builtins.str
    @property
    def ipv6_peering_config(self) -> global___Ipv6ExpressRouteCircuitPeeringConfig: ...
    express_route_connection: builtins.str
    @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 = ...,
        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 = ...,
        stats: global___ExpressRouteCircuitStats | None = ...,
        gateway_manager_etag: builtins.str = ...,
        route_filter: builtins.str = ...,
        ipv6_peering_config: global___Ipv6ExpressRouteCircuitPeeringConfig | None = ...,
        express_route_connection: builtins.str = ...,
        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["express_route_circuits_peerings_connections", b"express_route_circuits_peerings_connections", "express_route_connection", b"express_route_connection", "gateway_manager_etag", b"gateway_manager_etag", "ipv6_peering_config", b"ipv6_peering_config", "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", "route_filter", b"route_filter", "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
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "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
    AUTHORIZATIONS_FIELD_NUMBER: builtins.int
    PEERINGS_FIELD_NUMBER: builtins.int
    SERVICE_PROVIDER_NOTES_FIELD_NUMBER: builtins.int
    SERVICE_PROVIDER_PROPERTIES_FIELD_NUMBER: builtins.int
    EXPRESS_ROUTE_PORT_FIELD_NUMBER: builtins.int
    BANDWIDTH_IN_GBPS_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
    @property
    def authorizations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExpressRouteCircuitAuthorization]: ...
    @property
    def peerings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExpressRouteCircuitPeering]: ...
    service_provider_notes: builtins.str
    @property
    def service_provider_properties(self) -> global___ExpressRouteCircuitServiceProviderProperties: ...
    express_route_port: builtins.str
    bandwidth_in_gbps: builtins.float
    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 = ...,
        authorizations: collections.abc.Iterable[global___ExpressRouteCircuitAuthorization] | None = ...,
        peerings: collections.abc.Iterable[global___ExpressRouteCircuitPeering] | None = ...,
        service_provider_notes: builtins.str = ...,
        service_provider_properties: global___ExpressRouteCircuitServiceProviderProperties | None = ...,
        express_route_port: builtins.str = ...,
        bandwidth_in_gbps: builtins.float = ...,
        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", "bandwidth_in_gbps", b"bandwidth_in_gbps", "express_route_circuits_authorizations", b"express_route_circuits_authorizations", "express_route_circuits_peerings", b"express_route_circuits_peerings", "express_route_port", b"express_route_port", "gateway_manager_etag", b"gateway_manager_etag", "location", b"location", "name", b"name", "peerings", b"peerings", "resource_info", b"resource_info", "service_provider_notes", b"service_provider_notes", "service_provider_properties", b"service_provider_properties", "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
    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
    STATS_FIELD_NUMBER: builtins.int
    GATEWAY_MANAGER_ETAG_FIELD_NUMBER: builtins.int
    ROUTE_FILTER_FIELD_NUMBER: builtins.int
    IPV6_PEERING_CONFIG_FIELD_NUMBER: builtins.int
    EXPRESS_ROUTE_CONNECTION_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: ...
    @property
    def stats(self) -> global___ExpressRouteCircuitStats: ...
    gateway_manager_etag: builtins.str
    route_filter: builtins.str
    @property
    def ipv6_peering_config(self) -> global___Ipv6ExpressRouteCircuitPeeringConfig: ...
    express_route_connection: builtins.str
    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 = ...,
        stats: global___ExpressRouteCircuitStats | None = ...,
        gateway_manager_etag: builtins.str = ...,
        route_filter: builtins.str = ...,
        ipv6_peering_config: global___Ipv6ExpressRouteCircuitPeeringConfig | None = ...,
        express_route_connection: builtins.str = ...,
        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["express_route_connection", b"express_route_connection", "gateway_manager_etag", b"gateway_manager_etag", "ipv6_peering_config", b"ipv6_peering_config", "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", "route_filter", b"route_filter", "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 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
    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]: ...
    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 = ...,
        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", "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

    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___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 DscpConfigurations(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
    MARKINGS_FIELD_NUMBER: builtins.int
    SOURCE_IP_RANGES_FIELD_NUMBER: builtins.int
    DESTINATION_IP_RANGES_FIELD_NUMBER: builtins.int
    SOURCE_PORT_RANGES_FIELD_NUMBER: builtins.int
    DESTINATION_PORT_RANGES_FIELD_NUMBER: builtins.int
    PROTOCOL_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    location: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def markings(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    @property
    def source_ip_ranges(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___QosIpRange]: ...
    @property
    def destination_ip_ranges(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___QosIpRange]: ...
    @property
    def source_port_ranges(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___QosPortRange]: ...
    @property
    def destination_port_ranges(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___QosPortRange]: ...
    protocol: 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 = ...,
        markings: collections.abc.Iterable[builtins.int] | None = ...,
        source_ip_ranges: collections.abc.Iterable[global___QosIpRange] | None = ...,
        destination_ip_ranges: collections.abc.Iterable[global___QosIpRange] | None = ...,
        source_port_ranges: collections.abc.Iterable[global___QosPortRange] | None = ...,
        destination_port_ranges: collections.abc.Iterable[global___QosPortRange] | None = ...,
        protocol: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["destination_ip_ranges", b"destination_ip_ranges", "destination_port_ranges", b"destination_port_ranges", "location", b"location", "markings", b"markings", "name", b"name", "protocol", b"protocol", "resource_info", b"resource_info", "source_ip_ranges", b"source_ip_ranges", "source_port_ranges", b"source_port_ranges", "tags", b"tags"]) -> None: ...

global___DscpConfigurations = DscpConfigurations

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

    START_FIELD_NUMBER: builtins.int
    END_FIELD_NUMBER: builtins.int
    start: builtins.int
    end: builtins.int
    def __init__(
        self,
        *,
        start: builtins.int = ...,
        end: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["end", b"end", "start", b"start"]) -> None: ...

global___QosPortRange = QosPortRange

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

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

global___QosIpRange = QosIpRange

@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 DdosCustomPolicies(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
    PROTOCOL_CUSTOM_SETTINGS_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 protocol_custom_settings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ProtocolCustomSettingsFormat]: ...
    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 = ...,
        protocol_custom_settings: collections.abc.Iterable[global___ProtocolCustomSettingsFormat] | 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", "protocol_custom_settings", b"protocol_custom_settings", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___DdosCustomPolicies = DdosCustomPolicies

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

    PROTOCOL_FIELD_NUMBER: builtins.int
    TRIGGER_RATE_OVERRIDE_FIELD_NUMBER: builtins.int
    SOURCE_RATE_OVERRIDE_FIELD_NUMBER: builtins.int
    TRIGGER_SENSITIVITY_OVERRIDE_FIELD_NUMBER: builtins.int
    protocol: builtins.str
    trigger_rate_override: builtins.str
    source_rate_override: builtins.str
    trigger_sensitivity_override: builtins.str
    def __init__(
        self,
        *,
        protocol: builtins.str = ...,
        trigger_rate_override: builtins.str = ...,
        source_rate_override: builtins.str = ...,
        trigger_sensitivity_override: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["protocol", b"protocol", "source_rate_override", b"source_rate_override", "trigger_rate_override", b"trigger_rate_override", "trigger_sensitivity_override", b"trigger_sensitivity_override"]) -> None: ...

global___ProtocolCustomSettingsFormat = ProtocolCustomSettingsFormat

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

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

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    LOCATION_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    EXTENDED_LOCATION_FIELD_NUMBER: builtins.int
    CIDR_FIELD_NUMBER: builtins.int
    COMMISSIONED_STATE_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 extended_location(self) -> global___ExtendedLocation: ...
    cidr: builtins.str
    commissioned_state: 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 = ...,
        extended_location: global___ExtendedLocation | None = ...,
        cidr: builtins.str = ...,
        commissioned_state: builtins.str = ...,
        zones: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["extended_location", b"extended_location", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["cidr", b"cidr", "commissioned_state", b"commissioned_state", "extended_location", b"extended_location", "location", b"location", "name", b"name", "resource_info", b"resource_info", "tags", b"tags", "zones", b"zones"]) -> None: ...

global___CustomIpPrefixes = CustomIpPrefixes

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

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

global___ExtendedLocation = ExtendedLocation

@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
    CONNECTION_PROTOCOL_FIELD_NUMBER: builtins.int
    ROUTING_WEIGHT_FIELD_NUMBER: builtins.int
    DPD_TIMEOUT_SECONDS_FIELD_NUMBER: builtins.int
    CONNECTION_MODE_FIELD_NUMBER: builtins.int
    SHARED_KEY_FIELD_NUMBER: builtins.int
    PEER_FIELD_NUMBER: builtins.int
    ENABLE_BGP_FIELD_NUMBER: builtins.int
    USE_LOCAL_AZURE_IP_ADDRESS_FIELD_NUMBER: builtins.int
    USE_POLICY_BASED_TRAFFIC_SELECTORS_FIELD_NUMBER: builtins.int
    IPSEC_POLICIES_FIELD_NUMBER: builtins.int
    TRAFFIC_SELECTOR_POLICIES_FIELD_NUMBER: builtins.int
    EXPRESS_ROUTE_GATEWAY_BYPASS_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
    connection_protocol: builtins.str
    routing_weight: builtins.int
    dpd_timeout_seconds: builtins.int
    connection_mode: builtins.str
    shared_key: builtins.str
    peer: builtins.str
    enable_bgp: builtins.bool
    use_local_azure_ip_address: builtins.bool
    use_policy_based_traffic_selectors: builtins.bool
    @property
    def ipsec_policies(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IpsecPolicy]: ...
    @property
    def traffic_selector_policies(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TrafficSelectorPolicy]: ...
    express_route_gateway_bypass: builtins.bool
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        location: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        authorization_key: builtins.str = ...,
        virtual_network_gateway1: builtins.str = ...,
        virtual_network_gateway2: builtins.str = ...,
        local_network_gateway2: builtins.str = ...,
        connection_type: builtins.str = ...,
        connection_protocol: builtins.str = ...,
        routing_weight: builtins.int = ...,
        dpd_timeout_seconds: builtins.int = ...,
        connection_mode: builtins.str = ...,
        shared_key: builtins.str = ...,
        peer: builtins.str = ...,
        enable_bgp: builtins.bool = ...,
        use_local_azure_ip_address: builtins.bool = ...,
        use_policy_based_traffic_selectors: builtins.bool = ...,
        ipsec_policies: collections.abc.Iterable[global___IpsecPolicy] | None = ...,
        traffic_selector_policies: collections.abc.Iterable[global___TrafficSelectorPolicy] | None = ...,
        express_route_gateway_bypass: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["authorization_key", b"authorization_key", "connection_mode", b"connection_mode", "connection_protocol", b"connection_protocol", "connection_type", b"connection_type", "dpd_timeout_seconds", b"dpd_timeout_seconds", "enable_bgp", b"enable_bgp", "express_route_gateway_bypass", b"express_route_gateway_bypass", "ipsec_policies", b"ipsec_policies", "local_network_gateway2", b"local_network_gateway2", "location", b"location", "name", b"name", "peer", b"peer", "resource_info", b"resource_info", "routing_weight", b"routing_weight", "shared_key", b"shared_key", "tags", b"tags", "traffic_selector_policies", b"traffic_selector_policies", "use_local_azure_ip_address", b"use_local_azure_ip_address", "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 TrafficSelectorPolicy(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___TrafficSelectorPolicy = TrafficSelectorPolicy

@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 BastionHosts(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
    DNS_NAME_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___BastionHostIPConfiguration]: ...
    dns_name: 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___BastionHostIPConfiguration] | None = ...,
        dns_name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["dns_name", b"dns_name", "ip_configurations", b"ip_configurations", "location", b"location", "name", b"name", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___BastionHosts = BastionHosts

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

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

global___BastionHostIPConfiguration = BastionHostIPConfiguration

@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: ...

    @typing_extensions.final
    class AdditionalPropertiesEntry(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
    NAT_RULE_COLLECTIONS_FIELD_NUMBER: builtins.int
    NETWORK_RULE_COLLECTIONS_FIELD_NUMBER: builtins.int
    IP_CONFIGURATIONS_FIELD_NUMBER: builtins.int
    MANAGEMENT_IP_CONFIGURATION_FIELD_NUMBER: builtins.int
    THREAT_INTEL_MODE_FIELD_NUMBER: builtins.int
    VIRTUAL_HUB_FIELD_NUMBER: builtins.int
    FIREWALL_POLICY_FIELD_NUMBER: builtins.int
    HUB_IP_ADDRESSES_FIELD_NUMBER: builtins.int
    SKU_FIELD_NUMBER: builtins.int
    ADDITIONAL_PROPERTIES_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 application_rule_collections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AzureFirewallApplicationRuleCollection]: ...
    @property
    def nat_rule_collections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AzureFirewallNatRuleCollection]: ...
    @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]: ...
    @property
    def management_ip_configuration(self) -> global___AzureFirewallIPConfiguration: ...
    threat_intel_mode: builtins.str
    virtual_hub: builtins.str
    firewall_policy: builtins.str
    @property
    def hub_ip_addresses(self) -> global___HubIPAddresses: ...
    @property
    def sku(self) -> global___AzureFirewallSku: ...
    @property
    def additional_properties(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, 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 = ...,
        application_rule_collections: collections.abc.Iterable[global___AzureFirewallApplicationRuleCollection] | None = ...,
        nat_rule_collections: collections.abc.Iterable[global___AzureFirewallNatRuleCollection] | None = ...,
        network_rule_collections: collections.abc.Iterable[global___AzureFirewallNetworkRuleCollection] | None = ...,
        ip_configurations: collections.abc.Iterable[global___AzureFirewallIPConfiguration] | None = ...,
        management_ip_configuration: global___AzureFirewallIPConfiguration | None = ...,
        threat_intel_mode: builtins.str = ...,
        virtual_hub: builtins.str = ...,
        firewall_policy: builtins.str = ...,
        hub_ip_addresses: global___HubIPAddresses | None = ...,
        sku: global___AzureFirewallSku | None = ...,
        additional_properties: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        zones: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["hub_ip_addresses", b"hub_ip_addresses", "management_ip_configuration", b"management_ip_configuration", "resource_info", b"resource_info", "sku", b"sku"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["additional_properties", b"additional_properties", "application_rule_collections", b"application_rule_collections", "firewall_policy", b"firewall_policy", "hub_ip_addresses", b"hub_ip_addresses", "ip_configurations", b"ip_configurations", "location", b"location", "management_ip_configuration", b"management_ip_configuration", "name", b"name", "nat_rule_collections", b"nat_rule_collections", "network_rule_collections", b"network_rule_collections", "resource_info", b"resource_info", "sku", b"sku", "tags", b"tags", "threat_intel_mode", b"threat_intel_mode", "virtual_hub", b"virtual_hub", "zones", b"zones"]) -> None: ...

global___AzureFirewalls = AzureFirewalls

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

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

global___AzureFirewallSku = AzureFirewallSku

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

    PUBLIC_IPS_FIELD_NUMBER: builtins.int
    PRIVATE_IP_ADDRESS_FIELD_NUMBER: builtins.int
    @property
    def public_ips(self) -> global___HubPublicIPAddresses: ...
    private_ip_address: builtins.str
    def __init__(
        self,
        *,
        public_ips: global___HubPublicIPAddresses | None = ...,
        private_ip_address: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["public_ips", b"public_ips"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["private_ip_address", b"private_ip_address", "public_ips", b"public_ips"]) -> None: ...

global___HubIPAddresses = HubIPAddresses

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

    ADDRESSES_FIELD_NUMBER: builtins.int
    COUNT_FIELD_NUMBER: builtins.int
    @property
    def addresses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AzureFirewallPublicIPAddress]: ...
    count: builtins.int
    def __init__(
        self,
        *,
        addresses: collections.abc.Iterable[global___AzureFirewallPublicIPAddress] | None = ...,
        count: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["addresses", b"addresses", "count", b"count"]) -> None: ...

global___HubPublicIPAddresses = HubPublicIPAddresses

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

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

global___AzureFirewallPublicIPAddress = AzureFirewallPublicIPAddress

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

    SUBNET_FIELD_NUMBER: builtins.int
    PUBLIC_IP_ADDRESS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    subnet: builtins.str
    public_ip_address: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        subnet: builtins.str = ...,
        public_ip_address: builtins.str = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "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
    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]: ...
    name: builtins.str
    def __init__(
        self,
        *,
        priority: builtins.int = ...,
        action: global___AzureFirewallRCAction | None = ...,
        rules: collections.abc.Iterable[global___AzureFirewallNetworkRule] | None = ...,
        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", "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
    DESTINATION_FQDNS_FIELD_NUMBER: builtins.int
    SOURCE_IP_GROUPS_FIELD_NUMBER: builtins.int
    DESTINATION_IP_GROUPS_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]: ...
    @property
    def destination_fqdns(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def source_ip_groups(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def destination_ip_groups(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 = ...,
        destination_fqdns: collections.abc.Iterable[builtins.str] | None = ...,
        source_ip_groups: collections.abc.Iterable[builtins.str] | None = ...,
        destination_ip_groups: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "destination_addresses", b"destination_addresses", "destination_fqdns", b"destination_fqdns", "destination_ip_groups", b"destination_ip_groups", "destination_ports", b"destination_ports", "name", b"name", "protocols", b"protocols", "source_addresses", b"source_addresses", "source_ip_groups", b"source_ip_groups"]) -> None: ...

global___AzureFirewallNetworkRule = AzureFirewallNetworkRule

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

    PRIORITY_FIELD_NUMBER: builtins.int
    ACTION_FIELD_NUMBER: builtins.int
    RULES_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    priority: builtins.int
    @property
    def action(self) -> global___AzureFirewallNatRCAction: ...
    @property
    def rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AzureFirewallNatRule]: ...
    name: builtins.str
    def __init__(
        self,
        *,
        priority: builtins.int = ...,
        action: global___AzureFirewallNatRCAction | None = ...,
        rules: collections.abc.Iterable[global___AzureFirewallNatRule] | None = ...,
        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", "rules", b"rules"]) -> None: ...

global___AzureFirewallNatRuleCollection = AzureFirewallNatRuleCollection

@typing_extensions.final
class AzureFirewallNatRule(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
    DESTINATION_ADDRESSES_FIELD_NUMBER: builtins.int
    DESTINATION_PORTS_FIELD_NUMBER: builtins.int
    PROTOCOLS_FIELD_NUMBER: builtins.int
    TRANSLATED_ADDRESS_FIELD_NUMBER: builtins.int
    TRANSLATED_PORT_FIELD_NUMBER: builtins.int
    TRANSLATED_FQDN_FIELD_NUMBER: builtins.int
    SOURCE_IP_GROUPS_FIELD_NUMBER: builtins.int
    name: builtins.str
    description: 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]: ...
    @property
    def protocols(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    translated_address: builtins.str
    translated_port: builtins.str
    translated_fqdn: builtins.str
    @property
    def source_ip_groups(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 = ...,
        destination_addresses: collections.abc.Iterable[builtins.str] | None = ...,
        destination_ports: collections.abc.Iterable[builtins.str] | None = ...,
        protocols: collections.abc.Iterable[builtins.str] | None = ...,
        translated_address: builtins.str = ...,
        translated_port: builtins.str = ...,
        translated_fqdn: builtins.str = ...,
        source_ip_groups: 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", "source_ip_groups", b"source_ip_groups", "translated_address", b"translated_address", "translated_fqdn", b"translated_fqdn", "translated_port", b"translated_port"]) -> None: ...

global___AzureFirewallNatRule = AzureFirewallNatRule

@typing_extensions.final
class AzureFirewallNatRCAction(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___AzureFirewallNatRCAction = AzureFirewallNatRCAction

@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
    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]: ...
    name: builtins.str
    def __init__(
        self,
        *,
        priority: builtins.int = ...,
        action: global___AzureFirewallRCAction | None = ...,
        rules: collections.abc.Iterable[global___AzureFirewallApplicationRule] | None = ...,
        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", "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_FQDNS_FIELD_NUMBER: builtins.int
    FQDN_TAGS_FIELD_NUMBER: builtins.int
    SOURCE_IP_GROUPS_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_fqdns(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def fqdn_tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def source_ip_groups(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_fqdns: collections.abc.Iterable[builtins.str] | None = ...,
        fqdn_tags: collections.abc.Iterable[builtins.str] | None = ...,
        source_ip_groups: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "fqdn_tags", b"fqdn_tags", "name", b"name", "protocols", b"protocols", "source_addresses", b"source_addresses", "source_ip_groups", b"source_ip_groups", "target_fqdns", b"target_fqdns"]) -> 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

@typing_extensions.final
class ApplicationGatewayWebApplicationFirewallPolicies(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
    POLICY_SETTINGS_FIELD_NUMBER: builtins.int
    CUSTOM_RULES_FIELD_NUMBER: builtins.int
    MANAGED_RULES_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 policy_settings(self) -> global___PolicySettings: ...
    @property
    def custom_rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___WebApplicationFirewallCustomRule]: ...
    @property
    def managed_rules(self) -> global___ManagedRulesDefinition: ...
    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 = ...,
        policy_settings: global___PolicySettings | None = ...,
        custom_rules: collections.abc.Iterable[global___WebApplicationFirewallCustomRule] | None = ...,
        managed_rules: global___ManagedRulesDefinition | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["managed_rules", b"managed_rules", "policy_settings", b"policy_settings", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["custom_rules", b"custom_rules", "location", b"location", "managed_rules", b"managed_rules", "name", b"name", "policy_settings", b"policy_settings", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___ApplicationGatewayWebApplicationFirewallPolicies = ApplicationGatewayWebApplicationFirewallPolicies

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

    EXCLUSIONS_FIELD_NUMBER: builtins.int
    MANAGED_RULE_SETS_FIELD_NUMBER: builtins.int
    @property
    def exclusions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___OwaspCrsExclusionEntry]: ...
    @property
    def managed_rule_sets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ManagedRuleSet]: ...
    def __init__(
        self,
        *,
        exclusions: collections.abc.Iterable[global___OwaspCrsExclusionEntry] | None = ...,
        managed_rule_sets: collections.abc.Iterable[global___ManagedRuleSet] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["exclusions", b"exclusions", "managed_rule_sets", b"managed_rule_sets"]) -> None: ...

global___ManagedRulesDefinition = ManagedRulesDefinition

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

    RULE_SET_TYPE_FIELD_NUMBER: builtins.int
    RULE_SET_VERSION_FIELD_NUMBER: builtins.int
    RULE_GROUP_OVERRIDES_FIELD_NUMBER: builtins.int
    rule_set_type: builtins.str
    rule_set_version: builtins.str
    @property
    def rule_group_overrides(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ManagedRuleGroupOverride]: ...
    def __init__(
        self,
        *,
        rule_set_type: builtins.str = ...,
        rule_set_version: builtins.str = ...,
        rule_group_overrides: collections.abc.Iterable[global___ManagedRuleGroupOverride] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["rule_group_overrides", b"rule_group_overrides", "rule_set_type", b"rule_set_type", "rule_set_version", b"rule_set_version"]) -> None: ...

global___ManagedRuleSet = ManagedRuleSet

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

    RULE_GROUP_NAME_FIELD_NUMBER: builtins.int
    RULES_FIELD_NUMBER: builtins.int
    rule_group_name: builtins.str
    @property
    def rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ManagedRuleOverride]: ...
    def __init__(
        self,
        *,
        rule_group_name: builtins.str = ...,
        rules: collections.abc.Iterable[global___ManagedRuleOverride] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["rule_group_name", b"rule_group_name", "rules", b"rules"]) -> None: ...

global___ManagedRuleGroupOverride = ManagedRuleGroupOverride

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

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

global___ManagedRuleOverride = ManagedRuleOverride

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

    MATCH_VARIABLE_FIELD_NUMBER: builtins.int
    SELECTOR_MATCH_OPERATOR_FIELD_NUMBER: builtins.int
    SELECTOR_FIELD_NUMBER: builtins.int
    match_variable: builtins.str
    selector_match_operator: builtins.str
    selector: builtins.str
    def __init__(
        self,
        *,
        match_variable: builtins.str = ...,
        selector_match_operator: builtins.str = ...,
        selector: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["match_variable", b"match_variable", "selector", b"selector", "selector_match_operator", b"selector_match_operator"]) -> None: ...

global___OwaspCrsExclusionEntry = OwaspCrsExclusionEntry

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

    NAME_FIELD_NUMBER: builtins.int
    PRIORITY_FIELD_NUMBER: builtins.int
    RULE_TYPE_FIELD_NUMBER: builtins.int
    MATCH_CONDITIONS_FIELD_NUMBER: builtins.int
    ACTION_FIELD_NUMBER: builtins.int
    name: builtins.str
    priority: builtins.int
    rule_type: builtins.str
    @property
    def match_conditions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MatchCondition]: ...
    action: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        priority: builtins.int = ...,
        rule_type: builtins.str = ...,
        match_conditions: collections.abc.Iterable[global___MatchCondition] | None = ...,
        action: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["action", b"action", "match_conditions", b"match_conditions", "name", b"name", "priority", b"priority", "rule_type", b"rule_type"]) -> None: ...

global___WebApplicationFirewallCustomRule = WebApplicationFirewallCustomRule

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

    MATCH_VARIABLES_FIELD_NUMBER: builtins.int
    OPERATOR_FIELD_NUMBER: builtins.int
    NEGATION_CONDITON_FIELD_NUMBER: builtins.int
    MATCH_VALUES_FIELD_NUMBER: builtins.int
    TRANSFORMS_FIELD_NUMBER: builtins.int
    @property
    def match_variables(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MatchVariable]: ...
    operator: builtins.str
    negation_conditon: builtins.bool
    @property
    def match_values(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def transforms(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        match_variables: collections.abc.Iterable[global___MatchVariable] | None = ...,
        operator: builtins.str = ...,
        negation_conditon: builtins.bool = ...,
        match_values: collections.abc.Iterable[builtins.str] | None = ...,
        transforms: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["match_values", b"match_values", "match_variables", b"match_variables", "negation_conditon", b"negation_conditon", "operator", b"operator", "transforms", b"transforms"]) -> None: ...

global___MatchCondition = MatchCondition

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

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

global___MatchVariable = MatchVariable

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

    STATE_FIELD_NUMBER: builtins.int
    MODE_FIELD_NUMBER: builtins.int
    REQUEST_BODY_CHECK_FIELD_NUMBER: builtins.int
    MAX_REQUEST_BODY_SIZE_IN_KB_FIELD_NUMBER: builtins.int
    FILE_UPLOAD_LIMIT_IN_MB_FIELD_NUMBER: builtins.int
    state: builtins.str
    mode: builtins.str
    request_body_check: builtins.bool
    max_request_body_size_in_kb: builtins.int
    file_upload_limit_in_mb: builtins.int
    def __init__(
        self,
        *,
        state: builtins.str = ...,
        mode: builtins.str = ...,
        request_body_check: builtins.bool = ...,
        max_request_body_size_in_kb: builtins.int = ...,
        file_upload_limit_in_mb: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["file_upload_limit_in_mb", b"file_upload_limit_in_mb", "max_request_body_size_in_kb", b"max_request_body_size_in_kb", "mode", b"mode", "request_body_check", b"request_body_check", "state", b"state"]) -> None: ...

global___PolicySettings = PolicySettings
