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

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

global___Microsoft_Network_firewallPolicies = Microsoft_Network_firewallPolicies

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

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

global___FirewallPoliciesRuleCollectionGroups = FirewallPoliciesRuleCollectionGroups

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

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

global___FirewallPolicyRuleCollection = FirewallPolicyRuleCollection

@typing_extensions.final
class FirewallPolicies(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
    BASE_POLICY_FIELD_NUMBER: builtins.int
    THREAT_INTEL_MODE_FIELD_NUMBER: builtins.int
    THREAT_INTEL_WHITELIST_FIELD_NUMBER: builtins.int
    DNS_SETTINGS_FIELD_NUMBER: builtins.int
    INTRUSION_DETECTION_FIELD_NUMBER: builtins.int
    TRANSPORT_SECURITY_FIELD_NUMBER: builtins.int
    SKU_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    FIREWALL_POLICIES_RULE_COLLECTION_GROUPS_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]: ...
    base_policy: builtins.str
    threat_intel_mode: builtins.str
    @property
    def threat_intel_whitelist(self) -> global___FirewallPolicyThreatIntelWhitelist: ...
    @property
    def dns_settings(self) -> global___DnsSettings: ...
    @property
    def intrusion_detection(self) -> global___FirewallPolicyIntrusionDetection: ...
    @property
    def transport_security(self) -> global___FirewallPolicyTransportSecurity: ...
    @property
    def sku(self) -> global___FirewallPolicySku: ...
    @property
    def identity(self) -> global___ManagedServiceIdentity: ...
    @property
    def firewall_policies_rule_collection_groups(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FirewallPoliciesRuleCollectionGroups]: ...
    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 = ...,
        base_policy: builtins.str = ...,
        threat_intel_mode: builtins.str = ...,
        threat_intel_whitelist: global___FirewallPolicyThreatIntelWhitelist | None = ...,
        dns_settings: global___DnsSettings | None = ...,
        intrusion_detection: global___FirewallPolicyIntrusionDetection | None = ...,
        transport_security: global___FirewallPolicyTransportSecurity | None = ...,
        sku: global___FirewallPolicySku | None = ...,
        identity: global___ManagedServiceIdentity | None = ...,
        firewall_policies_rule_collection_groups: collections.abc.Iterable[global___FirewallPoliciesRuleCollectionGroups] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["dns_settings", b"dns_settings", "identity", b"identity", "intrusion_detection", b"intrusion_detection", "resource_info", b"resource_info", "sku", b"sku", "threat_intel_whitelist", b"threat_intel_whitelist", "transport_security", b"transport_security"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["base_policy", b"base_policy", "dns_settings", b"dns_settings", "firewall_policies_rule_collection_groups", b"firewall_policies_rule_collection_groups", "identity", b"identity", "intrusion_detection", b"intrusion_detection", "location", b"location", "name", b"name", "resource_info", b"resource_info", "sku", b"sku", "tags", b"tags", "threat_intel_mode", b"threat_intel_mode", "threat_intel_whitelist", b"threat_intel_whitelist", "transport_security", b"transport_security"]) -> None: ...

global___FirewallPolicies = FirewallPolicies

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

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

global___FirewallPolicySku = FirewallPolicySku

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

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

global___FirewallPolicyTransportSecurity = FirewallPolicyTransportSecurity

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

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

global___FirewallPolicyCertificateAuthority = FirewallPolicyCertificateAuthority

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

    MODE_FIELD_NUMBER: builtins.int
    CONFIGURATION_FIELD_NUMBER: builtins.int
    mode: builtins.str
    @property
    def configuration(self) -> global___FirewallPolicyIntrusionDetectionConfiguration: ...
    def __init__(
        self,
        *,
        mode: builtins.str = ...,
        configuration: global___FirewallPolicyIntrusionDetectionConfiguration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["configuration", b"configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["configuration", b"configuration", "mode", b"mode"]) -> None: ...

global___FirewallPolicyIntrusionDetection = FirewallPolicyIntrusionDetection

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

    SIGNATURE_OVERRIDES_FIELD_NUMBER: builtins.int
    BYPASS_TRAFFIC_SETTINGS_FIELD_NUMBER: builtins.int
    @property
    def signature_overrides(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FirewallPolicyIntrusionDetectionSignatureSpecification]: ...
    @property
    def bypass_traffic_settings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FirewallPolicyIntrusionDetectionBypassTrafficSpecifications]: ...
    def __init__(
        self,
        *,
        signature_overrides: collections.abc.Iterable[global___FirewallPolicyIntrusionDetectionSignatureSpecification] | None = ...,
        bypass_traffic_settings: collections.abc.Iterable[global___FirewallPolicyIntrusionDetectionBypassTrafficSpecifications] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["bypass_traffic_settings", b"bypass_traffic_settings", "signature_overrides", b"signature_overrides"]) -> None: ...

global___FirewallPolicyIntrusionDetectionConfiguration = FirewallPolicyIntrusionDetectionConfiguration

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

    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    PROTOCOL_FIELD_NUMBER: builtins.int
    SOURCE_ADDRESSES_FIELD_NUMBER: builtins.int
    DESTINATION_ADDRESSES_FIELD_NUMBER: builtins.int
    DESTINATION_PORTS_FIELD_NUMBER: builtins.int
    SOURCE_IP_GROUPS_FIELD_NUMBER: builtins.int
    DESTINATION_IP_GROUPS_FIELD_NUMBER: builtins.int
    name: builtins.str
    description: builtins.str
    protocol: 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 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 = ...,
        protocol: 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 = ...,
        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_ip_groups", b"destination_ip_groups", "destination_ports", b"destination_ports", "name", b"name", "protocol", b"protocol", "source_addresses", b"source_addresses", "source_ip_groups", b"source_ip_groups"]) -> None: ...

global___FirewallPolicyIntrusionDetectionBypassTrafficSpecifications = FirewallPolicyIntrusionDetectionBypassTrafficSpecifications

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

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

global___FirewallPolicyIntrusionDetectionSignatureSpecification = FirewallPolicyIntrusionDetectionSignatureSpecification

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

    SERVERS_FIELD_NUMBER: builtins.int
    ENABLE_PROXY_FIELD_NUMBER: builtins.int
    REQUIRE_PROXY_FOR_NETWORK_RULES_FIELD_NUMBER: builtins.int
    @property
    def servers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    enable_proxy: builtins.bool
    require_proxy_for_network_rules: builtins.bool
    def __init__(
        self,
        *,
        servers: collections.abc.Iterable[builtins.str] | None = ...,
        enable_proxy: builtins.bool = ...,
        require_proxy_for_network_rules: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["enable_proxy", b"enable_proxy", "require_proxy_for_network_rules", b"require_proxy_for_network_rules", "servers", b"servers"]) -> None: ...

global___DnsSettings = DnsSettings

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

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

global___FirewallPolicyThreatIntelWhitelist = FirewallPolicyThreatIntelWhitelist
