From c1827687c9a37f7ead7bcfd8d8f060a58128956b Mon Sep 17 00:00:00 2001 From: azure-sdk Date: Mon, 14 Sep 2026 06:34:32 +0000 Subject: [PATCH] Configurations: 'specification/frontdoor/resource-manager/Microsoft.Network/FrontDoor/tspconfig.yaml', and CommitSHA: '530ebfb31d6cf1b28f2c475013b0657d1a01c2a6' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6831004 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. --- sdk/network/azure-mgmt-frontdoor/CHANGELOG.md | 24 + .../azure-mgmt-frontdoor/_metadata.json | 10 +- sdk/network/azure-mgmt-frontdoor/api.md | 967 +++++++- .../azure-mgmt-frontdoor/api.metadata.yml | 7 +- .../apiview-properties.json | 12 +- .../azure/mgmt/frontdoor/_client.py | 5 +- .../azure/mgmt/frontdoor/_configuration.py | 7 +- .../azure/mgmt/frontdoor/_patch.py | 1 - .../azure/mgmt/frontdoor/_utils/model_base.py | 37 +- .../mgmt/frontdoor/_utils/serialization.py | 6 +- .../azure/mgmt/frontdoor/_version.py | 2 +- .../azure/mgmt/frontdoor/aio/_client.py | 5 +- .../mgmt/frontdoor/aio/_configuration.py | 7 +- .../azure/mgmt/frontdoor/aio/_patch.py | 1 - .../frontdoor/aio/operations/_operations.py | 232 +- .../mgmt/frontdoor/aio/operations/_patch.py | 1 - .../azure/mgmt/frontdoor/models/__init__.py | 20 + .../azure/mgmt/frontdoor/models/_enums.py | 73 + .../azure/mgmt/frontdoor/models/_models.py | 432 +++- .../azure/mgmt/frontdoor/models/_patch.py | 1 - .../mgmt/frontdoor/operations/_operations.py | 308 +-- .../azure/mgmt/frontdoor/operations/_patch.py | 1 - .../azure/mgmt/frontdoor/types.py | 1958 +++++++++++++++++ .../check_frontdoor_name_availability.py | 2 +- ...oor_name_availability_with_subscription.py | 2 +- .../generated_samples/frontdoor_create.py | 2 +- .../generated_samples/frontdoor_delete.py | 2 +- .../frontdoor_disable_https.py | 2 +- .../frontdoor_enable_https.py | 2 +- .../frontdoor_frontend_endpoint_get.py | 2 +- .../frontdoor_frontend_endpoint_list.py | 2 +- .../generated_samples/frontdoor_get.py | 2 +- .../generated_samples/frontdoor_list.py | 2 +- .../generated_samples/frontdoor_list_all.py | 2 +- .../frontdoor_purge_content.py | 2 +- .../frontdoor_rules_engine_create.py | 2 +- .../frontdoor_rules_engine_delete.py | 2 +- .../frontdoor_rules_engine_get.py | 2 +- .../frontdoor_rules_engine_list.py | 2 +- .../frontdoor_validate_custom_domain.py | 2 +- .../network_experiment_create_experiment.py | 2 +- .../network_experiment_create_profile.py | 2 +- .../network_experiment_delete_experiment.py | 2 +- .../network_experiment_delete_profile.py | 2 +- .../network_experiment_get_experiment.py | 2 +- ...etwork_experiment_get_latency_scorecard.py | 2 +- ..._experiment_get_preconfigured_endpoints.py | 2 +- .../network_experiment_get_profile.py | 2 +- .../network_experiment_get_timeseries.py | 2 +- ...eriment_list_by_resource_group_profiles.py | 2 +- .../network_experiment_list_experiments.py | 2 +- .../network_experiment_list_profiles.py | 2 +- .../network_experiment_update_experiment.py | 2 +- .../network_experiment_update_profile.py | 2 +- .../waf_list_managed_rule_sets.py | 2 +- .../generated_samples/waf_list_policies.py | 2 +- .../waf_list_policies_under_subscription.py | 2 +- .../waf_policy_create_or_update.py | 23 +- .../generated_samples/waf_policy_delete.py | 2 +- .../generated_samples/waf_policy_get.py | 2 +- .../generated_samples/waf_policy_patch.py | 2 +- ...ont_door_management_policies_operations.py | 22 +- ...or_management_policies_operations_async.py | 22 +- .../azure-mgmt-frontdoor/tsp-location.yaml | 2 +- 64 files changed, 3816 insertions(+), 444 deletions(-) create mode 100644 sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/types.py diff --git a/sdk/network/azure-mgmt-frontdoor/CHANGELOG.md b/sdk/network/azure-mgmt-frontdoor/CHANGELOG.md index 6b908d98e5de..8fdae1c921b1 100644 --- a/sdk/network/azure-mgmt-frontdoor/CHANGELOG.md +++ b/sdk/network/azure-mgmt-frontdoor/CHANGELOG.md @@ -1,5 +1,29 @@ # Release History +## 2.1.0 (2026-09-14) + +### Features Added + + - Model `ManagedRuleDefinition` added property `paranoia_level` + - Model `ManagedRuleSetDefinitionProperties` added property `display_name` + - Model `ManagedRuleSetDefinitionProperties` added property `status` + - Model `ManagedRuleSetList` added property `exceptions_list` + - Enum `MatchVariable` added member `JA4` + - Enum `Operator` added member `ASN_MATCH` + - Enum `Operator` added member `CLIENT_FINGERPRINT` + - Enum `VariableName` added member `ASN` + - Enum `VariableName` added member `JA4` + - Added enum `ExceptionMatchVariable` + - Added enum `ExceptionSelectorMatchOperator` + - Added enum `ExceptionValueMatchOperator` + - Added model `ManagedRuleSetException` + - Added model `ManagedRuleSetExceptionList` + - Added model `ManagedRuleSetScope` + - Added enum `ManagedRuleSetStatus` + - Added enum `ParanoiaLevel` + - Added model `RuleGroupScope` + - Added model `RuleScope` + ## 2.0.0 (2026-06-30) ### Features Added diff --git a/sdk/network/azure-mgmt-frontdoor/_metadata.json b/sdk/network/azure-mgmt-frontdoor/_metadata.json index 4e1a7639c10f..a817c33d7898 100644 --- a/sdk/network/azure-mgmt-frontdoor/_metadata.json +++ b/sdk/network/azure-mgmt-frontdoor/_metadata.json @@ -1,11 +1,11 @@ { - "apiVersion": "2025-10-01", + "apiVersion": "2026-04-01", "apiVersions": { - "Microsoft.Network": "2025-10-01" + "Microsoft.Network": "2026-04-01" }, - "commit": "12be16fab6dbfd11c55daefb35c28548f34c3f5c", + "commit": "530ebfb31d6cf1b28f2c475013b0657d1a01c2a6", "repository_url": "https://github.com/Azure/azure-rest-api-specs", "typespec_src": "specification/frontdoor/resource-manager/Microsoft.Network/FrontDoor", - "emitterVersion": "0.63.2", - "httpClientPythonVersion": "^0.33.0" + "emitterVersion": "0.63.7", + "httpClientPythonVersion": "^0.37.2" } \ No newline at end of file diff --git a/sdk/network/azure-mgmt-frontdoor/api.md b/sdk/network/azure-mgmt-frontdoor/api.md index c8bf35a6cf95..e933b8e35789 100644 --- a/sdk/network/azure-mgmt-frontdoor/api.md +++ b/sdk/network/azure-mgmt-frontdoor/api.md @@ -103,7 +103,7 @@ namespace azure.mgmt.frontdoor.aio.operations self, resource_group_name: str, front_door_name: str, - content_file_paths: JSON, + content_file_paths: PurgeParameters, *, content_type: str = "application/json", **kwargs: Any @@ -147,7 +147,7 @@ namespace azure.mgmt.frontdoor.aio.operations resource_group_name: str, profile_name: str, experiment_name: str, - parameters: JSON, + parameters: Experiment, *, content_type: str = "application/json", **kwargs: Any @@ -192,7 +192,7 @@ namespace azure.mgmt.frontdoor.aio.operations resource_group_name: str, profile_name: str, experiment_name: str, - parameters: JSON, + parameters: ExperimentUpdateModel, *, content_type: str = "application/json", **kwargs: Any @@ -248,7 +248,7 @@ namespace azure.mgmt.frontdoor.aio.operations @overload async def check( self, - check_front_door_name_availability_input: JSON, + check_front_door_name_availability_input: CheckNameAvailabilityInput, *, content_type: str = "application/json", **kwargs: Any @@ -284,7 +284,7 @@ namespace azure.mgmt.frontdoor.aio.operations @overload async def check( self, - check_front_door_name_availability_input: JSON, + check_front_door_name_availability_input: CheckNameAvailabilityInput, *, content_type: str = "application/json", **kwargs: Any @@ -324,7 +324,7 @@ namespace azure.mgmt.frontdoor.aio.operations self, resource_group_name: str, front_door_name: str, - front_door_parameters: JSON, + front_door_parameters: FrontDoor, *, content_type: str = "application/json", **kwargs: Any @@ -383,7 +383,7 @@ namespace azure.mgmt.frontdoor.aio.operations self, resource_group_name: str, front_door_name: str, - custom_domain_properties: JSON, + custom_domain_properties: ValidateCustomDomainInput, *, content_type: str = "application/json", **kwargs: Any @@ -436,7 +436,7 @@ namespace azure.mgmt.frontdoor.aio.operations resource_group_name: str, front_door_name: str, frontend_endpoint_name: str, - custom_https_configuration: JSON, + custom_https_configuration: CustomHttpsConfiguration, *, content_type: str = "application/json", **kwargs: Any @@ -508,7 +508,7 @@ namespace azure.mgmt.frontdoor.aio.operations self, profile_name: str, resource_group_name: str, - parameters: JSON, + parameters: Profile, *, content_type: str = "application/json", **kwargs: Any @@ -549,7 +549,7 @@ namespace azure.mgmt.frontdoor.aio.operations self, resource_group_name: str, profile_name: str, - parameters: JSON, + parameters: ProfileUpdateModel, *, content_type: str = "application/json", **kwargs: Any @@ -609,7 +609,7 @@ namespace azure.mgmt.frontdoor.aio.operations self, resource_group_name: str, policy_name: str, - parameters: JSON, + parameters: WebApplicationFirewallPolicy, *, content_type: str = "application/json", **kwargs: Any @@ -650,7 +650,7 @@ namespace azure.mgmt.frontdoor.aio.operations self, resource_group_name: str, policy_name: str, - parameters: JSON, + parameters: TagsObject, *, content_type: str = "application/json", **kwargs: Any @@ -767,7 +767,7 @@ namespace azure.mgmt.frontdoor.aio.operations resource_group_name: str, front_door_name: str, rules_engine_name: str, - rules_engine_parameters: JSON, + rules_engine_parameters: RulesEngine, *, content_type: str = "application/json", **kwargs: Any @@ -1176,6 +1176,25 @@ namespace azure.mgmt.frontdoor.models message: Optional[str] + class azure.mgmt.frontdoor.models.ExceptionMatchVariable(str, Enum, metaclass=CaseInsensitiveEnumMeta): + REQUEST_HEADER_NAMES = "RequestHeaderNames" + REQUEST_URI = "RequestUri" + SOCKET_ADDR = "SocketAddr" + + + class azure.mgmt.frontdoor.models.ExceptionSelectorMatchOperator(str, Enum, metaclass=CaseInsensitiveEnumMeta): + EQUALS = "Equals" + + + class azure.mgmt.frontdoor.models.ExceptionValueMatchOperator(str, Enum, metaclass=CaseInsensitiveEnumMeta): + CONTAINS = "Contains" + ENDS_WITH = "EndsWith" + EQUALS = "Equals" + EQUALS_ANY = "EqualsAny" + IP_MATCH = "IPMatch" + STARTS_WITH = "StartsWith" + + class azure.mgmt.frontdoor.models.Experiment(Resource): id: str location: str @@ -1844,6 +1863,7 @@ namespace azure.mgmt.frontdoor.models default_sensitivity: Optional[Union[str, SensitivityType]] default_state: Optional[Union[str, ManagedRuleEnabledState]] description: Optional[str] + paranoia_level: Optional[Union[str, ParanoiaLevel]] rule_id: Optional[str] @@ -1990,20 +2010,62 @@ namespace azure.mgmt.frontdoor.models class azure.mgmt.frontdoor.models.ManagedRuleSetDefinitionProperties(_Model): + display_name: Optional[str] provisioning_state: Optional[str] rule_groups: Optional[list[ManagedRuleGroupDefinition]] rule_set_id: Optional[str] rule_set_type: Optional[str] rule_set_version: Optional[str] + status: Optional[Union[str, ManagedRuleSetStatus]] + + + class azure.mgmt.frontdoor.models.ManagedRuleSetException(_Model): + match_values: list[str] + match_variable: Union[str, ExceptionMatchVariable] + scopes: list[ManagedRuleSetScope] + selector: Optional[str] + selector_match_operator: Optional[Union[str, ExceptionSelectorMatchOperator]] + value_match_operator: Union[str, ExceptionValueMatchOperator] + + @overload + def __init__( + self, + *, + match_values: list[str], + match_variable: Union[str, ExceptionMatchVariable], + scopes: list[ManagedRuleSetScope], + selector: Optional[str] = ..., + selector_match_operator: Optional[Union[str, ExceptionSelectorMatchOperator]] = ..., + value_match_operator: Union[str, ExceptionValueMatchOperator] + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.frontdoor.models.ManagedRuleSetExceptionList(_Model): + exceptions: Optional[list[ManagedRuleSetException]] + + @overload + def __init__( + self, + *, + exceptions: Optional[list[ManagedRuleSetException]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... class azure.mgmt.frontdoor.models.ManagedRuleSetList(_Model): + exceptions_list: Optional[ManagedRuleSetExceptionList] managed_rule_sets: Optional[list[ManagedRuleSet]] @overload def __init__( self, *, + exceptions_list: Optional[ManagedRuleSetExceptionList] = ..., managed_rule_sets: Optional[list[ManagedRuleSet]] = ... ) -> None: ... @@ -2011,6 +2073,31 @@ namespace azure.mgmt.frontdoor.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.frontdoor.models.ManagedRuleSetScope(_Model): + rule_group_scopes: Optional[list[RuleGroupScope]] + rule_set_type: str + rule_set_version: str + + @overload + def __init__( + self, + *, + rule_group_scopes: Optional[list[RuleGroupScope]] = ..., + rule_set_type: str, + rule_set_version: str + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.frontdoor.models.ManagedRuleSetStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DEPRECATED = "Deprecated" + GA = "GA" + PREVIEW = "Preview" + SUPPORTED = "Supported" + + class azure.mgmt.frontdoor.models.MatchCondition(_Model): match_value: list[str] match_variable: Union[str, MatchVariable] @@ -2042,6 +2129,7 @@ namespace azure.mgmt.frontdoor.models class azure.mgmt.frontdoor.models.MatchVariable(str, Enum, metaclass=CaseInsensitiveEnumMeta): COOKIES = "Cookies" + JA4 = "JA4" POST_ARGS = "PostArgs" QUERY_STRING = "QueryString" REMOTE_ADDR = "RemoteAddr" @@ -2068,7 +2156,9 @@ namespace azure.mgmt.frontdoor.models class azure.mgmt.frontdoor.models.Operator(str, Enum, metaclass=CaseInsensitiveEnumMeta): ANY = "Any" + ASN_MATCH = "AsnMatch" BEGINS_WITH = "BeginsWith" + CLIENT_FINGERPRINT = "ClientFingerprint" CONTAINS = "Contains" ENDS_WITH = "EndsWith" EQUAL = "Equal" @@ -2082,6 +2172,13 @@ namespace azure.mgmt.frontdoor.models SERVICE_TAG_MATCH = "ServiceTagMatch" + class azure.mgmt.frontdoor.models.ParanoiaLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta): + PL1 = "PL1" + PL2 = "PL2" + PL3 = "PL3" + PL4 = "PL4" + + class azure.mgmt.frontdoor.models.PolicyEnabledState(str, Enum, metaclass=CaseInsensitiveEnumMeta): DISABLED = "Disabled" ENABLED = "Enabled" @@ -2510,6 +2607,36 @@ namespace azure.mgmt.frontdoor.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.frontdoor.models.RuleGroupScope(_Model): + rule_group_name: str + rule_scopes: Optional[list[RuleScope]] + + @overload + def __init__( + self, + *, + rule_group_name: str, + rule_scopes: Optional[list[RuleScope]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.frontdoor.models.RuleScope(_Model): + rule_id: str + + @overload + def __init__( + self, + *, + rule_id: str + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.frontdoor.models.RuleType(str, Enum, metaclass=CaseInsensitiveEnumMeta): MATCH_RULE = "MatchRule" RATE_LIMIT_RULE = "RateLimitRule" @@ -2882,7 +3009,9 @@ namespace azure.mgmt.frontdoor.models class azure.mgmt.frontdoor.models.VariableName(str, Enum, metaclass=CaseInsensitiveEnumMeta): + ASN = "Asn" GEO_LOCATION = "GeoLocation" + JA4 = "Ja4" NONE = "None" SOCKET_ADDR = "SocketAddr" @@ -2994,7 +3123,7 @@ namespace azure.mgmt.frontdoor.operations self, resource_group_name: str, front_door_name: str, - content_file_paths: JSON, + content_file_paths: PurgeParameters, *, content_type: str = "application/json", **kwargs: Any @@ -3038,7 +3167,7 @@ namespace azure.mgmt.frontdoor.operations resource_group_name: str, profile_name: str, experiment_name: str, - parameters: JSON, + parameters: Experiment, *, content_type: str = "application/json", **kwargs: Any @@ -3083,7 +3212,7 @@ namespace azure.mgmt.frontdoor.operations resource_group_name: str, profile_name: str, experiment_name: str, - parameters: JSON, + parameters: ExperimentUpdateModel, *, content_type: str = "application/json", **kwargs: Any @@ -3139,7 +3268,7 @@ namespace azure.mgmt.frontdoor.operations @overload def check( self, - check_front_door_name_availability_input: JSON, + check_front_door_name_availability_input: CheckNameAvailabilityInput, *, content_type: str = "application/json", **kwargs: Any @@ -3175,7 +3304,7 @@ namespace azure.mgmt.frontdoor.operations @overload def check( self, - check_front_door_name_availability_input: JSON, + check_front_door_name_availability_input: CheckNameAvailabilityInput, *, content_type: str = "application/json", **kwargs: Any @@ -3215,7 +3344,7 @@ namespace azure.mgmt.frontdoor.operations self, resource_group_name: str, front_door_name: str, - front_door_parameters: JSON, + front_door_parameters: FrontDoor, *, content_type: str = "application/json", **kwargs: Any @@ -3274,7 +3403,7 @@ namespace azure.mgmt.frontdoor.operations self, resource_group_name: str, front_door_name: str, - custom_domain_properties: JSON, + custom_domain_properties: ValidateCustomDomainInput, *, content_type: str = "application/json", **kwargs: Any @@ -3327,7 +3456,7 @@ namespace azure.mgmt.frontdoor.operations resource_group_name: str, front_door_name: str, frontend_endpoint_name: str, - custom_https_configuration: JSON, + custom_https_configuration: CustomHttpsConfiguration, *, content_type: str = "application/json", **kwargs: Any @@ -3399,7 +3528,7 @@ namespace azure.mgmt.frontdoor.operations self, profile_name: str, resource_group_name: str, - parameters: JSON, + parameters: Profile, *, content_type: str = "application/json", **kwargs: Any @@ -3440,7 +3569,7 @@ namespace azure.mgmt.frontdoor.operations self, resource_group_name: str, profile_name: str, - parameters: JSON, + parameters: ProfileUpdateModel, *, content_type: str = "application/json", **kwargs: Any @@ -3500,7 +3629,7 @@ namespace azure.mgmt.frontdoor.operations self, resource_group_name: str, policy_name: str, - parameters: JSON, + parameters: WebApplicationFirewallPolicy, *, content_type: str = "application/json", **kwargs: Any @@ -3541,7 +3670,7 @@ namespace azure.mgmt.frontdoor.operations self, resource_group_name: str, policy_name: str, - parameters: JSON, + parameters: TagsObject, *, content_type: str = "application/json", **kwargs: Any @@ -3658,7 +3787,7 @@ namespace azure.mgmt.frontdoor.operations resource_group_name: str, front_door_name: str, rules_engine_name: str, - rules_engine_parameters: JSON, + rules_engine_parameters: RulesEngine, *, content_type: str = "application/json", **kwargs: Any @@ -3703,4 +3832,790 @@ namespace azure.mgmt.frontdoor.operations ) -> ItemPaged[RulesEngine]: ... +namespace azure.mgmt.frontdoor.types + + class azure.mgmt.frontdoor.types.Backend(TypedDict, total=False): + key "address": str + key "backendHostHeader": str + key "enabledState": Union[str, BackendEnabledState] + key "httpPort": int + key "httpsPort": int + key "priority": int + key "privateEndpointStatus": Union[str, PrivateEndpointStatus] + key "privateLinkAlias": str + key "privateLinkApprovalMessage": str + key "privateLinkLocation": str + key "privateLinkResourceId": str + key "weight": int + address: str + backendHostHeader: str + enabledState: Union[str, BackendEnabledState] + httpPort: int + httpsPort: int + priority: int + privateEndpointStatus: Union[str, PrivateEndpointStatus] + privateLinkAlias: str + privateLinkApprovalMessage: str + privateLinkLocation: str + privateLinkResourceId: str + weight: int + + + class azure.mgmt.frontdoor.types.BackendPool(SubResource): + key "id": str + key "name": str + key "properties": ForwardRef('BackendPoolProperties', module='types') + key "type": str + id: str + name: str + properties: BackendPoolProperties + type: str + + + class azure.mgmt.frontdoor.types.BackendPoolProperties(BackendPoolUpdateParameters): + key "healthProbeSettings": ForwardRef('SubResource', module='types') + key "loadBalancingSettings": ForwardRef('SubResource', module='types') + key "resourceState": Union[str, FrontDoorResourceState] + backends: list[Backend] + healthProbeSettings: SubResource + loadBalancingSettings: SubResource + resourceState: Union[str, FrontDoorResourceState] + + + class azure.mgmt.frontdoor.types.BackendPoolUpdateParameters(TypedDict, total=False): + key "healthProbeSettings": ForwardRef('SubResource', module='types') + key "loadBalancingSettings": ForwardRef('SubResource', module='types') + backends: list[Backend] + healthProbeSettings: SubResource + loadBalancingSettings: SubResource + + + class azure.mgmt.frontdoor.types.BackendPoolsSettings(TypedDict, total=False): + key "enforceCertificateNameCheck": Union[str, EnforceCertificateNameCheckEnabledState] + key "sendRecvTimeoutSeconds": int + enforceCertificateNameCheck: Union[str, EnforceCertificateNameCheckEnabledState] + sendRecvTimeoutSeconds: int + + + class azure.mgmt.frontdoor.types.BasicResource(TypedDict, total=False): + key "id": str + key "name": str + key "type": str + id: str + name: str + type: str + + + class azure.mgmt.frontdoor.types.BasicResourceWithSettableIDName(TypedDict, total=False): + key "id": str + key "name": str + key "type": str + id: str + name: str + type: str + + + class azure.mgmt.frontdoor.types.CacheConfiguration(TypedDict, total=False): + key "cacheDuration": str + key "dynamicCompression": Union[str, DynamicCompressionEnabled] + key "queryParameterStripDirective": Union[str, FrontDoorQuery] + key "queryParameters": str + cacheDuration: str + dynamicCompression: Union[str, DynamicCompressionEnabled] + queryParameterStripDirective: Union[str, FrontDoorQuery] + queryParameters: str + + + class azure.mgmt.frontdoor.types.CheckNameAvailabilityInput(TypedDict, total=False): + key "name": Required[str] + key "type": Required[Union[str, ResourceType]] + name: str + type: Union[str, ResourceType] + + + class azure.mgmt.frontdoor.types.CustomHttpsConfiguration(TypedDict, total=False): + key "certificateSource": Required[Union[str, FrontDoorCertificateSource]] + key "frontDoorCertificateSourceParameters": ForwardRef('FrontDoorCertificateSourceParameters', module='types') + key "keyVaultCertificateSourceParameters": ForwardRef('KeyVaultCertificateSourceParameters', module='types') + key "minimumTlsVersion": Required[Union[str, MinimumTLSVersion]] + key "protocolType": Required[Union[str, FrontDoorTlsProtocolType]] + certificateSource: Union[str, FrontDoorCertificateSource] + frontDoorCertificateSourceParameters: FrontDoorCertificateSourceParameters + keyVaultCertificateSourceParameters: KeyVaultCertificateSourceParameters + minimumTlsVersion: Union[str, MinimumTLSVersion] + protocolType: Union[str, FrontDoorTlsProtocolType] + + + class azure.mgmt.frontdoor.types.CustomRule(TypedDict, total=False): + key "action": Required[Union[str, ActionType]] + key "enabledState": Union[str, CustomRuleEnabledState] + key "matchConditions": Required[list[MatchCondition]] + key "name": str + key "priority": Required[int] + key "rateLimitDurationInMinutes": int + key "rateLimitThreshold": int + key "ruleType": Required[Union[str, RuleType]] + action: Union[str, ActionType] + enabledState: Union[str, CustomRuleEnabledState] + groupBy: list[GroupByVariable] + matchConditions: list[MatchCondition] + name: str + priority: int + rateLimitDurationInMinutes: int + rateLimitThreshold: int + ruleType: Union[str, RuleType] + + + class azure.mgmt.frontdoor.types.CustomRuleList(TypedDict, total=False): + rules: list[CustomRule] + + + class azure.mgmt.frontdoor.types.Endpoint(TypedDict, total=False): + key "endpoint": str + key "name": str + endpoint: str + name: str + + + class azure.mgmt.frontdoor.types.Experiment(Resource): + key "id": str + key "location": str + key "name": str + key "properties": ForwardRef('ExperimentProperties', module='types') + key "type": str + id: str + location: str + name: str + properties: ExperimentProperties + tags: dict[str, str] + type: str + + + class azure.mgmt.frontdoor.types.ExperimentProperties(TypedDict, total=False): + key "description": str + key "enabledState": Union[str, State] + key "endpointA": ForwardRef('Endpoint', module='types') + key "endpointB": ForwardRef('Endpoint', module='types') + key "resourceState": Union[str, NetworkExperimentResourceState] + key "scriptFileUri": str + key "status": str + description: str + enabledState: Union[str, State] + endpointA: Endpoint + endpointB: Endpoint + resourceState: Union[str, NetworkExperimentResourceState] + scriptFileUri: str + status: str + + + class azure.mgmt.frontdoor.types.ExperimentUpdateModel(TypedDict, total=False): + key "properties": ForwardRef('ExperimentUpdateProperties', module='types') + properties: ExperimentUpdateProperties + tags: dict[str, str] + + + class azure.mgmt.frontdoor.types.ExperimentUpdateProperties(TypedDict, total=False): + key "description": str + key "enabledState": Union[str, State] + description: str + enabledState: Union[str, State] + + + class azure.mgmt.frontdoor.types.ForwardingConfiguration(TypedDict): + key "@odata.type": Required[Literal["#FrontdoorForwardingConfiguration"]] + key "backendPool": ForwardRef('SubResource', module='types') + key "cacheConfiguration": ForwardRef('CacheConfiguration', module='types') + key "customForwardingPath": str + key "forwardingProtocol": Union[str, FrontDoorForwardingProtocol] + ``@odata.type``: Literal[#FrontdoorForwardingConfiguration] + backendPool: SubResource + cacheConfiguration: CacheConfiguration + customForwardingPath: str + forwardingProtocol: Union[str, FrontDoorForwardingProtocol] + + + class azure.mgmt.frontdoor.types.FrontDoor(Resource): + key "id": str + key "location": str + key "name": str + key "properties": ForwardRef('FrontDoorProperties', module='types') + key "type": str + id: str + location: str + name: str + properties: FrontDoorProperties + tags: dict[str, str] + type: str + + + class azure.mgmt.frontdoor.types.FrontDoorCertificateSourceParameters(TypedDict, total=False): + key "certificateType": Union[str, FrontDoorCertificateType] + certificateType: Union[str, FrontDoorCertificateType] + + + class azure.mgmt.frontdoor.types.FrontDoorProperties(FrontDoorUpdateParameters): + key "backendPoolsSettings": ForwardRef('BackendPoolsSettings', module='types') + key "cname": str + key "enabledState": Union[str, FrontDoorEnabledState] + key "friendlyName": str + key "frontdoorId": str + key "provisioningState": str + key "resourceState": Union[str, FrontDoorResourceState] + backendPools: list[BackendPool] + backendPoolsSettings: BackendPoolsSettings + cname: str + enabledState: Union[str, FrontDoorEnabledState] + extendedProperties: dict[str, str] + friendlyName: str + frontdoorId: str + frontendEndpoints: list[FrontendEndpoint] + healthProbeSettings: list[HealthProbeSettingsModel] + loadBalancingSettings: list[LoadBalancingSettingsModel] + provisioningState: str + resourceState: Union[str, FrontDoorResourceState] + routingRules: list[RoutingRule] + rulesEngines: list[RulesEngine] + + + class azure.mgmt.frontdoor.types.FrontDoorUpdateParameters(TypedDict, total=False): + key "backendPoolsSettings": ForwardRef('BackendPoolsSettings', module='types') + key "enabledState": Union[str, FrontDoorEnabledState] + key "friendlyName": str + backendPools: list[BackendPool] + backendPoolsSettings: BackendPoolsSettings + enabledState: Union[str, FrontDoorEnabledState] + friendlyName: str + frontendEndpoints: list[FrontendEndpoint] + healthProbeSettings: list[HealthProbeSettingsModel] + loadBalancingSettings: list[LoadBalancingSettingsModel] + routingRules: list[RoutingRule] + + + class azure.mgmt.frontdoor.types.FrontendEndpoint(BasicResourceWithSettableIDName): + key "id": str + key "name": str + key "properties": ForwardRef('FrontendEndpointProperties', module='types') + key "type": str + id: str + name: str + properties: FrontendEndpointProperties + type: str + + + class azure.mgmt.frontdoor.types.FrontendEndpointLink(TypedDict, total=False): + key "id": str + id: str + + + class azure.mgmt.frontdoor.types.FrontendEndpointProperties(FrontendEndpointUpdateParameters): + key "customHttpsConfiguration": ForwardRef('CustomHttpsConfiguration', module='types') + key "customHttpsProvisioningState": Union[str, CustomHttpsProvisioningState] + key "customHttpsProvisioningSubstate": Union[str, CustomHttpsProvisioningSubstate] + key "hostName": str + key "resourceState": Union[str, FrontDoorResourceState] + key "sessionAffinityEnabledState": Union[str, SessionAffinityEnabledState] + key "sessionAffinityTtlSeconds": int + key "webApplicationFirewallPolicyLink": ForwardRef('FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink', module='types') + customHttpsConfiguration: CustomHttpsConfiguration + customHttpsProvisioningState: Union[str, CustomHttpsProvisioningState] + customHttpsProvisioningSubstate: Union[str, CustomHttpsProvisioningSubstate] + hostName: str + resourceState: Union[str, FrontDoorResourceState] + sessionAffinityEnabledState: Union[str, SessionAffinityEnabledState] + sessionAffinityTtlSeconds: int + webApplicationFirewallPolicyLink: FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink + + + class azure.mgmt.frontdoor.types.FrontendEndpointUpdateParameters(TypedDict, total=False): + key "hostName": str + key "sessionAffinityEnabledState": Union[str, SessionAffinityEnabledState] + key "sessionAffinityTtlSeconds": int + key "webApplicationFirewallPolicyLink": ForwardRef('FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink', module='types') + hostName: str + sessionAffinityEnabledState: Union[str, SessionAffinityEnabledState] + sessionAffinityTtlSeconds: int + webApplicationFirewallPolicyLink: FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink + + + class azure.mgmt.frontdoor.types.FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink(TypedDict, total=False): + key "id": str + id: str + + + class azure.mgmt.frontdoor.types.GroupByVariable(TypedDict, total=False): + key "variableName": Required[Union[str, VariableName]] + variableName: Union[str, VariableName] + + + class azure.mgmt.frontdoor.types.HeaderAction(TypedDict, total=False): + key "headerActionType": Required[Union[str, HeaderActionType]] + key "headerName": Required[str] + key "value": str + headerActionType: Union[str, HeaderActionType] + headerName: str + value: str + + + class azure.mgmt.frontdoor.types.HealthProbeSettingsModel(SubResource): + key "id": str + key "name": str + key "properties": ForwardRef('HealthProbeSettingsProperties', module='types') + key "type": str + id: str + name: str + properties: HealthProbeSettingsProperties + type: str + + + class azure.mgmt.frontdoor.types.HealthProbeSettingsProperties(HealthProbeSettingsUpdateParameters): + key "enabledState": Union[str, HealthProbeEnabled] + key "healthProbeMethod": Union[str, FrontDoorHealthProbeMethod] + key "intervalInSeconds": int + key "path": str + key "protocol": Union[str, FrontDoorProtocol] + key "resourceState": Union[str, FrontDoorResourceState] + enabledState: Union[str, HealthProbeEnabled] + healthProbeMethod: Union[str, FrontDoorHealthProbeMethod] + intervalInSeconds: int + path: str + protocol: Union[str, FrontDoorProtocol] + resourceState: Union[str, FrontDoorResourceState] + + + class azure.mgmt.frontdoor.types.HealthProbeSettingsUpdateParameters(TypedDict, total=False): + key "enabledState": Union[str, HealthProbeEnabled] + key "healthProbeMethod": Union[str, FrontDoorHealthProbeMethod] + key "intervalInSeconds": int + key "path": str + key "protocol": Union[str, FrontDoorProtocol] + enabledState: Union[str, HealthProbeEnabled] + healthProbeMethod: Union[str, FrontDoorHealthProbeMethod] + intervalInSeconds: int + path: str + protocol: Union[str, FrontDoorProtocol] + + + class azure.mgmt.frontdoor.types.KeyVaultCertificateSourceParameters(TypedDict, total=False): + key "secretName": str + key "secretVersion": str + key "vault": ForwardRef('KeyVaultCertificateSourceParametersVault', module='types') + secretName: str + secretVersion: str + vault: KeyVaultCertificateSourceParametersVault + + + class azure.mgmt.frontdoor.types.KeyVaultCertificateSourceParametersVault(TypedDict, total=False): + key "id": str + id: str + + + class azure.mgmt.frontdoor.types.LoadBalancingSettingsModel(SubResource): + key "id": str + key "name": str + key "properties": ForwardRef('LoadBalancingSettingsProperties', module='types') + key "type": str + id: str + name: str + properties: LoadBalancingSettingsProperties + type: str + + + class azure.mgmt.frontdoor.types.LoadBalancingSettingsProperties(LoadBalancingSettingsUpdateParameters): + key "additionalLatencyMilliseconds": int + key "resourceState": Union[str, FrontDoorResourceState] + key "sampleSize": int + key "successfulSamplesRequired": int + additionalLatencyMilliseconds: int + resourceState: Union[str, FrontDoorResourceState] + sampleSize: int + successfulSamplesRequired: int + + + class azure.mgmt.frontdoor.types.LoadBalancingSettingsUpdateParameters(TypedDict, total=False): + key "additionalLatencyMilliseconds": int + key "sampleSize": int + key "successfulSamplesRequired": int + additionalLatencyMilliseconds: int + sampleSize: int + successfulSamplesRequired: int + + + class azure.mgmt.frontdoor.types.ManagedRuleExclusion(TypedDict, total=False): + key "matchVariable": Required[Union[str, ManagedRuleExclusionMatchVariable]] + key "selector": Required[str] + key "selectorMatchOperator": Required[Union[str, ManagedRuleExclusionSelectorMatchOperator]] + matchVariable: Union[str, ManagedRuleExclusionMatchVariable] + selector: str + selectorMatchOperator: Union[str, ManagedRuleExclusionSelectorMatchOperator] + + + class azure.mgmt.frontdoor.types.ManagedRuleGroupOverride(TypedDict, total=False): + key "ruleGroupName": Required[str] + exclusions: list[ManagedRuleExclusion] + ruleGroupName: str + rules: list[ManagedRuleOverride] + + + class azure.mgmt.frontdoor.types.ManagedRuleOverride(TypedDict, total=False): + key "action": Union[str, ActionType] + key "enabledState": Union[str, ManagedRuleEnabledState] + key "ruleId": Required[str] + key "sensitivity": Union[str, SensitivityType] + action: Union[str, ActionType] + enabledState: Union[str, ManagedRuleEnabledState] + exclusions: list[ManagedRuleExclusion] + ruleId: str + sensitivity: Union[str, SensitivityType] + + + class azure.mgmt.frontdoor.types.ManagedRuleSet(TypedDict, total=False): + key "ruleSetAction": Union[str, ManagedRuleSetActionType] + key "ruleSetType": Required[str] + key "ruleSetVersion": Required[str] + exclusions: list[ManagedRuleExclusion] + ruleGroupOverrides: list[ManagedRuleGroupOverride] + ruleSetAction: Union[str, ManagedRuleSetActionType] + ruleSetType: str + ruleSetVersion: str + + + class azure.mgmt.frontdoor.types.ManagedRuleSetException(TypedDict, total=False): + key "matchValues": Required[list[str]] + key "matchVariable": Required[Union[str, ExceptionMatchVariable]] + key "scopes": Required[list[ManagedRuleSetScope]] + key "selector": str + key "selectorMatchOperator": Union[str, ExceptionSelectorMatchOperator] + key "valueMatchOperator": Required[Union[str, ExceptionValueMatchOperator]] + matchValues: list[str] + matchVariable: Union[str, ExceptionMatchVariable] + scopes: list[ManagedRuleSetScope] + selector: str + selectorMatchOperator: Union[str, ExceptionSelectorMatchOperator] + valueMatchOperator: Union[str, ExceptionValueMatchOperator] + + + class azure.mgmt.frontdoor.types.ManagedRuleSetExceptionList(TypedDict, total=False): + exceptions: list[ManagedRuleSetException] + + + class azure.mgmt.frontdoor.types.ManagedRuleSetList(TypedDict, total=False): + key "exceptionsList": ForwardRef('ManagedRuleSetExceptionList', module='types') + exceptionsList: ManagedRuleSetExceptionList + managedRuleSets: list[ManagedRuleSet] + + + class azure.mgmt.frontdoor.types.ManagedRuleSetScope(TypedDict, total=False): + key "ruleSetType": Required[str] + key "ruleSetVersion": Required[str] + ruleGroupScopes: list[RuleGroupScope] + ruleSetType: str + ruleSetVersion: str + + + class azure.mgmt.frontdoor.types.MatchCondition(TypedDict, total=False): + key "matchValue": Required[list[str]] + key "matchVariable": Required[Union[str, MatchVariable]] + key "negateCondition": bool + key "operator": Required[Union[str, Operator]] + key "selector": str + matchValue: list[str] + matchVariable: Union[str, MatchVariable] + negateCondition: bool + operator: Union[str, Operator] + selector: str + transforms: list[Union[str, TransformType]] + + + class azure.mgmt.frontdoor.types.PolicySettings(TypedDict, total=False): + key "captchaExpirationInMinutes": int + key "customBlockResponseBody": str + key "customBlockResponseStatusCode": int + key "enabledState": Union[str, PolicyEnabledState] + key "javascriptChallengeExpirationInMinutes": int + key "logScrubbing": ForwardRef('PolicySettingsLogScrubbing', module='types') + key "mode": Union[str, PolicyMode] + key "redirectUrl": str + key "requestBodyCheck": Union[str, PolicyRequestBodyCheck] + captchaExpirationInMinutes: int + customBlockResponseBody: str + customBlockResponseStatusCode: int + enabledState: Union[str, PolicyEnabledState] + javascriptChallengeExpirationInMinutes: int + logScrubbing: PolicySettingsLogScrubbing + mode: Union[str, PolicyMode] + redirectUrl: str + requestBodyCheck: Union[str, PolicyRequestBodyCheck] + + + class azure.mgmt.frontdoor.types.PolicySettingsLogScrubbing(TypedDict, total=False): + key "state": Union[str, WebApplicationFirewallScrubbingState] + scrubbingRules: list[WebApplicationFirewallScrubbingRules] + state: Union[str, WebApplicationFirewallScrubbingState] + + + class azure.mgmt.frontdoor.types.Profile(ResourcewithSettableName): + key "etag": str + key "id": str + key "location": str + key "name": str + key "properties": ForwardRef('ProfileProperties', module='types') + key "type": str + etag: str + id: str + location: str + name: str + properties: ProfileProperties + tags: dict[str, str] + type: str + + + class azure.mgmt.frontdoor.types.ProfileProperties(TypedDict, total=False): + key "enabledState": Union[str, State] + key "resourceState": Union[str, NetworkExperimentResourceState] + enabledState: Union[str, State] + resourceState: Union[str, NetworkExperimentResourceState] + + + class azure.mgmt.frontdoor.types.ProfileUpdateModel(TypedDict, total=False): + key "properties": ForwardRef('ProfileUpdateProperties', module='types') + properties: ProfileUpdateProperties + tags: dict[str, str] + + + class azure.mgmt.frontdoor.types.ProfileUpdateProperties(TypedDict, total=False): + key "enabledState": Union[str, State] + enabledState: Union[str, State] + + + class azure.mgmt.frontdoor.types.PurgeParameters(TypedDict, total=False): + key "contentPaths": Required[list[str]] + contentPaths: list[str] + + + class azure.mgmt.frontdoor.types.RedirectConfiguration(TypedDict): + key "@odata.type": Required[Literal["#FrontdoorRedirectConfiguration"]] + key "customFragment": str + key "customHost": str + key "customPath": str + key "customQueryString": str + key "redirectProtocol": Union[str, FrontDoorRedirectProtocol] + key "redirectType": Union[str, FrontDoorRedirectType] + ``@odata.type``: Literal[#FrontdoorRedirectConfiguration] + customFragment: str + customHost: str + customPath: str + customQueryString: str + redirectProtocol: Union[str, FrontDoorRedirectProtocol] + redirectType: Union[str, FrontDoorRedirectType] + + + class azure.mgmt.frontdoor.types.Resource(TypedDict, total=False): + key "id": str + key "location": str + key "name": str + key "type": str + id: str + location: str + name: str + tags: dict[str, str] + type: str + + + class azure.mgmt.frontdoor.types.ResourcewithSettableName(TypedDict, total=False): + key "id": str + key "location": str + key "name": str + key "type": str + id: str + location: str + name: str + tags: dict[str, str] + type: str + + + class azure.mgmt.frontdoor.types.RoutingRule(SubResource): + key "id": str + key "name": str + key "properties": ForwardRef('RoutingRuleProperties', module='types') + key "type": str + id: str + name: str + properties: RoutingRuleProperties + type: str + + + class azure.mgmt.frontdoor.types.RoutingRuleLink(TypedDict, total=False): + key "id": str + id: str + + + class azure.mgmt.frontdoor.types.RoutingRuleProperties(RoutingRuleUpdateParameters): + key "enabledState": Union[str, RoutingRuleEnabledState] + key "resourceState": Union[str, FrontDoorResourceState] + key "routeConfiguration": ForwardRef('RouteConfiguration', module='types') + key "rulesEngine": ForwardRef('SubResource', module='types') + key "webApplicationFirewallPolicyLink": ForwardRef('RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink', module='types') + acceptedProtocols: list[Union[str, FrontDoorProtocol]] + enabledState: Union[str, RoutingRuleEnabledState] + frontendEndpoints: list[SubResource] + patternsToMatch: list[str] + resourceState: Union[str, FrontDoorResourceState] + routeConfiguration: RouteConfiguration + rulesEngine: SubResource + webApplicationFirewallPolicyLink: RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink + + + class azure.mgmt.frontdoor.types.RoutingRuleUpdateParameters(TypedDict, total=False): + key "enabledState": Union[str, RoutingRuleEnabledState] + key "routeConfiguration": ForwardRef('RouteConfiguration', module='types') + key "rulesEngine": ForwardRef('SubResource', module='types') + key "webApplicationFirewallPolicyLink": ForwardRef('RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink', module='types') + acceptedProtocols: list[Union[str, FrontDoorProtocol]] + enabledState: Union[str, RoutingRuleEnabledState] + frontendEndpoints: list[SubResource] + patternsToMatch: list[str] + routeConfiguration: RouteConfiguration + rulesEngine: SubResource + webApplicationFirewallPolicyLink: RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink + + + class azure.mgmt.frontdoor.types.RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink(TypedDict, total=False): + key "id": str + id: str + + + class azure.mgmt.frontdoor.types.RuleGroupScope(TypedDict, total=False): + key "ruleGroupName": Required[str] + ruleGroupName: str + ruleScopes: list[RuleScope] + + + class azure.mgmt.frontdoor.types.RuleScope(TypedDict, total=False): + key "ruleId": Required[str] + ruleId: str + + + class azure.mgmt.frontdoor.types.RulesEngine(BasicResource): + key "id": str + key "name": str + key "properties": ForwardRef('RulesEngineProperties', module='types') + key "type": str + id: str + name: str + properties: RulesEngineProperties + type: str + + + class azure.mgmt.frontdoor.types.RulesEngineAction(TypedDict, total=False): + key "routeConfigurationOverride": ForwardRef('RouteConfiguration', module='types') + requestHeaderActions: list[HeaderAction] + responseHeaderActions: list[HeaderAction] + routeConfigurationOverride: RouteConfiguration + + + class azure.mgmt.frontdoor.types.RulesEngineMatchCondition(TypedDict, total=False): + key "negateCondition": bool + key "rulesEngineMatchValue": Required[list[str]] + key "rulesEngineMatchVariable": Required[Union[str, RulesEngineMatchVariable]] + key "rulesEngineOperator": Required[Union[str, RulesEngineOperator]] + key "selector": str + negateCondition: bool + rulesEngineMatchValue: list[str] + rulesEngineMatchVariable: Union[str, RulesEngineMatchVariable] + rulesEngineOperator: Union[str, RulesEngineOperator] + selector: str + transforms: list[Union[str, Transform]] + + + class azure.mgmt.frontdoor.types.RulesEngineProperties(RulesEngineUpdateParameters): + key "resourceState": Union[str, FrontDoorResourceState] + resourceState: Union[str, FrontDoorResourceState] + rules: list[RulesEngineRule] + + + class azure.mgmt.frontdoor.types.RulesEngineRule(TypedDict, total=False): + key "action": Required[RulesEngineAction] + key "matchProcessingBehavior": Union[str, MatchProcessingBehavior] + key "name": Required[str] + key "priority": Required[int] + action: RulesEngineAction + matchConditions: list[RulesEngineMatchCondition] + matchProcessingBehavior: Union[str, MatchProcessingBehavior] + name: str + priority: int + + + class azure.mgmt.frontdoor.types.RulesEngineUpdateParameters(TypedDict, total=False): + rules: list[RulesEngineRule] + + + class azure.mgmt.frontdoor.types.SecurityPolicyLink(TypedDict, total=False): + key "id": str + id: str + + + class azure.mgmt.frontdoor.types.Sku(TypedDict, total=False): + key "name": Union[str, SkuName] + name: Union[str, SkuName] + + + class azure.mgmt.frontdoor.types.SubResource(TypedDict, total=False): + key "id": str + id: str + + + class azure.mgmt.frontdoor.types.TagsObject(TypedDict, total=False): + tags: dict[str, str] + + + class azure.mgmt.frontdoor.types.ValidateCustomDomainInput(TypedDict, total=False): + key "hostName": Required[str] + hostName: str + + + class azure.mgmt.frontdoor.types.WebApplicationFirewallPolicy(Resource): + key "etag": str + key "id": str + key "location": str + key "name": str + key "properties": ForwardRef('WebApplicationFirewallPolicyProperties', module='types') + key "sku": ForwardRef('Sku', module='types') + key "type": str + etag: str + id: str + location: str + name: str + properties: WebApplicationFirewallPolicyProperties + sku: Sku + tags: dict[str, str] + type: str + + + class azure.mgmt.frontdoor.types.WebApplicationFirewallPolicyProperties(TypedDict, total=False): + key "customRules": ForwardRef('CustomRuleList', module='types') + key "managedRules": ForwardRef('ManagedRuleSetList', module='types') + key "policySettings": ForwardRef('PolicySettings', module='types') + key "provisioningState": str + key "resourceState": Union[str, PolicyResourceState] + customRules: CustomRuleList + frontendEndpointLinks: list[FrontendEndpointLink] + managedRules: ManagedRuleSetList + policySettings: PolicySettings + provisioningState: str + resourceState: Union[str, PolicyResourceState] + routingRuleLinks: list[RoutingRuleLink] + securityPolicyLinks: list[SecurityPolicyLink] + + + class azure.mgmt.frontdoor.types.WebApplicationFirewallScrubbingRules(TypedDict, total=False): + key "matchVariable": Required[Union[str, ScrubbingRuleEntryMatchVariable]] + key "selector": str + key "selectorMatchOperator": Required[Union[str, ScrubbingRuleEntryMatchOperator]] + key "state": Union[str, ScrubbingRuleEntryState] + matchVariable: Union[str, ScrubbingRuleEntryMatchVariable] + selector: str + selectorMatchOperator: Union[str, ScrubbingRuleEntryMatchOperator] + state: Union[str, ScrubbingRuleEntryState] + + ``` \ No newline at end of file diff --git a/sdk/network/azure-mgmt-frontdoor/api.metadata.yml b/sdk/network/azure-mgmt-frontdoor/api.metadata.yml index 591f53409073..0e4a82ee74b0 100644 --- a/sdk/network/azure-mgmt-frontdoor/api.metadata.yml +++ b/sdk/network/azure-mgmt-frontdoor/api.metadata.yml @@ -1,3 +1,4 @@ -apiMdSha256: 36b6ae1a14155bec514c286c2a23f098adb9eca1fb6c493f783a72b7a0292412 -parserVersion: 0.3.28 -pythonVersion: 3.13.13 +apiMdSha256: 1aa5a697124e5d686043fe94b1c772755eceac6f02afaed108ea7b9f2e6106bb +packageVersion: 2.1.0 +parserVersion: 0.3.31 +pythonVersion: 3.13.15 diff --git a/sdk/network/azure-mgmt-frontdoor/apiview-properties.json b/sdk/network/azure-mgmt-frontdoor/apiview-properties.json index 55584b0f5604..fbdc30b166b4 100644 --- a/sdk/network/azure-mgmt-frontdoor/apiview-properties.json +++ b/sdk/network/azure-mgmt-frontdoor/apiview-properties.json @@ -56,7 +56,10 @@ "azure.mgmt.frontdoor.models.ManagedRuleSet": "Microsoft.Network.ManagedRuleSet", "azure.mgmt.frontdoor.models.ManagedRuleSetDefinition": "Microsoft.Network.ManagedRuleSetDefinition", "azure.mgmt.frontdoor.models.ManagedRuleSetDefinitionProperties": "Microsoft.Network.ManagedRuleSetDefinitionProperties", + "azure.mgmt.frontdoor.models.ManagedRuleSetException": "Microsoft.Network.ManagedRuleSetException", + "azure.mgmt.frontdoor.models.ManagedRuleSetExceptionList": "Microsoft.Network.ManagedRuleSetExceptionList", "azure.mgmt.frontdoor.models.ManagedRuleSetList": "Microsoft.Network.ManagedRuleSetList", + "azure.mgmt.frontdoor.models.ManagedRuleSetScope": "Microsoft.Network.ManagedRuleSetScope", "azure.mgmt.frontdoor.models.MatchCondition": "Microsoft.Network.MatchCondition", "azure.mgmt.frontdoor.models.PolicySettings": "Microsoft.Network.PolicySettings", "azure.mgmt.frontdoor.models.PolicySettingsLogScrubbing": "Microsoft.Network.PolicySettingsLogScrubbing", @@ -74,6 +77,8 @@ "azure.mgmt.frontdoor.models.RoutingRuleUpdateParameters": "Microsoft.Network.RoutingRuleUpdateParameters", "azure.mgmt.frontdoor.models.RoutingRuleProperties": "Microsoft.Network.RoutingRuleProperties", "azure.mgmt.frontdoor.models.RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink": "Microsoft.Network.RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink", + "azure.mgmt.frontdoor.models.RuleGroupScope": "Microsoft.Network.RuleGroupScope", + "azure.mgmt.frontdoor.models.RuleScope": "Microsoft.Network.RuleScope", "azure.mgmt.frontdoor.models.RulesEngine": "Microsoft.Network.RulesEngine", "azure.mgmt.frontdoor.models.RulesEngineAction": "Microsoft.Network.RulesEngineAction", "azure.mgmt.frontdoor.models.RulesEngineMatchCondition": "Microsoft.Network.RulesEngineMatchCondition", @@ -138,6 +143,9 @@ "azure.mgmt.frontdoor.models.ManagedRuleExclusionSelectorMatchOperator": "Microsoft.Network.ManagedRuleExclusionSelectorMatchOperator", "azure.mgmt.frontdoor.models.ManagedRuleEnabledState": "Microsoft.Network.ManagedRuleEnabledState", "azure.mgmt.frontdoor.models.SensitivityType": "Microsoft.Network.SensitivityType", + "azure.mgmt.frontdoor.models.ExceptionMatchVariable": "Microsoft.Network.ExceptionMatchVariable", + "azure.mgmt.frontdoor.models.ExceptionSelectorMatchOperator": "Microsoft.Network.ExceptionSelectorMatchOperator", + "azure.mgmt.frontdoor.models.ExceptionValueMatchOperator": "Microsoft.Network.ExceptionValueMatchOperator", "azure.mgmt.frontdoor.models.PolicyResourceState": "Microsoft.Network.PolicyResourceState", "azure.mgmt.frontdoor.models.SkuName": "Microsoft.Network.SkuName", "azure.mgmt.frontdoor.models.EndpointType": "Microsoft.Network.EndpointType", @@ -145,6 +153,8 @@ "azure.mgmt.frontdoor.models.AggregationInterval": "Microsoft.Network.AggregationInterval", "azure.mgmt.frontdoor.models.TimeseriesType": "Microsoft.Network.TimeseriesType", "azure.mgmt.frontdoor.models.TimeseriesAggregationInterval": "Microsoft.Network.TimeseriesAggregationInterval", + "azure.mgmt.frontdoor.models.ParanoiaLevel": "Microsoft.Network.ParanoiaLevel", + "azure.mgmt.frontdoor.models.ManagedRuleSetStatus": "Microsoft.Network.ManagedRuleSetStatus", "azure.mgmt.frontdoor.models.Availability": "Microsoft.Network.Availability", "azure.mgmt.frontdoor.models.ResourceType": "Microsoft.Network.ResourceType", "azure.mgmt.frontdoor.operations.FrontDoorsOperations.get": "Microsoft.Network.FrontDoors.get", @@ -224,5 +234,5 @@ "azure.mgmt.frontdoor.operations.FrontDoorNameAvailabilityWithSubscriptionOperations.check": "Microsoft.Network.FrontDoorNameAvailabilityWithSubscriptionOperationGroup.check", "azure.mgmt.frontdoor.aio.operations.FrontDoorNameAvailabilityWithSubscriptionOperations.check": "Microsoft.Network.FrontDoorNameAvailabilityWithSubscriptionOperationGroup.check" }, - "CrossLanguageVersion": "b4a622d256e5" + "CrossLanguageVersion": "a0a1b0e77a71" } \ No newline at end of file diff --git a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_client.py b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_client.py index 358f583f496f..c22860c101aa 100644 --- a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_client.py +++ b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_client.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -44,7 +45,7 @@ from azure.core.credentials import TokenCredential -class FrontDoorManagementClient: # pylint: disable=too-many-instance-attributes +class FrontDoorManagementClient: # pylint: disable=too-many-instance-attributes,docstring-keyword-should-match-keyword-only """APIs to manage web application firewall rules. :ivar front_doors: FrontDoorsOperations operations @@ -85,7 +86,7 @@ class FrontDoorManagementClient: # pylint: disable=too-many-instance-attributes :keyword cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is None. :paramtype cloud_setting: ~azure.core.AzureClouds - :keyword api_version: The API version to use for this operation. Known values are "2025-10-01" + :keyword api_version: The API version to use for this operation. Known values are "2026-04-01" and None. Default value is None. If not set, the operation's default API version will be used. Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str diff --git a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_configuration.py b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_configuration.py index 0180ede7e61e..082547e42972 100644 --- a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_configuration.py +++ b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_configuration.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -18,7 +19,7 @@ from azure.core.credentials import TokenCredential -class FrontDoorManagementClientConfiguration: # pylint: disable=too-many-instance-attributes +class FrontDoorManagementClientConfiguration: # pylint: disable=too-many-instance-attributes,docstring-keyword-should-match-keyword-only """Configuration for FrontDoorManagementClient. Note that all parameters used to create this instance are saved as instance @@ -33,7 +34,7 @@ class FrontDoorManagementClientConfiguration: # pylint: disable=too-many-instan :param cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is None. :type cloud_setting: ~azure.core.AzureClouds - :keyword api_version: The API version to use for this operation. Known values are "2025-10-01" + :keyword api_version: The API version to use for this operation. Known values are "2026-04-01" and None. Default value is None. If not set, the operation's default API version will be used. Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str @@ -47,7 +48,7 @@ def __init__( cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: - api_version: str = kwargs.pop("api_version", "2025-10-01") + api_version: str = kwargs.pop("api_version", "2026-04-01") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_patch.py b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_patch.py index 87676c65a8f0..ea765788358a 100644 --- a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_patch.py +++ b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_patch.py @@ -8,7 +8,6 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ - __all__: list[str] = [] # Add all objects you want publicly available to users at this package level diff --git a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_utils/model_base.py b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_utils/model_base.py index b93f5120d517..35d5fc024978 100644 --- a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_utils/model_base.py +++ b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_utils/model_base.py @@ -158,7 +158,15 @@ def _is_readonly(p): class SdkJSONEncoder(JSONEncoder): - """A JSON encoder that's capable of serializing datetime objects and bytes.""" + """A JSON encoder that's capable of serializing datetime objects and bytes. + + :param args: Additional positional arguments passed to the base ``JSONEncoder``. + :type args: typing.Any + :keyword exclude_readonly: Whether to exclude readonly properties. Defaults to False. + :paramtype exclude_readonly: bool + :keyword format: The format to use for serialization. Defaults to None. + :paramtype format: typing.Optional[str] + """ def __init__(self, *args, exclude_readonly: bool = False, format: typing.Optional[str] = None, **kwargs): super().__init__(*args, **kwargs) @@ -342,6 +350,12 @@ def _deserialize_int_as_str(attr): return int(attr) +def _deserialize_bool_as_str(attr): + if isinstance(attr, bool): + return attr + return attr.lower() == "true" + + _DESERIALIZE_MAPPING = { datetime: _deserialize_datetime, date: _deserialize_date, @@ -369,6 +383,8 @@ def _deserialize_int_as_str(attr): def get_deserializer(annotation: typing.Any, rf: typing.Optional["_RestField"] = None): if annotation is int and rf and rf._format == "str": return _deserialize_int_as_str + if annotation is bool and rf and rf._format == "str": + return _deserialize_bool_as_str if annotation is str and rf and rf._format in _ARRAY_ENCODE_MAPPING: return functools.partial(_deserialize_array_encoded, _ARRAY_ENCODE_MAPPING[rf._format]) if rf and rf._format: @@ -458,21 +474,21 @@ def __ne__(self, other: typing.Any) -> bool: def keys(self) -> typing.KeysView[str]: """ - :returns: a set-like object providing a view on D's keys + :returns: a set-like object providing a view on the mapping's keys :rtype: ~typing.KeysView """ return self._data.keys() def values(self) -> typing.ValuesView[typing.Any]: """ - :returns: an object providing a view on D's values + :returns: an object providing a view on the mapping's values :rtype: ~typing.ValuesView """ return self._data.values() def items(self) -> typing.ItemsView[str, typing.Any]: """ - :returns: set-like object providing a view on D's items + :returns: a set-like object providing a view on the mapping's items :rtype: ~typing.ItemsView """ return self._data.items() @@ -482,7 +498,7 @@ def get(self, key: str, default: typing.Any = None) -> typing.Any: Get the value for key if key is in the dictionary, else default. :param str key: The key to look up. :param any default: The value to return if key is not in the dictionary. Defaults to None - :returns: D[k] if k in D, else d. + :returns: The value for key if key is in the dictionary, else default. :rtype: any """ try: @@ -517,19 +533,19 @@ def popitem(self) -> tuple[str, typing.Any]: Removes and returns some (key, value) pair :returns: The (key, value) pair. :rtype: tuple - :raises KeyError: if D is empty. + :raises KeyError: if the dictionary is empty. """ return self._data.popitem() def clear(self) -> None: """ - Remove all items from D. + Remove all items from the dictionary. """ self._data.clear() def update(self, *args: typing.Any, **kwargs: typing.Any) -> None: # pylint: disable=arguments-differ """ - Updates D from mapping/iterable E and F. + Update the dictionary from a mapping or an iterable of key-value pairs. :param any args: Either a mapping object or an iterable of key-value pairs. """ self._data.update(*args, **kwargs) @@ -542,10 +558,11 @@ def setdefault(self, key: str, default: typing.Any) -> typing.Any: ... # pylint def setdefault(self, key: str, default: typing.Any = _UNSET) -> typing.Any: """ - Same as calling D.get(k, d), and setting D[k]=d if k not found + Return the value for key if key is in the dictionary; otherwise set the key to + default and return default. :param str key: The key to look up. :param any default: The value to set if key is not in the dictionary - :returns: D[k] if k in D, else d. + :returns: The value for key if key is in the dictionary, else default. :rtype: any """ if default is _UNSET: diff --git a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_utils/serialization.py b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_utils/serialization.py index 75906e2eb77f..ae08f9d89f74 100644 --- a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_utils/serialization.py +++ b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_utils/serialization.py @@ -480,7 +480,11 @@ def _decode_attribute_map_key(key): class Serializer: # pylint: disable=too-many-public-methods - """Request object model serializer.""" + """Request object model serializer. + + :param classes: Mapping of model names to model types, used to resolve models during serialization. + :type classes: typing.Optional[typing.Mapping[str, type]] + """ basic_types = {str: "str", int: "int", bool: "bool", float: "float"} diff --git a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_version.py b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_version.py index 8f2350dd3b0c..ccb75164d3bc 100644 --- a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_version.py +++ b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "2.0.0" +VERSION = "2.1.0" diff --git a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/aio/_client.py b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/aio/_client.py index c0b36566e517..de15355736aa 100644 --- a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/aio/_client.py +++ b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/aio/_client.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -44,7 +45,7 @@ from azure.core.credentials_async import AsyncTokenCredential -class FrontDoorManagementClient: # pylint: disable=too-many-instance-attributes +class FrontDoorManagementClient: # pylint: disable=too-many-instance-attributes,docstring-keyword-should-match-keyword-only """APIs to manage web application firewall rules. :ivar front_doors: FrontDoorsOperations operations @@ -85,7 +86,7 @@ class FrontDoorManagementClient: # pylint: disable=too-many-instance-attributes :keyword cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is None. :paramtype cloud_setting: ~azure.core.AzureClouds - :keyword api_version: The API version to use for this operation. Known values are "2025-10-01" + :keyword api_version: The API version to use for this operation. Known values are "2026-04-01" and None. Default value is None. If not set, the operation's default API version will be used. Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str diff --git a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/aio/_configuration.py b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/aio/_configuration.py index cd39230ea495..472762bdc06b 100644 --- a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/aio/_configuration.py +++ b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/aio/_configuration.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -18,7 +19,7 @@ from azure.core.credentials_async import AsyncTokenCredential -class FrontDoorManagementClientConfiguration: # pylint: disable=too-many-instance-attributes +class FrontDoorManagementClientConfiguration: # pylint: disable=too-many-instance-attributes,docstring-keyword-should-match-keyword-only """Configuration for FrontDoorManagementClient. Note that all parameters used to create this instance are saved as instance @@ -33,7 +34,7 @@ class FrontDoorManagementClientConfiguration: # pylint: disable=too-many-instan :param cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is None. :type cloud_setting: ~azure.core.AzureClouds - :keyword api_version: The API version to use for this operation. Known values are "2025-10-01" + :keyword api_version: The API version to use for this operation. Known values are "2026-04-01" and None. Default value is None. If not set, the operation's default API version will be used. Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str @@ -47,7 +48,7 @@ def __init__( cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: - api_version: str = kwargs.pop("api_version", "2025-10-01") + api_version: str = kwargs.pop("api_version", "2026-04-01") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/aio/_patch.py b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/aio/_patch.py index 87676c65a8f0..ea765788358a 100644 --- a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/aio/_patch.py +++ b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/aio/_patch.py @@ -8,7 +8,6 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ - __all__: list[str] = [] # Add all objects you want publicly available to users at this package level diff --git a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/aio/operations/_operations.py b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/aio/operations/_operations.py index 4519c017cf0e..c171dcdeb77d 100644 --- a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/aio/operations/_operations.py +++ b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/aio/operations/_operations.py @@ -34,7 +34,7 @@ from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling -from ... import models as _models +from ... import models as _models, types as _types from ..._utils.model_base import SdkJSONEncoder, _deserialize, _failsafe_deserialize from ..._utils.serialization import Deserializer, Serializer from ...operations._operations import ( @@ -79,13 +79,12 @@ ) from .._configuration import FrontDoorManagementClientConfiguration -JSON = MutableMapping[str, Any] T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] List = list -class FrontDoorsOperations: +class FrontDoorsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -177,7 +176,7 @@ async def _create_or_update_initial( self, resource_group_name: str, front_door_name: str, - front_door_parameters: Union[_models.FrontDoor, JSON, IO[bytes]], + front_door_parameters: Union[_models.FrontDoor, _types.FrontDoor, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -291,7 +290,7 @@ async def begin_create_or_update( self, resource_group_name: str, front_door_name: str, - front_door_parameters: JSON, + front_door_parameters: _types.FrontDoor, *, content_type: str = "application/json", **kwargs: Any @@ -306,7 +305,7 @@ async def begin_create_or_update( :type front_door_name: str :param front_door_parameters: Front Door properties needed to create a new Front Door. Required. - :type front_door_parameters: JSON + :type front_door_parameters: ~azure.mgmt.frontdoor.types.FrontDoor :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -351,7 +350,7 @@ async def begin_create_or_update( self, resource_group_name: str, front_door_name: str, - front_door_parameters: Union[_models.FrontDoor, JSON, IO[bytes]], + front_door_parameters: Union[_models.FrontDoor, _types.FrontDoor, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.FrontDoor]: """Creates a new Front Door with a Front Door name under the specified subscription and resource @@ -362,9 +361,10 @@ async def begin_create_or_update( :type resource_group_name: str :param front_door_name: Name of the Front Door which is globally unique. Required. :type front_door_name: str - :param front_door_parameters: Front Door properties needed to create a new Front Door. Is one - of the following types: FrontDoor, JSON, IO[bytes] Required. - :type front_door_parameters: ~azure.mgmt.frontdoor.models.FrontDoor or JSON or IO[bytes] + :param front_door_parameters: Front Door properties needed to create a new Front Door. Is + either a FrontDoor type or a IO[bytes] type. Required. + :type front_door_parameters: ~azure.mgmt.frontdoor.models.FrontDoor or + ~azure.mgmt.frontdoor.types.FrontDoor or IO[bytes] :return: An instance of AsyncLROPoller that returns FrontDoor. The FrontDoor is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.frontdoor.models.FrontDoor] @@ -766,7 +766,7 @@ async def validate_custom_domain( self, resource_group_name: str, front_door_name: str, - custom_domain_properties: JSON, + custom_domain_properties: _types.ValidateCustomDomainInput, *, content_type: str = "application/json", **kwargs: Any @@ -780,7 +780,7 @@ async def validate_custom_domain( :param front_door_name: Name of the Front Door which is globally unique. Required. :type front_door_name: str :param custom_domain_properties: Custom domain to be validated. Required. - :type custom_domain_properties: JSON + :type custom_domain_properties: ~azure.mgmt.frontdoor.types.ValidateCustomDomainInput :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -824,7 +824,7 @@ async def validate_custom_domain( self, resource_group_name: str, front_door_name: str, - custom_domain_properties: Union[_models.ValidateCustomDomainInput, JSON, IO[bytes]], + custom_domain_properties: Union[_models.ValidateCustomDomainInput, _types.ValidateCustomDomainInput, IO[bytes]], **kwargs: Any ) -> _models.ValidateCustomDomainOutput: """Validates the custom domain mapping to ensure it maps to the correct Front Door endpoint in @@ -835,10 +835,10 @@ async def validate_custom_domain( :type resource_group_name: str :param front_door_name: Name of the Front Door which is globally unique. Required. :type front_door_name: str - :param custom_domain_properties: Custom domain to be validated. Is one of the following types: - ValidateCustomDomainInput, JSON, IO[bytes] Required. - :type custom_domain_properties: ~azure.mgmt.frontdoor.models.ValidateCustomDomainInput or JSON - or IO[bytes] + :param custom_domain_properties: Custom domain to be validated. Is either a + ValidateCustomDomainInput type or a IO[bytes] type. Required. + :type custom_domain_properties: ~azure.mgmt.frontdoor.models.ValidateCustomDomainInput or + ~azure.mgmt.frontdoor.types.ValidateCustomDomainInput or IO[bytes] :return: ValidateCustomDomainOutput. The ValidateCustomDomainOutput is compatible with MutableMapping :rtype: ~azure.mgmt.frontdoor.models.ValidateCustomDomainOutput @@ -912,7 +912,7 @@ async def validate_custom_domain( return deserialized # type: ignore -class FrontendEndpointsOperations: +class FrontendEndpointsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -1112,7 +1112,7 @@ async def _enable_https_initial( resource_group_name: str, front_door_name: str, frontend_endpoint_name: str, - custom_https_configuration: Union[_models.CustomHttpsConfiguration, JSON, IO[bytes]], + custom_https_configuration: Union[_models.CustomHttpsConfiguration, _types.CustomHttpsConfiguration, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -1223,7 +1223,7 @@ async def begin_enable_https( resource_group_name: str, front_door_name: str, frontend_endpoint_name: str, - custom_https_configuration: JSON, + custom_https_configuration: _types.CustomHttpsConfiguration, *, content_type: str = "application/json", **kwargs: Any @@ -1239,7 +1239,7 @@ async def begin_enable_https( Door. Required. :type frontend_endpoint_name: str :param custom_https_configuration: The configuration specifying how to enable HTTPS. Required. - :type custom_https_configuration: JSON + :type custom_https_configuration: ~azure.mgmt.frontdoor.types.CustomHttpsConfiguration :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1285,7 +1285,7 @@ async def begin_enable_https( resource_group_name: str, front_door_name: str, frontend_endpoint_name: str, - custom_https_configuration: Union[_models.CustomHttpsConfiguration, JSON, IO[bytes]], + custom_https_configuration: Union[_models.CustomHttpsConfiguration, _types.CustomHttpsConfiguration, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[None]: """Enables a frontendEndpoint for HTTPS traffic. @@ -1298,10 +1298,10 @@ async def begin_enable_https( :param frontend_endpoint_name: Name of the Frontend endpoint which is unique within the Front Door. Required. :type frontend_endpoint_name: str - :param custom_https_configuration: The configuration specifying how to enable HTTPS. Is one of - the following types: CustomHttpsConfiguration, JSON, IO[bytes] Required. - :type custom_https_configuration: ~azure.mgmt.frontdoor.models.CustomHttpsConfiguration or JSON - or IO[bytes] + :param custom_https_configuration: The configuration specifying how to enable HTTPS. Is either + a CustomHttpsConfiguration type or a IO[bytes] type. Required. + :type custom_https_configuration: ~azure.mgmt.frontdoor.models.CustomHttpsConfiguration or + ~azure.mgmt.frontdoor.types.CustomHttpsConfiguration or IO[bytes] :return: An instance of AsyncLROPoller that returns None :rtype: ~azure.core.polling.AsyncLROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -1482,7 +1482,7 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore -class RulesEnginesOperations: +class RulesEnginesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -1580,7 +1580,7 @@ async def _create_or_update_initial( resource_group_name: str, front_door_name: str, rules_engine_name: str, - rules_engine_parameters: Union[_models.RulesEngine, JSON, IO[bytes]], + rules_engine_parameters: Union[_models.RulesEngine, _types.RulesEngine, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -1700,7 +1700,7 @@ async def begin_create_or_update( resource_group_name: str, front_door_name: str, rules_engine_name: str, - rules_engine_parameters: JSON, + rules_engine_parameters: _types.RulesEngine, *, content_type: str = "application/json", **kwargs: Any @@ -1718,7 +1718,7 @@ async def begin_create_or_update( :type rules_engine_name: str :param rules_engine_parameters: Rules Engine Configuration properties needed to create a new Rules Engine Configuration. Required. - :type rules_engine_parameters: JSON + :type rules_engine_parameters: ~azure.mgmt.frontdoor.types.RulesEngine :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1768,7 +1768,7 @@ async def begin_create_or_update( resource_group_name: str, front_door_name: str, rules_engine_name: str, - rules_engine_parameters: Union[_models.RulesEngine, JSON, IO[bytes]], + rules_engine_parameters: Union[_models.RulesEngine, _types.RulesEngine, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.RulesEngine]: """Creates a new Rules Engine Configuration with the specified name within the specified Front @@ -1783,9 +1783,9 @@ async def begin_create_or_update( Required. :type rules_engine_name: str :param rules_engine_parameters: Rules Engine Configuration properties needed to create a new - Rules Engine Configuration. Is one of the following types: RulesEngine, JSON, IO[bytes] - Required. - :type rules_engine_parameters: ~azure.mgmt.frontdoor.models.RulesEngine or JSON or IO[bytes] + Rules Engine Configuration. Is either a RulesEngine type or a IO[bytes] type. Required. + :type rules_engine_parameters: ~azure.mgmt.frontdoor.models.RulesEngine or + ~azure.mgmt.frontdoor.types.RulesEngine or IO[bytes] :return: An instance of AsyncLROPoller that returns RulesEngine. The RulesEngine is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.frontdoor.models.RulesEngine] @@ -2074,7 +2074,7 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class ExperimentsOperations: +class ExperimentsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -2173,7 +2173,7 @@ async def _create_or_update_initial( resource_group_name: str, profile_name: str, experiment_name: str, - parameters: Union[_models.Experiment, JSON, IO[bytes]], + parameters: Union[_models.Experiment, _types.Experiment, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -2288,7 +2288,7 @@ async def begin_create_or_update( resource_group_name: str, profile_name: str, experiment_name: str, - parameters: JSON, + parameters: _types.Experiment, *, content_type: str = "application/json", **kwargs: Any @@ -2305,7 +2305,7 @@ async def begin_create_or_update( :param experiment_name: The Experiment identifier associated with the Experiment. Required. :type experiment_name: str :param parameters: The Experiment resource. Required. - :type parameters: JSON + :type parameters: ~azure.mgmt.frontdoor.types.Experiment :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -2354,7 +2354,7 @@ async def begin_create_or_update( resource_group_name: str, profile_name: str, experiment_name: str, - parameters: Union[_models.Experiment, JSON, IO[bytes]], + parameters: Union[_models.Experiment, _types.Experiment, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.Experiment]: """Creates or updates an Experiment. @@ -2368,9 +2368,10 @@ async def begin_create_or_update( :type profile_name: str :param experiment_name: The Experiment identifier associated with the Experiment. Required. :type experiment_name: str - :param parameters: The Experiment resource. Is one of the following types: Experiment, JSON, - IO[bytes] Required. - :type parameters: ~azure.mgmt.frontdoor.models.Experiment or JSON or IO[bytes] + :param parameters: The Experiment resource. Is either a Experiment type or a IO[bytes] type. + Required. + :type parameters: ~azure.mgmt.frontdoor.models.Experiment or + ~azure.mgmt.frontdoor.types.Experiment or IO[bytes] :return: An instance of AsyncLROPoller that returns Experiment. The Experiment is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.frontdoor.models.Experiment] @@ -2434,7 +2435,7 @@ async def _update_initial( resource_group_name: str, profile_name: str, experiment_name: str, - parameters: Union[_models.ExperimentUpdateModel, JSON, IO[bytes]], + parameters: Union[_models.ExperimentUpdateModel, _types.ExperimentUpdateModel, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -2545,7 +2546,7 @@ async def begin_update( resource_group_name: str, profile_name: str, experiment_name: str, - parameters: JSON, + parameters: _types.ExperimentUpdateModel, *, content_type: str = "application/json", **kwargs: Any @@ -2562,7 +2563,7 @@ async def begin_update( :param experiment_name: The Experiment identifier associated with the Experiment. Required. :type experiment_name: str :param parameters: The Experiment Update Model. Required. - :type parameters: JSON + :type parameters: ~azure.mgmt.frontdoor.types.ExperimentUpdateModel :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -2611,7 +2612,7 @@ async def begin_update( resource_group_name: str, profile_name: str, experiment_name: str, - parameters: Union[_models.ExperimentUpdateModel, JSON, IO[bytes]], + parameters: Union[_models.ExperimentUpdateModel, _types.ExperimentUpdateModel, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.Experiment]: """Updates an Experiment by Experiment id. @@ -2625,9 +2626,10 @@ async def begin_update( :type profile_name: str :param experiment_name: The Experiment identifier associated with the Experiment. Required. :type experiment_name: str - :param parameters: The Experiment Update Model. Is one of the following types: - ExperimentUpdateModel, JSON, IO[bytes] Required. - :type parameters: ~azure.mgmt.frontdoor.models.ExperimentUpdateModel or JSON or IO[bytes] + :param parameters: The Experiment Update Model. Is either a ExperimentUpdateModel type or a + IO[bytes] type. Required. + :type parameters: ~azure.mgmt.frontdoor.models.ExperimentUpdateModel or + ~azure.mgmt.frontdoor.types.ExperimentUpdateModel or IO[bytes] :return: An instance of AsyncLROPoller that returns Experiment. The Experiment is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.frontdoor.models.Experiment] @@ -2917,7 +2919,7 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class PoliciesOperations: +class PoliciesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -3011,7 +3013,7 @@ async def _create_or_update_initial( self, resource_group_name: str, policy_name: str, - parameters: Union[_models.WebApplicationFirewallPolicy, JSON, IO[bytes]], + parameters: Union[_models.WebApplicationFirewallPolicy, _types.WebApplicationFirewallPolicy, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -3120,7 +3122,7 @@ async def begin_create_or_update( self, resource_group_name: str, policy_name: str, - parameters: JSON, + parameters: _types.WebApplicationFirewallPolicy, *, content_type: str = "application/json", **kwargs: Any @@ -3133,7 +3135,7 @@ async def begin_create_or_update( :param policy_name: The name of the Web Application Firewall Policy. Required. :type policy_name: str :param parameters: Policy to be created. Required. - :type parameters: JSON + :type parameters: ~azure.mgmt.frontdoor.types.WebApplicationFirewallPolicy :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -3178,7 +3180,7 @@ async def begin_create_or_update( self, resource_group_name: str, policy_name: str, - parameters: Union[_models.WebApplicationFirewallPolicy, JSON, IO[bytes]], + parameters: Union[_models.WebApplicationFirewallPolicy, _types.WebApplicationFirewallPolicy, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.WebApplicationFirewallPolicy]: """Create or update policy with specified rule set name within a resource group. @@ -3188,10 +3190,10 @@ async def begin_create_or_update( :type resource_group_name: str :param policy_name: The name of the Web Application Firewall Policy. Required. :type policy_name: str - :param parameters: Policy to be created. Is one of the following types: - WebApplicationFirewallPolicy, JSON, IO[bytes] Required. - :type parameters: ~azure.mgmt.frontdoor.models.WebApplicationFirewallPolicy or JSON or - IO[bytes] + :param parameters: Policy to be created. Is either a WebApplicationFirewallPolicy type or a + IO[bytes] type. Required. + :type parameters: ~azure.mgmt.frontdoor.models.WebApplicationFirewallPolicy or + ~azure.mgmt.frontdoor.types.WebApplicationFirewallPolicy or IO[bytes] :return: An instance of AsyncLROPoller that returns WebApplicationFirewallPolicy. The WebApplicationFirewallPolicy is compatible with MutableMapping :rtype: @@ -3254,7 +3256,7 @@ async def _update_initial( self, resource_group_name: str, policy_name: str, - parameters: Union[_models.TagsObject, JSON, IO[bytes]], + parameters: Union[_models.TagsObject, _types.TagsObject, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -3359,7 +3361,7 @@ async def begin_update( self, resource_group_name: str, policy_name: str, - parameters: JSON, + parameters: _types.TagsObject, *, content_type: str = "application/json", **kwargs: Any @@ -3373,7 +3375,7 @@ async def begin_update( :param policy_name: The name of the Web Application Firewall Policy. Required. :type policy_name: str :param parameters: FrontdoorWebApplicationFirewallPolicy parameters to be patched. Required. - :type parameters: JSON + :type parameters: ~azure.mgmt.frontdoor.types.TagsObject :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -3419,7 +3421,7 @@ async def begin_update( self, resource_group_name: str, policy_name: str, - parameters: Union[_models.TagsObject, JSON, IO[bytes]], + parameters: Union[_models.TagsObject, _types.TagsObject, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.WebApplicationFirewallPolicy]: """Patch a specific frontdoor webApplicationFirewall policy for tags update under the specified @@ -3430,9 +3432,10 @@ async def begin_update( :type resource_group_name: str :param policy_name: The name of the Web Application Firewall Policy. Required. :type policy_name: str - :param parameters: FrontdoorWebApplicationFirewallPolicy parameters to be patched. Is one of - the following types: TagsObject, JSON, IO[bytes] Required. - :type parameters: ~azure.mgmt.frontdoor.models.TagsObject or JSON or IO[bytes] + :param parameters: FrontdoorWebApplicationFirewallPolicy parameters to be patched. Is either a + TagsObject type or a IO[bytes] type. Required. + :type parameters: ~azure.mgmt.frontdoor.models.TagsObject or + ~azure.mgmt.frontdoor.types.TagsObject or IO[bytes] :return: An instance of AsyncLROPoller that returns WebApplicationFirewallPolicy. The WebApplicationFirewallPolicy is compatible with MutableMapping :rtype: @@ -3804,7 +3807,7 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class EndpointsOperations: +class EndpointsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -3825,7 +3828,7 @@ async def _purge_content_initial( self, resource_group_name: str, front_door_name: str, - content_file_paths: Union[_models.PurgeParameters, JSON, IO[bytes]], + content_file_paths: Union[_models.PurgeParameters, _types.PurgeParameters, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -3932,7 +3935,7 @@ async def begin_purge_content( self, resource_group_name: str, front_door_name: str, - content_file_paths: JSON, + content_file_paths: _types.PurgeParameters, *, content_type: str = "application/json", **kwargs: Any @@ -3947,7 +3950,7 @@ async def begin_purge_content( :param content_file_paths: The path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and files in the directory. Required. - :type content_file_paths: JSON + :type content_file_paths: ~azure.mgmt.frontdoor.types.PurgeParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -3990,7 +3993,7 @@ async def begin_purge_content( self, resource_group_name: str, front_door_name: str, - content_file_paths: Union[_models.PurgeParameters, JSON, IO[bytes]], + content_file_paths: Union[_models.PurgeParameters, _types.PurgeParameters, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[None]: """Removes a content from Front Door. @@ -4002,9 +4005,10 @@ async def begin_purge_content( :type front_door_name: str :param content_file_paths: The path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g. - '/pictures/*' which removes all folders and files in the directory. Is one of the following - types: PurgeParameters, JSON, IO[bytes] Required. - :type content_file_paths: ~azure.mgmt.frontdoor.models.PurgeParameters or JSON or IO[bytes] + '/pictures/*' which removes all folders and files in the directory. Is either a PurgeParameters + type or a IO[bytes] type. Required. + :type content_file_paths: ~azure.mgmt.frontdoor.models.PurgeParameters or + ~azure.mgmt.frontdoor.types.PurgeParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns None :rtype: ~azure.core.polling.AsyncLROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -4057,7 +4061,7 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore -class NetworkExperimentProfilesOperations: +class NetworkExperimentProfilesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -4150,7 +4154,7 @@ async def _create_or_update_initial( self, profile_name: str, resource_group_name: str, - parameters: Union[_models.Profile, JSON, IO[bytes]], + parameters: Union[_models.Profile, _types.Profile, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -4260,7 +4264,7 @@ async def begin_create_or_update( self, profile_name: str, resource_group_name: str, - parameters: JSON, + parameters: _types.Profile, *, content_type: str = "application/json", **kwargs: Any @@ -4275,7 +4279,7 @@ async def begin_create_or_update( Required. :type resource_group_name: str :param parameters: An Network Experiment Profile. Required. - :type parameters: JSON + :type parameters: ~azure.mgmt.frontdoor.types.Profile :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -4320,7 +4324,7 @@ async def begin_create_or_update( self, profile_name: str, resource_group_name: str, - parameters: Union[_models.Profile, JSON, IO[bytes]], + parameters: Union[_models.Profile, _types.Profile, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.Profile]: """Creates an NetworkExperiment Profile. @@ -4332,9 +4336,10 @@ async def begin_create_or_update( :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param parameters: An Network Experiment Profile. Is one of the following types: Profile, JSON, - IO[bytes] Required. - :type parameters: ~azure.mgmt.frontdoor.models.Profile or JSON or IO[bytes] + :param parameters: An Network Experiment Profile. Is either a Profile type or a IO[bytes] type. + Required. + :type parameters: ~azure.mgmt.frontdoor.models.Profile or ~azure.mgmt.frontdoor.types.Profile + or IO[bytes] :return: An instance of AsyncLROPoller that returns Profile. The Profile is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.frontdoor.models.Profile] @@ -4396,7 +4401,7 @@ async def _update_initial( self, resource_group_name: str, profile_name: str, - parameters: Union[_models.ProfileUpdateModel, JSON, IO[bytes]], + parameters: Union[_models.ProfileUpdateModel, _types.ProfileUpdateModel, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -4502,7 +4507,7 @@ async def begin_update( self, resource_group_name: str, profile_name: str, - parameters: JSON, + parameters: _types.ProfileUpdateModel, *, content_type: str = "application/json", **kwargs: Any @@ -4517,7 +4522,7 @@ async def begin_update( :param profile_name: The Profile identifier associated with the Tenant and Partner. Required. :type profile_name: str :param parameters: The Profile Update Model. Required. - :type parameters: JSON + :type parameters: ~azure.mgmt.frontdoor.types.ProfileUpdateModel :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -4562,7 +4567,7 @@ async def begin_update( self, resource_group_name: str, profile_name: str, - parameters: Union[_models.ProfileUpdateModel, JSON, IO[bytes]], + parameters: Union[_models.ProfileUpdateModel, _types.ProfileUpdateModel, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.Profile]: """Updates an NetworkExperimentProfiles by NetworkExperimentProfile name. @@ -4574,9 +4579,10 @@ async def begin_update( :type resource_group_name: str :param profile_name: The Profile identifier associated with the Tenant and Partner. Required. :type profile_name: str - :param parameters: The Profile Update Model. Is one of the following types: ProfileUpdateModel, - JSON, IO[bytes] Required. - :type parameters: ~azure.mgmt.frontdoor.models.ProfileUpdateModel or JSON or IO[bytes] + :param parameters: The Profile Update Model. Is either a ProfileUpdateModel type or a IO[bytes] + type. Required. + :type parameters: ~azure.mgmt.frontdoor.models.ProfileUpdateModel or + ~azure.mgmt.frontdoor.types.ProfileUpdateModel or IO[bytes] :return: An instance of AsyncLROPoller that returns Profile. The Profile is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.frontdoor.models.Profile] @@ -4947,7 +4953,7 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class PreconfiguredEndpointsOperations: +class PreconfiguredEndpointsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -5070,7 +5076,7 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class ReportsOperations: +class ReportsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -5298,7 +5304,7 @@ async def get_timeseries( return deserialized # type: ignore -class ManagedRuleSetsOperations: +class ManagedRuleSetsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -5410,7 +5416,7 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class FrontDoorNameAvailabilityOperations: +class FrontDoorNameAvailabilityOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -5451,12 +5457,17 @@ async def check( @overload async def check( - self, check_front_door_name_availability_input: JSON, *, content_type: str = "application/json", **kwargs: Any + self, + check_front_door_name_availability_input: _types.CheckNameAvailabilityInput, + *, + content_type: str = "application/json", + **kwargs: Any ) -> _models.CheckNameAvailabilityOutput: """Check the availability of a Front Door resource name. :param check_front_door_name_availability_input: The request body. Required. - :type check_front_door_name_availability_input: JSON + :type check_front_door_name_availability_input: + ~azure.mgmt.frontdoor.types.CheckNameAvailabilityInput :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -5490,15 +5501,18 @@ async def check( @distributed_trace_async async def check( self, - check_front_door_name_availability_input: Union[_models.CheckNameAvailabilityInput, JSON, IO[bytes]], + check_front_door_name_availability_input: Union[ + _models.CheckNameAvailabilityInput, _types.CheckNameAvailabilityInput, IO[bytes] + ], **kwargs: Any ) -> _models.CheckNameAvailabilityOutput: """Check the availability of a Front Door resource name. - :param check_front_door_name_availability_input: The request body. Is one of the following - types: CheckNameAvailabilityInput, JSON, IO[bytes] Required. + :param check_front_door_name_availability_input: The request body. Is either a + CheckNameAvailabilityInput type or a IO[bytes] type. Required. :type check_front_door_name_availability_input: - ~azure.mgmt.frontdoor.models.CheckNameAvailabilityInput or JSON or IO[bytes] + ~azure.mgmt.frontdoor.models.CheckNameAvailabilityInput or + ~azure.mgmt.frontdoor.types.CheckNameAvailabilityInput or IO[bytes] :return: CheckNameAvailabilityOutput. The CheckNameAvailabilityOutput is compatible with MutableMapping :rtype: ~azure.mgmt.frontdoor.models.CheckNameAvailabilityOutput @@ -5569,7 +5583,7 @@ async def check( return deserialized # type: ignore -class FrontDoorNameAvailabilityWithSubscriptionOperations: # pylint: disable=name-too-long +class FrontDoorNameAvailabilityWithSubscriptionOperations: # pylint: disable=docstring-missing-param,name-too-long """ .. warning:: **DO NOT** instantiate this class directly. @@ -5610,12 +5624,17 @@ async def check( @overload async def check( - self, check_front_door_name_availability_input: JSON, *, content_type: str = "application/json", **kwargs: Any + self, + check_front_door_name_availability_input: _types.CheckNameAvailabilityInput, + *, + content_type: str = "application/json", + **kwargs: Any ) -> _models.CheckNameAvailabilityOutput: """Check the availability of a Front Door subdomain. :param check_front_door_name_availability_input: The request body. Required. - :type check_front_door_name_availability_input: JSON + :type check_front_door_name_availability_input: + ~azure.mgmt.frontdoor.types.CheckNameAvailabilityInput :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -5649,15 +5668,18 @@ async def check( @distributed_trace_async async def check( self, - check_front_door_name_availability_input: Union[_models.CheckNameAvailabilityInput, JSON, IO[bytes]], + check_front_door_name_availability_input: Union[ + _models.CheckNameAvailabilityInput, _types.CheckNameAvailabilityInput, IO[bytes] + ], **kwargs: Any ) -> _models.CheckNameAvailabilityOutput: """Check the availability of a Front Door subdomain. - :param check_front_door_name_availability_input: The request body. Is one of the following - types: CheckNameAvailabilityInput, JSON, IO[bytes] Required. + :param check_front_door_name_availability_input: The request body. Is either a + CheckNameAvailabilityInput type or a IO[bytes] type. Required. :type check_front_door_name_availability_input: - ~azure.mgmt.frontdoor.models.CheckNameAvailabilityInput or JSON or IO[bytes] + ~azure.mgmt.frontdoor.models.CheckNameAvailabilityInput or + ~azure.mgmt.frontdoor.types.CheckNameAvailabilityInput or IO[bytes] :return: CheckNameAvailabilityOutput. The CheckNameAvailabilityOutput is compatible with MutableMapping :rtype: ~azure.mgmt.frontdoor.models.CheckNameAvailabilityOutput diff --git a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/aio/operations/_patch.py b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/aio/operations/_patch.py index 87676c65a8f0..ea765788358a 100644 --- a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/aio/operations/_patch.py +++ b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/aio/operations/_patch.py @@ -8,7 +8,6 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ - __all__: list[str] = [] # Add all objects you want publicly available to users at this package level diff --git a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/models/__init__.py b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/models/__init__.py index 83f8b726ddf1..be6febd1b618 100644 --- a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/models/__init__.py +++ b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/models/__init__.py @@ -66,7 +66,10 @@ ManagedRuleSet, ManagedRuleSetDefinition, ManagedRuleSetDefinitionProperties, + ManagedRuleSetException, + ManagedRuleSetExceptionList, ManagedRuleSetList, + ManagedRuleSetScope, MatchCondition, PolicySettings, PolicySettingsLogScrubbing, @@ -86,6 +89,8 @@ RoutingRuleProperties, RoutingRuleUpdateParameters, RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink, + RuleGroupScope, + RuleScope, RulesEngine, RulesEngineAction, RulesEngineMatchCondition, @@ -117,6 +122,9 @@ DynamicCompressionEnabled, EndpointType, EnforceCertificateNameCheckEnabledState, + ExceptionMatchVariable, + ExceptionSelectorMatchOperator, + ExceptionValueMatchOperator, FrontDoorCertificateSource, FrontDoorCertificateType, FrontDoorEnabledState, @@ -135,11 +143,13 @@ ManagedRuleExclusionMatchVariable, ManagedRuleExclusionSelectorMatchOperator, ManagedRuleSetActionType, + ManagedRuleSetStatus, MatchProcessingBehavior, MatchVariable, MinimumTLSVersion, NetworkExperimentResourceState, Operator, + ParanoiaLevel, PolicyEnabledState, PolicyMode, PolicyRequestBodyCheck, @@ -221,7 +231,10 @@ "ManagedRuleSet", "ManagedRuleSetDefinition", "ManagedRuleSetDefinitionProperties", + "ManagedRuleSetException", + "ManagedRuleSetExceptionList", "ManagedRuleSetList", + "ManagedRuleSetScope", "MatchCondition", "PolicySettings", "PolicySettingsLogScrubbing", @@ -241,6 +254,8 @@ "RoutingRuleProperties", "RoutingRuleUpdateParameters", "RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink", + "RuleGroupScope", + "RuleScope", "RulesEngine", "RulesEngineAction", "RulesEngineMatchCondition", @@ -269,6 +284,9 @@ "DynamicCompressionEnabled", "EndpointType", "EnforceCertificateNameCheckEnabledState", + "ExceptionMatchVariable", + "ExceptionSelectorMatchOperator", + "ExceptionValueMatchOperator", "FrontDoorCertificateSource", "FrontDoorCertificateType", "FrontDoorEnabledState", @@ -287,11 +305,13 @@ "ManagedRuleExclusionMatchVariable", "ManagedRuleExclusionSelectorMatchOperator", "ManagedRuleSetActionType", + "ManagedRuleSetStatus", "MatchProcessingBehavior", "MatchVariable", "MinimumTLSVersion", "NetworkExperimentResourceState", "Operator", + "ParanoiaLevel", "PolicyEnabledState", "PolicyMode", "PolicyRequestBodyCheck", diff --git a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/models/_enums.py b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/models/_enums.py index 398745ba2e00..f521bf0c738c 100644 --- a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/models/_enums.py +++ b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/models/_enums.py @@ -142,6 +142,43 @@ class EnforceCertificateNameCheckEnabledState(str, Enum, metaclass=CaseInsensiti """Disabled.""" +class ExceptionMatchVariable(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The variable to be evaluated for excluding the request.""" + + REQUEST_URI = "RequestUri" + """Request Uri Exception Match Variable.""" + SOCKET_ADDR = "SocketAddr" + """Socket Address Exception Match Variable.""" + REQUEST_HEADER_NAMES = "RequestHeaderNames" + """Request Header Names Exception Match Variable.""" + + +class ExceptionSelectorMatchOperator(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Comparison operator to apply to the selector when specifying which elements in the collection + this exception applies to.. + """ + + EQUALS = "Equals" + """Equals Selector Match Operator.""" + + +class ExceptionValueMatchOperator(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Comparison operator to apply to the value to be matched..""" + + EQUALS = "Equals" + """Equals Exception Value Match Operator.""" + CONTAINS = "Contains" + """Contains Exception Value Match Operator.""" + STARTS_WITH = "StartsWith" + """StartsWith Exception Value Match Operator.""" + ENDS_WITH = "EndsWith" + """EndsWith Exception Value Match Operator.""" + EQUALS_ANY = "EqualsAny" + """EqualsAny Exception Value Match Operator.""" + IP_MATCH = "IPMatch" + """IPMatch Exception Value Match Operator.""" + + class FrontDoorCertificateSource(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Defines the source of the SSL certificate.""" @@ -351,6 +388,19 @@ class ManagedRuleSetActionType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Redirect.""" +class ManagedRuleSetStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Status of a managed rule set.""" + + PREVIEW = "Preview" + """The managed rule set is in preview.""" + GA = "GA" + """The managed rule set is generally available.""" + DEPRECATED = "Deprecated" + """The managed rule set is deprecated.""" + SUPPORTED = "Supported" + """The managed rule set is supported.""" + + class MatchProcessingBehavior(str, Enum, metaclass=CaseInsensitiveEnumMeta): """If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue. @@ -383,6 +433,8 @@ class MatchVariable(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Cookies.""" SOCKET_ADDR = "SocketAddr" """SocketAddr.""" + JA4 = "JA4" + """JA4 Match Variable.""" class MinimumTLSVersion(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -442,6 +494,23 @@ class Operator(str, Enum, metaclass=CaseInsensitiveEnumMeta): """RegEx.""" SERVICE_TAG_MATCH = "ServiceTagMatch" """ServiceTagMatch.""" + ASN_MATCH = "AsnMatch" + """Autonomous System Number Match Operator.""" + CLIENT_FINGERPRINT = "ClientFingerprint" + """Client Finger print Operator.""" + + +class ParanoiaLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """OWASP CRS paranoia level of a managed rule. Applicable only for DRS rules.""" + + PL1 = "PL1" + """Paranoia level 1.""" + PL2 = "PL2" + """Paranoia level 2.""" + PL3 = "PL3" + """Paranoia level 3.""" + PL4 = "PL4" + """Paranoia level 4.""" class PolicyEnabledState(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -730,6 +799,10 @@ class VariableName(str, Enum, metaclass=CaseInsensitiveEnumMeta): """GeoLocation.""" NONE = "None" """None.""" + ASN = "Asn" + """Autonomous System Number.""" + JA4 = "Ja4" + """JA4 TLS fingerprint.""" class WebApplicationFirewallScrubbingState(str, Enum, metaclass=CaseInsensitiveEnumMeta): diff --git a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/models/_models.py b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/models/_models.py index 2f15236c5346..b0d4a2977cde 100644 --- a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/models/_models.py +++ b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/models/_models.py @@ -17,7 +17,7 @@ from .. import models as _models -class Backend(_Model): +class Backend(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Backend address of a frontDoor load balancer. :ivar address: Location of the backend (IP address or FQDN). @@ -128,7 +128,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class SubResource(_Model): +class SubResource(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Reference to another subresource. :ivar id: Resource ID. @@ -156,7 +156,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class BackendPool(SubResource): +class BackendPool(SubResource): # pylint: disable=docstring-keyword-should-match-keyword-only """A backend pool is a collection of backends that can be routed to. :ivar id: Resource ID. @@ -218,7 +218,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class BackendPoolUpdateParameters(_Model): +class BackendPoolUpdateParameters(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """A collection of backends that can be routed to. :ivar backends: The set of backends for this pool. @@ -260,7 +260,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class BackendPoolProperties(BackendPoolUpdateParameters): +class BackendPoolProperties(BackendPoolUpdateParameters): # pylint: disable=docstring-keyword-should-match-keyword-only """The JSON object that contains the properties required to create a Backend Pool. :ivar backends: The set of backends for this pool. @@ -302,7 +302,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class BackendPoolsSettings(_Model): +class BackendPoolsSettings(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Settings that apply to all backend pools. :ivar enforce_certificate_name_check: Whether to enforce certificate name check on HTTPS @@ -364,7 +364,7 @@ class BasicResource(_Model): """Resource type.""" -class BasicResourceWithSettableIDName(_Model): +class BasicResourceWithSettableIDName(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Common resource representation. :ivar id: Resource ID. @@ -401,7 +401,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class CacheConfiguration(_Model): +class CacheConfiguration(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. @@ -463,7 +463,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class CheckNameAvailabilityInput(_Model): +class CheckNameAvailabilityInput(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Input of CheckNameAvailability API. :ivar name: The resource name to validate. Required. @@ -520,7 +520,7 @@ class CheckNameAvailabilityOutput(_Model): """The detailed error message describing why the name is not available.""" -class CustomHttpsConfiguration(_Model): +class CustomHttpsConfiguration(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Https settings for a domain. :ivar certificate_source: Defines the source of the SSL certificate. Required. Known values @@ -611,7 +611,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class CustomRule(_Model): +class CustomRule(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines contents of a web application rule. :ivar name: Describes the name of the rule. @@ -699,7 +699,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class CustomRuleList(_Model): +class CustomRuleList(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines contents of custom rules. :ivar rules: List of rules. @@ -727,7 +727,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class DefaultErrorResponse(_Model): +class DefaultErrorResponse(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Error response indicates Front Door service is not able to process the incoming request. The reason is provided in the error message. @@ -773,7 +773,7 @@ class DefaultErrorResponseError(_Model): """Error message indicating why the operation failed.""" -class Endpoint(_Model): +class Endpoint(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines the endpoint properties. :ivar name: The name of the endpoint. @@ -822,7 +822,7 @@ class ErrorResponse(_Model): """Error message indicating why the operation failed.""" -class Resource(_Model): +class Resource(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Common resource representation. :ivar id: Resource ID. @@ -867,7 +867,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class Experiment(Resource): +class Experiment(Resource): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines the properties of an Experiment. :ivar id: Resource ID. @@ -937,7 +937,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class ExperimentProperties(_Model): +class ExperimentProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines the properties of an experiment. :ivar description: The description of the details or intents of the Experiment. @@ -1002,7 +1002,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ExperimentUpdateModel(_Model): +class ExperimentUpdateModel(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines modifiable attributes of an Experiment. :ivar tags: Resource tags. @@ -1057,7 +1057,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class ExperimentUpdateProperties(_Model): +class ExperimentUpdateProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines the properties of an experiment. :ivar description: The description of the intent or details of the Experiment. @@ -1092,7 +1092,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RouteConfiguration(_Model): +class RouteConfiguration(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Base class for all types of Route. You probably want to use the sub-classes and not this class directly. Known sub-classes are: @@ -1126,7 +1126,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: class ForwardingConfiguration( RouteConfiguration, discriminator="#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration" -): +): # pylint: disable=docstring-keyword-should-match-keyword-only """Describes Forwarding Route. :ivar custom_forwarding_path: A custom path used to rewrite resource paths matched by this @@ -1188,7 +1188,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: self.odata_type = "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration" # type: ignore -class FrontDoor(Resource): +class FrontDoor(Resource): # pylint: disable=docstring-keyword-should-match-keyword-only """Front Door represents a collection of backend endpoints to route traffic to along with rules that specify how traffic is sent there. @@ -1266,7 +1266,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class FrontDoorCertificateSourceParameters(_Model): +class FrontDoorCertificateSourceParameters(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Parameters required for enabling SSL with Front Door-managed certificates. :ivar certificate_type: Defines the type of the certificate used for secure connections to a @@ -1298,7 +1298,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class FrontDoorUpdateParameters(_Model): +class FrontDoorUpdateParameters(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The properties needed to update a Front Door. :ivar friendly_name: A friendly name for the frontDoor. @@ -1380,7 +1380,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class FrontDoorProperties(FrontDoorUpdateParameters): +class FrontDoorProperties(FrontDoorUpdateParameters): # pylint: disable=docstring-keyword-should-match-keyword-only """The JSON object that contains the properties required to create an endpoint. :ivar friendly_name: A friendly name for the frontDoor. @@ -1459,7 +1459,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class FrontendEndpoint(BasicResourceWithSettableIDName): +class FrontendEndpoint(BasicResourceWithSettableIDName): # pylint: disable=docstring-keyword-should-match-keyword-only """A frontend endpoint used for routing. :ivar id: Resource ID. @@ -1526,7 +1526,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class FrontendEndpointLink(_Model): +class FrontendEndpointLink(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines the Resource ID for a Frontend Endpoint. :ivar id: Resource ID. @@ -1554,7 +1554,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class FrontendEndpointUpdateParameters(_Model): +class FrontendEndpointUpdateParameters(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Frontend endpoint used in routing rule. :ivar host_name: The host name of the frontendEndpoint. Must be a domain name. @@ -1612,7 +1612,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class FrontendEndpointProperties(FrontendEndpointUpdateParameters): +class FrontendEndpointProperties( + FrontendEndpointUpdateParameters +): # pylint: disable=docstring-keyword-should-match-keyword-only """The JSON object that contains the properties required to create a frontend endpoint. :ivar host_name: The host name of the frontendEndpoint. Must be a domain name. @@ -1697,7 +1699,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink(_Model): # pylint: disable=name-too-long +class FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Defines the Web Application Firewall policy for each host (if applicable). :ivar id: Resource ID. @@ -1725,11 +1729,11 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class GroupByVariable(_Model): +class GroupByVariable(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Describes the variables available to group the rate limit requests. :ivar variable_name: Describes the supported variable for group by. Required. Known values are: - "SocketAddr", "GeoLocation", and "None". + "SocketAddr", "GeoLocation", "None", "Asn", and "Ja4". :vartype variable_name: str or ~azure.mgmt.frontdoor.models.VariableName """ @@ -1737,7 +1741,7 @@ class GroupByVariable(_Model): name="variableName", visibility=["read", "create", "update", "delete", "query"] ) """Describes the supported variable for group by. Required. Known values are: \"SocketAddr\", - \"GeoLocation\", and \"None\".""" + \"GeoLocation\", \"None\", \"Asn\", and \"Ja4\".""" @overload def __init__( @@ -1757,7 +1761,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class HeaderAction(_Model): +class HeaderAction(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """An action that can manipulate an http header. :ivar header_action_type: Which type of manipulation to apply to the header. Required. Known @@ -1801,7 +1805,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class HealthProbeSettingsModel(SubResource): +class HealthProbeSettingsModel(SubResource): # pylint: disable=docstring-keyword-should-match-keyword-only """Load balancing settings for a backend pool. :ivar id: Resource ID. @@ -1870,7 +1874,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class HealthProbeSettingsUpdateParameters(_Model): +class HealthProbeSettingsUpdateParameters(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """L7 health probe settings for a backend pool. :ivar path: The path to use for the health probe. Default is /. @@ -1932,7 +1936,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class HealthProbeSettingsProperties(HealthProbeSettingsUpdateParameters): +class HealthProbeSettingsProperties( + HealthProbeSettingsUpdateParameters +): # pylint: disable=docstring-keyword-should-match-keyword-only """The JSON object that contains the properties required to create a health probe settings. :ivar path: The path to use for the health probe. Default is /. @@ -1983,7 +1989,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class KeyVaultCertificateSourceParameters(_Model): +class KeyVaultCertificateSourceParameters(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Parameters required for bring-your-own-certification via Key Vault. :ivar vault: The Key Vault containing the SSL certificate. @@ -2028,7 +2034,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class KeyVaultCertificateSourceParametersVault(_Model): +class KeyVaultCertificateSourceParametersVault(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The Key Vault containing the SSL certificate. :ivar id: Resource ID. @@ -2103,7 +2109,7 @@ class LatencyMetric(_Model): """The upper end of the 95% confidence interval for endpoint B.""" -class LatencyScorecard(Resource): +class LatencyScorecard(Resource): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines the LatencyScorecard. :ivar id: Resource ID. @@ -2175,7 +2181,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class LatencyScorecardProperties(_Model): +class LatencyScorecardProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines a the properties of a Latency Scorecard. :ivar id: The unique identifier of the Latency Scorecard. @@ -2245,7 +2251,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class LoadBalancingSettingsModel(SubResource): +class LoadBalancingSettingsModel(SubResource): # pylint: disable=docstring-keyword-should-match-keyword-only """Load balancing settings for a backend pool. :ivar id: Resource ID. @@ -2312,7 +2318,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class LoadBalancingSettingsUpdateParameters(_Model): +class LoadBalancingSettingsUpdateParameters(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Round-Robin load balancing settings for a backend pool. :ivar sample_size: The number of samples to consider for load balancing decisions. @@ -2358,7 +2364,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class LoadBalancingSettingsProperties(LoadBalancingSettingsUpdateParameters): +class LoadBalancingSettingsProperties( + LoadBalancingSettingsUpdateParameters +): # pylint: disable=docstring-keyword-should-match-keyword-only """The JSON object that contains the properties required to create load balancing settings. :ivar sample_size: The number of samples to consider for load balancing decisions. @@ -2419,6 +2427,10 @@ class ManagedRuleDefinition(_Model): :vartype default_sensitivity: str or ~azure.mgmt.frontdoor.models.SensitivityType :ivar description: Describes the functionality of the managed rule. :vartype description: str + :ivar paranoia_level: Describes the paranoia level of the managed rule. Applicable only for DRS + rules. Omitted for Bot Manager, DDoS, and AI rules. Known values are: "PL1", "PL2", "PL3", and + "PL4". + :vartype paranoia_level: str or ~azure.mgmt.frontdoor.models.ParanoiaLevel """ rule_id: Optional[str] = rest_field(name="ruleId", visibility=["read"]) @@ -2439,9 +2451,14 @@ class ManagedRuleDefinition(_Model): are: \"Low\", \"Medium\", and \"High\".""" description: Optional[str] = rest_field(visibility=["read"]) """Describes the functionality of the managed rule.""" + paranoia_level: Optional[Union[str, "_models.ParanoiaLevel"]] = rest_field( + name="paranoiaLevel", visibility=["read"] + ) + """Describes the paranoia level of the managed rule. Applicable only for DRS rules. Omitted for + Bot Manager, DDoS, and AI rules. Known values are: \"PL1\", \"PL2\", \"PL3\", and \"PL4\".""" -class ManagedRuleExclusion(_Model): +class ManagedRuleExclusion(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Exclude variables from managed rule evaluation. :ivar match_variable: The variable type to be excluded. Required. Known values are: @@ -2512,7 +2529,7 @@ class ManagedRuleGroupDefinition(_Model): """List of rules within the managed rule group.""" -class ManagedRuleGroupOverride(_Model): +class ManagedRuleGroupOverride(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines a managed rule group override setting. :ivar rule_group_name: Describes the managed rule group to override. Required. @@ -2556,7 +2573,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedRuleOverride(_Model): +class ManagedRuleOverride(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines a managed rule group override setting. :ivar rule_id: Identifier for the managed rule. Required. @@ -2618,7 +2635,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedRuleSet(_Model): +class ManagedRuleSet(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines a managed rule set. :ivar rule_set_type: Defines the rule set type to use. Required. @@ -2674,7 +2691,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ManagedRuleSetDefinition(Resource): +class ManagedRuleSetDefinition(Resource): # pylint: disable=docstring-keyword-should-match-keyword-only """Describes the a managed rule set definition. :ivar id: Resource ID. @@ -2696,7 +2713,15 @@ class ManagedRuleSetDefinition(Resource): ) """Properties for a managed rule set definition.""" - __flattened_items = ["provisioning_state", "rule_set_id", "rule_set_type", "rule_set_version", "rule_groups"] + __flattened_items = [ + "provisioning_state", + "rule_set_id", + "rule_set_type", + "rule_set_version", + "rule_groups", + "display_name", + "status", + ] @overload def __init__( @@ -2749,6 +2774,12 @@ class ManagedRuleSetDefinitionProperties(_Model): :vartype rule_set_version: str :ivar rule_groups: Rule groups of the managed rule set. :vartype rule_groups: list[~azure.mgmt.frontdoor.models.ManagedRuleGroupDefinition] + :ivar display_name: Human-readable display name for the managed rule set version (e.g., + 'Default Ruleset 2.2 (Latest, Recommended)'). + :vartype display_name: str + :ivar status: Describes the lifecycle status of the managed rule set version. Known values are: + "Preview", "GA", "Deprecated", and "Supported". + :vartype status: str or ~azure.mgmt.frontdoor.models.ManagedRuleSetStatus """ provisioning_state: Optional[str] = rest_field(name="provisioningState", visibility=["read"]) @@ -2763,25 +2794,181 @@ class ManagedRuleSetDefinitionProperties(_Model): name="ruleGroups", visibility=["read"] ) """Rule groups of the managed rule set.""" + display_name: Optional[str] = rest_field(name="displayName", visibility=["read"]) + """Human-readable display name for the managed rule set version (e.g., 'Default Ruleset 2.2 + (Latest, Recommended)').""" + status: Optional[Union[str, "_models.ManagedRuleSetStatus"]] = rest_field(visibility=["read"]) + """Describes the lifecycle status of the managed rule set version. Known values are: \"Preview\", + \"GA\", \"Deprecated\", and \"Supported\".""" + + +class ManagedRuleSetException(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only + """Excludes whole requests from managed rule evaluation according to match conditions. + + :ivar match_variable: The variable to be evaluated for excluding the request. Required. Known + values are: "RequestUri", "SocketAddr", and "RequestHeaderNames". + :vartype match_variable: str or ~azure.mgmt.frontdoor.models.ExceptionMatchVariable + :ivar selector_match_operator: Comparison operator to apply to the selector when specifying + which elements in the collection this exception applies to. "Equals" + :vartype selector_match_operator: str or + ~azure.mgmt.frontdoor.models.ExceptionSelectorMatchOperator + :ivar selector: When matchVariable is a collection, operator used to specify which elements in + the collection this exception applies to. Currently supported only for RequestHeaderNames. + :vartype selector: str + :ivar value_match_operator: Comparison operator to apply to the value to be matched. Required. + Known values are: "Equals", "Contains", "StartsWith", "EndsWith", "EqualsAny", and "IPMatch". + :vartype value_match_operator: str or ~azure.mgmt.frontdoor.models.ExceptionValueMatchOperator + :ivar match_values: List of values to be matched with. Required. + :vartype match_values: list[str] + :ivar scopes: Scope(s) of the exception. Required. + :vartype scopes: list[~azure.mgmt.frontdoor.models.ManagedRuleSetScope] + """ + + match_variable: Union[str, "_models.ExceptionMatchVariable"] = rest_field( + name="matchVariable", visibility=["read", "create", "update", "delete", "query"] + ) + """The variable to be evaluated for excluding the request. Required. Known values are: + \"RequestUri\", \"SocketAddr\", and \"RequestHeaderNames\".""" + selector_match_operator: Optional[Union[str, "_models.ExceptionSelectorMatchOperator"]] = rest_field( + name="selectorMatchOperator", visibility=["read", "create", "update", "delete", "query"] + ) + """Comparison operator to apply to the selector when specifying which elements in the collection + this exception applies to. \"Equals\"""" + selector: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """When matchVariable is a collection, operator used to specify which elements in the collection + this exception applies to. Currently supported only for RequestHeaderNames.""" + value_match_operator: Union[str, "_models.ExceptionValueMatchOperator"] = rest_field( + name="valueMatchOperator", visibility=["read", "create", "update", "delete", "query"] + ) + """Comparison operator to apply to the value to be matched. Required. Known values are: + \"Equals\", \"Contains\", \"StartsWith\", \"EndsWith\", \"EqualsAny\", and \"IPMatch\".""" + match_values: list[str] = rest_field(name="matchValues", visibility=["read", "create", "update", "delete", "query"]) + """List of values to be matched with. Required.""" + scopes: list["_models.ManagedRuleSetScope"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Scope(s) of the exception. Required.""" + + @overload + def __init__( + self, + *, + match_variable: Union[str, "_models.ExceptionMatchVariable"], + value_match_operator: Union[str, "_models.ExceptionValueMatchOperator"], + match_values: list[str], + scopes: list["_models.ManagedRuleSetScope"], + selector_match_operator: Optional[Union[str, "_models.ExceptionSelectorMatchOperator"]] = None, + selector: Optional[str] = None, + ) -> None: ... + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ -class ManagedRuleSetList(_Model): + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ManagedRuleSetExceptionList(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only + """Defines the list of exceptions for the managed rule sets. + + :ivar exceptions: List of exceptions. + :vartype exceptions: list[~azure.mgmt.frontdoor.models.ManagedRuleSetException] + """ + + exceptions: Optional[list["_models.ManagedRuleSetException"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """List of exceptions.""" + + @overload + def __init__( + self, + *, + exceptions: Optional[list["_models.ManagedRuleSetException"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ManagedRuleSetList(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines the list of managed rule sets for the policy. :ivar managed_rule_sets: List of rule sets. :vartype managed_rule_sets: list[~azure.mgmt.frontdoor.models.ManagedRuleSet] + :ivar exceptions_list: List of exceptions applied on the managed rule sets. + :vartype exceptions_list: ~azure.mgmt.frontdoor.models.ManagedRuleSetExceptionList """ managed_rule_sets: Optional[list["_models.ManagedRuleSet"]] = rest_field( name="managedRuleSets", visibility=["read", "create", "update", "delete", "query"] ) """List of rule sets.""" + exceptions_list: Optional["_models.ManagedRuleSetExceptionList"] = rest_field( + name="exceptionsList", visibility=["read", "create", "update", "delete", "query"] + ) + """List of exceptions applied on the managed rule sets.""" @overload def __init__( self, *, managed_rule_sets: Optional[list["_models.ManagedRuleSet"]] = None, + exceptions_list: Optional["_models.ManagedRuleSetExceptionList"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ManagedRuleSetScope(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only + """Defines the scope of the managed rules. + + :ivar rule_set_type: Defines the rule set type. Examples: DefaultRuleSet, + Microsoft_DefaultRuleSet, Microsoft_BotManagerRuleSet, Microsoft_HTTPDDoSRuleSet, + BotProtection. Required. + :vartype rule_set_type: str + :ivar rule_set_version: Defines the version of the rule set. Required. + :vartype rule_set_version: str + :ivar rule_group_scopes: List of rule group scopes. + :vartype rule_group_scopes: list[~azure.mgmt.frontdoor.models.RuleGroupScope] + """ + + rule_set_type: str = rest_field(name="ruleSetType", visibility=["read", "create", "update", "delete", "query"]) + """Defines the rule set type. Examples: DefaultRuleSet, Microsoft_DefaultRuleSet, + Microsoft_BotManagerRuleSet, Microsoft_HTTPDDoSRuleSet, BotProtection. Required.""" + rule_set_version: str = rest_field( + name="ruleSetVersion", visibility=["read", "create", "update", "delete", "query"] + ) + """Defines the version of the rule set. Required.""" + rule_group_scopes: Optional[list["_models.RuleGroupScope"]] = rest_field( + name="ruleGroupScopes", visibility=["read", "create", "update", "delete", "query"] + ) + """List of rule group scopes.""" + + @overload + def __init__( + self, + *, + rule_set_type: str, + rule_set_version: str, + rule_group_scopes: Optional[list["_models.RuleGroupScope"]] = None, ) -> None: ... @overload @@ -2795,20 +2982,20 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class MatchCondition(_Model): +class MatchCondition(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Define a match condition. :ivar match_variable: Request variable to compare with. Required. Known values are: "RemoteAddr", "RequestMethod", "QueryString", "PostArgs", "RequestUri", "RequestHeader", - "RequestBody", "Cookies", and "SocketAddr". + "RequestBody", "Cookies", "SocketAddr", and "JA4". :vartype match_variable: str or ~azure.mgmt.frontdoor.models.MatchVariable :ivar selector: Match against a specific key from the QueryString, PostArgs, RequestHeader or Cookies variables. Default is null. :vartype selector: str :ivar operator: Comparison type to use for matching with the variable value. Required. Known values are: "Any", "IPMatch", "GeoMatch", "Equal", "Contains", "LessThan", "GreaterThan", - "LessThanOrEqual", "GreaterThanOrEqual", "BeginsWith", "EndsWith", "RegEx", and - "ServiceTagMatch". + "LessThanOrEqual", "GreaterThanOrEqual", "BeginsWith", "EndsWith", "RegEx", "ServiceTagMatch", + "AsnMatch", and "ClientFingerprint". :vartype operator: str or ~azure.mgmt.frontdoor.models.Operator :ivar negate_condition: Describes if the result of this condition should be negated. :vartype negate_condition: bool @@ -2823,15 +3010,15 @@ class MatchCondition(_Model): ) """Request variable to compare with. Required. Known values are: \"RemoteAddr\", \"RequestMethod\", \"QueryString\", \"PostArgs\", \"RequestUri\", \"RequestHeader\", - \"RequestBody\", \"Cookies\", and \"SocketAddr\".""" + \"RequestBody\", \"Cookies\", \"SocketAddr\", and \"JA4\".""" selector: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) """Match against a specific key from the QueryString, PostArgs, RequestHeader or Cookies variables. Default is null.""" operator: Union[str, "_models.Operator"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) """Comparison type to use for matching with the variable value. Required. Known values are: \"Any\", \"IPMatch\", \"GeoMatch\", \"Equal\", \"Contains\", \"LessThan\", \"GreaterThan\", - \"LessThanOrEqual\", \"GreaterThanOrEqual\", \"BeginsWith\", \"EndsWith\", \"RegEx\", and - \"ServiceTagMatch\".""" + \"LessThanOrEqual\", \"GreaterThanOrEqual\", \"BeginsWith\", \"EndsWith\", \"RegEx\", + \"ServiceTagMatch\", \"AsnMatch\", and \"ClientFingerprint\".""" negate_condition: Optional[bool] = rest_field( name="negateCondition", visibility=["read", "create", "update", "delete", "query"] ) @@ -2866,7 +3053,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class PolicySettings(_Model): +class PolicySettings(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines top-level WebApplicationFirewallPolicy configuration settings. :ivar enabled_state: Describes if the policy is in enabled or disabled state. Defaults to @@ -2991,7 +3178,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class PolicySettingsLogScrubbing(_Model): +class PolicySettingsLogScrubbing(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines rules that scrub sensitive fields in the Web Application Firewall logs. :ivar state: State of the log scrubbing config. Default value is Enabled. Known values are: @@ -3032,7 +3219,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ResourcewithSettableName(_Model): +class ResourcewithSettableName(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Common resource representation. :ivar id: Resource ID. @@ -3077,7 +3264,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class PreconfiguredEndpoint(ResourcewithSettableName): +class PreconfiguredEndpoint(ResourcewithSettableName): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines the properties of a preconfigured endpoint. :ivar id: Resource ID. @@ -3139,7 +3326,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class PreconfiguredEndpointProperties(_Model): +class PreconfiguredEndpointProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines the properties of a preconfigured endpoint. :ivar description: The description of the endpoint. @@ -3185,7 +3372,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class Profile(ResourcewithSettableName): +class Profile(ResourcewithSettableName): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines an Network Experiment Profile and lists of Experiments. :ivar id: Resource ID. @@ -3252,7 +3439,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class ProfileProperties(_Model): +class ProfileProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines the properties of an experiment. :ivar resource_state: Resource status. Known values are: "Creating", "Enabling", "Enabled", @@ -3290,7 +3477,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ProfileUpdateModel(_Model): +class ProfileUpdateModel(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines modifiable attributes of a Profile. :ivar properties: The properties of a Profile. @@ -3345,7 +3532,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class ProfileUpdateProperties(_Model): +class ProfileUpdateProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines the properties of an experiment. :ivar enabled_state: The enabled state of the Profile. Known values are: "Enabled" and @@ -3376,7 +3563,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class PurgeParameters(_Model): +class PurgeParameters(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Parameters required for content purge. :ivar content_paths: The path to the content to be purged. Can describe a file path or a wild @@ -3410,7 +3597,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: class RedirectConfiguration( RouteConfiguration, discriminator="#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration" -): +): # pylint: disable=docstring-keyword-should-match-keyword-only """Describes Redirect Route. :ivar redirect_type: The redirect type the rule will use when redirecting traffic. Known values @@ -3498,7 +3685,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: self.odata_type = "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration" # type: ignore -class RoutingRule(SubResource): +class RoutingRule(SubResource): # pylint: disable=docstring-keyword-should-match-keyword-only """A routing rule represents a specification for traffic to treat and where to send it, along with health probe information. @@ -3570,7 +3757,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class RoutingRuleLink(_Model): +class RoutingRuleLink(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines the Resource ID for a Routing Rule. :ivar id: Resource ID. @@ -3598,7 +3785,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RoutingRuleUpdateParameters(_Model): +class RoutingRuleUpdateParameters(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Routing rules to apply to an endpoint. :ivar frontend_endpoints: Frontend endpoints associated with this rule. @@ -3677,7 +3864,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RoutingRuleProperties(RoutingRuleUpdateParameters): +class RoutingRuleProperties(RoutingRuleUpdateParameters): # pylint: disable=docstring-keyword-should-match-keyword-only """The JSON object that contains the properties required to create a routing rule. :ivar frontend_endpoints: Frontend endpoints associated with this rule. @@ -3737,7 +3924,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink(_Model): # pylint: disable=name-too-long +class RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Defines the Web Application Firewall policy for each routing rule (if applicable). :ivar id: Resource ID. @@ -3765,7 +3954,70 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RulesEngine(BasicResource): +class RuleGroupScope(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only + """Defines the scope of the rule group. + + :ivar rule_group_name: Defines the rule group name. Required. + :vartype rule_group_name: str + :ivar rule_scopes: List of rule scopes. + :vartype rule_scopes: list[~azure.mgmt.frontdoor.models.RuleScope] + """ + + rule_group_name: str = rest_field(name="ruleGroupName", visibility=["read", "create", "update", "delete", "query"]) + """Defines the rule group name. Required.""" + rule_scopes: Optional[list["_models.RuleScope"]] = rest_field( + name="ruleScopes", visibility=["read", "create", "update", "delete", "query"] + ) + """List of rule scopes.""" + + @overload + def __init__( + self, + *, + rule_group_name: str, + rule_scopes: Optional[list["_models.RuleScope"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class RuleScope(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only + """Defines the scope of the rule. + + :ivar rule_id: Defines the rule id. Required. + :vartype rule_id: str + """ + + rule_id: str = rest_field(name="ruleId", visibility=["read", "create", "update", "delete", "query"]) + """Defines the rule id. Required.""" + + @overload + def __init__( + self, + *, + rule_id: str, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class RulesEngine(BasicResource): # pylint: disable=docstring-keyword-should-match-keyword-only """A rules engine configuration containing a list of rules that will run to modify the runtime behavior of the request and response. @@ -3822,7 +4074,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class RulesEngineAction(_Model): +class RulesEngineAction(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """One or more actions that will execute, modifying the request and/or response. :ivar request_header_actions: A list of header actions to apply from the request from AFD to @@ -3868,7 +4120,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RulesEngineMatchCondition(_Model): +class RulesEngineMatchCondition(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Define a match condition. :ivar rules_engine_match_variable: Match Variable. Required. Known values are: "IsMobile", @@ -3945,7 +4197,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RulesEngineUpdateParameters(_Model): +class RulesEngineUpdateParameters(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Rules Engine Configuration to apply to a Routing Rule. :ivar rules: A list of rules that define a particular Rules Engine Configuration. @@ -3975,7 +4227,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RulesEngineProperties(RulesEngineUpdateParameters): +class RulesEngineProperties(RulesEngineUpdateParameters): # pylint: disable=docstring-keyword-should-match-keyword-only """The JSON object that contains the properties required to create a Rules Engine Configuration. :ivar rules: A list of rules that define a particular Rules Engine Configuration. @@ -4011,7 +4263,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RulesEngineRule(_Model): +class RulesEngineRule(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Contains a list of match conditions, and an action on how to modify the request/response. If multiple rules match, the actions from one rule that conflict with a previous rule overwrite for a singular action, or append in the case of headers manipulation. @@ -4072,7 +4324,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class SecurityPolicyLink(_Model): +class SecurityPolicyLink(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines the Resource ID for a Security Policy. :ivar id: Resource ID. @@ -4100,7 +4352,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class Sku(_Model): +class Sku(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The pricing tier of the web application firewall policy. :ivar name: Name of the pricing tier. Known values are: "Classic_AzureFrontDoor", @@ -4132,7 +4384,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class TagsObject(_Model): +class TagsObject(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Tags object for patch operations. :ivar tags: Resource tags. @@ -4160,7 +4412,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class Timeseries(Resource): +class Timeseries(Resource): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines the Timeseries. :ivar id: Resource ID. @@ -4230,7 +4482,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class TimeseriesDataPoint(_Model): +class TimeseriesDataPoint(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines a timeseries datapoint used in a timeseries. :ivar date_time_utc: The DateTime of the Timeseries data point in UTC. @@ -4265,7 +4517,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class TimeseriesProperties(_Model): +class TimeseriesProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines the properties of a timeseries. :ivar endpoint: The endpoint associated with the Timeseries data point. @@ -4340,7 +4592,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ValidateCustomDomainInput(_Model): +class ValidateCustomDomainInput(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Input of the custom domain to be validated for DNS mapping. :ivar host_name: The host name of the custom domain. Must be a domain name. Required. @@ -4387,7 +4639,7 @@ class ValidateCustomDomainOutput(_Model): """Error message describing why the custom domain is not valid.""" -class WebApplicationFirewallPolicy(Resource): +class WebApplicationFirewallPolicy(Resource): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines web application firewall policy. :ivar id: Resource ID. @@ -4470,7 +4722,7 @@ def __setattr__(self, key: str, value: Any) -> None: super().__setattr__(key, value) -class WebApplicationFirewallPolicyProperties(_Model): +class WebApplicationFirewallPolicyProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines web application firewall policy properties. :ivar policy_settings: Describes settings for the policy. @@ -4547,7 +4799,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class WebApplicationFirewallScrubbingRules(_Model): +class WebApplicationFirewallScrubbingRules(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines the contents of the log scrubbing rules. :ivar match_variable: The variable to be scrubbed from the logs. Required. Known values are: diff --git a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/models/_patch.py b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/models/_patch.py index 87676c65a8f0..ea765788358a 100644 --- a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/models/_patch.py +++ b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/models/_patch.py @@ -8,7 +8,6 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ - __all__: list[str] = [] # Add all objects you want publicly available to users at this package level diff --git a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/operations/_operations.py b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/operations/_operations.py index 4580648c0bc8..4d9114ed2d99 100644 --- a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/operations/_operations.py +++ b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/operations/_operations.py @@ -33,12 +33,11 @@ from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling -from .. import models as _models +from .. import models as _models, types as _types from .._configuration import FrontDoorManagementClientConfiguration from .._utils.model_base import SdkJSONEncoder, _deserialize, _failsafe_deserialize from .._utils.serialization import Deserializer, Serializer -JSON = MutableMapping[str, Any] T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] List = list @@ -53,7 +52,7 @@ def build_front_doors_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -82,7 +81,7 @@ def build_front_doors_create_or_update_request( # pylint: disable=name-too-long _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -111,7 +110,7 @@ def build_front_doors_delete_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}" path_format_arguments = { @@ -134,7 +133,7 @@ def build_front_doors_list_by_resource_group_request( # pylint: disable=name-to _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -159,7 +158,7 @@ def build_front_doors_list_request(subscription_id: str, **kwargs: Any) -> HttpR _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -186,7 +185,7 @@ def build_front_doors_validate_custom_domain_request( # pylint: disable=name-to _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -216,7 +215,7 @@ def build_frontend_endpoints_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -245,7 +244,7 @@ def build_frontend_endpoints_list_by_front_door_request( # pylint: disable=name _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -274,7 +273,7 @@ def build_frontend_endpoints_enable_https_request( # pylint: disable=name-too-l _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}/enableHttps" path_format_arguments = { @@ -301,7 +300,7 @@ def build_frontend_endpoints_disable_https_request( # pylint: disable=name-too- ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}/disableHttps" path_format_arguments = { @@ -325,7 +324,7 @@ def build_rules_engines_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -355,7 +354,7 @@ def build_rules_engines_create_or_update_request( # pylint: disable=name-too-lo _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -385,7 +384,7 @@ def build_rules_engines_delete_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/rulesEngines/{rulesEngineName}" path_format_arguments = { @@ -409,7 +408,7 @@ def build_rules_engines_list_by_front_door_request( # pylint: disable=name-too- _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -437,7 +436,7 @@ def build_experiments_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -467,7 +466,7 @@ def build_experiments_create_or_update_request( # pylint: disable=name-too-long _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -499,7 +498,7 @@ def build_experiments_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -529,7 +528,7 @@ def build_experiments_delete_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}" path_format_arguments = { @@ -553,7 +552,7 @@ def build_experiments_list_by_profile_request( # pylint: disable=name-too-long _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -581,7 +580,7 @@ def build_policies_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -610,7 +609,7 @@ def build_policies_create_or_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -641,7 +640,7 @@ def build_policies_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -670,7 +669,7 @@ def build_policies_delete_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}" path_format_arguments = { @@ -691,7 +690,7 @@ def build_policies_list_request(resource_group_name: str, subscription_id: str, _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -718,7 +717,7 @@ def build_policies_list_by_subscription_request( # pylint: disable=name-too-lon _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -745,7 +744,7 @@ def build_endpoints_purge_content_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/purge" path_format_arguments = { @@ -772,7 +771,7 @@ def build_network_experiment_profiles_get_request( # pylint: disable=name-too-l _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -801,7 +800,7 @@ def build_network_experiment_profiles_create_or_update_request( # pylint: disab _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -832,7 +831,7 @@ def build_network_experiment_profiles_update_request( # pylint: disable=name-to _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -861,7 +860,7 @@ def build_network_experiment_profiles_delete_request( # pylint: disable=name-to ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}" path_format_arguments = { @@ -884,7 +883,7 @@ def build_network_experiment_profiles_list_by_resource_group_request( # pylint: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -911,7 +910,7 @@ def build_network_experiment_profiles_list_request( # pylint: disable=name-too- _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -937,7 +936,7 @@ def build_preconfigured_endpoints_list_request( # pylint: disable=name-too-long _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -973,7 +972,7 @@ def build_reports_get_latency_scorecards_request( # pylint: disable=name-too-lo _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1018,7 +1017,7 @@ def build_reports_get_timeseries_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1053,7 +1052,7 @@ def build_managed_rule_sets_list_request(subscription_id: str, **kwargs: Any) -> _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1078,7 +1077,7 @@ def build_front_door_name_availability_check_request(**kwargs: Any) -> HttpReque _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1102,7 +1101,7 @@ def build_front_door_name_availability_with_subscription_check_request( # pylin _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-10-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1124,7 +1123,7 @@ def build_front_door_name_availability_with_subscription_check_request( # pylin return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -class FrontDoorsOperations: +class FrontDoorsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -1216,7 +1215,7 @@ def _create_or_update_initial( self, resource_group_name: str, front_door_name: str, - front_door_parameters: Union[_models.FrontDoor, JSON, IO[bytes]], + front_door_parameters: Union[_models.FrontDoor, _types.FrontDoor, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -1330,7 +1329,7 @@ def begin_create_or_update( self, resource_group_name: str, front_door_name: str, - front_door_parameters: JSON, + front_door_parameters: _types.FrontDoor, *, content_type: str = "application/json", **kwargs: Any @@ -1345,7 +1344,7 @@ def begin_create_or_update( :type front_door_name: str :param front_door_parameters: Front Door properties needed to create a new Front Door. Required. - :type front_door_parameters: JSON + :type front_door_parameters: ~azure.mgmt.frontdoor.types.FrontDoor :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1390,7 +1389,7 @@ def begin_create_or_update( self, resource_group_name: str, front_door_name: str, - front_door_parameters: Union[_models.FrontDoor, JSON, IO[bytes]], + front_door_parameters: Union[_models.FrontDoor, _types.FrontDoor, IO[bytes]], **kwargs: Any ) -> LROPoller[_models.FrontDoor]: """Creates a new Front Door with a Front Door name under the specified subscription and resource @@ -1401,9 +1400,10 @@ def begin_create_or_update( :type resource_group_name: str :param front_door_name: Name of the Front Door which is globally unique. Required. :type front_door_name: str - :param front_door_parameters: Front Door properties needed to create a new Front Door. Is one - of the following types: FrontDoor, JSON, IO[bytes] Required. - :type front_door_parameters: ~azure.mgmt.frontdoor.models.FrontDoor or JSON or IO[bytes] + :param front_door_parameters: Front Door properties needed to create a new Front Door. Is + either a FrontDoor type or a IO[bytes] type. Required. + :type front_door_parameters: ~azure.mgmt.frontdoor.models.FrontDoor or + ~azure.mgmt.frontdoor.types.FrontDoor or IO[bytes] :return: An instance of LROPoller that returns FrontDoor. The FrontDoor is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.frontdoor.models.FrontDoor] @@ -1803,7 +1803,7 @@ def validate_custom_domain( self, resource_group_name: str, front_door_name: str, - custom_domain_properties: JSON, + custom_domain_properties: _types.ValidateCustomDomainInput, *, content_type: str = "application/json", **kwargs: Any @@ -1817,7 +1817,7 @@ def validate_custom_domain( :param front_door_name: Name of the Front Door which is globally unique. Required. :type front_door_name: str :param custom_domain_properties: Custom domain to be validated. Required. - :type custom_domain_properties: JSON + :type custom_domain_properties: ~azure.mgmt.frontdoor.types.ValidateCustomDomainInput :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1861,7 +1861,7 @@ def validate_custom_domain( self, resource_group_name: str, front_door_name: str, - custom_domain_properties: Union[_models.ValidateCustomDomainInput, JSON, IO[bytes]], + custom_domain_properties: Union[_models.ValidateCustomDomainInput, _types.ValidateCustomDomainInput, IO[bytes]], **kwargs: Any ) -> _models.ValidateCustomDomainOutput: """Validates the custom domain mapping to ensure it maps to the correct Front Door endpoint in @@ -1872,10 +1872,10 @@ def validate_custom_domain( :type resource_group_name: str :param front_door_name: Name of the Front Door which is globally unique. Required. :type front_door_name: str - :param custom_domain_properties: Custom domain to be validated. Is one of the following types: - ValidateCustomDomainInput, JSON, IO[bytes] Required. - :type custom_domain_properties: ~azure.mgmt.frontdoor.models.ValidateCustomDomainInput or JSON - or IO[bytes] + :param custom_domain_properties: Custom domain to be validated. Is either a + ValidateCustomDomainInput type or a IO[bytes] type. Required. + :type custom_domain_properties: ~azure.mgmt.frontdoor.models.ValidateCustomDomainInput or + ~azure.mgmt.frontdoor.types.ValidateCustomDomainInput or IO[bytes] :return: ValidateCustomDomainOutput. The ValidateCustomDomainOutput is compatible with MutableMapping :rtype: ~azure.mgmt.frontdoor.models.ValidateCustomDomainOutput @@ -1949,7 +1949,7 @@ def validate_custom_domain( return deserialized # type: ignore -class FrontendEndpointsOperations: +class FrontendEndpointsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -2149,7 +2149,7 @@ def _enable_https_initial( resource_group_name: str, front_door_name: str, frontend_endpoint_name: str, - custom_https_configuration: Union[_models.CustomHttpsConfiguration, JSON, IO[bytes]], + custom_https_configuration: Union[_models.CustomHttpsConfiguration, _types.CustomHttpsConfiguration, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -2260,7 +2260,7 @@ def begin_enable_https( resource_group_name: str, front_door_name: str, frontend_endpoint_name: str, - custom_https_configuration: JSON, + custom_https_configuration: _types.CustomHttpsConfiguration, *, content_type: str = "application/json", **kwargs: Any @@ -2276,7 +2276,7 @@ def begin_enable_https( Door. Required. :type frontend_endpoint_name: str :param custom_https_configuration: The configuration specifying how to enable HTTPS. Required. - :type custom_https_configuration: JSON + :type custom_https_configuration: ~azure.mgmt.frontdoor.types.CustomHttpsConfiguration :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -2322,7 +2322,7 @@ def begin_enable_https( resource_group_name: str, front_door_name: str, frontend_endpoint_name: str, - custom_https_configuration: Union[_models.CustomHttpsConfiguration, JSON, IO[bytes]], + custom_https_configuration: Union[_models.CustomHttpsConfiguration, _types.CustomHttpsConfiguration, IO[bytes]], **kwargs: Any ) -> LROPoller[None]: """Enables a frontendEndpoint for HTTPS traffic. @@ -2335,10 +2335,10 @@ def begin_enable_https( :param frontend_endpoint_name: Name of the Frontend endpoint which is unique within the Front Door. Required. :type frontend_endpoint_name: str - :param custom_https_configuration: The configuration specifying how to enable HTTPS. Is one of - the following types: CustomHttpsConfiguration, JSON, IO[bytes] Required. - :type custom_https_configuration: ~azure.mgmt.frontdoor.models.CustomHttpsConfiguration or JSON - or IO[bytes] + :param custom_https_configuration: The configuration specifying how to enable HTTPS. Is either + a CustomHttpsConfiguration type or a IO[bytes] type. Required. + :type custom_https_configuration: ~azure.mgmt.frontdoor.models.CustomHttpsConfiguration or + ~azure.mgmt.frontdoor.types.CustomHttpsConfiguration or IO[bytes] :return: An instance of LROPoller that returns None :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -2519,7 +2519,7 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore -class RulesEnginesOperations: +class RulesEnginesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -2617,7 +2617,7 @@ def _create_or_update_initial( resource_group_name: str, front_door_name: str, rules_engine_name: str, - rules_engine_parameters: Union[_models.RulesEngine, JSON, IO[bytes]], + rules_engine_parameters: Union[_models.RulesEngine, _types.RulesEngine, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -2737,7 +2737,7 @@ def begin_create_or_update( resource_group_name: str, front_door_name: str, rules_engine_name: str, - rules_engine_parameters: JSON, + rules_engine_parameters: _types.RulesEngine, *, content_type: str = "application/json", **kwargs: Any @@ -2755,7 +2755,7 @@ def begin_create_or_update( :type rules_engine_name: str :param rules_engine_parameters: Rules Engine Configuration properties needed to create a new Rules Engine Configuration. Required. - :type rules_engine_parameters: JSON + :type rules_engine_parameters: ~azure.mgmt.frontdoor.types.RulesEngine :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -2805,7 +2805,7 @@ def begin_create_or_update( resource_group_name: str, front_door_name: str, rules_engine_name: str, - rules_engine_parameters: Union[_models.RulesEngine, JSON, IO[bytes]], + rules_engine_parameters: Union[_models.RulesEngine, _types.RulesEngine, IO[bytes]], **kwargs: Any ) -> LROPoller[_models.RulesEngine]: """Creates a new Rules Engine Configuration with the specified name within the specified Front @@ -2820,9 +2820,9 @@ def begin_create_or_update( Required. :type rules_engine_name: str :param rules_engine_parameters: Rules Engine Configuration properties needed to create a new - Rules Engine Configuration. Is one of the following types: RulesEngine, JSON, IO[bytes] - Required. - :type rules_engine_parameters: ~azure.mgmt.frontdoor.models.RulesEngine or JSON or IO[bytes] + Rules Engine Configuration. Is either a RulesEngine type or a IO[bytes] type. Required. + :type rules_engine_parameters: ~azure.mgmt.frontdoor.models.RulesEngine or + ~azure.mgmt.frontdoor.types.RulesEngine or IO[bytes] :return: An instance of LROPoller that returns RulesEngine. The RulesEngine is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.frontdoor.models.RulesEngine] @@ -3111,7 +3111,7 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class ExperimentsOperations: +class ExperimentsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -3210,7 +3210,7 @@ def _create_or_update_initial( resource_group_name: str, profile_name: str, experiment_name: str, - parameters: Union[_models.Experiment, JSON, IO[bytes]], + parameters: Union[_models.Experiment, _types.Experiment, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -3325,7 +3325,7 @@ def begin_create_or_update( resource_group_name: str, profile_name: str, experiment_name: str, - parameters: JSON, + parameters: _types.Experiment, *, content_type: str = "application/json", **kwargs: Any @@ -3342,7 +3342,7 @@ def begin_create_or_update( :param experiment_name: The Experiment identifier associated with the Experiment. Required. :type experiment_name: str :param parameters: The Experiment resource. Required. - :type parameters: JSON + :type parameters: ~azure.mgmt.frontdoor.types.Experiment :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -3391,7 +3391,7 @@ def begin_create_or_update( resource_group_name: str, profile_name: str, experiment_name: str, - parameters: Union[_models.Experiment, JSON, IO[bytes]], + parameters: Union[_models.Experiment, _types.Experiment, IO[bytes]], **kwargs: Any ) -> LROPoller[_models.Experiment]: """Creates or updates an Experiment. @@ -3405,9 +3405,10 @@ def begin_create_or_update( :type profile_name: str :param experiment_name: The Experiment identifier associated with the Experiment. Required. :type experiment_name: str - :param parameters: The Experiment resource. Is one of the following types: Experiment, JSON, - IO[bytes] Required. - :type parameters: ~azure.mgmt.frontdoor.models.Experiment or JSON or IO[bytes] + :param parameters: The Experiment resource. Is either a Experiment type or a IO[bytes] type. + Required. + :type parameters: ~azure.mgmt.frontdoor.models.Experiment or + ~azure.mgmt.frontdoor.types.Experiment or IO[bytes] :return: An instance of LROPoller that returns Experiment. The Experiment is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.frontdoor.models.Experiment] @@ -3471,7 +3472,7 @@ def _update_initial( resource_group_name: str, profile_name: str, experiment_name: str, - parameters: Union[_models.ExperimentUpdateModel, JSON, IO[bytes]], + parameters: Union[_models.ExperimentUpdateModel, _types.ExperimentUpdateModel, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -3582,7 +3583,7 @@ def begin_update( resource_group_name: str, profile_name: str, experiment_name: str, - parameters: JSON, + parameters: _types.ExperimentUpdateModel, *, content_type: str = "application/json", **kwargs: Any @@ -3599,7 +3600,7 @@ def begin_update( :param experiment_name: The Experiment identifier associated with the Experiment. Required. :type experiment_name: str :param parameters: The Experiment Update Model. Required. - :type parameters: JSON + :type parameters: ~azure.mgmt.frontdoor.types.ExperimentUpdateModel :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -3648,7 +3649,7 @@ def begin_update( resource_group_name: str, profile_name: str, experiment_name: str, - parameters: Union[_models.ExperimentUpdateModel, JSON, IO[bytes]], + parameters: Union[_models.ExperimentUpdateModel, _types.ExperimentUpdateModel, IO[bytes]], **kwargs: Any ) -> LROPoller[_models.Experiment]: """Updates an Experiment by Experiment id. @@ -3662,9 +3663,10 @@ def begin_update( :type profile_name: str :param experiment_name: The Experiment identifier associated with the Experiment. Required. :type experiment_name: str - :param parameters: The Experiment Update Model. Is one of the following types: - ExperimentUpdateModel, JSON, IO[bytes] Required. - :type parameters: ~azure.mgmt.frontdoor.models.ExperimentUpdateModel or JSON or IO[bytes] + :param parameters: The Experiment Update Model. Is either a ExperimentUpdateModel type or a + IO[bytes] type. Required. + :type parameters: ~azure.mgmt.frontdoor.models.ExperimentUpdateModel or + ~azure.mgmt.frontdoor.types.ExperimentUpdateModel or IO[bytes] :return: An instance of LROPoller that returns Experiment. The Experiment is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.frontdoor.models.Experiment] @@ -3954,7 +3956,7 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class PoliciesOperations: +class PoliciesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -4046,7 +4048,7 @@ def _create_or_update_initial( self, resource_group_name: str, policy_name: str, - parameters: Union[_models.WebApplicationFirewallPolicy, JSON, IO[bytes]], + parameters: Union[_models.WebApplicationFirewallPolicy, _types.WebApplicationFirewallPolicy, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -4155,7 +4157,7 @@ def begin_create_or_update( self, resource_group_name: str, policy_name: str, - parameters: JSON, + parameters: _types.WebApplicationFirewallPolicy, *, content_type: str = "application/json", **kwargs: Any @@ -4168,7 +4170,7 @@ def begin_create_or_update( :param policy_name: The name of the Web Application Firewall Policy. Required. :type policy_name: str :param parameters: Policy to be created. Required. - :type parameters: JSON + :type parameters: ~azure.mgmt.frontdoor.types.WebApplicationFirewallPolicy :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -4213,7 +4215,7 @@ def begin_create_or_update( self, resource_group_name: str, policy_name: str, - parameters: Union[_models.WebApplicationFirewallPolicy, JSON, IO[bytes]], + parameters: Union[_models.WebApplicationFirewallPolicy, _types.WebApplicationFirewallPolicy, IO[bytes]], **kwargs: Any ) -> LROPoller[_models.WebApplicationFirewallPolicy]: """Create or update policy with specified rule set name within a resource group. @@ -4223,10 +4225,10 @@ def begin_create_or_update( :type resource_group_name: str :param policy_name: The name of the Web Application Firewall Policy. Required. :type policy_name: str - :param parameters: Policy to be created. Is one of the following types: - WebApplicationFirewallPolicy, JSON, IO[bytes] Required. - :type parameters: ~azure.mgmt.frontdoor.models.WebApplicationFirewallPolicy or JSON or - IO[bytes] + :param parameters: Policy to be created. Is either a WebApplicationFirewallPolicy type or a + IO[bytes] type. Required. + :type parameters: ~azure.mgmt.frontdoor.models.WebApplicationFirewallPolicy or + ~azure.mgmt.frontdoor.types.WebApplicationFirewallPolicy or IO[bytes] :return: An instance of LROPoller that returns WebApplicationFirewallPolicy. The WebApplicationFirewallPolicy is compatible with MutableMapping :rtype: @@ -4289,7 +4291,7 @@ def _update_initial( self, resource_group_name: str, policy_name: str, - parameters: Union[_models.TagsObject, JSON, IO[bytes]], + parameters: Union[_models.TagsObject, _types.TagsObject, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -4394,7 +4396,7 @@ def begin_update( self, resource_group_name: str, policy_name: str, - parameters: JSON, + parameters: _types.TagsObject, *, content_type: str = "application/json", **kwargs: Any @@ -4408,7 +4410,7 @@ def begin_update( :param policy_name: The name of the Web Application Firewall Policy. Required. :type policy_name: str :param parameters: FrontdoorWebApplicationFirewallPolicy parameters to be patched. Required. - :type parameters: JSON + :type parameters: ~azure.mgmt.frontdoor.types.TagsObject :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -4454,7 +4456,7 @@ def begin_update( self, resource_group_name: str, policy_name: str, - parameters: Union[_models.TagsObject, JSON, IO[bytes]], + parameters: Union[_models.TagsObject, _types.TagsObject, IO[bytes]], **kwargs: Any ) -> LROPoller[_models.WebApplicationFirewallPolicy]: """Patch a specific frontdoor webApplicationFirewall policy for tags update under the specified @@ -4465,9 +4467,10 @@ def begin_update( :type resource_group_name: str :param policy_name: The name of the Web Application Firewall Policy. Required. :type policy_name: str - :param parameters: FrontdoorWebApplicationFirewallPolicy parameters to be patched. Is one of - the following types: TagsObject, JSON, IO[bytes] Required. - :type parameters: ~azure.mgmt.frontdoor.models.TagsObject or JSON or IO[bytes] + :param parameters: FrontdoorWebApplicationFirewallPolicy parameters to be patched. Is either a + TagsObject type or a IO[bytes] type. Required. + :type parameters: ~azure.mgmt.frontdoor.models.TagsObject or + ~azure.mgmt.frontdoor.types.TagsObject or IO[bytes] :return: An instance of LROPoller that returns WebApplicationFirewallPolicy. The WebApplicationFirewallPolicy is compatible with MutableMapping :rtype: @@ -4837,7 +4840,7 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class EndpointsOperations: +class EndpointsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -4858,7 +4861,7 @@ def _purge_content_initial( self, resource_group_name: str, front_door_name: str, - content_file_paths: Union[_models.PurgeParameters, JSON, IO[bytes]], + content_file_paths: Union[_models.PurgeParameters, _types.PurgeParameters, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -4965,7 +4968,7 @@ def begin_purge_content( self, resource_group_name: str, front_door_name: str, - content_file_paths: JSON, + content_file_paths: _types.PurgeParameters, *, content_type: str = "application/json", **kwargs: Any @@ -4980,7 +4983,7 @@ def begin_purge_content( :param content_file_paths: The path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and files in the directory. Required. - :type content_file_paths: JSON + :type content_file_paths: ~azure.mgmt.frontdoor.types.PurgeParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -5023,7 +5026,7 @@ def begin_purge_content( self, resource_group_name: str, front_door_name: str, - content_file_paths: Union[_models.PurgeParameters, JSON, IO[bytes]], + content_file_paths: Union[_models.PurgeParameters, _types.PurgeParameters, IO[bytes]], **kwargs: Any ) -> LROPoller[None]: """Removes a content from Front Door. @@ -5035,9 +5038,10 @@ def begin_purge_content( :type front_door_name: str :param content_file_paths: The path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g. - '/pictures/*' which removes all folders and files in the directory. Is one of the following - types: PurgeParameters, JSON, IO[bytes] Required. - :type content_file_paths: ~azure.mgmt.frontdoor.models.PurgeParameters or JSON or IO[bytes] + '/pictures/*' which removes all folders and files in the directory. Is either a PurgeParameters + type or a IO[bytes] type. Required. + :type content_file_paths: ~azure.mgmt.frontdoor.models.PurgeParameters or + ~azure.mgmt.frontdoor.types.PurgeParameters or IO[bytes] :return: An instance of LROPoller that returns None :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -5090,7 +5094,7 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore -class NetworkExperimentProfilesOperations: +class NetworkExperimentProfilesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -5183,7 +5187,7 @@ def _create_or_update_initial( self, profile_name: str, resource_group_name: str, - parameters: Union[_models.Profile, JSON, IO[bytes]], + parameters: Union[_models.Profile, _types.Profile, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -5293,7 +5297,7 @@ def begin_create_or_update( self, profile_name: str, resource_group_name: str, - parameters: JSON, + parameters: _types.Profile, *, content_type: str = "application/json", **kwargs: Any @@ -5308,7 +5312,7 @@ def begin_create_or_update( Required. :type resource_group_name: str :param parameters: An Network Experiment Profile. Required. - :type parameters: JSON + :type parameters: ~azure.mgmt.frontdoor.types.Profile :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -5353,7 +5357,7 @@ def begin_create_or_update( self, profile_name: str, resource_group_name: str, - parameters: Union[_models.Profile, JSON, IO[bytes]], + parameters: Union[_models.Profile, _types.Profile, IO[bytes]], **kwargs: Any ) -> LROPoller[_models.Profile]: """Creates an NetworkExperiment Profile. @@ -5365,9 +5369,10 @@ def begin_create_or_update( :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param parameters: An Network Experiment Profile. Is one of the following types: Profile, JSON, - IO[bytes] Required. - :type parameters: ~azure.mgmt.frontdoor.models.Profile or JSON or IO[bytes] + :param parameters: An Network Experiment Profile. Is either a Profile type or a IO[bytes] type. + Required. + :type parameters: ~azure.mgmt.frontdoor.models.Profile or ~azure.mgmt.frontdoor.types.Profile + or IO[bytes] :return: An instance of LROPoller that returns Profile. The Profile is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.frontdoor.models.Profile] @@ -5429,7 +5434,7 @@ def _update_initial( self, resource_group_name: str, profile_name: str, - parameters: Union[_models.ProfileUpdateModel, JSON, IO[bytes]], + parameters: Union[_models.ProfileUpdateModel, _types.ProfileUpdateModel, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -5535,7 +5540,7 @@ def begin_update( self, resource_group_name: str, profile_name: str, - parameters: JSON, + parameters: _types.ProfileUpdateModel, *, content_type: str = "application/json", **kwargs: Any @@ -5550,7 +5555,7 @@ def begin_update( :param profile_name: The Profile identifier associated with the Tenant and Partner. Required. :type profile_name: str :param parameters: The Profile Update Model. Required. - :type parameters: JSON + :type parameters: ~azure.mgmt.frontdoor.types.ProfileUpdateModel :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -5595,7 +5600,7 @@ def begin_update( self, resource_group_name: str, profile_name: str, - parameters: Union[_models.ProfileUpdateModel, JSON, IO[bytes]], + parameters: Union[_models.ProfileUpdateModel, _types.ProfileUpdateModel, IO[bytes]], **kwargs: Any ) -> LROPoller[_models.Profile]: """Updates an NetworkExperimentProfiles by NetworkExperimentProfile name. @@ -5607,9 +5612,10 @@ def begin_update( :type resource_group_name: str :param profile_name: The Profile identifier associated with the Tenant and Partner. Required. :type profile_name: str - :param parameters: The Profile Update Model. Is one of the following types: ProfileUpdateModel, - JSON, IO[bytes] Required. - :type parameters: ~azure.mgmt.frontdoor.models.ProfileUpdateModel or JSON or IO[bytes] + :param parameters: The Profile Update Model. Is either a ProfileUpdateModel type or a IO[bytes] + type. Required. + :type parameters: ~azure.mgmt.frontdoor.models.ProfileUpdateModel or + ~azure.mgmt.frontdoor.types.ProfileUpdateModel or IO[bytes] :return: An instance of LROPoller that returns Profile. The Profile is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.frontdoor.models.Profile] @@ -5980,7 +5986,7 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class PreconfiguredEndpointsOperations: +class PreconfiguredEndpointsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -6102,7 +6108,7 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class ReportsOperations: +class ReportsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -6330,7 +6336,7 @@ def get_timeseries( return deserialized # type: ignore -class ManagedRuleSetsOperations: +class ManagedRuleSetsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -6441,7 +6447,7 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class FrontDoorNameAvailabilityOperations: +class FrontDoorNameAvailabilityOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -6482,12 +6488,17 @@ def check( @overload def check( - self, check_front_door_name_availability_input: JSON, *, content_type: str = "application/json", **kwargs: Any + self, + check_front_door_name_availability_input: _types.CheckNameAvailabilityInput, + *, + content_type: str = "application/json", + **kwargs: Any ) -> _models.CheckNameAvailabilityOutput: """Check the availability of a Front Door resource name. :param check_front_door_name_availability_input: The request body. Required. - :type check_front_door_name_availability_input: JSON + :type check_front_door_name_availability_input: + ~azure.mgmt.frontdoor.types.CheckNameAvailabilityInput :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -6521,15 +6532,18 @@ def check( @distributed_trace def check( self, - check_front_door_name_availability_input: Union[_models.CheckNameAvailabilityInput, JSON, IO[bytes]], + check_front_door_name_availability_input: Union[ + _models.CheckNameAvailabilityInput, _types.CheckNameAvailabilityInput, IO[bytes] + ], **kwargs: Any ) -> _models.CheckNameAvailabilityOutput: """Check the availability of a Front Door resource name. - :param check_front_door_name_availability_input: The request body. Is one of the following - types: CheckNameAvailabilityInput, JSON, IO[bytes] Required. + :param check_front_door_name_availability_input: The request body. Is either a + CheckNameAvailabilityInput type or a IO[bytes] type. Required. :type check_front_door_name_availability_input: - ~azure.mgmt.frontdoor.models.CheckNameAvailabilityInput or JSON or IO[bytes] + ~azure.mgmt.frontdoor.models.CheckNameAvailabilityInput or + ~azure.mgmt.frontdoor.types.CheckNameAvailabilityInput or IO[bytes] :return: CheckNameAvailabilityOutput. The CheckNameAvailabilityOutput is compatible with MutableMapping :rtype: ~azure.mgmt.frontdoor.models.CheckNameAvailabilityOutput @@ -6600,7 +6614,7 @@ def check( return deserialized # type: ignore -class FrontDoorNameAvailabilityWithSubscriptionOperations: # pylint: disable=name-too-long +class FrontDoorNameAvailabilityWithSubscriptionOperations: # pylint: disable=docstring-missing-param,name-too-long """ .. warning:: **DO NOT** instantiate this class directly. @@ -6641,12 +6655,17 @@ def check( @overload def check( - self, check_front_door_name_availability_input: JSON, *, content_type: str = "application/json", **kwargs: Any + self, + check_front_door_name_availability_input: _types.CheckNameAvailabilityInput, + *, + content_type: str = "application/json", + **kwargs: Any ) -> _models.CheckNameAvailabilityOutput: """Check the availability of a Front Door subdomain. :param check_front_door_name_availability_input: The request body. Required. - :type check_front_door_name_availability_input: JSON + :type check_front_door_name_availability_input: + ~azure.mgmt.frontdoor.types.CheckNameAvailabilityInput :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -6680,15 +6699,18 @@ def check( @distributed_trace def check( self, - check_front_door_name_availability_input: Union[_models.CheckNameAvailabilityInput, JSON, IO[bytes]], + check_front_door_name_availability_input: Union[ + _models.CheckNameAvailabilityInput, _types.CheckNameAvailabilityInput, IO[bytes] + ], **kwargs: Any ) -> _models.CheckNameAvailabilityOutput: """Check the availability of a Front Door subdomain. - :param check_front_door_name_availability_input: The request body. Is one of the following - types: CheckNameAvailabilityInput, JSON, IO[bytes] Required. + :param check_front_door_name_availability_input: The request body. Is either a + CheckNameAvailabilityInput type or a IO[bytes] type. Required. :type check_front_door_name_availability_input: - ~azure.mgmt.frontdoor.models.CheckNameAvailabilityInput or JSON or IO[bytes] + ~azure.mgmt.frontdoor.models.CheckNameAvailabilityInput or + ~azure.mgmt.frontdoor.types.CheckNameAvailabilityInput or IO[bytes] :return: CheckNameAvailabilityOutput. The CheckNameAvailabilityOutput is compatible with MutableMapping :rtype: ~azure.mgmt.frontdoor.models.CheckNameAvailabilityOutput diff --git a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/operations/_patch.py b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/operations/_patch.py index 87676c65a8f0..ea765788358a 100644 --- a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/operations/_patch.py +++ b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/operations/_patch.py @@ -8,7 +8,6 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ - __all__: list[str] = [] # Add all objects you want publicly available to users at this package level diff --git a/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/types.py b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/types.py new file mode 100644 index 000000000000..64433f8797ca --- /dev/null +++ b/sdk/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor/types.py @@ -0,0 +1,1958 @@ +# pylint: disable=too-many-lines +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) Python Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Literal, TYPE_CHECKING, Union +from typing_extensions import Required, TypedDict + +if TYPE_CHECKING: + from .models import ( + ActionType, + BackendEnabledState, + CustomHttpsProvisioningState, + CustomHttpsProvisioningSubstate, + CustomRuleEnabledState, + DynamicCompressionEnabled, + EnforceCertificateNameCheckEnabledState, + ExceptionMatchVariable, + ExceptionSelectorMatchOperator, + ExceptionValueMatchOperator, + FrontDoorCertificateSource, + FrontDoorCertificateType, + FrontDoorEnabledState, + FrontDoorForwardingProtocol, + FrontDoorHealthProbeMethod, + FrontDoorProtocol, + FrontDoorQuery, + FrontDoorRedirectProtocol, + FrontDoorRedirectType, + FrontDoorResourceState, + FrontDoorTlsProtocolType, + HeaderActionType, + HealthProbeEnabled, + ManagedRuleEnabledState, + ManagedRuleExclusionMatchVariable, + ManagedRuleExclusionSelectorMatchOperator, + ManagedRuleSetActionType, + MatchProcessingBehavior, + MatchVariable, + MinimumTLSVersion, + NetworkExperimentResourceState, + Operator, + PolicyEnabledState, + PolicyMode, + PolicyRequestBodyCheck, + PolicyResourceState, + PrivateEndpointStatus, + ResourceType, + RoutingRuleEnabledState, + RuleType, + RulesEngineMatchVariable, + RulesEngineOperator, + ScrubbingRuleEntryMatchOperator, + ScrubbingRuleEntryMatchVariable, + ScrubbingRuleEntryState, + SensitivityType, + SessionAffinityEnabledState, + SkuName, + State, + Transform, + TransformType, + VariableName, + WebApplicationFirewallScrubbingState, + ) + + +class Backend(TypedDict, total=False): + """Backend address of a frontDoor load balancer. + + :ivar address: Location of the backend (IP address or FQDN). + :vartype address: str + :ivar privateLinkAlias: The Alias of the Private Link resource. Populating this optional field + indicates that this backend is 'Private'. + :vartype privateLinkAlias: str + :ivar privateLinkResourceId: The Resource Id of the Private Link resource. Populating this + optional field indicates that this backend is 'Private'. + :vartype privateLinkResourceId: str + :ivar privateLinkLocation: The location of the Private Link resource. Required only if + 'privateLinkResourceId' is populated. + :vartype privateLinkLocation: str + :ivar privateEndpointStatus: The Approval status for the connection to the Private Link. Known + values are: "Pending", "Approved", "Rejected", "Disconnected", and "Timeout". + :vartype privateEndpointStatus: Union[str, "PrivateEndpointStatus"] + :ivar privateLinkApprovalMessage: A custom message to be included in the approval request to + connect to the Private Link. + :vartype privateLinkApprovalMessage: str + :ivar httpPort: The HTTP TCP port number. Must be between 1 and 65535. + :vartype httpPort: int + :ivar httpsPort: The HTTPS TCP port number. Must be between 1 and 65535. + :vartype httpsPort: int + :ivar enabledState: Whether to enable use of this backend. Permitted values are 'Enabled' or + 'Disabled'. Known values are: "Enabled" and "Disabled". + :vartype enabledState: Union[str, "BackendEnabledState"] + :ivar priority: Priority to use for load balancing. Higher priorities will not be used for load + balancing if any lower priority backend is healthy. + :vartype priority: int + :ivar weight: Weight of this endpoint for load balancing purposes. + :vartype weight: int + :ivar backendHostHeader: The value to use as the host header sent to the backend. If blank or + unspecified, this defaults to the incoming host. + :vartype backendHostHeader: str + """ + + address: str + """Location of the backend (IP address or FQDN).""" + privateLinkAlias: str + """The Alias of the Private Link resource. Populating this optional field indicates that this + backend is 'Private'.""" + privateLinkResourceId: str + """The Resource Id of the Private Link resource. Populating this optional field indicates that + this backend is 'Private'.""" + privateLinkLocation: str + """The location of the Private Link resource. Required only if 'privateLinkResourceId' is + populated.""" + privateEndpointStatus: Union[str, "PrivateEndpointStatus"] + """The Approval status for the connection to the Private Link. Known values are: \"Pending\", + \"Approved\", \"Rejected\", \"Disconnected\", and \"Timeout\".""" + privateLinkApprovalMessage: str + """A custom message to be included in the approval request to connect to the Private Link.""" + httpPort: int + """The HTTP TCP port number. Must be between 1 and 65535.""" + httpsPort: int + """The HTTPS TCP port number. Must be between 1 and 65535.""" + enabledState: Union[str, "BackendEnabledState"] + """Whether to enable use of this backend. Permitted values are 'Enabled' or 'Disabled'. Known + values are: \"Enabled\" and \"Disabled\".""" + priority: int + """Priority to use for load balancing. Higher priorities will not be used for load balancing if + any lower priority backend is healthy.""" + weight: int + """Weight of this endpoint for load balancing purposes.""" + backendHostHeader: str + """The value to use as the host header sent to the backend. If blank or unspecified, this defaults + to the incoming host.""" + + +class SubResource(TypedDict, total=False): + """Reference to another subresource. + + :ivar id: Resource ID. + :vartype id: str + """ + + id: str + """Resource ID.""" + + +class BackendPool(SubResource): + """A backend pool is a collection of backends that can be routed to. + + :ivar id: Resource ID. + :vartype id: str + :ivar properties: Properties of the Front Door Backend Pool. + :vartype properties: "BackendPoolProperties" + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + """ + + properties: "BackendPoolProperties" + """Properties of the Front Door Backend Pool.""" + name: str + """Resource name.""" + type: str + """Resource type.""" + + +class BackendPoolUpdateParameters(TypedDict, total=False): + """A collection of backends that can be routed to. + + :ivar backends: The set of backends for this pool. + :vartype backends: list["Backend"] + :ivar loadBalancingSettings: Load balancing settings for a backend pool. + :vartype loadBalancingSettings: "SubResource" + :ivar healthProbeSettings: L7 health probe settings for a backend pool. + :vartype healthProbeSettings: "SubResource" + """ + + backends: list["Backend"] + """The set of backends for this pool.""" + loadBalancingSettings: "SubResource" + """Load balancing settings for a backend pool.""" + healthProbeSettings: "SubResource" + """L7 health probe settings for a backend pool.""" + + +class BackendPoolProperties(BackendPoolUpdateParameters): + """The JSON object that contains the properties required to create a Backend Pool. + + :ivar backends: The set of backends for this pool. + :vartype backends: list["Backend"] + :ivar loadBalancingSettings: Load balancing settings for a backend pool. + :vartype loadBalancingSettings: "SubResource" + :ivar healthProbeSettings: L7 health probe settings for a backend pool. + :vartype healthProbeSettings: "SubResource" + :ivar resourceState: Resource status of the Front Door or Front Door SubResource. Known values + are: "Creating", "Enabling", "Enabled", "Disabling", "Disabled", "Deleting", "Migrating", and + "Migrated". + :vartype resourceState: Union[str, "FrontDoorResourceState"] + """ + + resourceState: Union[str, "FrontDoorResourceState"] + """Resource status of the Front Door or Front Door SubResource. Known values are: \"Creating\", + \"Enabling\", \"Enabled\", \"Disabling\", \"Disabled\", \"Deleting\", \"Migrating\", and + \"Migrated\".""" + + +class BackendPoolsSettings(TypedDict, total=False): + """Settings that apply to all backend pools. + + :ivar enforceCertificateNameCheck: Whether to enforce certificate name check on HTTPS requests + to all backend pools. No effect on non-HTTPS requests. Known values are: "Enabled" and + "Disabled". + :vartype enforceCertificateNameCheck: Union[str, "EnforceCertificateNameCheckEnabledState"] + :ivar sendRecvTimeoutSeconds: Send and receive timeout on forwarding request to the backend. + When timeout is reached, the request fails and returns. + :vartype sendRecvTimeoutSeconds: int + """ + + enforceCertificateNameCheck: Union[str, "EnforceCertificateNameCheckEnabledState"] + """Whether to enforce certificate name check on HTTPS requests to all backend pools. No effect on + non-HTTPS requests. Known values are: \"Enabled\" and \"Disabled\".""" + sendRecvTimeoutSeconds: int + """Send and receive timeout on forwarding request to the backend. When timeout is reached, the + request fails and returns.""" + + +class BasicResource(TypedDict, total=False): + """Common resource representation. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + """ + + id: str + """Resource ID.""" + name: str + """Resource name.""" + type: str + """Resource type.""" + + +class BasicResourceWithSettableIDName(TypedDict, total=False): + """Common resource representation. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + """ + + id: str + """Resource ID.""" + name: str + """Resource name.""" + type: str + """Resource type.""" + + +class CacheConfiguration(TypedDict, total=False): + """Caching settings for a caching-type route. To disable caching, do not provide a + cacheConfiguration object. + + :ivar queryParameterStripDirective: Treatment of URL query terms when forming the cache key. + Known values are: "StripNone", "StripAll", "StripOnly", and "StripAllExcept". + :vartype queryParameterStripDirective: Union[str, "FrontDoorQuery"] + :ivar queryParameters: query parameters to include or exclude (comma separated). + :vartype queryParameters: str + :ivar dynamicCompression: Whether to use dynamic compression for cached content. Known values + are: "Enabled" and "Disabled". + :vartype dynamicCompression: Union[str, "DynamicCompressionEnabled"] + :ivar cacheDuration: The duration for which the content needs to be cached. Allowed format is + in ISO 8601 format (`http://en.wikipedia.org/wiki/ISO_8601#Durations + `_). HTTP requires the value to be no more + than a year. + :vartype cacheDuration: str + """ + + queryParameterStripDirective: Union[str, "FrontDoorQuery"] + """Treatment of URL query terms when forming the cache key. Known values are: \"StripNone\", + \"StripAll\", \"StripOnly\", and \"StripAllExcept\".""" + queryParameters: str + """query parameters to include or exclude (comma separated).""" + dynamicCompression: Union[str, "DynamicCompressionEnabled"] + """Whether to use dynamic compression for cached content. Known values are: \"Enabled\" and + \"Disabled\".""" + cacheDuration: str + """The duration for which the content needs to be cached. Allowed format is in ISO 8601 format + (`http://en.wikipedia.org/wiki/ISO_8601#Durations + `_). HTTP requires the value to be no more + than a year.""" + + +class CheckNameAvailabilityInput(TypedDict, total=False): + """Input of CheckNameAvailability API. + + :ivar name: The resource name to validate. Required. + :vartype name: str + :ivar type: The type of the resource whose name is to be validated. Required. Known values are: + "Microsoft.Network/frontDoors" and "Microsoft.Network/frontDoors/frontendEndpoints". + :vartype type: Union[str, "ResourceType"] + """ + + name: Required[str] + """The resource name to validate. Required.""" + type: Required[Union[str, "ResourceType"]] + """The type of the resource whose name is to be validated. Required. Known values are: + \"Microsoft.Network/frontDoors\" and \"Microsoft.Network/frontDoors/frontendEndpoints\".""" + + +class CustomHttpsConfiguration(TypedDict, total=False): + """Https settings for a domain. + + :ivar certificateSource: Defines the source of the SSL certificate. Required. Known values are: + "AzureKeyVault" and "FrontDoor". + :vartype certificateSource: Union[str, "FrontDoorCertificateSource"] + :ivar protocolType: Defines the TLS extension protocol that is used for secure delivery. + Required. "ServerNameIndication" + :vartype protocolType: Union[str, "FrontDoorTlsProtocolType"] + :ivar minimumTlsVersion: The minimum TLS version required from the clients to establish an SSL + handshake with Front Door. Required. Known values are: "1.0" and "1.2". + :vartype minimumTlsVersion: Union[str, "MinimumTLSVersion"] + :ivar keyVaultCertificateSourceParameters: KeyVault certificate source parameters (if + certificateSource=AzureKeyVault). + :vartype keyVaultCertificateSourceParameters: "KeyVaultCertificateSourceParameters" + :ivar frontDoorCertificateSourceParameters: Parameters required for enabling SSL with Front + Door-managed certificates (if certificateSource=FrontDoor). + :vartype frontDoorCertificateSourceParameters: "FrontDoorCertificateSourceParameters" + """ + + certificateSource: Required[Union[str, "FrontDoorCertificateSource"]] + """Defines the source of the SSL certificate. Required. Known values are: \"AzureKeyVault\" and + \"FrontDoor\".""" + protocolType: Required[Union[str, "FrontDoorTlsProtocolType"]] + """Defines the TLS extension protocol that is used for secure delivery. Required. + \"ServerNameIndication\"""" + minimumTlsVersion: Required[Union[str, "MinimumTLSVersion"]] + """The minimum TLS version required from the clients to establish an SSL handshake with Front + Door. Required. Known values are: \"1.0\" and \"1.2\".""" + keyVaultCertificateSourceParameters: "KeyVaultCertificateSourceParameters" + """KeyVault certificate source parameters (if certificateSource=AzureKeyVault).""" + frontDoorCertificateSourceParameters: "FrontDoorCertificateSourceParameters" + """Parameters required for enabling SSL with Front Door-managed certificates (if + certificateSource=FrontDoor).""" + + +class CustomRule(TypedDict, total=False): + """Defines contents of a web application rule. + + :ivar name: Describes the name of the rule. + :vartype name: str + :ivar priority: Describes priority of the rule. Rules with a lower value will be evaluated + before rules with a higher value. Required. + :vartype priority: int + :ivar enabledState: Describes if the custom rule is in enabled or disabled state. Defaults to + Enabled if not specified. Known values are: "Disabled" and "Enabled". + :vartype enabledState: Union[str, "CustomRuleEnabledState"] + :ivar ruleType: Describes type of rule. Required. Known values are: "MatchRule" and + "RateLimitRule". + :vartype ruleType: Union[str, "RuleType"] + :ivar rateLimitDurationInMinutes: Time window for resetting the rate limit count. Default is 1 + minute. + :vartype rateLimitDurationInMinutes: int + :ivar rateLimitThreshold: Number of allowed requests per client within the time window. + :vartype rateLimitThreshold: int + :ivar groupBy: Describes the list of variables to group the rate limit requests. + :vartype groupBy: list["GroupByVariable"] + :ivar matchConditions: List of match conditions. Required. + :vartype matchConditions: list["MatchCondition"] + :ivar action: Describes what action to be applied when rule matches. Required. Known values + are: "Allow", "Block", "Log", "Redirect", "AnomalyScoring", "JSChallenge", and "CAPTCHA". + :vartype action: Union[str, "ActionType"] + """ + + name: str + """Describes the name of the rule.""" + priority: Required[int] + """Describes priority of the rule. Rules with a lower value will be evaluated before rules with a + higher value. Required.""" + enabledState: Union[str, "CustomRuleEnabledState"] + """Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not + specified. Known values are: \"Disabled\" and \"Enabled\".""" + ruleType: Required[Union[str, "RuleType"]] + """Describes type of rule. Required. Known values are: \"MatchRule\" and \"RateLimitRule\".""" + rateLimitDurationInMinutes: int + """Time window for resetting the rate limit count. Default is 1 minute.""" + rateLimitThreshold: int + """Number of allowed requests per client within the time window.""" + groupBy: list["GroupByVariable"] + """Describes the list of variables to group the rate limit requests.""" + matchConditions: Required[list["MatchCondition"]] + """List of match conditions. Required.""" + action: Required[Union[str, "ActionType"]] + """Describes what action to be applied when rule matches. Required. Known values are: \"Allow\", + \"Block\", \"Log\", \"Redirect\", \"AnomalyScoring\", \"JSChallenge\", and \"CAPTCHA\".""" + + +class CustomRuleList(TypedDict, total=False): + """Defines contents of custom rules. + + :ivar rules: List of rules. + :vartype rules: list["CustomRule"] + """ + + rules: list["CustomRule"] + """List of rules.""" + + +class Endpoint(TypedDict, total=False): + """Defines the endpoint properties. + + :ivar name: The name of the endpoint. + :vartype name: str + :ivar endpoint: The endpoint URL. + :vartype endpoint: str + """ + + name: str + """The name of the endpoint.""" + endpoint: str + """The endpoint URL.""" + + +class Resource(TypedDict, total=False): + """Common resource representation. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar location: Resource location. + :vartype location: str + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + id: str + """Resource ID.""" + name: str + """Resource name.""" + type: str + """Resource type.""" + location: str + """Resource location.""" + tags: dict[str, str] + """Resource tags.""" + + +class Experiment(Resource): + """Defines the properties of an Experiment. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar location: Resource location. + :vartype location: str + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar properties: The properties of an Experiment. + :vartype properties: "ExperimentProperties" + """ + + properties: "ExperimentProperties" + """The properties of an Experiment.""" + + +class ExperimentProperties(TypedDict, total=False): + """Defines the properties of an experiment. + + :ivar description: The description of the details or intents of the Experiment. + :vartype description: str + :ivar endpointA: The endpoint A of an experiment. + :vartype endpointA: "Endpoint" + :ivar endpointB: The endpoint B of an experiment. + :vartype endpointB: "Endpoint" + :ivar enabledState: The state of the Experiment. Known values are: "Enabled" and "Disabled". + :vartype enabledState: Union[str, "State"] + :ivar resourceState: Resource status. Known values are: "Creating", "Enabling", "Enabled", + "Disabling", "Disabled", and "Deleting". + :vartype resourceState: Union[str, "NetworkExperimentResourceState"] + :ivar status: The description of Experiment status from the server side. + :vartype status: str + :ivar scriptFileUri: The uri to the Script used in the Experiment. + :vartype scriptFileUri: str + """ + + description: str + """The description of the details or intents of the Experiment.""" + endpointA: "Endpoint" + """The endpoint A of an experiment.""" + endpointB: "Endpoint" + """The endpoint B of an experiment.""" + enabledState: Union[str, "State"] + """The state of the Experiment. Known values are: \"Enabled\" and \"Disabled\".""" + resourceState: Union[str, "NetworkExperimentResourceState"] + """Resource status. Known values are: \"Creating\", \"Enabling\", \"Enabled\", \"Disabling\", + \"Disabled\", and \"Deleting\".""" + status: str + """The description of Experiment status from the server side.""" + scriptFileUri: str + """The uri to the Script used in the Experiment.""" + + +class ExperimentUpdateModel(TypedDict, total=False): + """Defines modifiable attributes of an Experiment. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar properties: The properties of a Profile. + :vartype properties: "ExperimentUpdateProperties" + """ + + tags: dict[str, str] + """Resource tags.""" + properties: "ExperimentUpdateProperties" + """The properties of a Profile.""" + + +class ExperimentUpdateProperties(TypedDict, total=False): + """Defines the properties of an experiment. + + :ivar description: The description of the intent or details of the Experiment. + :vartype description: str + :ivar enabledState: The state of the Experiment. Known values are: "Enabled" and "Disabled". + :vartype enabledState: Union[str, "State"] + """ + + description: str + """The description of the intent or details of the Experiment.""" + enabledState: Union[str, "State"] + """The state of the Experiment. Known values are: \"Enabled\" and \"Disabled\".""" + + +ForwardingConfiguration = TypedDict( + "ForwardingConfiguration", + { + "customForwardingPath": str, + "forwardingProtocol": Union[str, "FrontDoorForwardingProtocol"], + "cacheConfiguration": "CacheConfiguration", + "backendPool": "SubResource", + "@odata.type": Required[Literal["#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration"]], + }, + total=False, +) +ForwardingConfiguration.__doc__ = """Describes Forwarding Route. + +:ivar customForwardingPath: A custom path used to rewrite resource paths matched by this rule. + Leave empty to use incoming path. +:vartype customForwardingPath: str +:ivar forwardingProtocol: Protocol this rule will use when forwarding traffic to backends. + Known values are: "HttpOnly", "HttpsOnly", and "MatchRequest". +:vartype forwardingProtocol: Union[str, "FrontDoorForwardingProtocol"] +:ivar cacheConfiguration: The caching configuration associated with this rule. +:vartype cacheConfiguration: "CacheConfiguration" +:ivar backendPool: A reference to the BackendPool which this rule routes to. +:vartype backendPool: "SubResource" +:ivar ``@odata.type``: Required. Default value is + "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration". +:vartype ``@odata.type``: + Literal["#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration"] +""" + + +class FrontDoor(Resource): + """Front Door represents a collection of backend endpoints to route traffic to along with rules + that specify how traffic is sent there. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar location: Resource location. + :vartype location: str + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar properties: Properties of the Front Door Load Balancer. + :vartype properties: "FrontDoorProperties" + """ + + properties: "FrontDoorProperties" + """Properties of the Front Door Load Balancer.""" + + +class FrontDoorCertificateSourceParameters(TypedDict, total=False): + """Parameters required for enabling SSL with Front Door-managed certificates. + + :ivar certificateType: Defines the type of the certificate used for secure connections to a + frontendEndpoint. "Dedicated" + :vartype certificateType: Union[str, "FrontDoorCertificateType"] + """ + + certificateType: Union[str, "FrontDoorCertificateType"] + """Defines the type of the certificate used for secure connections to a frontendEndpoint. + \"Dedicated\"""" + + +class FrontDoorUpdateParameters(TypedDict, total=False): + """The properties needed to update a Front Door. + + :ivar friendlyName: A friendly name for the frontDoor. + :vartype friendlyName: str + :ivar routingRules: Routing rules associated with this Front Door. + :vartype routingRules: list["RoutingRule"] + :ivar loadBalancingSettings: Load balancing settings associated with this Front Door instance. + :vartype loadBalancingSettings: list["LoadBalancingSettingsModel"] + :ivar healthProbeSettings: Health probe settings associated with this Front Door instance. + :vartype healthProbeSettings: list["HealthProbeSettingsModel"] + :ivar backendPools: Backend pools available to routing rules. + :vartype backendPools: list["BackendPool"] + :ivar frontendEndpoints: Frontend endpoints available to routing rules. + :vartype frontendEndpoints: list["FrontendEndpoint"] + :ivar backendPoolsSettings: Settings for all backendPools. + :vartype backendPoolsSettings: "BackendPoolsSettings" + :ivar enabledState: Operational status of the Front Door load balancer. Permitted values are + 'Enabled' or 'Disabled'. Known values are: "Enabled" and "Disabled". + :vartype enabledState: Union[str, "FrontDoorEnabledState"] + """ + + friendlyName: str + """A friendly name for the frontDoor.""" + routingRules: list["RoutingRule"] + """Routing rules associated with this Front Door.""" + loadBalancingSettings: list["LoadBalancingSettingsModel"] + """Load balancing settings associated with this Front Door instance.""" + healthProbeSettings: list["HealthProbeSettingsModel"] + """Health probe settings associated with this Front Door instance.""" + backendPools: list["BackendPool"] + """Backend pools available to routing rules.""" + frontendEndpoints: list["FrontendEndpoint"] + """Frontend endpoints available to routing rules.""" + backendPoolsSettings: "BackendPoolsSettings" + """Settings for all backendPools.""" + enabledState: Union[str, "FrontDoorEnabledState"] + """Operational status of the Front Door load balancer. Permitted values are 'Enabled' or + 'Disabled'. Known values are: \"Enabled\" and \"Disabled\".""" + + +class FrontDoorProperties(FrontDoorUpdateParameters): + """The JSON object that contains the properties required to create an endpoint. + + :ivar friendlyName: A friendly name for the frontDoor. + :vartype friendlyName: str + :ivar routingRules: Routing rules associated with this Front Door. + :vartype routingRules: list["RoutingRule"] + :ivar loadBalancingSettings: Load balancing settings associated with this Front Door instance. + :vartype loadBalancingSettings: list["LoadBalancingSettingsModel"] + :ivar healthProbeSettings: Health probe settings associated with this Front Door instance. + :vartype healthProbeSettings: list["HealthProbeSettingsModel"] + :ivar backendPools: Backend pools available to routing rules. + :vartype backendPools: list["BackendPool"] + :ivar frontendEndpoints: Frontend endpoints available to routing rules. + :vartype frontendEndpoints: list["FrontendEndpoint"] + :ivar backendPoolsSettings: Settings for all backendPools. + :vartype backendPoolsSettings: "BackendPoolsSettings" + :ivar enabledState: Operational status of the Front Door load balancer. Permitted values are + 'Enabled' or 'Disabled'. Known values are: "Enabled" and "Disabled". + :vartype enabledState: Union[str, "FrontDoorEnabledState"] + :ivar resourceState: Resource status of the Front Door or Front Door SubResource. Known values + are: "Creating", "Enabling", "Enabled", "Disabling", "Disabled", "Deleting", "Migrating", and + "Migrated". + :vartype resourceState: Union[str, "FrontDoorResourceState"] + :ivar provisioningState: Provisioning state of the Front Door. + :vartype provisioningState: str + :ivar cname: The host that each frontendEndpoint must CNAME to. + :vartype cname: str + :ivar frontdoorId: The Id of the frontdoor. + :vartype frontdoorId: str + :ivar rulesEngines: Rules Engine Configurations available to routing rules. + :vartype rulesEngines: list["RulesEngine"] + :ivar extendedProperties: Key-Value pair representing additional properties for frontdoor. + :vartype extendedProperties: dict[str, str] + """ + + resourceState: Union[str, "FrontDoorResourceState"] + """Resource status of the Front Door or Front Door SubResource. Known values are: \"Creating\", + \"Enabling\", \"Enabled\", \"Disabling\", \"Disabled\", \"Deleting\", \"Migrating\", and + \"Migrated\".""" + provisioningState: str + """Provisioning state of the Front Door.""" + cname: str + """The host that each frontendEndpoint must CNAME to.""" + frontdoorId: str + """The Id of the frontdoor.""" + rulesEngines: list["RulesEngine"] + """Rules Engine Configurations available to routing rules.""" + extendedProperties: dict[str, str] + """Key-Value pair representing additional properties for frontdoor.""" + + +class FrontendEndpoint(BasicResourceWithSettableIDName): + """A frontend endpoint used for routing. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar properties: Properties of the Frontend endpoint. + :vartype properties: "FrontendEndpointProperties" + """ + + properties: "FrontendEndpointProperties" + """Properties of the Frontend endpoint.""" + + +class FrontendEndpointLink(TypedDict, total=False): + """Defines the Resource ID for a Frontend Endpoint. + + :ivar id: Resource ID. + :vartype id: str + """ + + id: str + """Resource ID.""" + + +class FrontendEndpointUpdateParameters(TypedDict, total=False): + """Frontend endpoint used in routing rule. + + :ivar hostName: The host name of the frontendEndpoint. Must be a domain name. + :vartype hostName: str + :ivar sessionAffinityEnabledState: Whether to allow session affinity on this host. Valid + options are 'Enabled' or 'Disabled'. Known values are: "Enabled" and "Disabled". + :vartype sessionAffinityEnabledState: Union[str, "SessionAffinityEnabledState"] + :ivar sessionAffinityTtlSeconds: UNUSED. This field will be ignored. The TTL to use in seconds + for session affinity, if applicable. + :vartype sessionAffinityTtlSeconds: int + :ivar webApplicationFirewallPolicyLink: Defines the Web Application Firewall policy for each + host (if applicable). + :vartype webApplicationFirewallPolicyLink: + "FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink" + """ + + hostName: str + """The host name of the frontendEndpoint. Must be a domain name.""" + sessionAffinityEnabledState: Union[str, "SessionAffinityEnabledState"] + """Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'. + Known values are: \"Enabled\" and \"Disabled\".""" + sessionAffinityTtlSeconds: int + """UNUSED. This field will be ignored. The TTL to use in seconds for session affinity, if + applicable.""" + webApplicationFirewallPolicyLink: "FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink" + """Defines the Web Application Firewall policy for each host (if applicable).""" + + +class FrontendEndpointProperties(FrontendEndpointUpdateParameters): + """The JSON object that contains the properties required to create a frontend endpoint. + + :ivar hostName: The host name of the frontendEndpoint. Must be a domain name. + :vartype hostName: str + :ivar sessionAffinityEnabledState: Whether to allow session affinity on this host. Valid + options are 'Enabled' or 'Disabled'. Known values are: "Enabled" and "Disabled". + :vartype sessionAffinityEnabledState: Union[str, "SessionAffinityEnabledState"] + :ivar sessionAffinityTtlSeconds: UNUSED. This field will be ignored. The TTL to use in seconds + for session affinity, if applicable. + :vartype sessionAffinityTtlSeconds: int + :ivar webApplicationFirewallPolicyLink: Defines the Web Application Firewall policy for each + host (if applicable). + :vartype webApplicationFirewallPolicyLink: + "FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink" + :ivar resourceState: Resource status of the Front Door or Front Door SubResource. Known values + are: "Creating", "Enabling", "Enabled", "Disabling", "Disabled", "Deleting", "Migrating", and + "Migrated". + :vartype resourceState: Union[str, "FrontDoorResourceState"] + :ivar customHttpsProvisioningState: Provisioning status of Custom Https of the + frontendEndpoint. Known values are: "Enabling", "Enabled", "Disabling", "Disabled", and + "Failed". + :vartype customHttpsProvisioningState: Union[str, "CustomHttpsProvisioningState"] + :ivar customHttpsProvisioningSubstate: Provisioning substate shows the progress of custom HTTPS + enabling/disabling process step by step. Known values are: + "SubmittingDomainControlValidationRequest", "PendingDomainControlValidationREquestApproval", + "DomainControlValidationRequestApproved", "DomainControlValidationRequestRejected", + "DomainControlValidationRequestTimedOut", "IssuingCertificate", "DeployingCertificate", + "CertificateDeployed", "DeletingCertificate", and "CertificateDeleted". + :vartype customHttpsProvisioningSubstate: Union[str, "CustomHttpsProvisioningSubstate"] + :ivar customHttpsConfiguration: The configuration specifying how to enable HTTPS. + :vartype customHttpsConfiguration: "CustomHttpsConfiguration" + """ + + resourceState: Union[str, "FrontDoorResourceState"] + """Resource status of the Front Door or Front Door SubResource. Known values are: \"Creating\", + \"Enabling\", \"Enabled\", \"Disabling\", \"Disabled\", \"Deleting\", \"Migrating\", and + \"Migrated\".""" + customHttpsProvisioningState: Union[str, "CustomHttpsProvisioningState"] + """Provisioning status of Custom Https of the frontendEndpoint. Known values are: \"Enabling\", + \"Enabled\", \"Disabling\", \"Disabled\", and \"Failed\".""" + customHttpsProvisioningSubstate: Union[str, "CustomHttpsProvisioningSubstate"] + """Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by + step. Known values are: \"SubmittingDomainControlValidationRequest\", + \"PendingDomainControlValidationREquestApproval\", \"DomainControlValidationRequestApproved\", + \"DomainControlValidationRequestRejected\", \"DomainControlValidationRequestTimedOut\", + \"IssuingCertificate\", \"DeployingCertificate\", \"CertificateDeployed\", + \"DeletingCertificate\", and \"CertificateDeleted\".""" + customHttpsConfiguration: "CustomHttpsConfiguration" + """The configuration specifying how to enable HTTPS.""" + + +class FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink( + TypedDict, total=False +): # pylint: disable=name-too-long + """Defines the Web Application Firewall policy for each host (if applicable). + + :ivar id: Resource ID. + :vartype id: str + """ + + id: str + """Resource ID.""" + + +class GroupByVariable(TypedDict, total=False): + """Describes the variables available to group the rate limit requests. + + :ivar variableName: Describes the supported variable for group by. Required. Known values are: + "SocketAddr", "GeoLocation", "None", "Asn", and "Ja4". + :vartype variableName: Union[str, "VariableName"] + """ + + variableName: Required[Union[str, "VariableName"]] + """Describes the supported variable for group by. Required. Known values are: \"SocketAddr\", + \"GeoLocation\", \"None\", \"Asn\", and \"Ja4\".""" + + +class HeaderAction(TypedDict, total=False): + """An action that can manipulate an http header. + + :ivar headerActionType: Which type of manipulation to apply to the header. Required. Known + values are: "Append", "Delete", and "Overwrite". + :vartype headerActionType: Union[str, "HeaderActionType"] + :ivar headerName: The name of the header this action will apply to. Required. + :vartype headerName: str + :ivar value: The value to update the given header name with. This value is not used if the + actionType is Delete. + :vartype value: str + """ + + headerActionType: Required[Union[str, "HeaderActionType"]] + """Which type of manipulation to apply to the header. Required. Known values are: \"Append\", + \"Delete\", and \"Overwrite\".""" + headerName: Required[str] + """The name of the header this action will apply to. Required.""" + value: str + """The value to update the given header name with. This value is not used if the actionType is + Delete.""" + + +class HealthProbeSettingsModel(SubResource): + """Load balancing settings for a backend pool. + + :ivar id: Resource ID. + :vartype id: str + :ivar properties: Properties of the health probe settings. + :vartype properties: "HealthProbeSettingsProperties" + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + """ + + properties: "HealthProbeSettingsProperties" + """Properties of the health probe settings.""" + name: str + """Resource name.""" + type: str + """Resource type.""" + + +class HealthProbeSettingsUpdateParameters(TypedDict, total=False): + """L7 health probe settings for a backend pool. + + :ivar path: The path to use for the health probe. Default is /. + :vartype path: str + :ivar protocol: Protocol scheme to use for this probe. Known values are: "Http" and "Https". + :vartype protocol: Union[str, "FrontDoorProtocol"] + :ivar intervalInSeconds: The number of seconds between health probes. + :vartype intervalInSeconds: int + :ivar healthProbeMethod: Configures which HTTP method to use to probe the backends defined + under backendPools. Known values are: "GET" and "HEAD". + :vartype healthProbeMethod: Union[str, "FrontDoorHealthProbeMethod"] + :ivar enabledState: Whether to enable health probes to be made against backends defined under + backendPools. Health probes can only be disabled if there is a single enabled backend in single + enabled backend pool. Known values are: "Enabled" and "Disabled". + :vartype enabledState: Union[str, "HealthProbeEnabled"] + """ + + path: str + """The path to use for the health probe. Default is /.""" + protocol: Union[str, "FrontDoorProtocol"] + """Protocol scheme to use for this probe. Known values are: \"Http\" and \"Https\".""" + intervalInSeconds: int + """The number of seconds between health probes.""" + healthProbeMethod: Union[str, "FrontDoorHealthProbeMethod"] + """Configures which HTTP method to use to probe the backends defined under backendPools. Known + values are: \"GET\" and \"HEAD\".""" + enabledState: Union[str, "HealthProbeEnabled"] + """Whether to enable health probes to be made against backends defined under backendPools. Health + probes can only be disabled if there is a single enabled backend in single enabled backend + pool. Known values are: \"Enabled\" and \"Disabled\".""" + + +class HealthProbeSettingsProperties(HealthProbeSettingsUpdateParameters): + """The JSON object that contains the properties required to create a health probe settings. + + :ivar path: The path to use for the health probe. Default is /. + :vartype path: str + :ivar protocol: Protocol scheme to use for this probe. Known values are: "Http" and "Https". + :vartype protocol: Union[str, "FrontDoorProtocol"] + :ivar intervalInSeconds: The number of seconds between health probes. + :vartype intervalInSeconds: int + :ivar healthProbeMethod: Configures which HTTP method to use to probe the backends defined + under backendPools. Known values are: "GET" and "HEAD". + :vartype healthProbeMethod: Union[str, "FrontDoorHealthProbeMethod"] + :ivar enabledState: Whether to enable health probes to be made against backends defined under + backendPools. Health probes can only be disabled if there is a single enabled backend in single + enabled backend pool. Known values are: "Enabled" and "Disabled". + :vartype enabledState: Union[str, "HealthProbeEnabled"] + :ivar resourceState: Resource status of the Front Door or Front Door SubResource. Known values + are: "Creating", "Enabling", "Enabled", "Disabling", "Disabled", "Deleting", "Migrating", and + "Migrated". + :vartype resourceState: Union[str, "FrontDoorResourceState"] + """ + + resourceState: Union[str, "FrontDoorResourceState"] + """Resource status of the Front Door or Front Door SubResource. Known values are: \"Creating\", + \"Enabling\", \"Enabled\", \"Disabling\", \"Disabled\", \"Deleting\", \"Migrating\", and + \"Migrated\".""" + + +class KeyVaultCertificateSourceParameters(TypedDict, total=False): + """Parameters required for bring-your-own-certification via Key Vault. + + :ivar vault: The Key Vault containing the SSL certificate. + :vartype vault: "KeyVaultCertificateSourceParametersVault" + :ivar secretName: The name of the Key Vault secret representing the full certificate PFX. + :vartype secretName: str + :ivar secretVersion: The version of the Key Vault secret representing the full certificate PFX. + :vartype secretVersion: str + """ + + vault: "KeyVaultCertificateSourceParametersVault" + """The Key Vault containing the SSL certificate.""" + secretName: str + """The name of the Key Vault secret representing the full certificate PFX.""" + secretVersion: str + """The version of the Key Vault secret representing the full certificate PFX.""" + + +class KeyVaultCertificateSourceParametersVault(TypedDict, total=False): + """The Key Vault containing the SSL certificate. + + :ivar id: Resource ID. + :vartype id: str + """ + + id: str + """Resource ID.""" + + +class LoadBalancingSettingsModel(SubResource): + """Load balancing settings for a backend pool. + + :ivar id: Resource ID. + :vartype id: str + :ivar properties: Properties of the load balancing settings. + :vartype properties: "LoadBalancingSettingsProperties" + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + """ + + properties: "LoadBalancingSettingsProperties" + """Properties of the load balancing settings.""" + name: str + """Resource name.""" + type: str + """Resource type.""" + + +class LoadBalancingSettingsUpdateParameters(TypedDict, total=False): + """Round-Robin load balancing settings for a backend pool. + + :ivar sampleSize: The number of samples to consider for load balancing decisions. + :vartype sampleSize: int + :ivar successfulSamplesRequired: The number of samples within the sample period that must + succeed. + :vartype successfulSamplesRequired: int + :ivar additionalLatencyMilliseconds: The additional latency in milliseconds for probes to fall + into the lowest latency bucket. + :vartype additionalLatencyMilliseconds: int + """ + + sampleSize: int + """The number of samples to consider for load balancing decisions.""" + successfulSamplesRequired: int + """The number of samples within the sample period that must succeed.""" + additionalLatencyMilliseconds: int + """The additional latency in milliseconds for probes to fall into the lowest latency bucket.""" + + +class LoadBalancingSettingsProperties(LoadBalancingSettingsUpdateParameters): + """The JSON object that contains the properties required to create load balancing settings. + + :ivar sampleSize: The number of samples to consider for load balancing decisions. + :vartype sampleSize: int + :ivar successfulSamplesRequired: The number of samples within the sample period that must + succeed. + :vartype successfulSamplesRequired: int + :ivar additionalLatencyMilliseconds: The additional latency in milliseconds for probes to fall + into the lowest latency bucket. + :vartype additionalLatencyMilliseconds: int + :ivar resourceState: Resource status of the Front Door or Front Door SubResource. Known values + are: "Creating", "Enabling", "Enabled", "Disabling", "Disabled", "Deleting", "Migrating", and + "Migrated". + :vartype resourceState: Union[str, "FrontDoorResourceState"] + """ + + resourceState: Union[str, "FrontDoorResourceState"] + """Resource status of the Front Door or Front Door SubResource. Known values are: \"Creating\", + \"Enabling\", \"Enabled\", \"Disabling\", \"Disabled\", \"Deleting\", \"Migrating\", and + \"Migrated\".""" + + +class ManagedRuleExclusion(TypedDict, total=False): + """Exclude variables from managed rule evaluation. + + :ivar matchVariable: The variable type to be excluded. Required. Known values are: + "RequestHeaderNames", "RequestCookieNames", "QueryStringArgNames", "RequestBodyPostArgNames", + and "RequestBodyJsonArgNames". + :vartype matchVariable: Union[str, "ManagedRuleExclusionMatchVariable"] + :ivar selectorMatchOperator: Comparison operator to apply to the selector when specifying which + elements in the collection this exclusion applies to. Required. Known values are: "Equals", + "Contains", "StartsWith", "EndsWith", and "EqualsAny". + :vartype selectorMatchOperator: Union[str, "ManagedRuleExclusionSelectorMatchOperator"] + :ivar selector: Selector value for which elements in the collection this exclusion applies to. + Required. + :vartype selector: str + """ + + matchVariable: Required[Union[str, "ManagedRuleExclusionMatchVariable"]] + """The variable type to be excluded. Required. Known values are: \"RequestHeaderNames\", + \"RequestCookieNames\", \"QueryStringArgNames\", \"RequestBodyPostArgNames\", and + \"RequestBodyJsonArgNames\".""" + selectorMatchOperator: Required[Union[str, "ManagedRuleExclusionSelectorMatchOperator"]] + """Comparison operator to apply to the selector when specifying which elements in the collection + this exclusion applies to. Required. Known values are: \"Equals\", \"Contains\", + \"StartsWith\", \"EndsWith\", and \"EqualsAny\".""" + selector: Required[str] + """Selector value for which elements in the collection this exclusion applies to. Required.""" + + +class ManagedRuleGroupOverride(TypedDict, total=False): + """Defines a managed rule group override setting. + + :ivar ruleGroupName: Describes the managed rule group to override. Required. + :vartype ruleGroupName: str + :ivar exclusions: Describes the exclusions that are applied to all rules in the group. + :vartype exclusions: list["ManagedRuleExclusion"] + :ivar rules: List of rules that will be disabled. If none specified, all rules in the group + will be disabled. + :vartype rules: list["ManagedRuleOverride"] + """ + + ruleGroupName: Required[str] + """Describes the managed rule group to override. Required.""" + exclusions: list["ManagedRuleExclusion"] + """Describes the exclusions that are applied to all rules in the group.""" + rules: list["ManagedRuleOverride"] + """List of rules that will be disabled. If none specified, all rules in the group will be + disabled.""" + + +class ManagedRuleOverride(TypedDict, total=False): + """Defines a managed rule group override setting. + + :ivar ruleId: Identifier for the managed rule. Required. + :vartype ruleId: str + :ivar enabledState: Describes if the managed rule is in enabled or disabled state. Defaults to + Disabled if not specified. Known values are: "Disabled" and "Enabled". + :vartype enabledState: Union[str, "ManagedRuleEnabledState"] + :ivar action: Describes the override action to be applied when rule matches. Known values are: + "Allow", "Block", "Log", "Redirect", "AnomalyScoring", "JSChallenge", and "CAPTCHA". + :vartype action: Union[str, "ActionType"] + :ivar sensitivity: Describes the override sensitivity to be applied when rule matches. Known + values are: "Low", "Medium", and "High". + :vartype sensitivity: Union[str, "SensitivityType"] + :ivar exclusions: Describes the exclusions that are applied to this specific rule. + :vartype exclusions: list["ManagedRuleExclusion"] + """ + + ruleId: Required[str] + """Identifier for the managed rule. Required.""" + enabledState: Union[str, "ManagedRuleEnabledState"] + """Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not + specified. Known values are: \"Disabled\" and \"Enabled\".""" + action: Union[str, "ActionType"] + """Describes the override action to be applied when rule matches. Known values are: \"Allow\", + \"Block\", \"Log\", \"Redirect\", \"AnomalyScoring\", \"JSChallenge\", and \"CAPTCHA\".""" + sensitivity: Union[str, "SensitivityType"] + """Describes the override sensitivity to be applied when rule matches. Known values are: \"Low\", + \"Medium\", and \"High\".""" + exclusions: list["ManagedRuleExclusion"] + """Describes the exclusions that are applied to this specific rule.""" + + +class ManagedRuleSet(TypedDict, total=False): + """Defines a managed rule set. + + :ivar ruleSetType: Defines the rule set type to use. Required. + :vartype ruleSetType: str + :ivar ruleSetVersion: Defines the version of the rule set to use. Required. + :vartype ruleSetVersion: str + :ivar ruleSetAction: ruleSetAction. Known values are: "Block", "Log", and "Redirect". + :vartype ruleSetAction: Union[str, "ManagedRuleSetActionType"] + :ivar exclusions: Describes the exclusions that are applied to all rules in the set. + :vartype exclusions: list["ManagedRuleExclusion"] + :ivar ruleGroupOverrides: Defines the rule group overrides to apply to the rule set. + :vartype ruleGroupOverrides: list["ManagedRuleGroupOverride"] + """ + + ruleSetType: Required[str] + """Defines the rule set type to use. Required.""" + ruleSetVersion: Required[str] + """Defines the version of the rule set to use. Required.""" + ruleSetAction: Union[str, "ManagedRuleSetActionType"] + """ruleSetAction. Known values are: \"Block\", \"Log\", and \"Redirect\".""" + exclusions: list["ManagedRuleExclusion"] + """Describes the exclusions that are applied to all rules in the set.""" + ruleGroupOverrides: list["ManagedRuleGroupOverride"] + """Defines the rule group overrides to apply to the rule set.""" + + +class ManagedRuleSetException(TypedDict, total=False): + """Excludes whole requests from managed rule evaluation according to match conditions. + + :ivar matchVariable: The variable to be evaluated for excluding the request. Required. Known + values are: "RequestUri", "SocketAddr", and "RequestHeaderNames". + :vartype matchVariable: Union[str, "ExceptionMatchVariable"] + :ivar selectorMatchOperator: Comparison operator to apply to the selector when specifying which + elements in the collection this exception applies to. "Equals" + :vartype selectorMatchOperator: Union[str, "ExceptionSelectorMatchOperator"] + :ivar selector: When matchVariable is a collection, operator used to specify which elements in + the collection this exception applies to. Currently supported only for RequestHeaderNames. + :vartype selector: str + :ivar valueMatchOperator: Comparison operator to apply to the value to be matched. Required. + Known values are: "Equals", "Contains", "StartsWith", "EndsWith", "EqualsAny", and "IPMatch". + :vartype valueMatchOperator: Union[str, "ExceptionValueMatchOperator"] + :ivar matchValues: List of values to be matched with. Required. + :vartype matchValues: list[str] + :ivar scopes: Scope(s) of the exception. Required. + :vartype scopes: list["ManagedRuleSetScope"] + """ + + matchVariable: Required[Union[str, "ExceptionMatchVariable"]] + """The variable to be evaluated for excluding the request. Required. Known values are: + \"RequestUri\", \"SocketAddr\", and \"RequestHeaderNames\".""" + selectorMatchOperator: Union[str, "ExceptionSelectorMatchOperator"] + """Comparison operator to apply to the selector when specifying which elements in the collection + this exception applies to. \"Equals\"""" + selector: str + """When matchVariable is a collection, operator used to specify which elements in the collection + this exception applies to. Currently supported only for RequestHeaderNames.""" + valueMatchOperator: Required[Union[str, "ExceptionValueMatchOperator"]] + """Comparison operator to apply to the value to be matched. Required. Known values are: + \"Equals\", \"Contains\", \"StartsWith\", \"EndsWith\", \"EqualsAny\", and \"IPMatch\".""" + matchValues: Required[list[str]] + """List of values to be matched with. Required.""" + scopes: Required[list["ManagedRuleSetScope"]] + """Scope(s) of the exception. Required.""" + + +class ManagedRuleSetExceptionList(TypedDict, total=False): + """Defines the list of exceptions for the managed rule sets. + + :ivar exceptions: List of exceptions. + :vartype exceptions: list["ManagedRuleSetException"] + """ + + exceptions: list["ManagedRuleSetException"] + """List of exceptions.""" + + +class ManagedRuleSetList(TypedDict, total=False): + """Defines the list of managed rule sets for the policy. + + :ivar managedRuleSets: List of rule sets. + :vartype managedRuleSets: list["ManagedRuleSet"] + :ivar exceptionsList: List of exceptions applied on the managed rule sets. + :vartype exceptionsList: "ManagedRuleSetExceptionList" + """ + + managedRuleSets: list["ManagedRuleSet"] + """List of rule sets.""" + exceptionsList: "ManagedRuleSetExceptionList" + """List of exceptions applied on the managed rule sets.""" + + +class ManagedRuleSetScope(TypedDict, total=False): + """Defines the scope of the managed rules. + + :ivar ruleSetType: Defines the rule set type. Examples: DefaultRuleSet, + Microsoft_DefaultRuleSet, Microsoft_BotManagerRuleSet, Microsoft_HTTPDDoSRuleSet, + BotProtection. Required. + :vartype ruleSetType: str + :ivar ruleSetVersion: Defines the version of the rule set. Required. + :vartype ruleSetVersion: str + :ivar ruleGroupScopes: List of rule group scopes. + :vartype ruleGroupScopes: list["RuleGroupScope"] + """ + + ruleSetType: Required[str] + """Defines the rule set type. Examples: DefaultRuleSet, Microsoft_DefaultRuleSet, + Microsoft_BotManagerRuleSet, Microsoft_HTTPDDoSRuleSet, BotProtection. Required.""" + ruleSetVersion: Required[str] + """Defines the version of the rule set. Required.""" + ruleGroupScopes: list["RuleGroupScope"] + """List of rule group scopes.""" + + +class MatchCondition(TypedDict, total=False): + """Define a match condition. + + :ivar matchVariable: Request variable to compare with. Required. Known values are: + "RemoteAddr", "RequestMethod", "QueryString", "PostArgs", "RequestUri", "RequestHeader", + "RequestBody", "Cookies", "SocketAddr", and "JA4". + :vartype matchVariable: Union[str, "MatchVariable"] + :ivar selector: Match against a specific key from the QueryString, PostArgs, RequestHeader or + Cookies variables. Default is null. + :vartype selector: str + :ivar operator: Comparison type to use for matching with the variable value. Required. Known + values are: "Any", "IPMatch", "GeoMatch", "Equal", "Contains", "LessThan", "GreaterThan", + "LessThanOrEqual", "GreaterThanOrEqual", "BeginsWith", "EndsWith", "RegEx", "ServiceTagMatch", + "AsnMatch", and "ClientFingerprint". + :vartype operator: Union[str, "Operator"] + :ivar negateCondition: Describes if the result of this condition should be negated. + :vartype negateCondition: bool + :ivar matchValue: List of possible match values. Required. + :vartype matchValue: list[str] + :ivar transforms: List of transforms. + :vartype transforms: list[Union[str, "TransformType"]] + """ + + matchVariable: Required[Union[str, "MatchVariable"]] + """Request variable to compare with. Required. Known values are: \"RemoteAddr\", + \"RequestMethod\", \"QueryString\", \"PostArgs\", \"RequestUri\", \"RequestHeader\", + \"RequestBody\", \"Cookies\", \"SocketAddr\", and \"JA4\".""" + selector: str + """Match against a specific key from the QueryString, PostArgs, RequestHeader or Cookies + variables. Default is null.""" + operator: Required[Union[str, "Operator"]] + """Comparison type to use for matching with the variable value. Required. Known values are: + \"Any\", \"IPMatch\", \"GeoMatch\", \"Equal\", \"Contains\", \"LessThan\", \"GreaterThan\", + \"LessThanOrEqual\", \"GreaterThanOrEqual\", \"BeginsWith\", \"EndsWith\", \"RegEx\", + \"ServiceTagMatch\", \"AsnMatch\", and \"ClientFingerprint\".""" + negateCondition: bool + """Describes if the result of this condition should be negated.""" + matchValue: Required[list[str]] + """List of possible match values. Required.""" + transforms: list[Union[str, "TransformType"]] + """List of transforms.""" + + +class PolicySettings(TypedDict, total=False): + """Defines top-level WebApplicationFirewallPolicy configuration settings. + + :ivar enabledState: Describes if the policy is in enabled or disabled state. Defaults to + Enabled if not specified. Known values are: "Disabled" and "Enabled". + :vartype enabledState: Union[str, "PolicyEnabledState"] + :ivar mode: Describes if it is in detection mode or prevention mode at policy level. Known + values are: "Prevention" and "Detection". + :vartype mode: Union[str, "PolicyMode"] + :ivar redirectUrl: If action type is redirect, this field represents redirect URL for the + client. + :vartype redirectUrl: str + :ivar customBlockResponseStatusCode: If the action type is block, customer can override the + response status code. + :vartype customBlockResponseStatusCode: int + :ivar customBlockResponseBody: If the action type is block, customer can override the response + body. The body must be specified in base64 encoding. + :vartype customBlockResponseBody: str + :ivar requestBodyCheck: Describes if policy managed rules will inspect the request body + content. Known values are: "Disabled" and "Enabled". + :vartype requestBodyCheck: Union[str, "PolicyRequestBodyCheck"] + :ivar javascriptChallengeExpirationInMinutes: Defines the JavaScript challenge cookie validity + lifetime in minutes. This setting is only applicable to Premium_AzureFrontDoor. Value must be + an integer between 5 and 1440 with the default value being 30. + :vartype javascriptChallengeExpirationInMinutes: int + :ivar captchaExpirationInMinutes: Defines the Captcha cookie validity lifetime in minutes. This + setting is only applicable to Premium_AzureFrontDoor. Value must be an integer between 5 and + 1440 with the default value being 30. + :vartype captchaExpirationInMinutes: int + :ivar logScrubbing: Defines rules that scrub sensitive fields in the Web Application Firewall + logs. + :vartype logScrubbing: "PolicySettingsLogScrubbing" + """ + + enabledState: Union[str, "PolicyEnabledState"] + """Describes if the policy is in enabled or disabled state. Defaults to Enabled if not specified. + Known values are: \"Disabled\" and \"Enabled\".""" + mode: Union[str, "PolicyMode"] + """Describes if it is in detection mode or prevention mode at policy level. Known values are: + \"Prevention\" and \"Detection\".""" + redirectUrl: str + """If action type is redirect, this field represents redirect URL for the client.""" + customBlockResponseStatusCode: int + """If the action type is block, customer can override the response status code.""" + customBlockResponseBody: str + """If the action type is block, customer can override the response body. The body must be + specified in base64 encoding.""" + requestBodyCheck: Union[str, "PolicyRequestBodyCheck"] + """Describes if policy managed rules will inspect the request body content. Known values are: + \"Disabled\" and \"Enabled\".""" + javascriptChallengeExpirationInMinutes: int + """Defines the JavaScript challenge cookie validity lifetime in minutes. This setting is only + applicable to Premium_AzureFrontDoor. Value must be an integer between 5 and 1440 with the + default value being 30.""" + captchaExpirationInMinutes: int + """Defines the Captcha cookie validity lifetime in minutes. This setting is only applicable to + Premium_AzureFrontDoor. Value must be an integer between 5 and 1440 with the default value + being 30.""" + logScrubbing: "PolicySettingsLogScrubbing" + """Defines rules that scrub sensitive fields in the Web Application Firewall logs.""" + + +class PolicySettingsLogScrubbing(TypedDict, total=False): + """Defines rules that scrub sensitive fields in the Web Application Firewall logs. + + :ivar state: State of the log scrubbing config. Default value is Enabled. Known values are: + "Enabled" and "Disabled". + :vartype state: Union[str, "WebApplicationFirewallScrubbingState"] + :ivar scrubbingRules: List of log scrubbing rules applied to the Web Application Firewall logs. + :vartype scrubbingRules: list["WebApplicationFirewallScrubbingRules"] + """ + + state: Union[str, "WebApplicationFirewallScrubbingState"] + """State of the log scrubbing config. Default value is Enabled. Known values are: \"Enabled\" and + \"Disabled\".""" + scrubbingRules: list["WebApplicationFirewallScrubbingRules"] + """List of log scrubbing rules applied to the Web Application Firewall logs.""" + + +class ResourcewithSettableName(TypedDict, total=False): + """Common resource representation. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar location: Resource location. + :vartype location: str + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + id: str + """Resource ID.""" + name: str + """Resource name.""" + type: str + """Resource type.""" + location: str + """Resource location.""" + tags: dict[str, str] + """Resource tags.""" + + +class Profile(ResourcewithSettableName): + """Defines an Network Experiment Profile and lists of Experiments. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar location: Resource location. + :vartype location: str + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar properties: The properties of a Profile. + :vartype properties: "ProfileProperties" + :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. + :vartype etag: str + """ + + properties: "ProfileProperties" + """The properties of a Profile.""" + etag: str + """Gets a unique read-only string that changes whenever the resource is updated.""" + + +class ProfileProperties(TypedDict, total=False): + """Defines the properties of an experiment. + + :ivar resourceState: Resource status. Known values are: "Creating", "Enabling", "Enabled", + "Disabling", "Disabled", and "Deleting". + :vartype resourceState: Union[str, "NetworkExperimentResourceState"] + :ivar enabledState: The state of the Experiment. Known values are: "Enabled" and "Disabled". + :vartype enabledState: Union[str, "State"] + """ + + resourceState: Union[str, "NetworkExperimentResourceState"] + """Resource status. Known values are: \"Creating\", \"Enabling\", \"Enabled\", \"Disabling\", + \"Disabled\", and \"Deleting\".""" + enabledState: Union[str, "State"] + """The state of the Experiment. Known values are: \"Enabled\" and \"Disabled\".""" + + +class ProfileUpdateModel(TypedDict, total=False): + """Defines modifiable attributes of a Profile. + + :ivar properties: The properties of a Profile. + :vartype properties: "ProfileUpdateProperties" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + properties: "ProfileUpdateProperties" + """The properties of a Profile.""" + tags: dict[str, str] + """Resource tags.""" + + +class ProfileUpdateProperties(TypedDict, total=False): + """Defines the properties of an experiment. + + :ivar enabledState: The enabled state of the Profile. Known values are: "Enabled" and + "Disabled". + :vartype enabledState: Union[str, "State"] + """ + + enabledState: Union[str, "State"] + """The enabled state of the Profile. Known values are: \"Enabled\" and \"Disabled\".""" + + +class PurgeParameters(TypedDict, total=False): + """Parameters required for content purge. + + :ivar contentPaths: The path to the content to be purged. Can describe a file path or a wild + card directory. Required. + :vartype contentPaths: list[str] + """ + + contentPaths: Required[list[str]] + """The path to the content to be purged. Can describe a file path or a wild card directory. + Required.""" + + +RedirectConfiguration = TypedDict( + "RedirectConfiguration", + { + "redirectType": Union[str, "FrontDoorRedirectType"], + "redirectProtocol": Union[str, "FrontDoorRedirectProtocol"], + "customHost": str, + "customPath": str, + "customFragment": str, + "customQueryString": str, + "@odata.type": Required[Literal["#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"]], + }, + total=False, +) +RedirectConfiguration.__doc__ = """Describes Redirect Route. + +:ivar redirectType: The redirect type the rule will use when redirecting traffic. Known values + are: "Moved", "Found", "TemporaryRedirect", and "PermanentRedirect". +:vartype redirectType: Union[str, "FrontDoorRedirectType"] +:ivar redirectProtocol: The protocol of the destination to where the traffic is redirected. + Known values are: "HttpOnly", "HttpsOnly", and "MatchRequest". +:vartype redirectProtocol: Union[str, "FrontDoorRedirectProtocol"] +:ivar customHost: Host to redirect. Leave empty to use the incoming host as the destination + host. +:vartype customHost: str +:ivar customPath: The full path to redirect. Path cannot be empty and must start with /. Leave + empty to use the incoming path as destination path. +:vartype customPath: str +:ivar customFragment: Fragment to add to the redirect URL. Fragment is the part of the URL that + comes after #. Do not include the #. +:vartype customFragment: str +:ivar customQueryString: The set of query strings to be placed in the redirect URL. Setting + this value would replace any existing query string; leave empty to preserve the incoming query + string. Query string must be in = format. The first ? and & will be added + automatically so do not include them in the front, but do separate multiple query strings with + &. +:vartype customQueryString: str +:ivar ``@odata.type``: Required. Default value is + "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration". +:vartype ``@odata.type``: + Literal["#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"] +""" + + +class RoutingRule(SubResource): + """A routing rule represents a specification for traffic to treat and where to send it, along with + health probe information. + + :ivar id: Resource ID. + :vartype id: str + :ivar properties: Properties of the Front Door Routing Rule. + :vartype properties: "RoutingRuleProperties" + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + """ + + properties: "RoutingRuleProperties" + """Properties of the Front Door Routing Rule.""" + name: str + """Resource name.""" + type: str + """Resource type.""" + + +class RoutingRuleLink(TypedDict, total=False): + """Defines the Resource ID for a Routing Rule. + + :ivar id: Resource ID. + :vartype id: str + """ + + id: str + """Resource ID.""" + + +class RoutingRuleUpdateParameters(TypedDict, total=False): + """Routing rules to apply to an endpoint. + + :ivar frontendEndpoints: Frontend endpoints associated with this rule. + :vartype frontendEndpoints: list["SubResource"] + :ivar acceptedProtocols: Protocol schemes to match for this rule. + :vartype acceptedProtocols: list[Union[str, "FrontDoorProtocol"]] + :ivar patternsToMatch: The route patterns of the rule. + :vartype patternsToMatch: list[str] + :ivar enabledState: Whether to enable use of this rule. Permitted values are 'Enabled' or + 'Disabled'. Known values are: "Enabled" and "Disabled". + :vartype enabledState: Union[str, "RoutingRuleEnabledState"] + :ivar routeConfiguration: A reference to the routing configuration. + :vartype routeConfiguration: "RouteConfiguration" + :ivar rulesEngine: A reference to a specific Rules Engine Configuration to apply to this route. + :vartype rulesEngine: "SubResource" + :ivar webApplicationFirewallPolicyLink: Defines the Web Application Firewall policy for each + routing rule (if applicable). + :vartype webApplicationFirewallPolicyLink: + "RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink" + """ + + frontendEndpoints: list["SubResource"] + """Frontend endpoints associated with this rule.""" + acceptedProtocols: list[Union[str, "FrontDoorProtocol"]] + """Protocol schemes to match for this rule.""" + patternsToMatch: list[str] + """The route patterns of the rule.""" + enabledState: Union[str, "RoutingRuleEnabledState"] + """Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'. Known values + are: \"Enabled\" and \"Disabled\".""" + routeConfiguration: "RouteConfiguration" + """A reference to the routing configuration.""" + rulesEngine: "SubResource" + """A reference to a specific Rules Engine Configuration to apply to this route.""" + webApplicationFirewallPolicyLink: "RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink" + """Defines the Web Application Firewall policy for each routing rule (if applicable).""" + + +class RoutingRuleProperties(RoutingRuleUpdateParameters): + """The JSON object that contains the properties required to create a routing rule. + + :ivar frontendEndpoints: Frontend endpoints associated with this rule. + :vartype frontendEndpoints: list["SubResource"] + :ivar acceptedProtocols: Protocol schemes to match for this rule. + :vartype acceptedProtocols: list[Union[str, "FrontDoorProtocol"]] + :ivar patternsToMatch: The route patterns of the rule. + :vartype patternsToMatch: list[str] + :ivar enabledState: Whether to enable use of this rule. Permitted values are 'Enabled' or + 'Disabled'. Known values are: "Enabled" and "Disabled". + :vartype enabledState: Union[str, "RoutingRuleEnabledState"] + :ivar routeConfiguration: A reference to the routing configuration. + :vartype routeConfiguration: "RouteConfiguration" + :ivar rulesEngine: A reference to a specific Rules Engine Configuration to apply to this route. + :vartype rulesEngine: "SubResource" + :ivar webApplicationFirewallPolicyLink: Defines the Web Application Firewall policy for each + routing rule (if applicable). + :vartype webApplicationFirewallPolicyLink: + "RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink" + :ivar resourceState: Resource status of the Front Door or Front Door SubResource. Known values + are: "Creating", "Enabling", "Enabled", "Disabling", "Disabled", "Deleting", "Migrating", and + "Migrated". + :vartype resourceState: Union[str, "FrontDoorResourceState"] + """ + + resourceState: Union[str, "FrontDoorResourceState"] + """Resource status of the Front Door or Front Door SubResource. Known values are: \"Creating\", + \"Enabling\", \"Enabled\", \"Disabling\", \"Disabled\", \"Deleting\", \"Migrating\", and + \"Migrated\".""" + + +class RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink( + TypedDict, total=False +): # pylint: disable=name-too-long + """Defines the Web Application Firewall policy for each routing rule (if applicable). + + :ivar id: Resource ID. + :vartype id: str + """ + + id: str + """Resource ID.""" + + +class RuleGroupScope(TypedDict, total=False): + """Defines the scope of the rule group. + + :ivar ruleGroupName: Defines the rule group name. Required. + :vartype ruleGroupName: str + :ivar ruleScopes: List of rule scopes. + :vartype ruleScopes: list["RuleScope"] + """ + + ruleGroupName: Required[str] + """Defines the rule group name. Required.""" + ruleScopes: list["RuleScope"] + """List of rule scopes.""" + + +class RuleScope(TypedDict, total=False): + """Defines the scope of the rule. + + :ivar ruleId: Defines the rule id. Required. + :vartype ruleId: str + """ + + ruleId: Required[str] + """Defines the rule id. Required.""" + + +class RulesEngine(BasicResource): + """A rules engine configuration containing a list of rules that will run to modify the runtime + behavior of the request and response. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar properties: Properties of the Rules Engine Configuration. + :vartype properties: "RulesEngineProperties" + """ + + properties: "RulesEngineProperties" + """Properties of the Rules Engine Configuration.""" + + +class RulesEngineAction(TypedDict, total=False): + """One or more actions that will execute, modifying the request and/or response. + + :ivar requestHeaderActions: A list of header actions to apply from the request from AFD to the + origin. + :vartype requestHeaderActions: list["HeaderAction"] + :ivar responseHeaderActions: A list of header actions to apply from the response from AFD to + the client. + :vartype responseHeaderActions: list["HeaderAction"] + :ivar routeConfigurationOverride: Override the route configuration. + :vartype routeConfigurationOverride: "RouteConfiguration" + """ + + requestHeaderActions: list["HeaderAction"] + """A list of header actions to apply from the request from AFD to the origin.""" + responseHeaderActions: list["HeaderAction"] + """A list of header actions to apply from the response from AFD to the client.""" + routeConfigurationOverride: "RouteConfiguration" + """Override the route configuration.""" + + +class RulesEngineMatchCondition(TypedDict, total=False): + """Define a match condition. + + :ivar rulesEngineMatchVariable: Match Variable. Required. Known values are: "IsMobile", + "RemoteAddr", "RequestMethod", "QueryString", "PostArgs", "RequestUri", "RequestPath", + "RequestFilename", "RequestFilenameExtension", "RequestHeader", "RequestBody", and + "RequestScheme". + :vartype rulesEngineMatchVariable: Union[str, "RulesEngineMatchVariable"] + :ivar selector: Name of selector in RequestHeader or RequestBody to be matched. + :vartype selector: str + :ivar rulesEngineOperator: Describes operator to apply to the match condition. Required. Known + values are: "Any", "IPMatch", "GeoMatch", "Equal", "Contains", "LessThan", "GreaterThan", + "LessThanOrEqual", "GreaterThanOrEqual", "BeginsWith", and "EndsWith". + :vartype rulesEngineOperator: Union[str, "RulesEngineOperator"] + :ivar negateCondition: Describes if this is negate condition or not. + :vartype negateCondition: bool + :ivar rulesEngineMatchValue: Match values to match against. The operator will apply to each + value in here with OR semantics. If any of them match the variable with the given operator this + match condition is considered a match. Required. + :vartype rulesEngineMatchValue: list[str] + :ivar transforms: List of transforms. + :vartype transforms: list[Union[str, "Transform"]] + """ + + rulesEngineMatchVariable: Required[Union[str, "RulesEngineMatchVariable"]] + """Match Variable. Required. Known values are: \"IsMobile\", \"RemoteAddr\", \"RequestMethod\", + \"QueryString\", \"PostArgs\", \"RequestUri\", \"RequestPath\", \"RequestFilename\", + \"RequestFilenameExtension\", \"RequestHeader\", \"RequestBody\", and \"RequestScheme\".""" + selector: str + """Name of selector in RequestHeader or RequestBody to be matched.""" + rulesEngineOperator: Required[Union[str, "RulesEngineOperator"]] + """Describes operator to apply to the match condition. Required. Known values are: \"Any\", + \"IPMatch\", \"GeoMatch\", \"Equal\", \"Contains\", \"LessThan\", \"GreaterThan\", + \"LessThanOrEqual\", \"GreaterThanOrEqual\", \"BeginsWith\", and \"EndsWith\".""" + negateCondition: bool + """Describes if this is negate condition or not.""" + rulesEngineMatchValue: Required[list[str]] + """Match values to match against. The operator will apply to each value in here with OR semantics. + If any of them match the variable with the given operator this match condition is considered a + match. Required.""" + transforms: list[Union[str, "Transform"]] + """List of transforms.""" + + +class RulesEngineUpdateParameters(TypedDict, total=False): + """Rules Engine Configuration to apply to a Routing Rule. + + :ivar rules: A list of rules that define a particular Rules Engine Configuration. + :vartype rules: list["RulesEngineRule"] + """ + + rules: list["RulesEngineRule"] + """A list of rules that define a particular Rules Engine Configuration.""" + + +class RulesEngineProperties(RulesEngineUpdateParameters): + """The JSON object that contains the properties required to create a Rules Engine Configuration. + + :ivar rules: A list of rules that define a particular Rules Engine Configuration. + :vartype rules: list["RulesEngineRule"] + :ivar resourceState: Resource status of the Front Door or Front Door SubResource. Known values + are: "Creating", "Enabling", "Enabled", "Disabling", "Disabled", "Deleting", "Migrating", and + "Migrated". + :vartype resourceState: Union[str, "FrontDoorResourceState"] + """ + + resourceState: Union[str, "FrontDoorResourceState"] + """Resource status of the Front Door or Front Door SubResource. Known values are: \"Creating\", + \"Enabling\", \"Enabled\", \"Disabling\", \"Disabled\", \"Deleting\", \"Migrating\", and + \"Migrated\".""" + + +class RulesEngineRule(TypedDict, total=False): + """Contains a list of match conditions, and an action on how to modify the request/response. If + multiple rules match, the actions from one rule that conflict with a previous rule overwrite + for a singular action, or append in the case of headers manipulation. + + :ivar name: A name to refer to this specific rule. Required. + :vartype name: str + :ivar priority: A priority assigned to this rule. Required. + :vartype priority: int + :ivar action: Actions to perform on the request and response if all of the match conditions are + met. Required. + :vartype action: "RulesEngineAction" + :ivar matchConditions: A list of match conditions that must meet in order for the actions of + this rule to run. Having no match conditions means the actions will always run. + :vartype matchConditions: list["RulesEngineMatchCondition"] + :ivar matchProcessingBehavior: If this rule is a match should the rules engine continue running + the remaining rules or stop. If not present, defaults to Continue. Known values are: "Continue" + and "Stop". + :vartype matchProcessingBehavior: Union[str, "MatchProcessingBehavior"] + """ + + name: Required[str] + """A name to refer to this specific rule. Required.""" + priority: Required[int] + """A priority assigned to this rule. Required.""" + action: Required["RulesEngineAction"] + """Actions to perform on the request and response if all of the match conditions are met. + Required.""" + matchConditions: list["RulesEngineMatchCondition"] + """A list of match conditions that must meet in order for the actions of this rule to run. Having + no match conditions means the actions will always run.""" + matchProcessingBehavior: Union[str, "MatchProcessingBehavior"] + """If this rule is a match should the rules engine continue running the remaining rules or stop. + If not present, defaults to Continue. Known values are: \"Continue\" and \"Stop\".""" + + +class SecurityPolicyLink(TypedDict, total=False): + """Defines the Resource ID for a Security Policy. + + :ivar id: Resource ID. + :vartype id: str + """ + + id: str + """Resource ID.""" + + +class Sku(TypedDict, total=False): + """The pricing tier of the web application firewall policy. + + :ivar name: Name of the pricing tier. Known values are: "Classic_AzureFrontDoor", + "Standard_AzureFrontDoor", and "Premium_AzureFrontDoor". + :vartype name: Union[str, "SkuName"] + """ + + name: Union[str, "SkuName"] + """Name of the pricing tier. Known values are: \"Classic_AzureFrontDoor\", + \"Standard_AzureFrontDoor\", and \"Premium_AzureFrontDoor\".""" + + +class TagsObject(TypedDict, total=False): + """Tags object for patch operations. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + tags: dict[str, str] + """Resource tags.""" + + +class ValidateCustomDomainInput(TypedDict, total=False): + """Input of the custom domain to be validated for DNS mapping. + + :ivar hostName: The host name of the custom domain. Must be a domain name. Required. + :vartype hostName: str + """ + + hostName: Required[str] + """The host name of the custom domain. Must be a domain name. Required.""" + + +class WebApplicationFirewallPolicy(Resource): + """Defines web application firewall policy. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar location: Resource location. + :vartype location: str + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar properties: Properties of the web application firewall policy. + :vartype properties: "WebApplicationFirewallPolicyProperties" + :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. + :vartype etag: str + :ivar sku: The pricing tier of web application firewall policy. Defaults to + Classic_AzureFrontDoor if not specified. + :vartype sku: "Sku" + """ + + properties: "WebApplicationFirewallPolicyProperties" + """Properties of the web application firewall policy.""" + etag: str + """Gets a unique read-only string that changes whenever the resource is updated.""" + sku: "Sku" + """The pricing tier of web application firewall policy. Defaults to Classic_AzureFrontDoor if not + specified.""" + + +class WebApplicationFirewallPolicyProperties(TypedDict, total=False): + """Defines web application firewall policy properties. + + :ivar policySettings: Describes settings for the policy. + :vartype policySettings: "PolicySettings" + :ivar customRules: Describes custom rules inside the policy. + :vartype customRules: "CustomRuleList" + :ivar managedRules: Describes managed rules inside the policy. + :vartype managedRules: "ManagedRuleSetList" + :ivar frontendEndpointLinks: Describes Frontend Endpoints associated with this Web Application + Firewall policy. + :vartype frontendEndpointLinks: list["FrontendEndpointLink"] + :ivar routingRuleLinks: Describes Routing Rules associated with this Web Application Firewall + policy. + :vartype routingRuleLinks: list["RoutingRuleLink"] + :ivar securityPolicyLinks: Describes Security Policy associated with this Web Application + Firewall policy. + :vartype securityPolicyLinks: list["SecurityPolicyLink"] + :ivar provisioningState: Provisioning state of the policy. + :vartype provisioningState: str + :ivar resourceState: Resource status of the policy. Known values are: "Creating", "Enabling", + "Enabled", "Disabling", "Disabled", and "Deleting". + :vartype resourceState: Union[str, "PolicyResourceState"] + """ + + policySettings: "PolicySettings" + """Describes settings for the policy.""" + customRules: "CustomRuleList" + """Describes custom rules inside the policy.""" + managedRules: "ManagedRuleSetList" + """Describes managed rules inside the policy.""" + frontendEndpointLinks: list["FrontendEndpointLink"] + """Describes Frontend Endpoints associated with this Web Application Firewall policy.""" + routingRuleLinks: list["RoutingRuleLink"] + """Describes Routing Rules associated with this Web Application Firewall policy.""" + securityPolicyLinks: list["SecurityPolicyLink"] + """Describes Security Policy associated with this Web Application Firewall policy.""" + provisioningState: str + """Provisioning state of the policy.""" + resourceState: Union[str, "PolicyResourceState"] + """Resource status of the policy. Known values are: \"Creating\", \"Enabling\", \"Enabled\", + \"Disabling\", \"Disabled\", and \"Deleting\".""" + + +class WebApplicationFirewallScrubbingRules(TypedDict, total=False): + """Defines the contents of the log scrubbing rules. + + :ivar matchVariable: The variable to be scrubbed from the logs. Required. Known values are: + "RequestIPAddress", "RequestUri", "QueryStringArgNames", "RequestHeaderNames", + "RequestCookieNames", "RequestBodyPostArgNames", and "RequestBodyJsonArgNames". + :vartype matchVariable: Union[str, "ScrubbingRuleEntryMatchVariable"] + :ivar selectorMatchOperator: When matchVariable is a collection, operate on the selector to + specify which elements in the collection this rule applies to. Required. Known values are: + "EqualsAny" and "Equals". + :vartype selectorMatchOperator: Union[str, "ScrubbingRuleEntryMatchOperator"] + :ivar selector: When matchVariable is a collection, operator used to specify which elements in + the collection this rule applies to. + :vartype selector: str + :ivar state: Defines the state of a log scrubbing rule. Default value is enabled. Known values + are: "Enabled" and "Disabled". + :vartype state: Union[str, "ScrubbingRuleEntryState"] + """ + + matchVariable: Required[Union[str, "ScrubbingRuleEntryMatchVariable"]] + """The variable to be scrubbed from the logs. Required. Known values are: \"RequestIPAddress\", + \"RequestUri\", \"QueryStringArgNames\", \"RequestHeaderNames\", \"RequestCookieNames\", + \"RequestBodyPostArgNames\", and \"RequestBodyJsonArgNames\".""" + selectorMatchOperator: Required[Union[str, "ScrubbingRuleEntryMatchOperator"]] + """When matchVariable is a collection, operate on the selector to specify which elements in the + collection this rule applies to. Required. Known values are: \"EqualsAny\" and \"Equals\".""" + selector: str + """When matchVariable is a collection, operator used to specify which elements in the collection + this rule applies to.""" + state: Union[str, "ScrubbingRuleEntryState"] + """Defines the state of a log scrubbing rule. Default value is enabled. Known values are: + \"Enabled\" and \"Disabled\".""" + + +RouteConfiguration = Union[ForwardingConfiguration, RedirectConfiguration] diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/check_frontdoor_name_availability.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/check_frontdoor_name_availability.py index 8b4b56c2b029..c40bf0752f29 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/check_frontdoor_name_availability.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/check_frontdoor_name_availability.py @@ -36,6 +36,6 @@ def main(): print(response) -# x-ms-original-file: 2025-10-01/CheckFrontdoorNameAvailability.json +# x-ms-original-file: 2026-04-01/CheckFrontdoorNameAvailability.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/check_frontdoor_name_availability_with_subscription.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/check_frontdoor_name_availability_with_subscription.py index e7c369994c90..40370fbdc95e 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/check_frontdoor_name_availability_with_subscription.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/check_frontdoor_name_availability_with_subscription.py @@ -39,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: 2025-10-01/CheckFrontdoorNameAvailabilityWithSubscription.json +# x-ms-original-file: 2026-04-01/CheckFrontdoorNameAvailabilityWithSubscription.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_create.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_create.py index d823e84f3fe5..8d8521dea6bf 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_create.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_create.py @@ -146,6 +146,6 @@ def main(): print(response) -# x-ms-original-file: 2025-10-01/FrontdoorCreate.json +# x-ms-original-file: 2026-04-01/FrontdoorCreate.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_delete.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_delete.py index ad0bdcc31656..b212b6b28d4b 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_delete.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_delete.py @@ -36,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: 2025-10-01/FrontdoorDelete.json +# x-ms-original-file: 2026-04-01/FrontdoorDelete.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_disable_https.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_disable_https.py index 8dd5f40ee135..80916e2e3733 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_disable_https.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_disable_https.py @@ -37,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: 2025-10-01/FrontdoorDisableHttps.json +# x-ms-original-file: 2026-04-01/FrontdoorDisableHttps.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_enable_https.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_enable_https.py index 0685e34adb14..1e2146ea0213 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_enable_https.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_enable_https.py @@ -47,6 +47,6 @@ def main(): ).result() -# x-ms-original-file: 2025-10-01/FrontdoorEnableHttps.json +# x-ms-original-file: 2026-04-01/FrontdoorEnableHttps.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_frontend_endpoint_get.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_frontend_endpoint_get.py index c3b2d402eaaa..95b9acfd6e6b 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_frontend_endpoint_get.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_frontend_endpoint_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-10-01/FrontdoorFrontendEndpointGet.json +# x-ms-original-file: 2026-04-01/FrontdoorFrontendEndpointGet.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_frontend_endpoint_list.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_frontend_endpoint_list.py index 82db3c7eb6e3..69233e8befc3 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_frontend_endpoint_list.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_frontend_endpoint_list.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2025-10-01/FrontdoorFrontendEndpointList.json +# x-ms-original-file: 2026-04-01/FrontdoorFrontendEndpointList.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_get.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_get.py index 518d95ab8df5..ca334fc53bfb 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_get.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-10-01/FrontdoorGet.json +# x-ms-original-file: 2026-04-01/FrontdoorGet.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_list.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_list.py index ac8b5ff9e95b..ce4c209decd8 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_list.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_list.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2025-10-01/FrontdoorList.json +# x-ms-original-file: 2026-04-01/FrontdoorList.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_list_all.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_list_all.py index 18f0d710f140..40d847b4b4f4 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_list_all.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_list_all.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2025-10-01/FrontdoorListAll.json +# x-ms-original-file: 2026-04-01/FrontdoorListAll.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_purge_content.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_purge_content.py index 0085b6c9bd68..643aa2c47861 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_purge_content.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_purge_content.py @@ -37,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: 2025-10-01/FrontdoorPurgeContent.json +# x-ms-original-file: 2026-04-01/FrontdoorPurgeContent.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_rules_engine_create.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_rules_engine_create.py index c8637f892539..4468bb3d77ff 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_rules_engine_create.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_rules_engine_create.py @@ -119,6 +119,6 @@ def main(): print(response) -# x-ms-original-file: 2025-10-01/FrontdoorRulesEngineCreate.json +# x-ms-original-file: 2026-04-01/FrontdoorRulesEngineCreate.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_rules_engine_delete.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_rules_engine_delete.py index db33deb963ae..826484a3e20a 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_rules_engine_delete.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_rules_engine_delete.py @@ -37,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: 2025-10-01/FrontdoorRulesEngineDelete.json +# x-ms-original-file: 2026-04-01/FrontdoorRulesEngineDelete.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_rules_engine_get.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_rules_engine_get.py index 6b079ab07faa..e0b40e03718a 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_rules_engine_get.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_rules_engine_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-10-01/FrontdoorRulesEngineGet.json +# x-ms-original-file: 2026-04-01/FrontdoorRulesEngineGet.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_rules_engine_list.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_rules_engine_list.py index dd35579b2c2d..35cf8383fce1 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_rules_engine_list.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_rules_engine_list.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2025-10-01/FrontdoorRulesEngineList.json +# x-ms-original-file: 2026-04-01/FrontdoorRulesEngineList.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_validate_custom_domain.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_validate_custom_domain.py index 83f0ccfb20f9..9435c22cd899 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_validate_custom_domain.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_validate_custom_domain.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-10-01/FrontdoorValidateCustomDomain.json +# x-ms-original-file: 2026-04-01/FrontdoorValidateCustomDomain.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_create_experiment.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_create_experiment.py index b24b5a2ce43b..c3bbbafd494d 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_create_experiment.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_create_experiment.py @@ -46,6 +46,6 @@ def main(): print(response) -# x-ms-original-file: 2025-10-01/NetworkExperimentCreateExperiment.json +# x-ms-original-file: 2026-04-01/NetworkExperimentCreateExperiment.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_create_profile.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_create_profile.py index 48a38a49020e..6849bd192814 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_create_profile.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_create_profile.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-10-01/NetworkExperimentCreateProfile.json +# x-ms-original-file: 2026-04-01/NetworkExperimentCreateProfile.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_delete_experiment.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_delete_experiment.py index 028160f9d66b..9b8898eff95f 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_delete_experiment.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_delete_experiment.py @@ -37,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: 2025-10-01/NetworkExperimentDeleteExperiment.json +# x-ms-original-file: 2026-04-01/NetworkExperimentDeleteExperiment.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_delete_profile.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_delete_profile.py index a8f67784e41b..fd445b3eb71c 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_delete_profile.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_delete_profile.py @@ -36,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: 2025-10-01/NetworkExperimentDeleteProfile.json +# x-ms-original-file: 2026-04-01/NetworkExperimentDeleteProfile.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_get_experiment.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_get_experiment.py index a8cf080a62bf..f8472910c737 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_get_experiment.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_get_experiment.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-10-01/NetworkExperimentGetExperiment.json +# x-ms-original-file: 2026-04-01/NetworkExperimentGetExperiment.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_get_latency_scorecard.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_get_latency_scorecard.py index 64901324c760..3c2a1e30ce4d 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_get_latency_scorecard.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_get_latency_scorecard.py @@ -39,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: 2025-10-01/NetworkExperimentGetLatencyScorecard.json +# x-ms-original-file: 2026-04-01/NetworkExperimentGetLatencyScorecard.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_get_preconfigured_endpoints.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_get_preconfigured_endpoints.py index b8445c8bdc2a..b73e43c9edc6 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_get_preconfigured_endpoints.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_get_preconfigured_endpoints.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2025-10-01/NetworkExperimentGetPreconfiguredEndpoints.json +# x-ms-original-file: 2026-04-01/NetworkExperimentGetPreconfiguredEndpoints.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_get_profile.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_get_profile.py index c7a453b1c4c1..47f1f23640de 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_get_profile.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_get_profile.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-10-01/NetworkExperimentGetProfile.json +# x-ms-original-file: 2026-04-01/NetworkExperimentGetProfile.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_get_timeseries.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_get_timeseries.py index f6efe7134b3b..5139e54d4fec 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_get_timeseries.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_get_timeseries.py @@ -44,6 +44,6 @@ def main(): print(response) -# x-ms-original-file: 2025-10-01/NetworkExperimentGetTimeseries.json +# x-ms-original-file: 2026-04-01/NetworkExperimentGetTimeseries.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_list_by_resource_group_profiles.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_list_by_resource_group_profiles.py index 1d066e10f5ae..1793059767f4 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_list_by_resource_group_profiles.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_list_by_resource_group_profiles.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2025-10-01/NetworkExperimentListByResourceGroupProfiles.json +# x-ms-original-file: 2026-04-01/NetworkExperimentListByResourceGroupProfiles.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_list_experiments.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_list_experiments.py index f9c7768ea9db..5f72a13ecbd4 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_list_experiments.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_list_experiments.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2025-10-01/NetworkExperimentListExperiments.json +# x-ms-original-file: 2026-04-01/NetworkExperimentListExperiments.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_list_profiles.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_list_profiles.py index 6c77884f5084..847e415741fc 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_list_profiles.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_list_profiles.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2025-10-01/NetworkExperimentListProfiles.json +# x-ms-original-file: 2026-04-01/NetworkExperimentListProfiles.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_update_experiment.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_update_experiment.py index c144fb53fdb4..605b02e73116 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_update_experiment.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_update_experiment.py @@ -39,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: 2025-10-01/NetworkExperimentUpdateExperiment.json +# x-ms-original-file: 2026-04-01/NetworkExperimentUpdateExperiment.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_update_profile.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_update_profile.py index db94dfe584a5..bcd9836abb45 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_update_profile.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/network_experiment_update_profile.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-10-01/NetworkExperimentUpdateProfile.json +# x-ms-original-file: 2026-04-01/NetworkExperimentUpdateProfile.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_list_managed_rule_sets.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_list_managed_rule_sets.py index 4ade61c4862e..78b89cb3e066 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_list_managed_rule_sets.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_list_managed_rule_sets.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2025-10-01/WafListManagedRuleSets.json +# x-ms-original-file: 2026-04-01/WafListManagedRuleSets.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_list_policies.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_list_policies.py index e4ea1057c07d..7ceb4b7fbc82 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_list_policies.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_list_policies.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2025-10-01/WafListPolicies.json +# x-ms-original-file: 2026-04-01/WafListPolicies.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_list_policies_under_subscription.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_list_policies_under_subscription.py index 0d3f443bc1fc..ced0b5c80fea 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_list_policies_under_subscription.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_list_policies_under_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2025-10-01/WafListPoliciesUnderSubscription.json +# x-ms-original-file: 2026-04-01/WafListPoliciesUnderSubscription.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_policy_create_or_update.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_policy_create_or_update.py index 75073d81f267..9e5780e70fda 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_policy_create_or_update.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_policy_create_or_update.py @@ -86,6 +86,21 @@ def main(): ] }, "managedRules": { + "exceptionsList": { + "exceptions": [ + { + "matchValues": ["Mozilla"], + "matchVariable": "RequestHeaderNames", + "scopes": [ + {"ruleSetType": "Microsoft_DefaultRuleSet", "ruleSetVersion": "2.2"}, + {"ruleSetType": "Microsoft_HTTPDDoSRuleSet", "ruleSetVersion": "1.0"}, + ], + "selector": "User-Agent", + "selectorMatchOperator": "Equals", + "valueMatchOperator": "Contains", + } + ] + }, "managedRuleSets": [ { "exclusions": [ @@ -123,8 +138,8 @@ def main(): } ], "ruleSetAction": "Block", - "ruleSetType": "DefaultRuleSet", - "ruleSetVersion": "1.0", + "ruleSetType": "Microsoft_DefaultRuleSet", + "ruleSetVersion": "2.2", }, { "ruleGroupOverrides": [ @@ -143,7 +158,7 @@ def main(): "ruleSetType": "Microsoft_HTTPDDoSRuleSet", "ruleSetVersion": "1.0", }, - ] + ], }, "policySettings": { "captchaExpirationInMinutes": 30, @@ -173,6 +188,6 @@ def main(): print(response) -# x-ms-original-file: 2025-10-01/WafPolicyCreateOrUpdate.json +# x-ms-original-file: 2026-04-01/WafPolicyCreateOrUpdate.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_policy_delete.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_policy_delete.py index 01dcf8476c6c..230186af2d9c 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_policy_delete.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_policy_delete.py @@ -36,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: 2025-10-01/WafPolicyDelete.json +# x-ms-original-file: 2026-04-01/WafPolicyDelete.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_policy_get.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_policy_get.py index 8f3eea155116..4fbd1e90a1a0 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_policy_get.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_policy_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-10-01/WafPolicyGet.json +# x-ms-original-file: 2026-04-01/WafPolicyGet.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_policy_patch.py b/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_policy_patch.py index 6d3e7a1659e8..0dff0ac60742 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_policy_patch.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_policy_patch.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-10-01/WafPolicyPatch.json +# x-ms-original-file: 2026-04-01/WafPolicyPatch.json if __name__ == "__main__": main() diff --git a/sdk/network/azure-mgmt-frontdoor/generated_tests/test_front_door_management_policies_operations.py b/sdk/network/azure-mgmt-frontdoor/generated_tests/test_front_door_management_policies_operations.py index 322f662de3ea..22fe59624a2f 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_tests/test_front_door_management_policies_operations.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_tests/test_front_door_management_policies_operations.py @@ -67,6 +67,26 @@ def test_policies_begin_create_or_update(self, resource_group): }, "frontendEndpointLinks": [{"id": "str"}], "managedRules": { + "exceptionsList": { + "exceptions": [ + { + "matchValues": ["str"], + "matchVariable": "str", + "scopes": [ + { + "ruleSetType": "str", + "ruleSetVersion": "str", + "ruleGroupScopes": [ + {"ruleGroupName": "str", "ruleScopes": [{"ruleId": "str"}]} + ], + } + ], + "valueMatchOperator": "str", + "selector": "str", + "selectorMatchOperator": "str", + } + ] + }, "managedRuleSets": [ { "ruleSetType": "str", @@ -99,7 +119,7 @@ def test_policies_begin_create_or_update(self, resource_group): ], "ruleSetAction": "str", } - ] + ], }, "policySettings": { "captchaExpirationInMinutes": 0, diff --git a/sdk/network/azure-mgmt-frontdoor/generated_tests/test_front_door_management_policies_operations_async.py b/sdk/network/azure-mgmt-frontdoor/generated_tests/test_front_door_management_policies_operations_async.py index c29ef011e767..5e024e76fa53 100644 --- a/sdk/network/azure-mgmt-frontdoor/generated_tests/test_front_door_management_policies_operations_async.py +++ b/sdk/network/azure-mgmt-frontdoor/generated_tests/test_front_door_management_policies_operations_async.py @@ -69,6 +69,26 @@ async def test_policies_begin_create_or_update(self, resource_group): }, "frontendEndpointLinks": [{"id": "str"}], "managedRules": { + "exceptionsList": { + "exceptions": [ + { + "matchValues": ["str"], + "matchVariable": "str", + "scopes": [ + { + "ruleSetType": "str", + "ruleSetVersion": "str", + "ruleGroupScopes": [ + {"ruleGroupName": "str", "ruleScopes": [{"ruleId": "str"}]} + ], + } + ], + "valueMatchOperator": "str", + "selector": "str", + "selectorMatchOperator": "str", + } + ] + }, "managedRuleSets": [ { "ruleSetType": "str", @@ -105,7 +125,7 @@ async def test_policies_begin_create_or_update(self, resource_group): ], "ruleSetAction": "str", } - ] + ], }, "policySettings": { "captchaExpirationInMinutes": 0, diff --git a/sdk/network/azure-mgmt-frontdoor/tsp-location.yaml b/sdk/network/azure-mgmt-frontdoor/tsp-location.yaml index f66f59479c85..57784878cdfb 100644 --- a/sdk/network/azure-mgmt-frontdoor/tsp-location.yaml +++ b/sdk/network/azure-mgmt-frontdoor/tsp-location.yaml @@ -1,4 +1,4 @@ directory: specification/frontdoor/resource-manager/Microsoft.Network/FrontDoor -commit: 12be16fab6dbfd11c55daefb35c28548f34c3f5c +commit: 530ebfb31d6cf1b28f2c475013b0657d1a01c2a6 repo: Azure/azure-rest-api-specs additionalDirectories: