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

    FRONT_DOOR_WEB_APPLICATION_FIREWALL_POLICIES_FIELD_NUMBER: builtins.int
    FRONT_DOORS_FIELD_NUMBER: builtins.int
    FRONT_DOORS_RULES_ENGINES_FIELD_NUMBER: builtins.int
    @property
    def front_door_web_application_firewall_policies(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FrontDoorWebApplicationFirewallPolicies]: ...
    @property
    def front_doors(self) -> global___FrontDoors: ...
    @property
    def front_doors_rules_engines(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FrontDoorsRulesEngines]: ...
    def __init__(
        self,
        *,
        front_door_web_application_firewall_policies: collections.abc.Iterable[global___FrontDoorWebApplicationFirewallPolicies] | None = ...,
        front_doors: global___FrontDoors | None = ...,
        front_doors_rules_engines: collections.abc.Iterable[global___FrontDoorsRulesEngines] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["front_doors", b"front_doors"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["front_door_web_application_firewall_policies", b"front_door_web_application_firewall_policies", "front_doors", b"front_doors", "front_doors_rules_engines", b"front_doors_rules_engines"]) -> None: ...

global___Microsoft_Network_FrontDoor = Microsoft_Network_FrontDoor

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

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    RESOURCE_STATE_FIELD_NUMBER: builtins.int
    ADDITIONAL_LATENCY_MILLISECONDS_FIELD_NUMBER: builtins.int
    SAMPLE_SIZE_FIELD_NUMBER: builtins.int
    SUCCESSFUL_SAMPLES_REQUIRED_FIELD_NUMBER: builtins.int
    id: builtins.str
    name: builtins.str
    resource_state: builtins.str
    additional_latency_milliseconds: builtins.int
    sample_size: builtins.int
    successful_samples_required: builtins.int
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        name: builtins.str = ...,
        resource_state: builtins.str = ...,
        additional_latency_milliseconds: builtins.int = ...,
        sample_size: builtins.int = ...,
        successful_samples_required: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["additional_latency_milliseconds", b"additional_latency_milliseconds", "id", b"id", "name", b"name", "resource_state", b"resource_state", "sample_size", b"sample_size", "successful_samples_required", b"successful_samples_required"]) -> None: ...

global___LoadBalancingSettings = LoadBalancingSettings

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

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ENABLED_STATE_FIELD_NUMBER: builtins.int
    HEALTH_PROBE_METHOD_FIELD_NUMBER: builtins.int
    INTERVAL_IN_SECONDS_FIELD_NUMBER: builtins.int
    PATH_FIELD_NUMBER: builtins.int
    PROTOCOL_FIELD_NUMBER: builtins.int
    RESOURCE_STATE_FIELD_NUMBER: builtins.int
    id: builtins.str
    name: builtins.str
    enabled_state: builtins.str
    health_probe_method: builtins.str
    interval_in_seconds: builtins.int
    path: builtins.str
    protocol: builtins.str
    resource_state: builtins.str
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        name: builtins.str = ...,
        enabled_state: builtins.str = ...,
        health_probe_method: builtins.str = ...,
        interval_in_seconds: builtins.int = ...,
        path: builtins.str = ...,
        protocol: builtins.str = ...,
        resource_state: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["enabled_state", b"enabled_state", "health_probe_method", b"health_probe_method", "id", b"id", "interval_in_seconds", b"interval_in_seconds", "name", b"name", "path", b"path", "protocol", b"protocol", "resource_state", b"resource_state"]) -> None: ...

global___HealthProbeSettings = HealthProbeSettings

@typing_extensions.final
class FrontDoorWebApplicationFirewallPolicies(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
    ETAG_FIELD_NUMBER: builtins.int
    LOCATION_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    CUSTOM_RULES_FIELD_NUMBER: builtins.int
    MANAGED_RULES_FIELD_NUMBER: builtins.int
    POLICY_SETTINGS_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    SKU_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    etag: builtins.str
    location: builtins.str
    name: builtins.str
    @property
    def custom_rules(self) -> global___CustomRuleList: ...
    @property
    def managed_rules(self) -> global___ManagedRuleSetList: ...
    @property
    def policy_settings(self) -> global___PolicySettings: ...
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def sku(self) -> global___Sku: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        etag: builtins.str = ...,
        location: builtins.str = ...,
        name: builtins.str = ...,
        custom_rules: global___CustomRuleList | None = ...,
        managed_rules: global___ManagedRuleSetList | None = ...,
        policy_settings: global___PolicySettings | None = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        sku: global___Sku | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["custom_rules", b"custom_rules", "managed_rules", b"managed_rules", "policy_settings", b"policy_settings", "resource_info", b"resource_info", "sku", b"sku"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["custom_rules", b"custom_rules", "etag", b"etag", "location", b"location", "managed_rules", b"managed_rules", "name", b"name", "policy_settings", b"policy_settings", "resource_info", b"resource_info", "sku", b"sku", "tags", b"tags"]) -> None: ...

global___FrontDoorWebApplicationFirewallPolicies = FrontDoorWebApplicationFirewallPolicies

@typing_extensions.final
class Sku(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___Sku = Sku

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

    CUSTOM_BLOCK_RESPONSE_BODY_FIELD_NUMBER: builtins.int
    CUSTOM_BLOCK_RESPONSE_STATUS_CODE_FIELD_NUMBER: builtins.int
    ENABLED_STATE_FIELD_NUMBER: builtins.int
    MODE_FIELD_NUMBER: builtins.int
    REDIRECT_URL_FIELD_NUMBER: builtins.int
    custom_block_response_body: builtins.str
    custom_block_response_status_code: builtins.int
    enabled_state: builtins.str
    mode: builtins.str
    redirect_url: builtins.str
    def __init__(
        self,
        *,
        custom_block_response_body: builtins.str = ...,
        custom_block_response_status_code: builtins.int = ...,
        enabled_state: builtins.str = ...,
        mode: builtins.str = ...,
        redirect_url: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["custom_block_response_body", b"custom_block_response_body", "custom_block_response_status_code", b"custom_block_response_status_code", "enabled_state", b"enabled_state", "mode", b"mode", "redirect_url", b"redirect_url"]) -> None: ...

global___PolicySettings = PolicySettings

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

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

global___ManagedRuleSetList = ManagedRuleSetList

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

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

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

    ACTION_FIELD_NUMBER: builtins.int
    ENABLED_STATE_FIELD_NUMBER: builtins.int
    EXCLUSIONS_FIELD_NUMBER: builtins.int
    RULE_ID_FIELD_NUMBER: builtins.int
    action: builtins.str
    enabled_state: builtins.str
    @property
    def exclusions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ManagedRuleExclusion]: ...
    rule_id: builtins.str
    def __init__(
        self,
        *,
        action: builtins.str = ...,
        enabled_state: builtins.str = ...,
        exclusions: collections.abc.Iterable[global___ManagedRuleExclusion] | None = ...,
        rule_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["action", b"action", "enabled_state", b"enabled_state", "exclusions", b"exclusions", "rule_id", b"rule_id"]) -> None: ...

global___ManagedRuleOverride = ManagedRuleOverride

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

    MATCH_VARIABLE_FIELD_NUMBER: builtins.int
    SELECTOR_FIELD_NUMBER: builtins.int
    SELECTOR_MATCH_OPERATOR_FIELD_NUMBER: builtins.int
    match_variable: builtins.str
    selector: builtins.str
    selector_match_operator: builtins.str
    def __init__(
        self,
        *,
        match_variable: builtins.str = ...,
        selector: builtins.str = ...,
        selector_match_operator: 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___ManagedRuleExclusion = ManagedRuleExclusion

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

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

global___CustomRuleList = CustomRuleList

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

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

global___CustomRule = CustomRule

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

    MATCH_VALUE_FIELD_NUMBER: builtins.int
    MATCH_VARIABLE_FIELD_NUMBER: builtins.int
    NEGATE_CONDITION_FIELD_NUMBER: builtins.int
    OPERATOR_FIELD_NUMBER: builtins.int
    SELECTOR_FIELD_NUMBER: builtins.int
    TRANSFORMS_FIELD_NUMBER: builtins.int
    @property
    def match_value(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    match_variable: builtins.str
    negate_condition: builtins.bool
    operator: builtins.str
    selector: builtins.str
    @property
    def transforms(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        match_value: collections.abc.Iterable[builtins.str] | None = ...,
        match_variable: builtins.str = ...,
        negate_condition: builtins.bool = ...,
        operator: builtins.str = ...,
        selector: builtins.str = ...,
        transforms: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["match_value", b"match_value", "match_variable", b"match_variable", "negate_condition", b"negate_condition", "operator", b"operator", "selector", b"selector", "transforms", b"transforms"]) -> None: ...

global___MatchCondition = MatchCondition

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

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

global___FrontDoorsRulesEngines = FrontDoorsRulesEngines

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

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

global___RulesEngineRule = RulesEngineRule

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

    NEGATE_CONDITION_FIELD_NUMBER: builtins.int
    RULES_ENGINE_MATCH_VALUE_FIELD_NUMBER: builtins.int
    RULES_ENGINE_MATCH_VARIABLE_FIELD_NUMBER: builtins.int
    RULES_ENGINE_OPERATOR_FIELD_NUMBER: builtins.int
    SELECTOR_FIELD_NUMBER: builtins.int
    TRANSFORMS_FIELD_NUMBER: builtins.int
    negate_condition: builtins.bool
    @property
    def rules_engine_match_value(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    rules_engine_match_variable: builtins.str
    rules_engine_operator: builtins.str
    selector: builtins.str
    @property
    def transforms(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        negate_condition: builtins.bool = ...,
        rules_engine_match_value: collections.abc.Iterable[builtins.str] | None = ...,
        rules_engine_match_variable: builtins.str = ...,
        rules_engine_operator: builtins.str = ...,
        selector: builtins.str = ...,
        transforms: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["negate_condition", b"negate_condition", "rules_engine_match_value", b"rules_engine_match_value", "rules_engine_match_variable", b"rules_engine_match_variable", "rules_engine_operator", b"rules_engine_operator", "selector", b"selector", "transforms", b"transforms"]) -> None: ...

global___RulesEngineMatchCondition = RulesEngineMatchCondition

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

    REQUEST_HEADER_ACTIONS_FIELD_NUMBER: builtins.int
    RESPONSE_HEADER_ACTIONS_FIELD_NUMBER: builtins.int
    ROUTE_CONFIGURATION_OVERRIDE_FIELD_NUMBER: builtins.int
    @property
    def request_header_actions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HeaderAction]: ...
    @property
    def response_header_actions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HeaderAction]: ...
    @property
    def route_configuration_override(self) -> global___RouteConfiguration: ...
    def __init__(
        self,
        *,
        request_header_actions: collections.abc.Iterable[global___HeaderAction] | None = ...,
        response_header_actions: collections.abc.Iterable[global___HeaderAction] | None = ...,
        route_configuration_override: global___RouteConfiguration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["route_configuration_override", b"route_configuration_override"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["request_header_actions", b"request_header_actions", "response_header_actions", b"response_header_actions", "route_configuration_override", b"route_configuration_override"]) -> None: ...

global___RulesEngineAction = RulesEngineAction

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

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

global___HeaderAction = HeaderAction

@typing_extensions.final
class FrontDoors(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
    LOCATION_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    BACKEND_POOLS_FIELD_NUMBER: builtins.int
    BACKEND_POOLS_SETTINGS_FIELD_NUMBER: builtins.int
    ENABLED_STATE_FIELD_NUMBER: builtins.int
    FRIENDLY_NAME_FIELD_NUMBER: builtins.int
    FRONTEND_ENDPOINTS_FIELD_NUMBER: builtins.int
    HEALTH_PROBE_SETTINGS_FIELD_NUMBER: builtins.int
    LOAD_BALANCING_SETTINGS_FIELD_NUMBER: builtins.int
    RESOURCE_STATE_FIELD_NUMBER: builtins.int
    ROUTING_RULES_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    location: builtins.str
    name: builtins.str
    @property
    def backend_pools(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BackendPool]: ...
    @property
    def backend_pools_settings(self) -> global___BackendPoolsSettings: ...
    enabled_state: builtins.str
    friendly_name: builtins.str
    @property
    def frontend_endpoints(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FrontendEndpoint]: ...
    @property
    def health_probe_settings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HealthProbeSettings]: ...
    @property
    def load_balancing_settings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LoadBalancingSettings]: ...
    resource_state: builtins.str
    @property
    def routing_rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RoutingRule]: ...
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        location: builtins.str = ...,
        name: builtins.str = ...,
        backend_pools: collections.abc.Iterable[global___BackendPool] | None = ...,
        backend_pools_settings: global___BackendPoolsSettings | None = ...,
        enabled_state: builtins.str = ...,
        friendly_name: builtins.str = ...,
        frontend_endpoints: collections.abc.Iterable[global___FrontendEndpoint] | None = ...,
        health_probe_settings: collections.abc.Iterable[global___HealthProbeSettings] | None = ...,
        load_balancing_settings: collections.abc.Iterable[global___LoadBalancingSettings] | None = ...,
        resource_state: builtins.str = ...,
        routing_rules: collections.abc.Iterable[global___RoutingRule] | None = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["backend_pools_settings", b"backend_pools_settings", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["backend_pools", b"backend_pools", "backend_pools_settings", b"backend_pools_settings", "enabled_state", b"enabled_state", "friendly_name", b"friendly_name", "frontend_endpoints", b"frontend_endpoints", "health_probe_settings", b"health_probe_settings", "load_balancing_settings", b"load_balancing_settings", "location", b"location", "name", b"name", "resource_info", b"resource_info", "resource_state", b"resource_state", "routing_rules", b"routing_rules", "tags", b"tags"]) -> None: ...

global___FrontDoors = FrontDoors

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

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ENABLED_STATE_FIELD_NUMBER: builtins.int
    PATTERNS_TO_MATCH_FIELD_NUMBER: builtins.int
    RESOURCE_STATE_FIELD_NUMBER: builtins.int
    ROUTE_CONFIGURATION_FIELD_NUMBER: builtins.int
    RULES_ENGINE_FIELD_NUMBER: builtins.int
    WEB_APPLICATION_FIREWALL_POLICY_LINK_FIELD_NUMBER: builtins.int
    FRONTEND_ENDPOINTS_FIELD_NUMBER: builtins.int
    ACCEPTED_PROTOCOLS_FIELD_NUMBER: builtins.int
    id: builtins.str
    name: builtins.str
    enabled_state: builtins.str
    @property
    def patterns_to_match(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    resource_state: builtins.str
    @property
    def route_configuration(self) -> global___RouteConfiguration: ...
    rules_engine: builtins.str
    @property
    def web_application_firewall_policy_link(self) -> global___RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink: ...
    @property
    def frontend_endpoints(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FrontendEndpoint]: ...
    accepted_protocols: builtins.str
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        name: builtins.str = ...,
        enabled_state: builtins.str = ...,
        patterns_to_match: collections.abc.Iterable[builtins.str] | None = ...,
        resource_state: builtins.str = ...,
        route_configuration: global___RouteConfiguration | None = ...,
        rules_engine: builtins.str = ...,
        web_application_firewall_policy_link: global___RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink | None = ...,
        frontend_endpoints: collections.abc.Iterable[global___FrontendEndpoint] | None = ...,
        accepted_protocols: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["route_configuration", b"route_configuration", "web_application_firewall_policy_link", b"web_application_firewall_policy_link"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["accepted_protocols", b"accepted_protocols", "enabled_state", b"enabled_state", "frontend_endpoints", b"frontend_endpoints", "id", b"id", "name", b"name", "patterns_to_match", b"patterns_to_match", "resource_state", b"resource_state", "route_configuration", b"route_configuration", "rules_engine", b"rules_engine", "web_application_firewall_policy_link", b"web_application_firewall_policy_link"]) -> None: ...

global___RoutingRule = RoutingRule

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

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

global___RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink = RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink

@typing_extensions.final
class RouteConfiguration(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___RouteConfiguration = RouteConfiguration

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

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    HOST_NAME_FIELD_NUMBER: builtins.int
    RESOURCE_STATE_FIELD_NUMBER: builtins.int
    SESSION_AFFINITY_ENABLED_STATE_FIELD_NUMBER: builtins.int
    SESSION_AFFINITY_TTL_SECONDS_FIELD_NUMBER: builtins.int
    WEB_APPLICATION_FIREWALL_POLICY_LINK_FIELD_NUMBER: builtins.int
    id: builtins.str
    name: builtins.str
    host_name: builtins.str
    resource_state: builtins.str
    session_affinity_enabled_state: builtins.str
    session_affinity_ttl_seconds: builtins.int
    @property
    def web_application_firewall_policy_link(self) -> global___FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink: ...
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        name: builtins.str = ...,
        host_name: builtins.str = ...,
        resource_state: builtins.str = ...,
        session_affinity_enabled_state: builtins.str = ...,
        session_affinity_ttl_seconds: builtins.int = ...,
        web_application_firewall_policy_link: global___FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["web_application_firewall_policy_link", b"web_application_firewall_policy_link"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["host_name", b"host_name", "id", b"id", "name", b"name", "resource_state", b"resource_state", "session_affinity_enabled_state", b"session_affinity_enabled_state", "session_affinity_ttl_seconds", b"session_affinity_ttl_seconds", "web_application_firewall_policy_link", b"web_application_firewall_policy_link"]) -> None: ...

global___FrontendEndpoint = FrontendEndpoint

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

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

global___FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink = FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink

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

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

global___BackendPoolsSettings = BackendPoolsSettings

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

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    BACKENDS_FIELD_NUMBER: builtins.int
    HEALTH_PROBE_SETTINGS_FIELD_NUMBER: builtins.int
    LOAD_BALANCING_SETTINGS_FIELD_NUMBER: builtins.int
    RESOURCE_STATE_FIELD_NUMBER: builtins.int
    id: builtins.str
    name: builtins.str
    @property
    def backends(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Backend]: ...
    @property
    def health_probe_settings(self) -> global___HealthProbeSettings: ...
    @property
    def load_balancing_settings(self) -> global___LoadBalancingSettings: ...
    resource_state: builtins.str
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        name: builtins.str = ...,
        backends: collections.abc.Iterable[global___Backend] | None = ...,
        health_probe_settings: global___HealthProbeSettings | None = ...,
        load_balancing_settings: global___LoadBalancingSettings | None = ...,
        resource_state: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["health_probe_settings", b"health_probe_settings", "load_balancing_settings", b"load_balancing_settings"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["backends", b"backends", "health_probe_settings", b"health_probe_settings", "id", b"id", "load_balancing_settings", b"load_balancing_settings", "name", b"name", "resource_state", b"resource_state"]) -> None: ...

global___BackendPool = BackendPool

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

    ADDRESS_FIELD_NUMBER: builtins.int
    BACKEND_HOST_HEADER_FIELD_NUMBER: builtins.int
    ENABLED_STATE_FIELD_NUMBER: builtins.int
    HTTP_PORT_FIELD_NUMBER: builtins.int
    HTTPS_PORT_FIELD_NUMBER: builtins.int
    PRIORITY_FIELD_NUMBER: builtins.int
    PRIVATE_LINK_ALIAS_FIELD_NUMBER: builtins.int
    PRIVATE_LINK_APPROVAL_MESSAGE_FIELD_NUMBER: builtins.int
    WEIGHT_FIELD_NUMBER: builtins.int
    address: builtins.str
    backend_host_header: builtins.str
    enabled_state: builtins.str
    http_port: builtins.int
    https_port: builtins.int
    priority: builtins.int
    private_link_alias: builtins.str
    private_link_approval_message: builtins.str
    weight: builtins.int
    def __init__(
        self,
        *,
        address: builtins.str = ...,
        backend_host_header: builtins.str = ...,
        enabled_state: builtins.str = ...,
        http_port: builtins.int = ...,
        https_port: builtins.int = ...,
        priority: builtins.int = ...,
        private_link_alias: builtins.str = ...,
        private_link_approval_message: builtins.str = ...,
        weight: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["address", b"address", "backend_host_header", b"backend_host_header", "enabled_state", b"enabled_state", "http_port", b"http_port", "https_port", b"https_port", "priority", b"priority", "private_link_alias", b"private_link_alias", "private_link_approval_message", b"private_link_approval_message", "weight", b"weight"]) -> None: ...

global___Backend = Backend
