From 0acaec92c0baddfc4fda8b083f2f14a0f746a813 Mon Sep 17 00:00:00 2001 From: aramesh-msft <59899320+aramesh-msft@users.noreply.github.com> Date: Sun, 29 Mar 2020 19:28:16 -0700 Subject: [PATCH] Azure Front Door Rules Engine commands preview (#1432) * Azure Front Door Rules Engine commands preview * add rules-engine commands * upgrade SDK (swagger) version to 2020-01-01 for front-door * Remove unintentional 'location' from update front-door * Upgrade ext version to 1.0.4 * update azure-cli-extensions.pyproj for front-door * clean-up unused models in vendored_sdks * add test files * Address review comments * refine py versions 3.7, 3.8 * Address review comments * made deepest name param rule-name as --name * add two more rule show/list test cases * additional detail for query parameter help text * add rules_engine link param for create routing rule Co-authored-by: aramesh Co-authored-by: MyronFanQiu <49134743+MyronFanQiu@users.noreply.github.com> --- azure-cli-extensions.pyproj | 130 +- src/front-door/azext_front_door/__init__.py | 4 +- .../azext_front_door/_client_factory.py | 4 + src/front-door/azext_front_door/_help.py | 81 + src/front-door/azext_front_door/_params.py | 63 +- .../azext_front_door/_validators.py | 4 + src/front-door/azext_front_door/commands.py | 38 +- src/front-door/azext_front_door/custom.py | 342 +- .../recordings/test_route_rule_basic.yaml | 744 +++-- .../recordings/test_rules_engine_basic.yaml | 2551 +++++++++++++++ .../recordings/test_waf_exclusions.yaml | 229 +- .../recordings/test_waf_policy_basic.yaml | 186 +- .../test_waf_policy_custom_rule_matching.yaml | 2481 +-------------- .../test_waf_policy_custom_rules.yaml | 58 +- .../test_waf_policy_managed_rules.yaml | 74 +- .../tests/latest/test_route_rule_scenarios.py | 2 +- .../latest/test_rules_engine_scenarios.py | 190 ++ .../tests/latest/test_waf_scenarios.py | 4 +- .../vendored_sdks/__init__.py | 7 +- .../vendored_sdks/_configuration.py | 50 + .../_front_door_management_client.py | 96 + .../vendored_sdks/models/__init__.py | 392 +-- ...=> _front_door_management_client_enums.py} | 65 + .../vendored_sdks/models/_models.py | 2789 +++++++++++++++++ .../vendored_sdks/models/_models_py3.py | 2789 +++++++++++++++++ .../vendored_sdks/models/_paged_models.py | 118 + .../models/azure_async_operation_result.py | 41 - .../azure_async_operation_result_py3.py | 41 - .../vendored_sdks/models/backend.py | 65 - .../vendored_sdks/models/backend_pool.py | 60 - .../models/backend_pool_list_result.py | 41 - .../models/backend_pool_list_result_py3.py | 41 - .../vendored_sdks/models/backend_pool_py3.py | 60 - .../models/backend_pool_update_parameters.py | 36 - .../backend_pool_update_parameters_py3.py | 36 - .../models/backend_pools_settings.py | 42 - .../models/backend_pools_settings_py3.py | 42 - .../vendored_sdks/models/backend_py3.py | 65 - .../models/cache_configuration.py | 37 - .../models/cache_configuration_py3.py | 37 - .../models/check_name_availability_input.py | 41 - .../check_name_availability_input_py3.py | 41 - .../models/check_name_availability_output.py | 48 - .../check_name_availability_output_py3.py | 48 - .../models/custom_https_configuration.py | 76 - .../models/custom_https_configuration_py3.py | 76 - .../vendored_sdks/models/custom_rule.py | 76 - .../vendored_sdks/models/custom_rule_list.py | 28 - .../models/custom_rule_list_py3.py | 28 - .../vendored_sdks/models/custom_rule_py3.py | 76 - .../vendored_sdks/models/endpoint.py | 32 - .../vendored_sdks/models/endpoint_py3.py | 32 - .../vendored_sdks/models/error.py | 44 - .../vendored_sdks/models/error_details.py | 36 - .../vendored_sdks/models/error_details_py3.py | 36 - .../vendored_sdks/models/error_py3.py | 44 - .../vendored_sdks/models/error_response.py | 54 - .../models/error_response_py3.py | 54 - .../vendored_sdks/models/experiment.py | 82 - .../vendored_sdks/models/experiment_paged.py | 27 - .../vendored_sdks/models/experiment_py3.py | 82 - .../models/experiment_update_model.py | 38 - .../models/experiment_update_model_py3.py | 38 - .../models/forwarding_configuration.py | 56 - .../models/forwarding_configuration_py3.py | 56 - .../vendored_sdks/models/front_door.py | 107 - .../vendored_sdks/models/front_door_paged.py | 27 - .../vendored_sdks/models/front_door_py3.py | 107 - .../models/front_door_update_parameters.py | 65 - .../front_door_update_parameters_py3.py | 65 - .../vendored_sdks/models/frontend_endpoint.py | 100 - .../models/frontend_endpoint_link.py | 28 - .../models/frontend_endpoint_link_py3.py | 28 - .../models/frontend_endpoint_paged.py | 27 - .../models/frontend_endpoint_py3.py | 100 - .../frontend_endpoint_update_parameters.py | 47 - ...frontend_endpoint_update_parameters_py3.py | 47 - ...rs_web_application_firewall_policy_link.py | 28 - ...eb_application_firewall_policy_link_py3.py | 28 - .../health_probe_settings_list_result.py | 42 - .../health_probe_settings_list_result_py3.py | 42 - .../models/health_probe_settings_model.py | 76 - .../models/health_probe_settings_model_py3.py | 76 - ...health_probe_settings_update_parameters.py | 52 - ...th_probe_settings_update_parameters_py3.py | 52 - ...ult_certificate_source_parameters_vault.py | 28 - ...certificate_source_parameters_vault_py3.py | 28 - .../vendored_sdks/models/latency_metric.py | 84 - .../models/latency_metric_py3.py | 84 - .../vendored_sdks/models/latency_scorecard.py | 94 - .../models/latency_scorecard_py3.py | 94 - .../load_balancing_settings_list_result.py | 43 - ...load_balancing_settings_list_result_py3.py | 43 - .../models/load_balancing_settings_model.py | 63 - .../load_balancing_settings_model_py3.py | 63 - ...ad_balancing_settings_update_parameters.py | 39 - ...alancing_settings_update_parameters_py3.py | 39 - .../models/managed_rule_definition.py | 54 - .../models/managed_rule_definition_py3.py | 54 - .../models/managed_rule_exclusion.py | 52 - .../models/managed_rule_exclusion_py3.py | 52 - .../models/managed_rule_group_definition.py | 45 - .../managed_rule_group_definition_py3.py | 45 - .../models/managed_rule_group_override.py | 45 - .../models/managed_rule_group_override_py3.py | 45 - .../models/managed_rule_override.py | 51 - .../models/managed_rule_override_py3.py | 51 - .../vendored_sdks/models/managed_rule_set.py | 51 - .../models/managed_rule_set_definition.py | 69 - .../managed_rule_set_definition_paged.py | 27 - .../models/managed_rule_set_definition_py3.py | 69 - .../models/managed_rule_set_list.py | 28 - .../models/managed_rule_set_list_py3.py | 28 - .../models/managed_rule_set_py3.py | 51 - .../vendored_sdks/models/match_condition.py | 64 - .../models/match_condition_py3.py | 64 - .../vendored_sdks/models/policy_settings.py | 56 - .../models/policy_settings_py3.py | 56 - .../models/preconfigured_endpoint.py | 65 - .../models/preconfigured_endpoint_paged.py | 27 - .../models/preconfigured_endpoint_py3.py | 65 - .../vendored_sdks/models/profile.py | 64 - .../vendored_sdks/models/profile_paged.py | 27 - .../vendored_sdks/models/profile_py3.py | 64 - .../models/profile_update_model.py | 33 - .../models/profile_update_model_py3.py | 33 - .../vendored_sdks/models/purge_parameters.py | 35 - .../models/purge_parameters_py3.py | 35 - .../models/redirect_configuration.py | 73 - .../models/redirect_configuration_py3.py | 73 - .../vendored_sdks/models/resource.py | 53 - .../vendored_sdks/models/resource_py3.py | 53 - .../models/route_configuration.py | 41 - .../models/route_configuration_py3.py | 41 - .../vendored_sdks/models/routing_rule.py | 73 - .../models/routing_rule_list_result.py | 41 - .../models/routing_rule_list_result_py3.py | 41 - .../vendored_sdks/models/routing_rule_py3.py | 73 - .../models/routing_rule_update_parameters.py | 48 - .../routing_rule_update_parameters_py3.py | 48 - .../vendored_sdks/models/sub_resource.py | 28 - .../vendored_sdks/models/sub_resource_py3.py | 28 - .../vendored_sdks/models/tags_object.py | 28 - .../vendored_sdks/models/tags_object_py3.py | 28 - .../vendored_sdks/models/timeseries.py | 82 - .../models/timeseries_data_point.py | 32 - .../models/timeseries_data_point_py3.py | 32 - .../vendored_sdks/models/timeseries_py3.py | 82 - .../models/validate_custom_domain_input.py | 35 - .../validate_custom_domain_input_py3.py | 35 - .../models/validate_custom_domain_output.py | 47 - .../validate_custom_domain_output_py3.py | 47 - .../models/web_application_firewall_policy.py | 85 - .../web_application_firewall_policy_paged.py | 27 - .../web_application_firewall_policy_py3.py | 85 - .../vendored_sdks/operations/__init__.py | 22 +- ...operations.py => _endpoints_operations.py} | 8 +- ...erations.py => _experiments_operations.py} | 272 +- ...ront_door_management_client_operations.py} | 99 +- ...erations.py => _front_doors_operations.py} | 36 +- ...s.py => _frontend_endpoints_operations.py} | 25 +- ...ns.py => _managed_rule_sets_operations.py} | 16 +- ...network_experiment_profiles_operations.py} | 336 +- ..._operations.py => _policies_operations.py} | 17 +- .../_preconfigured_endpoints_operations.py | 112 + .../operations/_reports_operations.py | 214 ++ ...ations.py => _rules_engines_operations.py} | 122 +- .../operations/routing_rules_operations.py | 376 --- .../azext_front_door/vendored_sdks/version.py | 2 +- src/front-door/setup.cfg | 2 - src/front-door/setup.py | 8 +- 171 files changed, 11279 insertions(+), 10482 deletions(-) create mode 100644 src/front-door/azext_front_door/tests/latest/recordings/test_rules_engine_basic.yaml create mode 100644 src/front-door/azext_front_door/tests/latest/test_rules_engine_scenarios.py create mode 100644 src/front-door/azext_front_door/vendored_sdks/_configuration.py create mode 100644 src/front-door/azext_front_door/vendored_sdks/_front_door_management_client.py rename src/front-door/azext_front_door/vendored_sdks/models/{front_door_management_client_enums.py => _front_door_management_client_enums.py} (81%) create mode 100644 src/front-door/azext_front_door/vendored_sdks/models/_models.py create mode 100644 src/front-door/azext_front_door/vendored_sdks/models/_models_py3.py create mode 100644 src/front-door/azext_front_door/vendored_sdks/models/_paged_models.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/azure_async_operation_result.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/azure_async_operation_result_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/backend.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/backend_pool.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/backend_pool_list_result.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/backend_pool_list_result_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/backend_pool_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/backend_pool_update_parameters.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/backend_pool_update_parameters_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/backend_pools_settings.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/backend_pools_settings_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/backend_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/cache_configuration.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/cache_configuration_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/check_name_availability_input.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/check_name_availability_input_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/check_name_availability_output.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/check_name_availability_output_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/custom_https_configuration.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/custom_https_configuration_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/custom_rule.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/custom_rule_list.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/custom_rule_list_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/custom_rule_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/endpoint.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/endpoint_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/error.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/error_details.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/error_details_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/error_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/error_response.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/error_response_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/experiment.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/experiment_paged.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/experiment_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/experiment_update_model.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/experiment_update_model_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/forwarding_configuration.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/forwarding_configuration_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/front_door.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/front_door_paged.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/front_door_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/front_door_update_parameters.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/front_door_update_parameters_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_link.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_link_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_paged.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_update_parameters.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_update_parameters_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_update_parameters_web_application_firewall_policy_link.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_update_parameters_web_application_firewall_policy_link_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_list_result.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_list_result_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_model.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_model_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_update_parameters.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_update_parameters_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/key_vault_certificate_source_parameters_vault.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/key_vault_certificate_source_parameters_vault_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/latency_metric.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/latency_metric_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/latency_scorecard.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/latency_scorecard_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_list_result.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_list_result_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_model.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_model_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_update_parameters.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_update_parameters_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/managed_rule_definition.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/managed_rule_definition_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/managed_rule_exclusion.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/managed_rule_exclusion_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/managed_rule_group_definition.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/managed_rule_group_definition_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/managed_rule_group_override.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/managed_rule_group_override_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/managed_rule_override.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/managed_rule_override_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_definition.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_definition_paged.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_definition_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_list.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_list_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/match_condition.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/match_condition_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/policy_settings.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/policy_settings_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/preconfigured_endpoint.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/preconfigured_endpoint_paged.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/preconfigured_endpoint_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/profile.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/profile_paged.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/profile_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/profile_update_model.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/profile_update_model_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/purge_parameters.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/purge_parameters_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/redirect_configuration.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/redirect_configuration_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/resource.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/resource_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/route_configuration.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/route_configuration_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/routing_rule.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/routing_rule_list_result.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/routing_rule_list_result_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/routing_rule_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/routing_rule_update_parameters.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/routing_rule_update_parameters_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/sub_resource.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/sub_resource_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/tags_object.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/tags_object_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/timeseries.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/timeseries_data_point.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/timeseries_data_point_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/timeseries_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/validate_custom_domain_input.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/validate_custom_domain_input_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/validate_custom_domain_output.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/validate_custom_domain_output_py3.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/web_application_firewall_policy.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/web_application_firewall_policy_paged.py delete mode 100644 src/front-door/azext_front_door/vendored_sdks/models/web_application_firewall_policy_py3.py rename src/front-door/azext_front_door/vendored_sdks/operations/{endpoints_operations.py => _endpoints_operations.py} (94%) rename src/front-door/azext_front_door/vendored_sdks/operations/{health_probe_settings_operations.py => _experiments_operations.py} (55%) rename src/front-door/azext_front_door/vendored_sdks/{front_door_management_client.py => operations/_front_door_management_client_operations.py} (61%) rename src/front-door/azext_front_door/vendored_sdks/operations/{front_doors_operations.py => _front_doors_operations.py} (96%) rename src/front-door/azext_front_door/vendored_sdks/operations/{frontend_endpoints_operations.py => _frontend_endpoints_operations.py} (96%) rename src/front-door/azext_front_door/vendored_sdks/operations/{managed_rule_sets_operations.py => _managed_rule_sets_operations.py} (90%) rename src/front-door/azext_front_door/vendored_sdks/operations/{load_balancing_settings_operations.py => _network_experiment_profiles_operations.py} (51%) rename src/front-door/azext_front_door/vendored_sdks/operations/{policies_operations.py => _policies_operations.py} (97%) create mode 100644 src/front-door/azext_front_door/vendored_sdks/operations/_preconfigured_endpoints_operations.py create mode 100644 src/front-door/azext_front_door/vendored_sdks/operations/_reports_operations.py rename src/front-door/azext_front_door/vendored_sdks/operations/{backend_pools_operations.py => _rules_engines_operations.py} (78%) delete mode 100644 src/front-door/azext_front_door/vendored_sdks/operations/routing_rules_operations.py diff --git a/azure-cli-extensions.pyproj b/azure-cli-extensions.pyproj index 9c2ab2ea6c..97b8809839 100644 --- a/azure-cli-extensions.pyproj +++ b/azure-cli-extensions.pyproj @@ -2467,120 +2467,26 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - + + + + + + + + + + + + + @@ -2590,6 +2496,8 @@ + + diff --git a/src/front-door/azext_front_door/__init__.py b/src/front-door/azext_front_door/__init__.py index d12ea23b22..01f340374f 100644 --- a/src/front-door/azext_front_door/__init__.py +++ b/src/front-door/azext_front_door/__init__.py @@ -23,9 +23,9 @@ class FrontDoorCommandsLoader(AzCommandsLoader): load_command_table(self, args) return self.command_table - def load_arguments(self, args): + def load_arguments(self, command): from ._params import load_arguments - load_arguments(self, args) + load_arguments(self, command) COMMAND_LOADER_CLS = FrontDoorCommandsLoader diff --git a/src/front-door/azext_front_door/_client_factory.py b/src/front-door/azext_front_door/_client_factory.py index bd67fb1d11..747578677b 100644 --- a/src/front-door/azext_front_door/_client_factory.py +++ b/src/front-door/azext_front_door/_client_factory.py @@ -22,6 +22,10 @@ def cf_fd_frontend_endpoints(cli_ctx, _): return frontdoor_client_factory(cli_ctx).frontend_endpoints +def cf_fd_rules_engines(cli_ctx, _): + return frontdoor_client_factory(cli_ctx).rules_engines + + def cf_fd_policies(cli_ctx, _): return frontdoor_client_factory(cli_ctx).policies diff --git a/src/front-door/azext_front_door/_help.py b/src/front-door/azext_front_door/_help.py index f5a0f6f87d..a2c81d71c5 100644 --- a/src/front-door/azext_front_door/_help.py +++ b/src/front-door/azext_front_door/_help.py @@ -236,6 +236,87 @@ helps['network front-door routing-rule delete'] = """ """ # endregion +# region FrontDoor RulesEngine +helps['network front-door rules-engine'] = """ + type: group + short-summary: Manage Front Door rules engines. +""" + +helps['network front-door rules-engine rule'] = """ + type: group + short-summary: Manage Rules Engine rules. +""" + +helps['network front-door rules-engine rule create'] = """ + type: command + short-summary: Create a Rules Engine rule for a Front Door. + long-summary: > + This command allows creating Rules Engine configuration with Header + action type. To add additional actions like Route overrides, + use the `az network front-door rules-engine rule action add` command. +""" + +helps['network front-door rules-engine rule update'] = """ + type: command + short-summary: Update Rules Engine configuration of a rule. +""" + +helps['network front-door rules-engine rule delete'] = """ + type: command + short-summary: Delete a Rules Engine rule. +""" + +helps['network front-door rules-engine rule show'] = """ + type: command + short-summary: Get the details of a Rules Engine rule. +""" + +helps['network front-door rules-engine rule list'] = """ + type: command + short-summary: List rules of a Rules Engine configuration. +""" + +helps['network front-door rules-engine rule action'] = """ + type: group + short-summary: Manage Rules Engine actions for Front Door. +""" + +helps['network front-door rules-engine rule action add'] = """ + type: command + short-summary: Add an action to a Rules Engine rule. +""" + +helps['network front-door rules-engine rule action list'] = """ + type: command + short-summary: Show all actions that apply for a Rules Engine rule. +""" + +helps['network front-door rules-engine rule action remove'] = """ + type: command + short-summary: Remove an action from a Rules Engine rule. +""" + +helps['network front-door rules-engine rule condition'] = """ + type: group + short-summary: Manage Rules Engine match conditions for Front Door. +""" + +helps['network front-door rules-engine rule condition add'] = """ + type: command + short-summary: Add a match condition to a Rules Engine rule. +""" + +helps['network front-door rules-engine rule condition list'] = """ + type: command + short-summary: Show all match conditions associated with a Rules Engine rule. +""" + +helps['network front-door rules-engine rule condition remove'] = """ + type: command + short-summary: Remove a match condition from a Rules Engine rule. +""" +# endregion + # region WAFPolicy helps['network front-door waf-policy'] = """ type: group diff --git a/src/front-door/azext_front_door/_params.py b/src/front-door/azext_front_door/_params.py index ad88c09607..ca943d7fa0 100644 --- a/src/front-door/azext_front_door/_params.py +++ b/src/front-door/azext_front_door/_params.py @@ -17,7 +17,7 @@ from azure.cli.core.commands.validators import get_default_location_from_resourc from ._completers import get_fd_subresource_completion_list from ._validators import ( validate_waf_policy, validate_load_balancing_settings, validate_probe_settings, - validate_frontend_endpoints, validate_backend_pool) + validate_frontend_endpoints, validate_backend_pool, validate_rules_engine) class RouteType(str, Enum): @@ -30,11 +30,13 @@ def load_arguments(self, _): from azext_front_door.vendored_sdks.models import ( PolicyMode, FrontDoorProtocol, FrontDoorHealthProbeMethod, FrontDoorCertificateSource, FrontDoorQuery, ActionType, RuleType, TransformType, - FrontDoorRedirectType, FrontDoorRedirectProtocol, MinimumTLSVersion + FrontDoorRedirectType, FrontDoorRedirectProtocol, MinimumTLSVersion, Transform, HeaderActionType, RulesEngineOperator, RulesEngineMatchVariable, + FrontDoorForwardingProtocol, MatchProcessingBehavior ) frontdoor_name_type = CLIArgumentType(options_list=['--front-door-name', '-f'], help='Name of the Front Door.', completer=get_resource_name_completion_list('Microsoft.Network/frontdoors'), id_part='name') waf_policy_name_type = CLIArgumentType(options_list='--policy-name', help='Name of the WAF policy.', completer=get_resource_name_completion_list('Microsoft.Network/frontDoorWebApplicationFirewallPolicies'), id_part='name') + rules_engine_name_type = CLIArgumentType(options_list=['--rules-engine-name', '-r'], help='Name of the Rules Engine.', completer=get_fd_subresource_completion_list('rules_engines'), id_part='child_name_1') # region FrontDoors fd_subresources = [ @@ -127,10 +129,11 @@ def load_arguments(self, _): with self.argument_context('network front-door routing-rule', arg_group=None) as c: c.argument('accepted_protocols', nargs='+', help='Space-separated list of protocols to accept. Default: Http') c.argument('patterns_to_match', options_list='--patterns', nargs='+', help='Space-separated list of patterns to match. Default: \'/*\'.') - c.argument('forwarding_protocol', help='Protocol to use for forwarding traffic.') - c.argument('backend_pool', help='Name or ID of a backend pool.', validator=validate_backend_pool) + c.argument('rules_engine', help='Name or ID of a Rules Engine configuration.', validator=validate_rules_engine) c.argument('frontend_endpoints', help='Space-separated list of frontend endpoint names or IDs.', nargs='+', validator=validate_frontend_endpoints) with self.argument_context('network front-door routing-rule', arg_group='Forward Routing Rule') as c: + c.argument('backend_pool', help='Name or ID of a backend pool.', validator=validate_backend_pool) + c.argument('forwarding_protocol', help='Protocol to use for forwarding traffic.') c.argument('custom_forwarding_path', help='Custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path.') c.argument('caching', arg_type=get_three_state_flag(positive_label='Enabled', negative_label='Disabled', return_label=False), help='Whether to enable caching for this route.') c.argument('dynamic_compression', arg_type=get_three_state_flag(positive_label='Enabled', negative_label='Disabled', return_label=True), help='Use dynamic compression for cached content.') @@ -263,3 +266,55 @@ def load_arguments(self, _): c.argument('rule_name', options_list=['--name', '-n'], help='Name of the custom rule.') c.argument('policy_name', waf_policy_name_type, id_part=None) # endregion + + # region RulesEngine + with self.argument_context('network front-door rules-engine') as c: + c.argument('front_door_name', frontdoor_name_type, id_part=None) + c.argument('rules_engine_name', rules_engine_name_type, options_list=['--name', '-n'], id_part=None) + + with self.argument_context('network front-door rules-engine rule') as c: + c.argument('front_door_name', frontdoor_name_type, id_part=None) + c.argument('rules_engine_name', rules_engine_name_type, id_part=None) + c.argument('rule_name', options_list=['--name', '-n'], help='Name of the rule') + c.argument('action_type', arg_group="Action", arg_type=get_enum_type(['RequestHeader', 'ResponseHeader', 'ForwardRouteOverride', 'RedirectRouteOverride']), help='Action type to apply for a rule.') + c.argument('header_action', arg_group="Action", arg_type=get_enum_type(HeaderActionType), help='Header action type for the requests.') + c.argument('header_name', arg_group="Action", help='Name of the header to modify.') + c.argument('header_value', arg_group="Action", help='Value of the header.') + c.argument('match_variable', arg_group="Match Condition", arg_type=get_enum_type(RulesEngineMatchVariable), help='Name of the match condition.') + c.argument('operator', arg_group="Match Condition", arg_type=get_enum_type(RulesEngineOperator), help='Operator of the match condition.') + c.argument('match_values', arg_group="Match Condition", nargs='+', help='Space-separated list of values to match against.') + c.argument('selector', arg_group="Match Condition", help='Optional selector for the match condition variable.') + c.argument('negate_condition', arg_group="Match Condition", arg_type=get_three_state_flag(), help='Applies "Not" to the operator.') + c.argument('transforms', arg_group="Match Condition", nargs='+', arg_type=get_enum_type(Transform), help='Space-separated list of transforms to apply.') + c.argument('priority', help='The priority number must start from 0 and consecutive. Rule with greater priority value will be applied later.') + c.argument('match_processing_behavior', arg_type=get_enum_type(MatchProcessingBehavior), help='Whether to stop processing rules after conditions in a rule is satisfied.') + + with self.argument_context('network front-door rules-engine rule action', arg_group='Forward Route Override') as c: + c.argument('backend_pool', help='Name or ID of a backend pool.', validator=validate_backend_pool) + c.argument('forwarding_protocol', arg_type=get_enum_type(FrontDoorForwardingProtocol), help='Protocol to use for forwarding traffic.') + c.argument('custom_forwarding_path', help='Custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path.') + c.argument('caching', arg_type=get_three_state_flag(positive_label='Enabled', negative_label='Disabled', return_label=False), help='Whether to enable caching for this route.') + c.argument('cache_duration', help='The duration for which the content needs to be cached. Allowed format is ISO 8601 duration') + c.argument('dynamic_compression', arg_type=get_three_state_flag(positive_label='Enabled', negative_label='Disabled', return_label=True), help='Use dynamic compression for cached content.') + c.argument('query_parameter_strip_directive', arg_type=get_enum_type(FrontDoorQuery), help='Treatment of URL query terms when forming the cache key.') + c.argument('query_parameters', help='Query parameters to include or exclude (comma separated) when using query-parameter-strip-directive type StripAllExcept or StripOnly respectively.') + + with self.argument_context('network front-door rules-engine rule action', arg_group='Redirect Route Override') as c: + c.argument('redirect_type', arg_type=get_enum_type(FrontDoorRedirectType), help='The redirect type the rule will use when redirecting traffic.') + c.argument('redirect_protocol', arg_type=get_enum_type(FrontDoorRedirectProtocol), help='The protocol of the destination to where the traffic is redirected.') + c.argument('custom_host', help='Host to redirect. Leave empty to use use the incoming host as the destination host.') + c.argument('custom_path', help='The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.') + c.argument('custom_fragment', help='Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.') + c.argument('custom_query_string', help='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 &.') + + with self.argument_context('network front-door rules-engine rule condition remove') as c: + c.argument('index', type=int, help='0-based index of the match condition to remove') + + with self.argument_context('network front-door rules-engine rule action remove') as c: + c.argument('index', type=int, help='0-based index of the request or response header action to remove. Index parameter is not required for "ForwardRouteOverride" or "RedirectRouteOverride" action remove') + + with self.argument_context('network front-door rules-engine rule list') as c: + c.argument('front_door_name', frontdoor_name_type, id_part=None) + c.argument('rules_engine_name', rules_engine_name_type, options_list=['--name', '-n'], id_part=None) + + # endregion diff --git a/src/front-door/azext_front_door/_validators.py b/src/front-door/azext_front_door/_validators.py index aef2f05935..b95fe9aa9f 100644 --- a/src/front-door/azext_front_door/_validators.py +++ b/src/front-door/azext_front_door/_validators.py @@ -77,6 +77,10 @@ def validate_backend_pool(cmd, namespace): get_name_or_id_validator('backend_pool', 'backendPools')(cmd, namespace) +def validate_rules_engine(cmd, namespace): + get_name_or_id_validator('rules_engine', 'rulesEngines')(cmd, namespace) + + # pylint: disable=protected-access class MatchConditionAction(argparse._AppendAction): diff --git a/src/front-door/azext_front_door/commands.py b/src/front-door/azext_front_door/commands.py index 79cc42cc04..fe520abe09 100644 --- a/src/front-door/azext_front_door/commands.py +++ b/src/front-door/azext_front_door/commands.py @@ -8,7 +8,7 @@ from azure.cli.core.commands import CliCommandType from .custom import ( list_frontdoor_resource_property, get_frontdoor_resource_property_entry, delete_frontdoor_resource_property_entry) -from ._client_factory import cf_frontdoor, cf_fd_endpoints, cf_waf_policies +from ._client_factory import cf_frontdoor, cf_fd_endpoints, cf_waf_policies, cf_fd_rules_engines # pylint: disable=too-many-locals, too-many-statements @@ -17,7 +17,7 @@ def load_command_table(self, _): frontdoor_custom = CliCommandType(operations_tmpl='azext_front_door.custom#{}') frontdoor_sdk = CliCommandType( - operations_tmpl='azext_front_door.vendored_sdks.operations.front_doors_operations#FrontDoorsOperations.{}', + operations_tmpl='azext_front_door.vendored_sdks.operations._front_doors_operations#FrontDoorsOperations.{}', client_factory=cf_frontdoor ) @@ -27,7 +27,7 @@ def load_command_table(self, _): # ) fd_endpoint_sdk = CliCommandType( - operations_tmpl='azext_front_door.vendored_sdks.operations.endpoints_operations#EndpointsOperations.{}', + operations_tmpl='azext_front_door.vendored_sdks.operations._endpoints_operations#EndpointsOperations.{}', client_factory=cf_fd_endpoints ) @@ -51,8 +51,13 @@ def load_command_table(self, _): # client_factory=cf_fd_routing_rules # ) + rules_engine_sdk = CliCommandType( + operations_tmpl='azext_front_door.vendored_sdks.operations._rules_engines_operations#RulesEnginesOperations.{}', + client_factory=cf_fd_rules_engines + ) + waf_policy_sdk = CliCommandType( - operations_tmpl='azext_front_door.vendored_sdks.operations.policies_operations#PoliciesOperations.{}', + operations_tmpl='azext_front_door.vendored_sdks.operations._policies_operations#PoliciesOperations.{}', client_factory=cf_waf_policies ) @@ -170,3 +175,28 @@ def load_command_table(self, _): g.custom_command('remove', 'remove_custom_rule_match_condition') g.custom_command('list', 'list_custom_rule_match_conditions') # endregion + + # region RulesEngine + + with self.command_group('network front-door rules-engine', rules_engine_sdk, is_preview=True) as g: + g.show_command('show', 'get') + g.command('list', 'list_by_front_door') + g.command('delete', 'delete') + + with self.command_group('network front-door rules-engine rule', rules_engine_sdk, is_preview=True) as g: + g.custom_command('create', 'create_rules_engine_rule') + g.custom_command('delete', 'delete_rules_engine_rule') + g.custom_show_command('show', 'show_rules_engine_rule') + g.custom_command('list', 'list_rules_engine_rule') + g.custom_command('update', 'update_rules_engine_rule') + + with self.command_group('network front-door rules-engine rule condition', rules_engine_sdk, is_preview=True) as g: + g.custom_command('add', 'add_rules_engine_condition') + g.custom_command('remove', 'remove_rules_engine_condition') + g.custom_command('list', 'list_rules_engine_condition') + + with self.command_group('network front-door rules-engine rule action', rules_engine_sdk, is_preview=True) as g: + g.custom_command('add', 'add_rules_engine_action') + g.custom_command('remove', 'remove_rules_engine_action') + g.custom_command('list', 'list_rules_engine_action') + # endregion diff --git a/src/front-door/azext_front_door/custom.py b/src/front-door/azext_front_door/custom.py index 16711f8da3..ffa0b83f77 100644 --- a/src/front-door/azext_front_door/custom.py +++ b/src/front-door/azext_front_door/custom.py @@ -13,8 +13,8 @@ from azure.cli.core.util import sdk_no_wait from knack.log import get_logger -from ._client_factory import cf_frontdoor, cf_waf_policies, cf_waf_managed_rules, cf_fd_frontend_endpoints - +from ._client_factory import (cf_frontdoor, cf_waf_policies, cf_waf_managed_rules, + cf_fd_frontend_endpoints, cf_fd_rules_engines) logger = get_logger(__name__) @@ -498,15 +498,11 @@ def update_fd_load_balancing_settings(instance, sample_size=None, successful_sam return instance -def create_fd_routing_rules(cmd, resource_group_name, front_door_name, item_name, frontend_endpoints, route_type, - backend_pool=None, accepted_protocols=None, patterns_to_match=None, - custom_forwarding_path=None, forwarding_protocol=None, disabled=None, - caching=None, dynamic_compression=None, query_parameter_strip_directive=None, - redirect_type='Moved', redirect_protocol='MatchRequest', custom_host=None, custom_path=None, - custom_fragment=None, custom_query_string=None): - from azext_front_door.vendored_sdks.models import (CacheConfiguration, RoutingRule, SubResource, - ForwardingConfiguration, RedirectConfiguration) - +def routing_rule_usage_helper(route_type, backend_pool=None, custom_forwarding_path=None, + forwarding_protocol=None, dynamic_compression=None, + query_parameter_strip_directive=None, redirect_type=None, + redirect_protocol=None, custom_host=None, custom_path=None, + custom_fragment=None, custom_query_string=None): forwarding_usage = ('usage error: [--backend-pool BACKEND_POOL] ' '[--custom-forwarding-path CUSTOM_FORWARDING_PATH] ' '[--forwarding-protocol FORWARDING_PROTOCOL] ' @@ -519,14 +515,30 @@ def create_fd_routing_rules(cmd, resource_group_name, front_door_name, item_name '[--custom-fragment CUSTOM_FRAGMENT] [--custom-query-string CUSTOM_QUERY_STRING]') # pylint: disable=line-too-long - if (route_type == 'Forward' and any([custom_host, custom_path, custom_fragment, custom_query_string]) and getattr(redirect_type, 'is_default', None) and getattr(redirect_protocol, 'is_default', None)): + if 'Forward' in route_type and any([custom_host, custom_path, custom_fragment, custom_query_string]) and getattr(redirect_type, 'is_default', None) and getattr(redirect_protocol, 'is_default', None): from knack.util import CLIError raise CLIError(forwarding_usage) - if route_type == 'Redirect' and any([custom_forwarding_path, forwarding_protocol, backend_pool, + if 'Redirect' in route_type and any([custom_forwarding_path, forwarding_protocol, backend_pool, query_parameter_strip_directive, dynamic_compression]): from knack.util import CLIError raise CLIError(redirect_usage) + +def create_fd_routing_rules(cmd, resource_group_name, front_door_name, item_name, frontend_endpoints, route_type, + backend_pool=None, accepted_protocols=None, patterns_to_match=None, + rules_engine=None, custom_forwarding_path=None, forwarding_protocol=None, disabled=None, + caching=None, dynamic_compression=None, query_parameter_strip_directive=None, + redirect_type='Moved', redirect_protocol='MatchRequest', custom_host=None, custom_path=None, + custom_fragment=None, custom_query_string=None): + from azext_front_door.vendored_sdks.models import (CacheConfiguration, RoutingRule, SubResource, + ForwardingConfiguration, RedirectConfiguration) + + routing_rule_usage_helper(route_type, backend_pool, custom_forwarding_path, + forwarding_protocol, dynamic_compression, + query_parameter_strip_directive, redirect_type, + redirect_protocol, custom_host, custom_path, + custom_fragment, custom_query_string) + if route_type == 'Forward': rule = RoutingRule( name=item_name, @@ -534,6 +546,7 @@ def create_fd_routing_rules(cmd, resource_group_name, front_door_name, item_name frontend_endpoints=[SubResource(id=x) for x in frontend_endpoints] if frontend_endpoints else None, accepted_protocols=accepted_protocols or ['Http'], patterns_to_match=patterns_to_match or ['/*'], + rules_engine=SubResource(id=rules_engine) if rules_engine else None, route_configuration=ForwardingConfiguration( custom_forwarding_path=custom_forwarding_path, forwarding_protocol=forwarding_protocol, @@ -551,6 +564,7 @@ def create_fd_routing_rules(cmd, resource_group_name, front_door_name, item_name frontend_endpoints=[SubResource(id=x) for x in frontend_endpoints] if frontend_endpoints else None, accepted_protocols=accepted_protocols or ['Http'], patterns_to_match=patterns_to_match or ['/*'], + rules_engine=SubResource(id=rules_engine) if rules_engine else None, route_configuration=RedirectConfiguration( redirect_type=redirect_type, redirect_protocol=redirect_protocol, @@ -565,7 +579,7 @@ def create_fd_routing_rules(cmd, resource_group_name, front_door_name, item_name def update_fd_routing_rule(parent, instance, item_name, frontend_endpoints=None, accepted_protocols=None, # pylint: disable=unused-argument patterns_to_match=None, custom_forwarding_path=None, forwarding_protocol=None, - backend_pool=None, enabled=None, dynamic_compression=None, + backend_pool=None, rules_engine=None, enabled=None, dynamic_compression=None, caching=None, query_parameter_strip_directive=None, redirect_type=None, redirect_protocol=None, custom_host=None, custom_path=None, custom_fragment=None, custom_query_string=None): @@ -577,6 +591,7 @@ def update_fd_routing_rule(parent, instance, item_name, frontend_endpoints=None, if frontend_endpoints else None, False) c.update_param('accepted_protocols', accepted_protocols, False) c.update_param('patterns_to_match', patterns_to_match, False) + c.update_param('rules_engine', SubResource(id=rules_engine) if rules_engine else None, False) c.update_param('enabled_state', enabled, False) with UpdateContext(instance.route_configuration) as c: c.update_param('custom_forwarding_path', custom_forwarding_path, False) @@ -595,6 +610,7 @@ def update_fd_routing_rule(parent, instance, item_name, frontend_endpoints=None, if frontend_endpoints else None, False) c.update_param('accepted_protocols', accepted_protocols, False) c.update_param('patterns_to_match', patterns_to_match, False) + c.update_param('rules_engine', SubResource(id=rules_engine) if rules_engine else None, False) c.update_param('enabled_state', enabled, False) with UpdateContext(instance.route_configuration) as c: c.update_param('redirect_type', redirect_type, False) @@ -1098,3 +1114,301 @@ def list_custom_rule_match_conditions(cmd, resource_group_name, policy_name, rul from knack.util import CLIError raise CLIError("rule '{}' not found".format(rule_name)) # endregion + + +# region Front Door Rules Engine + + +# pylint: disable=too-many-locals +def create_rules_engine_rule(cmd, resource_group_name, front_door_name, rules_engine_name, + priority, rule_name, action_type, header_action=None, header_name=None, + header_value=None, match_variable=None, operator=None, match_values=None, + selector=None, negate_condition=None, transforms=None, + match_processing_behavior=None): + from azext_front_door.vendored_sdks.models import (ErrorResponseException, RulesEngineRule, + RulesEngineAction, HeaderAction, + RulesEngineMatchCondition) + client = cf_fd_rules_engines(cmd.cli_ctx, None) + + match_conditions = [] + condition = RulesEngineMatchCondition(rules_engine_match_variable=match_variable, + rules_engine_operator=operator, + rules_engine_match_value=match_values, + selector=selector, + negate_condition=negate_condition, transforms=transforms) + if condition is not None: + match_conditions.append(condition) + + request_header_actions = [] + if action_type.lower() == 'requestheader': + request_header_actions.append(HeaderAction( + header_action_type=header_action, + header_name=header_name, + value=header_value)) + + response_header_actions = [] + if action_type.lower() == 'responseheader': + response_header_actions.append(HeaderAction( + header_action_type=header_action, + header_name=header_name, + value=header_value)) + + action = RulesEngineAction(request_header_actions=request_header_actions, + response_header_actions=response_header_actions) + + rule = RulesEngineRule(name=rule_name, priority=priority, + action=action, match_conditions=match_conditions, + match_processing_behavior=match_processing_behavior) + + rules_list = [] + try: + rules_engine = client.get(resource_group_name, front_door_name, rules_engine_name) + rules_engine.rules.append(rule) + rules_list = rules_engine.rules + except ErrorResponseException as e: + if e.response.status_code == 404: + rules_list = [rule] + else: + # If the error isn't a 404, rethrow it. + raise e + + return client.create_or_update(resource_group_name, front_door_name, rules_engine_name, rules_list) + + +def delete_rules_engine_rule(cmd, resource_group_name, front_door_name, rules_engine_name, rule_name): + client = cf_fd_rules_engines(cmd.cli_ctx, None) + rules_engine = client.get(resource_group_name, front_door_name, rules_engine_name) + rules_engine.rules = [x for x in rules_engine.rules if x.name.lower() != rule_name.lower()] + if not rules_engine.rules: + from knack.util import CLIError + raise CLIError("Rules Engine must at least contain one rule") + + return client.create_or_update(resource_group_name, front_door_name, rules_engine_name, rules=rules_engine.rules) + + +def show_rules_engine_rule(cmd, resource_group_name, front_door_name, rules_engine_name, rule_name): + client = cf_fd_rules_engines(cmd.cli_ctx, None) + rules_engine = client.get(resource_group_name, front_door_name, rules_engine_name) + try: + return next(x for x in rules_engine.rules if x.name.lower() == rule_name.lower()) + except StopIteration: + from knack.util import CLIError + raise CLIError("rule '{}' not found".format(rule_name)) + + +def list_rules_engine_rule(cmd, resource_group_name, front_door_name, rules_engine_name): + client = cf_fd_rules_engines(cmd.cli_ctx, None) + rules_engine = client.get(resource_group_name, front_door_name, rules_engine_name) + return rules_engine.rules + + +def update_rules_engine_rule(cmd, resource_group_name, front_door_name, + rules_engine_name, rule_name, priority=None, + match_processing_behavior=None): + client = cf_fd_rules_engines(cmd.cli_ctx, None) + rules_engine = client.get(resource_group_name, front_door_name, rules_engine_name) + + found_rule = False + for rule in rules_engine.rules: + if rule.name.lower() == rule_name.lower(): + found_rule = True + with UpdateContext(rule) as c: + c.update_param('priority', priority, None) + c.update_param('match_processing_behavior', match_processing_behavior, None) + break + + if not found_rule: + from knack.util import CLIError + raise CLIError("rule '{}' not found".format(rule_name)) + + return client.create_or_update(resource_group_name, front_door_name, rules_engine_name, rules=rules_engine.rules) + + +def add_rules_engine_condition(cmd, resource_group_name, front_door_name, rules_engine_name, + rule_name, match_variable=None, operator=None, match_values=None, + selector=None, negate_condition=None, transforms=None): + from azext_front_door.vendored_sdks.models import RulesEngineMatchCondition + client = cf_fd_rules_engines(cmd.cli_ctx, None) + rules_engine = client.get(resource_group_name, front_door_name, rules_engine_name) + + found_rule = False + for rule in rules_engine.rules: + if rule.name.upper() == rule_name.upper(): + found_rule = True + condition = RulesEngineMatchCondition(rules_engine_match_variable=match_variable, + rules_engine_operator=operator, + rules_engine_match_value=match_values, + selector=selector, negate_condition=negate_condition, + transforms=transforms) + if condition is not None: + rule.match_conditions.append(condition) + + if not found_rule: + from knack.util import CLIError + raise CLIError("rule '{}' not found".format(rule_name)) + + return client.create_or_update(resource_group_name, front_door_name, rules_engine_name, rules=rules_engine.rules) + + +def remove_rules_engine_condition(cmd, resource_group_name, + front_door_name, rules_engine_name, + rule_name, index): + client = cf_fd_rules_engines(cmd.cli_ctx, None) + rules_engine = client.get(resource_group_name, front_door_name, rules_engine_name) + + found_rule = False + for rule in rules_engine.rules: + if rule.name.upper() == rule_name.upper(): + found_rule = True + + if index >= len(rule.match_conditions): + from knack.util import CLIError + raise CLIError("Index out of bounds") + + rule.match_conditions = [v for (i, v) in enumerate(rule.match_conditions) if i != index] + + if not found_rule: + from knack.util import CLIError + raise CLIError("rule '{}' not found".format(rule_name)) + + return client.create_or_update(resource_group_name, front_door_name, rules_engine_name, rules=rules_engine.rules) + + +def list_rules_engine_condition(cmd, resource_group_name, + front_door_name, rules_engine_name, + rule_name): + client = cf_fd_rules_engines(cmd.cli_ctx, None) + rules_engine = client.get(resource_group_name, front_door_name, rules_engine_name) + + for rule in rules_engine.rules: + if rule.name.upper() == rule_name.upper(): + return rule.match_conditions + + from knack.util import CLIError + raise CLIError("rule '{}' not found".format(rule_name)) + + +# pylint: disable=unused-argument +def add_rules_engine_action(cmd, resource_group_name, front_door_name, rules_engine_name, rule_name, + action_type, header_action=None, header_name=None, header_value=None, + custom_forwarding_path=None, forwarding_protocol=None, backend_pool=None, + caching=None, dynamic_compression=None, cache_duration=None, + query_parameter_strip_directive=None, query_parameters=None, redirect_type='Moved', + redirect_protocol='MatchRequest', custom_host=None, custom_path=None, + custom_fragment=None, custom_query_string=None): + + def add_action_helper(rule): + from azext_front_door.vendored_sdks.models import (HeaderAction, CacheConfiguration, SubResource, + ForwardingConfiguration, RedirectConfiguration) + if action_type.lower() == 'requestheader': + rule.action.request_header_actions.append(HeaderAction( + header_action_type=header_action, + header_name=header_name, + value=header_value)) + + if action_type.lower() == 'responseheader': + rule.action.response_header_actions.append(HeaderAction( + header_action_type=header_action, + header_name=header_name, + value=header_value)) + + if action_type.lower() == 'forwardrouteoverride' or 'redirectrouteoverride': + routing_rule_usage_helper(action_type, backend_pool, custom_forwarding_path, + forwarding_protocol, dynamic_compression, + query_parameter_strip_directive, redirect_type, + redirect_protocol, custom_host, custom_path, + custom_fragment, custom_query_string) + if 'forward' in action_type.lower(): + rule.action.route_configuration_override = ForwardingConfiguration( + custom_forwarding_path=custom_forwarding_path, + forwarding_protocol=forwarding_protocol, + backend_pool=SubResource( + id=backend_pool) if backend_pool else None, + cache_configuration=CacheConfiguration( + query_parameter_strip_directive=query_parameter_strip_directive, + dynamic_compression=dynamic_compression + ) if caching else None + ) + elif 'redirect' in action_type.lower(): + rule.action.route_configuration_override = RedirectConfiguration( + redirect_type=redirect_type, + redirect_protocol=redirect_protocol, + custom_host=custom_host, + custom_path=custom_path, + custom_fragment=custom_fragment, + custom_query_string=custom_query_string + ) + + client = cf_fd_rules_engines(cmd.cli_ctx, None) + rules_engine = client.get(resource_group_name, front_door_name, rules_engine_name) + + found_rule = False + for rule in rules_engine.rules: + if rule.name.upper() == rule_name.upper(): + found_rule = True + add_action_helper(rule) + + if not found_rule: + from knack.util import CLIError + raise CLIError("rule '{}' not found".format(rule_name)) + + return client.create_or_update(resource_group_name, front_door_name, rules_engine_name, rules=rules_engine.rules) + + +def remove_rules_engine_action(cmd, resource_group_name, front_door_name, rules_engine_name, + rule_name, action_type, index=None): + def check_index(arr): + if index is None or index >= len(arr): + from knack.util import CLIError + raise CLIError("Index out of bounds") + + def remove_action_helper(rule): + if action_type.lower() == 'requestheader': + check_index(rule.action.request_header_actions) + rule.action.request_header_actions = [v for (i, v) in + enumerate(rule.action.request_header_actions) if i != index] + + if action_type.lower() == 'responseheader': + check_index(rule.action.response_header_actions) + rule.action.response_header_actions = [v for (i, v) in + enumerate(rule.action.response_header_actions) if i != index] + + if 'routeoverride' in action_type.lower(): + rule.action.route_configuration_override = None + + client = cf_fd_rules_engines(cmd.cli_ctx, None) + rules_engine = client.get(resource_group_name, front_door_name, rules_engine_name) + + found_rule = False + for rule in rules_engine.rules: + if rule.name.upper() == rule_name.upper(): + found_rule = True + remove_action_helper(rule) + # pylint: disable=len-as-condition + if len(rule.action.request_header_actions) <= 0 and \ + len(rule.action.response_header_actions) <= 0 and \ + rule.action.route_configuration_override is None: + from knack.util import CLIError + raise CLIError("Cannot remove all actions from rule '{}'".format(rule_name)) + + if not found_rule: + from knack.util import CLIError + raise CLIError("rule '{}' not found".format(rule_name)) + + return client.create_or_update(resource_group_name, front_door_name, rules_engine_name, rules=rules_engine.rules) + + +def list_rules_engine_action(cmd, resource_group_name, + front_door_name, rules_engine_name, + rule_name): + client = cf_fd_rules_engines(cmd.cli_ctx, None) + rules_engine = client.get(resource_group_name, front_door_name, rules_engine_name) + + for rule in rules_engine.rules: + if rule.name.upper() == rule_name.upper(): + return rule.action + + from knack.util import CLIError + raise CLIError("rule '{}' not found".format(rule_name)) + +# endregion diff --git a/src/front-door/azext_front_door/tests/latest/recordings/test_route_rule_basic.yaml b/src/front-door/azext_front_door/tests/latest/recordings/test_route_rule_basic.yaml index fe6ed5ef52..6b474e895a 100644 --- a/src/front-door/azext_front_door/tests/latest/recordings/test_route_rule_basic.yaml +++ b/src/front-door/azext_front_door/tests/latest/recordings/test_route_rule_basic.yaml @@ -35,18 +35,18 @@ interactions: ParameterSetName: - -g -n --backend-address User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 response: body: string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Creating\",\"resourceState\":\"Creating\",\"backendPools\":[\r\n \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n - \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\"\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n \ },\"resourceState\":\"Creating\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n @@ -56,27 +56,28 @@ interactions: \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Creating\"\r\n \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Creating\"\r\n - \ }\r\n }\r\n ],\"routingRules\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Creating\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n - \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n + \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/b7c91183-b1c5-408e-8c87-25b4e7780046?api-version=2019-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/5746578e-bfbb-46e7-b821-78c51b799ae8?api-version=2020-01-01 cache-control: - no-cache content-length: - - '5142' + - '5333' content-type: - application/json; odata.metadata=minimal date: - - Wed, 04 Mar 2020 08:56:35 GMT + - Sun, 22 Mar 2020 02:43:59 GMT expires: - '-1' odata-version: @@ -92,7 +93,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' x-powered-by: - ASP.NET status: @@ -112,23 +113,23 @@ interactions: ParameterSetName: - -g -n --backend-address User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/b7c91183-b1c5-408e-8c87-25b4e7780046?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/5746578e-bfbb-46e7-b821-78c51b799ae8?api-version=2020-01-01 response: body: - string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n + string: "{\r\n \"status\":\"InProgress\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '77' + - '78' content-type: - application/json; odata.metadata=minimal date: - - Wed, 04 Mar 2020 08:56:48 GMT + - Sun, 22 Mar 2020 02:44:10 GMT expires: - '-1' odata-version: @@ -166,16 +167,124 @@ interactions: ParameterSetName: - -g -n --backend-address User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/5746578e-bfbb-46e7-b821-78c51b799ae8?api-version=2020-01-01 + response: + body: + string: "{\r\n \"status\":\"InProgress\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '78' + content-type: + - application/json; odata.metadata=minimal + date: + - Sun, 22 Mar 2020 02:44:42 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door create + Connection: + - keep-alive + ParameterSetName: + - -g -n --backend-address + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/5746578e-bfbb-46e7-b821-78c51b799ae8?api-version=2020-01-01 + response: + body: + string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '77' + content-type: + - application/json; odata.metadata=minimal + date: + - Sun, 22 Mar 2020 02:45:12 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door create + Connection: + - keep-alive + ParameterSetName: + - -g -n --backend-address + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 response: body: string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n - \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\"\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n @@ -185,25 +294,26 @@ interactions: \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n - \ }\r\n }\r\n ],\"routingRules\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n - \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n + \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '5137' + - '5328' content-type: - application/json; odata.metadata=minimal date: - - Wed, 04 Mar 2020 08:56:51 GMT + - Sun, 22 Mar 2020 02:45:13 GMT expires: - '-1' odata-version: @@ -241,18 +351,18 @@ interactions: ParameterSetName: - -f -g -n --frontend-endpoints --route-type --backend-pool --patterns User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 response: body: string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n - \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\"\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n @@ -262,25 +372,26 @@ interactions: \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n - \ }\r\n }\r\n ],\"routingRules\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n - \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n + \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '5137' + - '5328' content-type: - application/json; odata.metadata=minimal date: - - Wed, 04 Mar 2020 08:56:53 GMT + - Sun, 22 Mar 2020 02:45:15 GMT expires: - '-1' odata-version: @@ -350,18 +461,18 @@ interactions: ParameterSetName: - -f -g -n --frontend-endpoints --route-type --backend-pool --patterns User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 response: body: string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n - \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\"\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n @@ -371,37 +482,39 @@ interactions: \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n - \ }\r\n }\r\n ],\"routingRules\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n + \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward1\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n - \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n + \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/13a8ddab-9979-4bdd-a8dd-44d24a6e9fd4?api-version=2019-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/02e482bb-2125-41c6-9bd0-a3ca6ca921ff?api-version=2020-01-01 cache-control: - no-cache content-length: - - '6495' + - '6705' content-type: - application/json; odata.metadata=minimal date: - - Wed, 04 Mar 2020 08:56:57 GMT + - Sun, 22 Mar 2020 02:45:17 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/13a8ddab-9979-4bdd-a8dd-44d24a6e9fd4/frontdoorresults/clifrontdoor000002?api-version=2019-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/02e482bb-2125-41c6-9bd0-a3ca6ca921ff/frontdoorresults/clifrontdoor000002?api-version=2020-01-01 odata-version: - '4.0' pragma: @@ -415,7 +528,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' x-powered-by: - ASP.NET status: @@ -435,23 +548,23 @@ interactions: ParameterSetName: - -f -g -n --frontend-endpoints --route-type --backend-pool --patterns User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/13a8ddab-9979-4bdd-a8dd-44d24a6e9fd4?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/02e482bb-2125-41c6-9bd0-a3ca6ca921ff?api-version=2020-01-01 response: body: - string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n + string: "{\r\n \"status\":\"InProgress\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '77' + - '78' content-type: - application/json; odata.metadata=minimal date: - - Wed, 04 Mar 2020 08:57:09 GMT + - Sun, 22 Mar 2020 02:45:28 GMT expires: - '-1' odata-version: @@ -489,16 +602,70 @@ interactions: ParameterSetName: - -f -g -n --frontend-endpoints --route-type --backend-pool --patterns User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/02e482bb-2125-41c6-9bd0-a3ca6ca921ff?api-version=2020-01-01 + response: + body: + string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '77' + content-type: + - application/json; odata.metadata=minimal + date: + - Sun, 22 Mar 2020 02:45:59 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door routing-rule create + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --frontend-endpoints --route-type --backend-pool --patterns + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 response: body: string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n - \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\"\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n @@ -508,31 +675,33 @@ interactions: \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n - \ }\r\n }\r\n ],\"routingRules\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n + \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward1\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n - \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n + \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '6495' + - '6705' content-type: - application/json; odata.metadata=minimal date: - - Wed, 04 Mar 2020 08:57:11 GMT + - Sun, 22 Mar 2020 02:46:00 GMT expires: - '-1' odata-version: @@ -570,18 +739,18 @@ interactions: ParameterSetName: - -f -g -n --patterns --caching User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 response: body: string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n - \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\"\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n @@ -591,31 +760,33 @@ interactions: \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n - \ }\r\n }\r\n ],\"routingRules\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n + \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward1\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n - \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n + \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '6495' + - '6705' content-type: - application/json; odata.metadata=minimal date: - - Wed, 04 Mar 2020 08:57:37 GMT + - Sun, 22 Mar 2020 02:46:01 GMT expires: - '-1' odata-version: @@ -686,18 +857,18 @@ interactions: ParameterSetName: - -f -g -n --patterns --caching User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 response: body: string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n - \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\"\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n @@ -707,37 +878,39 @@ interactions: \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n - \ }\r\n }\r\n ],\"routingRules\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n + \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward2\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n - \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n + \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/bb2908ef-be1f-446d-8719-c027491d9cb5?api-version=2019-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/787d19ff-b89e-486b-b0ed-5a82b3e4d1cf?api-version=2020-01-01 cache-control: - no-cache content-length: - - '6495' + - '6705' content-type: - application/json; odata.metadata=minimal date: - - Wed, 04 Mar 2020 08:57:41 GMT + - Sun, 22 Mar 2020 02:46:04 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/bb2908ef-be1f-446d-8719-c027491d9cb5/frontdoorresults/clifrontdoor000002?api-version=2019-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/787d19ff-b89e-486b-b0ed-5a82b3e4d1cf/frontdoorresults/clifrontdoor000002?api-version=2020-01-01 odata-version: - '4.0' pragma: @@ -751,7 +924,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1191' + - '1198' x-powered-by: - ASP.NET status: @@ -771,23 +944,23 @@ interactions: ParameterSetName: - -f -g -n --patterns --caching User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/bb2908ef-be1f-446d-8719-c027491d9cb5?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/787d19ff-b89e-486b-b0ed-5a82b3e4d1cf?api-version=2020-01-01 response: body: - string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n + string: "{\r\n \"status\":\"InProgress\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '77' + - '78' content-type: - application/json; odata.metadata=minimal date: - - Wed, 04 Mar 2020 08:57:53 GMT + - Sun, 22 Mar 2020 02:46:14 GMT expires: - '-1' odata-version: @@ -825,16 +998,70 @@ interactions: ParameterSetName: - -f -g -n --patterns --caching User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/787d19ff-b89e-486b-b0ed-5a82b3e4d1cf?api-version=2020-01-01 + response: + body: + string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '77' + content-type: + - application/json; odata.metadata=minimal + date: + - Sun, 22 Mar 2020 02:46:44 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door routing-rule update + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --patterns --caching + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 response: body: string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n - \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\"\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n @@ -844,31 +1071,33 @@ interactions: \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n - \ }\r\n }\r\n ],\"routingRules\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n + \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward2\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n - \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n + \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '6495' + - '6705' content-type: - application/json; odata.metadata=minimal date: - - Wed, 04 Mar 2020 08:57:54 GMT + - Sun, 22 Mar 2020 02:46:45 GMT expires: - '-1' odata-version: @@ -906,18 +1135,18 @@ interactions: ParameterSetName: - -f -g -n --frontend-endpoints --route-type --custom-host --patterns --custom-query-string User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 response: body: string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n - \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\"\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n @@ -927,31 +1156,33 @@ interactions: \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n - \ }\r\n }\r\n ],\"routingRules\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n + \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward2\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n - \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n + \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '6495' + - '6705' content-type: - application/json; odata.metadata=minimal date: - - Wed, 04 Mar 2020 08:57:57 GMT + - Sun, 22 Mar 2020 02:46:46 GMT expires: - '-1' odata-version: @@ -1027,18 +1258,18 @@ interactions: ParameterSetName: - -f -g -n --frontend-endpoints --route-type --custom-host --patterns --custom-query-string User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 response: body: string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n - \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\"\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n @@ -1048,42 +1279,45 @@ interactions: \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n - \ }\r\n }\r\n ],\"routingRules\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n + \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward2\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2\",\"name\":\"rule2\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n + \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2\",\"name\":\"rule2\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/redirect1\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"redirecthost.com\",\"customPath\":\"\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":\"querystring\",\"redirectType\":\"Moved\"\r\n - \ }\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n + \ },\"rulesEngine\":null\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/a42b77b9-2212-48e0-bd99-767b24b239d1?api-version=2019-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/6d375541-28b9-4845-a883-61c5b7bb24e9?api-version=2020-01-01 cache-control: - no-cache content-length: - - '7635' + - '7864' content-type: - application/json; odata.metadata=minimal date: - - Wed, 04 Mar 2020 08:58:01 GMT + - Sun, 22 Mar 2020 02:46:48 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/a42b77b9-2212-48e0-bd99-767b24b239d1/frontdoorresults/clifrontdoor000002?api-version=2019-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/6d375541-28b9-4845-a883-61c5b7bb24e9/frontdoorresults/clifrontdoor000002?api-version=2020-01-01 odata-version: - '4.0' pragma: @@ -1097,7 +1331,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1197' x-powered-by: - ASP.NET status: @@ -1117,23 +1351,23 @@ interactions: ParameterSetName: - -f -g -n --frontend-endpoints --route-type --custom-host --patterns --custom-query-string User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/a42b77b9-2212-48e0-bd99-767b24b239d1?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/6d375541-28b9-4845-a883-61c5b7bb24e9?api-version=2020-01-01 response: body: - string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n + string: "{\r\n \"status\":\"InProgress\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '77' + - '78' content-type: - application/json; odata.metadata=minimal date: - - Wed, 04 Mar 2020 08:58:22 GMT + - Sun, 22 Mar 2020 02:46:59 GMT expires: - '-1' odata-version: @@ -1171,16 +1405,70 @@ interactions: ParameterSetName: - -f -g -n --frontend-endpoints --route-type --custom-host --patterns --custom-query-string User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/6d375541-28b9-4845-a883-61c5b7bb24e9?api-version=2020-01-01 + response: + body: + string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '77' + content-type: + - application/json; odata.metadata=minimal + date: + - Sun, 22 Mar 2020 02:47:29 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door routing-rule create + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --frontend-endpoints --route-type --custom-host --patterns --custom-query-string + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 response: body: string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n - \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\"\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n @@ -1190,36 +1478,39 @@ interactions: \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n - \ }\r\n }\r\n ],\"routingRules\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n + \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward2\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2\",\"name\":\"rule2\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n + \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2\",\"name\":\"rule2\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/redirect1\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"redirecthost.com\",\"customPath\":\"\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":\"querystring\",\"redirectType\":\"Moved\"\r\n - \ }\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n + \ },\"rulesEngine\":null\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '7635' + - '7864' content-type: - application/json; odata.metadata=minimal date: - - Wed, 04 Mar 2020 08:58:25 GMT + - Sun, 22 Mar 2020 02:47:30 GMT expires: - '-1' odata-version: @@ -1257,18 +1548,18 @@ interactions: ParameterSetName: - -f -g -n --patterns --custom-query-string User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 response: body: string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n - \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\"\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n @@ -1278,36 +1569,39 @@ interactions: \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n - \ }\r\n }\r\n ],\"routingRules\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n + \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward2\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2\",\"name\":\"rule2\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n + \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2\",\"name\":\"rule2\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/redirect1\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"redirecthost.com\",\"customPath\":\"\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":\"querystring\",\"redirectType\":\"Moved\"\r\n - \ }\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n + \ },\"rulesEngine\":null\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '7635' + - '7864' content-type: - application/json; odata.metadata=minimal date: - - Wed, 04 Mar 2020 08:58:28 GMT + - Sun, 22 Mar 2020 02:47:30 GMT expires: - '-1' odata-version: @@ -1383,18 +1677,18 @@ interactions: ParameterSetName: - -f -g -n --patterns --custom-query-string User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 response: body: string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n - \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\"\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n @@ -1404,42 +1698,45 @@ interactions: \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n - \ }\r\n }\r\n ],\"routingRules\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n + \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward2\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2\",\"name\":\"rule2\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n + \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2\",\"name\":\"rule2\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward3\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"redirecthost.com\",\"customPath\":\"\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":\"querystring2\",\"redirectType\":\"Moved\"\r\n - \ }\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n + \ },\"rulesEngine\":null\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/c9a48cbc-60b3-4f63-8470-ee8e57021fa8?api-version=2019-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/7ce7a6db-401e-4179-adf0-e18211ee2fc3?api-version=2020-01-01 cache-control: - no-cache content-length: - - '7635' + - '7864' content-type: - application/json; odata.metadata=minimal date: - - Wed, 04 Mar 2020 08:58:32 GMT + - Sun, 22 Mar 2020 02:47:33 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/c9a48cbc-60b3-4f63-8470-ee8e57021fa8/frontdoorresults/clifrontdoor000002?api-version=2019-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/7ce7a6db-401e-4179-adf0-e18211ee2fc3/frontdoorresults/clifrontdoor000002?api-version=2020-01-01 odata-version: - '4.0' pragma: @@ -1453,7 +1750,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1190' + - '1197' x-powered-by: - ASP.NET status: @@ -1473,23 +1770,23 @@ interactions: ParameterSetName: - -f -g -n --patterns --custom-query-string User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/c9a48cbc-60b3-4f63-8470-ee8e57021fa8?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/7ce7a6db-401e-4179-adf0-e18211ee2fc3?api-version=2020-01-01 response: body: - string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n + string: "{\r\n \"status\":\"InProgress\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '77' + - '78' content-type: - application/json; odata.metadata=minimal date: - - Wed, 04 Mar 2020 08:58:45 GMT + - Sun, 22 Mar 2020 02:47:44 GMT expires: - '-1' odata-version: @@ -1527,16 +1824,70 @@ interactions: ParameterSetName: - -f -g -n --patterns --custom-query-string User-Agent: - - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-frontdoor/0.1.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/7ce7a6db-401e-4179-adf0-e18211ee2fc3?api-version=2020-01-01 + response: + body: + string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '77' + content-type: + - application/json; odata.metadata=minimal + date: + - Sun, 22 Mar 2020 02:48:14 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door routing-rule update + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --patterns --custom-query-string + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 response: body: string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n - \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\"\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n @@ -1546,36 +1897,39 @@ interactions: \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n - \ }\r\n }\r\n ],\"routingRules\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n + \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1\",\"name\":\"rule1\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward2\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2\",\"name\":\"rule2\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n },{\r\n + \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2\",\"name\":\"rule2\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/forward3\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"redirecthost.com\",\"customPath\":\"\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":\"querystring2\",\"redirectType\":\"Moved\"\r\n - \ }\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n + \ },\"rulesEngine\":null\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0b846cc1-81ff-4211-9cf2-b3f8592a5399\",\"friendlyName\":\"clifrontdoor000002\"\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '7635' + - '7864' content-type: - application/json; odata.metadata=minimal date: - - Wed, 04 Mar 2020 08:58:48 GMT + - Sun, 22 Mar 2020 02:48:15 GMT expires: - '-1' odata-version: diff --git a/src/front-door/azext_front_door/tests/latest/recordings/test_rules_engine_basic.yaml b/src/front-door/azext_front_door/tests/latest/recordings/test_rules_engine_basic.yaml new file mode 100644 index 0000000000..761a442d2c --- /dev/null +++ b/src/front-door/azext_front_door/tests/latest/recordings/test_rules_engine_basic.yaml @@ -0,0 +1,2551 @@ +interactions: +- request: + body: 'b''{"location": "global", "properties": {"friendlyName": "clifrontdoor000002", + "routingRules": [{"properties": {"frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], + "acceptedProtocols": ["Http"], "patternsToMatch": ["/*"], "enabledState": "Enabled", + "routeConfiguration": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "forwardingProtocol": "MatchRequest", "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}, + "resourceState": "Enabled"}, "name": "DefaultRoutingRule"}], "loadBalancingSettings": + [{"properties": {"sampleSize": 4, "successfulSamplesRequired": 2, "additionalLatencyMilliseconds": + 0, "resourceState": "Enabled"}, "name": "DefaultLoadBalancingSettings"}], "healthProbeSettings": + [{"properties": {"path": "/", "protocol": "Https", "intervalInSeconds": 30, + "healthProbeMethod": "HEAD", "resourceState": "Enabled"}, "name": "DefaultProbeSettings"}], + "backendPools": [{"properties": {"backends": [{"address": "202.120.2.3", "httpPort": + 80, "httpsPort": 443, "enabledState": "Enabled", "priority": 1, "weight": 50, + "backendHostHeader": "202.120.2.3"}], "loadBalancingSettings": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}, + "healthProbeSettings": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"}, + "resourceState": "Enabled"}, "name": "DefaultBackendPool"}], "frontendEndpoints": + [{"properties": {"hostName": "clifrontdoor000002.azurefd.net", "sessionAffinityEnabledState": + "Disabled", "resourceState": "Enabled"}, "name": "DefaultFrontendEndpoint"}], + "backendPoolsSettings": {"enforceCertificateNameCheck": "Enabled"}, "enabledState": + "Enabled"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door create + Connection: + - keep-alive + Content-Length: + - '2453' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --backend-address + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n + \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Creating\",\"resourceState\":\"Creating\",\"backendPools\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Creating\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings\",\"name\":\"DefaultProbeSettings\",\"type\":\"Microsoft.Network/Frontdoors/HealthProbeSettings\",\"properties\":{\r\n + \ \"intervalInSeconds\":30,\"path\":\"/\",\"protocol\":\"Https\",\"resourceState\":\"Creating\",\"enabledState\":\"Enabled\",\"healthProbeMethod\":\"Head\"\r\n + \ }\r\n }\r\n ],\"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint\",\"name\":\"DefaultFrontendEndpoint\",\"type\":\"Microsoft.Network/Frontdoors/FrontendEndpoints\",\"properties\":{\r\n + \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Creating\"\r\n + \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n + \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Creating\"\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n + \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n + \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Creating\",\"routeConfiguration\":{\r\n + \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n + \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n + \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0e4b847e-1dc4-4734-b528-fdfa75cd0a6b\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/b32af07d-11fd-4c42-b01f-3449f6dc778a?api-version=2020-01-01 + cache-control: + - no-cache + content-length: + - '5333' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:21:56 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door create + Connection: + - keep-alive + ParameterSetName: + - -g -n --backend-address + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/b32af07d-11fd-4c42-b01f-3449f6dc778a?api-version=2020-01-01 + response: + body: + string: "{\r\n \"status\":\"InProgress\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '78' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:22:06 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door create + Connection: + - keep-alive + ParameterSetName: + - -g -n --backend-address + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/b32af07d-11fd-4c42-b01f-3449f6dc778a?api-version=2020-01-01 + response: + body: + string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '77' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:22:36 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door create + Connection: + - keep-alive + ParameterSetName: + - -g -n --backend-address + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n + \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings\",\"name\":\"DefaultProbeSettings\",\"type\":\"Microsoft.Network/Frontdoors/HealthProbeSettings\",\"properties\":{\r\n + \ \"intervalInSeconds\":30,\"path\":\"/\",\"protocol\":\"Https\",\"resourceState\":\"Enabled\",\"enabledState\":\"Enabled\",\"healthProbeMethod\":\"Head\"\r\n + \ }\r\n }\r\n ],\"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint\",\"name\":\"DefaultFrontendEndpoint\",\"type\":\"Microsoft.Network/Frontdoors/FrontendEndpoints\",\"properties\":{\r\n + \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n + \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint\"\r\n + \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n + \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n + \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n + \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n + \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"0e4b847e-1dc4-4734-b528-fdfa75cd0a6b\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '5328' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:22:37 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule create + Connection: + - keep-alive + ParameterSetName: + - -f -g --rules-engine-name --name --priority --action-type --header-action + --header-name --header-value --match-variable --operator --match-values --transforms + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"error\": {\r\n \"code\": \"NotFound\",\r\n \"message\": + \"The requested resource was not found.\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-language: + - en-US + content-length: + - '104' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 27 Mar 2020 07:22:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 404 + message: Not Found +- request: + body: '{"properties": {"rules": [{"name": "rule1", "priority": 1, "action": {"requestHeaderActions": + [{"headerActionType": "Overwrite", "headerName": "Rewrite", "value": "True"}], + "responseHeaderActions": []}, "matchConditions": [{"rulesEngineMatchVariable": + "RequestFilenameExtension", "rulesEngineOperator": "Contains", "rulesEngineMatchValue": + ["jpg", "png"], "transforms": ["Lowercase"]}]}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule create + Connection: + - keep-alive + Content-Length: + - '389' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -f -g --rules-engine-name --name --priority --action-type --header-action + --header-name --header-value --match-variable --operator --match-values --transforms + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":null,\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1216' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:22:40 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule create + Connection: + - keep-alive + ParameterSetName: + - -f -g --rules-engine-name --name --priority --action-type --header-action + --header-name --header-value --match-variable --operator --match-values + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":null,\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1216' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:22:42 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"rules": [{"name": "rule1", "priority": 1, "action": {"requestHeaderActions": + [{"headerActionType": "Overwrite", "headerName": "Rewrite", "value": "True"}], + "responseHeaderActions": []}, "matchConditions": [{"rulesEngineMatchVariable": + "RequestFilenameExtension", "rulesEngineOperator": "Contains", "negateCondition": + false, "rulesEngineMatchValue": ["jpg", "png"], "transforms": ["Lowercase"]}]}, + {"name": "rule2", "priority": 2, "action": {"requestHeaderActions": [], "responseHeaderActions": + [{"headerActionType": "Append", "headerName": "Security", "value": "Strict"}]}, + "matchConditions": [{"rulesEngineMatchVariable": "RequestPath", "rulesEngineOperator": + "Contains", "rulesEngineMatchValue": ["private"]}]}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule create + Connection: + - keep-alive + Content-Length: + - '732' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -f -g --rules-engine-name --name --priority --action-type --header-action + --header-name --header-value --match-variable --operator --match-values + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":null,\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ }\r\n ],\"routeConfigurationOverride\":null,\"name\":null\r\n + \ },\"matchConditions\":[\r\n {\r\n \"rulesEngineMatchValue\":[\r\n + \ \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1875' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:22:43 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule update + Connection: + - keep-alive + ParameterSetName: + - -f -g --rules-engine-name --name --match-processing-behavior + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":null,\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ }\r\n ],\"routeConfigurationOverride\":null,\"name\":null\r\n + \ },\"matchConditions\":[\r\n {\r\n \"rulesEngineMatchValue\":[\r\n + \ \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1875' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:22:43 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"rules": [{"name": "rule1", "priority": 1, "action": {"requestHeaderActions": + [{"headerActionType": "Overwrite", "headerName": "Rewrite", "value": "True"}], + "responseHeaderActions": []}, "matchConditions": [{"rulesEngineMatchVariable": + "RequestFilenameExtension", "rulesEngineOperator": "Contains", "negateCondition": + false, "rulesEngineMatchValue": ["jpg", "png"], "transforms": ["Lowercase"]}], + "matchProcessingBehavior": "Stop"}, {"name": "rule2", "priority": 2, "action": + {"requestHeaderActions": [], "responseHeaderActions": [{"headerActionType": + "Append", "headerName": "Security", "value": "Strict"}]}, "matchConditions": + [{"rulesEngineMatchVariable": "RequestPath", "rulesEngineOperator": "Contains", + "negateCondition": false, "rulesEngineMatchValue": ["private"], "transforms": + []}]}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule update + Connection: + - keep-alive + Content-Length: + - '811' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -f -g --rules-engine-name --name --match-processing-behavior + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":null,\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ }\r\n ],\"routeConfigurationOverride\":null,\"name\":null\r\n + \ },\"matchConditions\":[\r\n {\r\n \"rulesEngineMatchValue\":[\r\n + \ \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1877' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:22:44 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule show + Connection: + - keep-alive + ParameterSetName: + - -f -g --rules-engine-name -n + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":null,\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ }\r\n ],\"routeConfigurationOverride\":null,\"name\":null\r\n + \ },\"matchConditions\":[\r\n {\r\n \"rulesEngineMatchValue\":[\r\n + \ \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1877' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:22:46 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule list + Connection: + - keep-alive + ParameterSetName: + - -f -g --name + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":null,\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ }\r\n ],\"routeConfigurationOverride\":null,\"name\":null\r\n + \ },\"matchConditions\":[\r\n {\r\n \"rulesEngineMatchValue\":[\r\n + \ \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1877' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:22:47 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine show + Connection: + - keep-alive + ParameterSetName: + - -f -g --name + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":null,\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ }\r\n ],\"routeConfigurationOverride\":null,\"name\":null\r\n + \ },\"matchConditions\":[\r\n {\r\n \"rulesEngineMatchValue\":[\r\n + \ \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1877' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:22:48 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule action add + Connection: + - keep-alive + ParameterSetName: + - -f -g --rules-engine-name --name --action-type --header-action --header-name + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":null,\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ }\r\n ],\"routeConfigurationOverride\":null,\"name\":null\r\n + \ },\"matchConditions\":[\r\n {\r\n \"rulesEngineMatchValue\":[\r\n + \ \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1877' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:22:49 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"rules": [{"name": "rule1", "priority": 1, "action": {"requestHeaderActions": + [{"headerActionType": "Overwrite", "headerName": "Rewrite", "value": "True"}], + "responseHeaderActions": []}, "matchConditions": [{"rulesEngineMatchVariable": + "RequestFilenameExtension", "rulesEngineOperator": "Contains", "negateCondition": + false, "rulesEngineMatchValue": ["jpg", "png"], "transforms": ["Lowercase"]}], + "matchProcessingBehavior": "Stop"}, {"name": "rule2", "priority": 2, "action": + {"requestHeaderActions": [], "responseHeaderActions": [{"headerActionType": + "Append", "headerName": "Security", "value": "Strict"}, {"headerActionType": + "Delete", "headerName": "Location"}]}, "matchConditions": [{"rulesEngineMatchVariable": + "RequestPath", "rulesEngineOperator": "Contains", "negateCondition": false, + "rulesEngineMatchValue": ["private"], "transforms": []}]}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule action add + Connection: + - keep-alive + Content-Length: + - '869' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -f -g --rules-engine-name --name --action-type --header-action --header-name + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":null,\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ },{\r\n \"headerActionType\":\"Delete\",\"headerName\":\"Location\",\"value\":null\r\n + \ }\r\n ],\"routeConfigurationOverride\":null,\"name\":null\r\n + \ },\"matchConditions\":[\r\n {\r\n \"rulesEngineMatchValue\":[\r\n + \ \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1974' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:22:51 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule action add + Connection: + - keep-alive + ParameterSetName: + - -f -g --rules-engine-name --name --action-type --backend-pool --caching + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":null,\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ },{\r\n \"headerActionType\":\"Delete\",\"headerName\":\"Location\",\"value\":null\r\n + \ }\r\n ],\"routeConfigurationOverride\":null,\"name\":null\r\n + \ },\"matchConditions\":[\r\n {\r\n \"rulesEngineMatchValue\":[\r\n + \ \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1974' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:22:52 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"properties": {"rules": [{"name": "rule1", "priority": 1, "action": + {"requestHeaderActions": [{"headerActionType": "Overwrite", "headerName": "Rewrite", + "value": "True"}], "responseHeaderActions": [], "routeConfigurationOverride": + {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "cacheConfiguration": {}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}, + "matchConditions": [{"rulesEngineMatchVariable": "RequestFilenameExtension", + "rulesEngineOperator": "Contains", "negateCondition": false, "rulesEngineMatchValue": + ["jpg", "png"], "transforms": ["Lowercase"]}], "matchProcessingBehavior": "Stop"}, + {"name": "rule2", "priority": 2, "action": {"requestHeaderActions": [], "responseHeaderActions": + [{"headerActionType": "Append", "headerName": "Security", "value": "Strict"}, + {"headerActionType": "Delete", "headerName": "Location"}]}, "matchConditions": + [{"rulesEngineMatchVariable": "RequestPath", "rulesEngineOperator": "Contains", + "negateCondition": false, "rulesEngineMatchValue": ["private"], "transforms": + []}]}]}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule action add + Connection: + - keep-alive + Content-Length: + - '1273' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -f -g --rules-engine-name --name --action-type --backend-pool --caching + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ },{\r\n \"headerActionType\":\"Delete\",\"headerName\":\"Location\",\"value\":null\r\n + \ }\r\n ],\"routeConfigurationOverride\":null,\"name\":null\r\n + \ },\"matchConditions\":[\r\n {\r\n \"rulesEngineMatchValue\":[\r\n + \ \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2602' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:22:53 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule action add + Connection: + - keep-alive + ParameterSetName: + - -f -g -r --name --action-type --custom-path + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ },{\r\n \"headerActionType\":\"Delete\",\"headerName\":\"Location\",\"value\":null\r\n + \ }\r\n ],\"routeConfigurationOverride\":null,\"name\":null\r\n + \ },\"matchConditions\":[\r\n {\r\n \"rulesEngineMatchValue\":[\r\n + \ \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2602' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:22:54 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"properties": {"rules": [{"name": "rule1", "priority": 1, "action": + {"requestHeaderActions": [{"headerActionType": "Overwrite", "headerName": "Rewrite", + "value": "True"}], "responseHeaderActions": [], "routeConfigurationOverride": + {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "forwardingProtocol": "MatchRequest", "cacheConfiguration": {"queryParameterStripDirective": + "StripAll", "dynamicCompression": "Enabled"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}, + "matchConditions": [{"rulesEngineMatchVariable": "RequestFilenameExtension", + "rulesEngineOperator": "Contains", "negateCondition": false, "rulesEngineMatchValue": + ["jpg", "png"], "transforms": ["Lowercase"]}], "matchProcessingBehavior": "Stop"}, + {"name": "rule2", "priority": 2, "action": {"requestHeaderActions": [], "responseHeaderActions": + [{"headerActionType": "Append", "headerName": "Security", "value": "Strict"}, + {"headerActionType": "Delete", "headerName": "Location"}], "routeConfigurationOverride": + {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "redirectType": "Moved", "redirectProtocol": "MatchRequest", "customPath": "/redirect"}}, + "matchConditions": [{"rulesEngineMatchVariable": "RequestPath", "rulesEngineOperator": + "Contains", "negateCondition": false, "rulesEngineMatchValue": ["private"], + "transforms": []}]}]}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule action add + Connection: + - keep-alive + Content-Length: + - '1589' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -f -g -r --name --action-type --custom-path + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ },{\r\n \"headerActionType\":\"Delete\",\"headerName\":\"Location\",\"value\":null\r\n + \ }\r\n ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"\",\"customPath\":\"/redirect\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":null,\"redirectType\":\"Moved\"\r\n + \ },\"name\":null\r\n },\"matchConditions\":[\r\n {\r\n + \ \"rulesEngineMatchValue\":[\r\n \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2851' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:22:55 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule action list + Connection: + - keep-alive + ParameterSetName: + - -f -g -r --name + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ },{\r\n \"headerActionType\":\"Delete\",\"headerName\":\"Location\",\"value\":null\r\n + \ }\r\n ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"\",\"customPath\":\"/redirect\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":null,\"redirectType\":\"Moved\"\r\n + \ },\"name\":null\r\n },\"matchConditions\":[\r\n {\r\n + \ \"rulesEngineMatchValue\":[\r\n \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2851' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:22:56 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule action list + Connection: + - keep-alive + ParameterSetName: + - -f -g -r --name + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ },{\r\n \"headerActionType\":\"Delete\",\"headerName\":\"Location\",\"value\":null\r\n + \ }\r\n ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"\",\"customPath\":\"/redirect\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":null,\"redirectType\":\"Moved\"\r\n + \ },\"name\":null\r\n },\"matchConditions\":[\r\n {\r\n + \ \"rulesEngineMatchValue\":[\r\n \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2851' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:22:57 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule condition add + Connection: + - keep-alive + ParameterSetName: + - -f -g -r --name --match-variable --selector --operator --match-values --transforms + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ },{\r\n \"headerActionType\":\"Delete\",\"headerName\":\"Location\",\"value\":null\r\n + \ }\r\n ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"\",\"customPath\":\"/redirect\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":null,\"redirectType\":\"Moved\"\r\n + \ },\"name\":null\r\n },\"matchConditions\":[\r\n {\r\n + \ \"rulesEngineMatchValue\":[\r\n \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2851' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:22:58 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"properties": {"rules": [{"name": "rule1", "priority": 1, "action": + {"requestHeaderActions": [{"headerActionType": "Overwrite", "headerName": "Rewrite", + "value": "True"}], "responseHeaderActions": [], "routeConfigurationOverride": + {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "forwardingProtocol": "MatchRequest", "cacheConfiguration": {"queryParameterStripDirective": + "StripAll", "dynamicCompression": "Enabled"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}, + "matchConditions": [{"rulesEngineMatchVariable": "RequestFilenameExtension", + "rulesEngineOperator": "Contains", "negateCondition": false, "rulesEngineMatchValue": + ["jpg", "png"], "transforms": ["Lowercase"]}, {"rulesEngineMatchVariable": "RequestHeader", + "selector": "x-language", "rulesEngineOperator": "Equal", "rulesEngineMatchValue": + ["en-gb", "en-th"], "transforms": ["Lowercase"]}], "matchProcessingBehavior": + "Stop"}, {"name": "rule2", "priority": 2, "action": {"requestHeaderActions": + [], "responseHeaderActions": [{"headerActionType": "Append", "headerName": "Security", + "value": "Strict"}, {"headerActionType": "Delete", "headerName": "Location"}], + "routeConfigurationOverride": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "redirectType": "Moved", "redirectProtocol": "MatchRequest", "customHost": "", + "customPath": "/redirect"}}, "matchConditions": [{"rulesEngineMatchVariable": + "RequestPath", "rulesEngineOperator": "Contains", "negateCondition": false, + "rulesEngineMatchValue": ["private"], "transforms": []}]}]}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule condition add + Connection: + - keep-alive + Content-Length: + - '1786' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -f -g -r --name --match-variable --selector --operator --match-values --transforms + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ },{\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ },{\r\n \"headerActionType\":\"Delete\",\"headerName\":\"Location\",\"value\":null\r\n + \ }\r\n ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"\",\"customPath\":\"/redirect\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":null,\"redirectType\":\"Moved\"\r\n + \ },\"name\":null\r\n },\"matchConditions\":[\r\n {\r\n + \ \"rulesEngineMatchValue\":[\r\n \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '3129' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:23:00 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule condition list + Connection: + - keep-alive + ParameterSetName: + - -f -g --rules-engine-name --name + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ },{\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ },{\r\n \"headerActionType\":\"Delete\",\"headerName\":\"Location\",\"value\":null\r\n + \ }\r\n ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"\",\"customPath\":\"/redirect\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":null,\"redirectType\":\"Moved\"\r\n + \ },\"name\":null\r\n },\"matchConditions\":[\r\n {\r\n + \ \"rulesEngineMatchValue\":[\r\n \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '3129' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:23:01 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule condition remove + Connection: + - keep-alive + ParameterSetName: + - -f -g --rules-engine-name --name --index + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"jpg\",\"png\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestFilenameExtension\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ },{\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ },{\r\n \"headerActionType\":\"Delete\",\"headerName\":\"Location\",\"value\":null\r\n + \ }\r\n ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"\",\"customPath\":\"/redirect\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":null,\"redirectType\":\"Moved\"\r\n + \ },\"name\":null\r\n },\"matchConditions\":[\r\n {\r\n + \ \"rulesEngineMatchValue\":[\r\n \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '3129' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:23:01 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"properties": {"rules": [{"name": "rule1", "priority": 1, "action": + {"requestHeaderActions": [{"headerActionType": "Overwrite", "headerName": "Rewrite", + "value": "True"}], "responseHeaderActions": [], "routeConfigurationOverride": + {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "forwardingProtocol": "MatchRequest", "cacheConfiguration": {"queryParameterStripDirective": + "StripAll", "dynamicCompression": "Enabled"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}, + "matchConditions": [{"rulesEngineMatchVariable": "RequestHeader", "selector": + "x-language", "rulesEngineOperator": "Equal", "negateCondition": false, "rulesEngineMatchValue": + ["en-gb", "en-th"], "transforms": ["Lowercase"]}], "matchProcessingBehavior": + "Stop"}, {"name": "rule2", "priority": 2, "action": {"requestHeaderActions": + [], "responseHeaderActions": [{"headerActionType": "Append", "headerName": "Security", + "value": "Strict"}, {"headerActionType": "Delete", "headerName": "Location"}], + "routeConfigurationOverride": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "redirectType": "Moved", "redirectProtocol": "MatchRequest", "customHost": "", + "customPath": "/redirect"}}, "matchConditions": [{"rulesEngineMatchVariable": + "RequestPath", "rulesEngineOperator": "Contains", "negateCondition": false, + "rulesEngineMatchValue": ["private"], "transforms": []}]}]}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule condition remove + Connection: + - keep-alive + Content-Length: + - '1623' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -f -g --rules-engine-name --name --index + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ },{\r\n \"headerActionType\":\"Delete\",\"headerName\":\"Location\",\"value\":null\r\n + \ }\r\n ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"\",\"customPath\":\"/redirect\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":null,\"redirectType\":\"Moved\"\r\n + \ },\"name\":null\r\n },\"matchConditions\":[\r\n {\r\n + \ \"rulesEngineMatchValue\":[\r\n \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2849' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:23:02 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule action remove + Connection: + - keep-alive + ParameterSetName: + - -f -g --rules-engine-name --name --action-type + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":{\r\n + \ \"queryParameterStripDirective\":\"StripAll\",\"queryParameters\":null,\"dynamicCompression\":\"Enabled\",\"cacheDuration\":null\r\n + \ },\"backendPool\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool\"\r\n + \ }\r\n },\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ },{\r\n \"headerActionType\":\"Delete\",\"headerName\":\"Location\",\"value\":null\r\n + \ }\r\n ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"\",\"customPath\":\"/redirect\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":null,\"redirectType\":\"Moved\"\r\n + \ },\"name\":null\r\n },\"matchConditions\":[\r\n {\r\n + \ \"rulesEngineMatchValue\":[\r\n \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2849' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:23:04 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"rules": [{"name": "rule1", "priority": 1, "action": {"requestHeaderActions": + [{"headerActionType": "Overwrite", "headerName": "Rewrite", "value": "True"}], + "responseHeaderActions": []}, "matchConditions": [{"rulesEngineMatchVariable": + "RequestHeader", "selector": "x-language", "rulesEngineOperator": "Equal", "negateCondition": + false, "rulesEngineMatchValue": ["en-gb", "en-th"], "transforms": ["Lowercase"]}], + "matchProcessingBehavior": "Stop"}, {"name": "rule2", "priority": 2, "action": + {"requestHeaderActions": [], "responseHeaderActions": [{"headerActionType": + "Append", "headerName": "Security", "value": "Strict"}, {"headerActionType": + "Delete", "headerName": "Location"}], "routeConfigurationOverride": {"@odata.type": + "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", "redirectType": + "Moved", "redirectProtocol": "MatchRequest", "customHost": "", "customPath": + "/redirect"}}, "matchConditions": [{"rulesEngineMatchVariable": "RequestPath", + "rulesEngineOperator": "Contains", "negateCondition": false, "rulesEngineMatchValue": + ["private"], "transforms": []}]}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule action remove + Connection: + - keep-alive + Content-Length: + - '1106' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -f -g --rules-engine-name --name --action-type + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":null,\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ },{\r\n \"headerActionType\":\"Delete\",\"headerName\":\"Location\",\"value\":null\r\n + \ }\r\n ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"\",\"customPath\":\"/redirect\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":null,\"redirectType\":\"Moved\"\r\n + \ },\"name\":null\r\n },\"matchConditions\":[\r\n {\r\n + \ \"rulesEngineMatchValue\":[\r\n \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2221' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:23:05 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule action remove + Connection: + - keep-alive + ParameterSetName: + - -f -g --rules-engine-name --name --action-type --index + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":null,\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ },{\r\n \"headerActionType\":\"Delete\",\"headerName\":\"Location\",\"value\":null\r\n + \ }\r\n ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"\",\"customPath\":\"/redirect\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":null,\"redirectType\":\"Moved\"\r\n + \ },\"name\":null\r\n },\"matchConditions\":[\r\n {\r\n + \ \"rulesEngineMatchValue\":[\r\n \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2221' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:23:06 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"rules": [{"name": "rule1", "priority": 1, "action": {"requestHeaderActions": + [{"headerActionType": "Overwrite", "headerName": "Rewrite", "value": "True"}], + "responseHeaderActions": []}, "matchConditions": [{"rulesEngineMatchVariable": + "RequestHeader", "selector": "x-language", "rulesEngineOperator": "Equal", "negateCondition": + false, "rulesEngineMatchValue": ["en-gb", "en-th"], "transforms": ["Lowercase"]}], + "matchProcessingBehavior": "Stop"}, {"name": "rule2", "priority": 2, "action": + {"requestHeaderActions": [], "responseHeaderActions": [{"headerActionType": + "Append", "headerName": "Security", "value": "Strict"}], "routeConfigurationOverride": + {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "redirectType": "Moved", "redirectProtocol": "MatchRequest", "customHost": "", + "customPath": "/redirect"}}, "matchConditions": [{"rulesEngineMatchVariable": + "RequestPath", "rulesEngineOperator": "Contains", "negateCondition": false, + "rulesEngineMatchValue": ["private"], "transforms": []}]}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule action remove + Connection: + - keep-alive + Content-Length: + - '1048' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -f -g --rules-engine-name --name --action-type --index + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":null,\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ }\r\n ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"\",\"customPath\":\"/redirect\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":null,\"redirectType\":\"Moved\"\r\n + \ },\"name\":null\r\n },\"matchConditions\":[\r\n {\r\n + \ \"rulesEngineMatchValue\":[\r\n \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2124' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:23:08 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule delete + Connection: + - keep-alive + ParameterSetName: + - -f -g --rules-engine-name --name + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":null,\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ }\r\n ]\r\n },{\r\n \"priority\":2,\"name\":\"rule2\",\"matchProcessingBehavior\":null,\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n \r\n ],\"responseHeaderActions\":[\r\n + \ {\r\n \"headerActionType\":\"Append\",\"headerName\":\"Security\",\"value\":\"Strict\"\r\n + \ }\r\n ],\"routeConfigurationOverride\":{\r\n \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\"customFragment\":null,\"customHost\":\"\",\"customPath\":\"/redirect\",\"redirectProtocol\":\"MatchRequest\",\"customQueryString\":null,\"redirectType\":\"Moved\"\r\n + \ },\"name\":null\r\n },\"matchConditions\":[\r\n {\r\n + \ \"rulesEngineMatchValue\":[\r\n \"private\"\r\n ],\"rulesEngineMatchVariable\":\"RequestPath\",\"rulesEngineOperator\":\"Contains\",\"transforms\":[\r\n + \ \r\n ],\"negateCondition\":false,\"selector\":null\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2124' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:23:08 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"rules": [{"name": "rule1", "priority": 1, "action": {"requestHeaderActions": + [{"headerActionType": "Overwrite", "headerName": "Rewrite", "value": "True"}], + "responseHeaderActions": []}, "matchConditions": [{"rulesEngineMatchVariable": + "RequestHeader", "selector": "x-language", "rulesEngineOperator": "Equal", "negateCondition": + false, "rulesEngineMatchValue": ["en-gb", "en-th"], "transforms": ["Lowercase"]}], + "matchProcessingBehavior": "Stop"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule delete + Connection: + - keep-alive + Content-Length: + - '466' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -f -g --rules-engine-name --name + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/clirulesengine000003?api-version=2020-01-01 + response: + body: + string: "{\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":null,\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1216' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:23:09 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine list + Connection: + - keep-alive + ParameterSetName: + - -f -g + User-Agent: + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines?api-version=2020-01-01 + response: + body: + string: "{\r\n \"value\":[\r\n {\r\n \"name\":\"clirulesengine000003\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/clirulesengine000003\",\"type\":\"Microsoft.Network/frontdoors/rulesengines\",\"properties\":{\r\n + \ \"name\":\"clirulesengine000003\",\"resourceGroup\":\"clitest.rg000001\",\"resourceState\":\"Enabled\",\"rules\":[\r\n + \ {\r\n \"priority\":1,\"name\":\"rule1\",\"matchProcessingBehavior\":\"Stop\",\"action\":{\r\n + \ \"requestHeaderActions\":[\r\n {\r\n \"headerActionType\":\"Overwrite\",\"headerName\":\"Rewrite\",\"value\":\"True\"\r\n + \ }\r\n ],\"responseHeaderActions\":[\r\n \r\n + \ ],\"routeConfigurationOverride\":null,\"name\":null\r\n },\"matchConditions\":[\r\n + \ {\r\n \"rulesEngineMatchValue\":[\r\n \"en-gb\",\"en-th\"\r\n + \ ],\"rulesEngineMatchVariable\":\"RequestHeader\",\"rulesEngineOperator\":\"Equal\",\"transforms\":[\r\n + \ \"Lowercase\"\r\n ],\"negateCondition\":false,\"selector\":\"x-language\"\r\n + \ }\r\n ]\r\n }\r\n ]\r\n }\r\n + \ }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1340' + content-type: + - application/json; odata.metadata=minimal + date: + - Fri, 27 Mar 2020 07:23:10 GMT + expires: + - '-1' + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Microsoft-IIS/8.5 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/front-door/azext_front_door/tests/latest/recordings/test_waf_exclusions.yaml b/src/front-door/azext_front_door/tests/latest/recordings/test_waf_exclusions.yaml index 859b0fb087..a965e28c79 100644 --- a/src/front-door/azext_front_door/tests/latest/recordings/test_waf_exclusions.yaml +++ b/src/front-door/azext_front_door/tests/latest/recordings/test_waf_exclusions.yaml @@ -19,8 +19,8 @@ interactions: ParameterSetName: - -g -n --mode User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -41,7 +41,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:16:57 GMT + - Sun, 22 Mar 2020 02:43:44 GMT expires: - '-1' odata-version: @@ -77,8 +77,8 @@ interactions: ParameterSetName: - -g --policy-name --type --version User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -99,7 +99,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:16:59 GMT + - Sun, 22 Mar 2020 02:43:46 GMT expires: - '-1' odata-version: @@ -143,8 +143,8 @@ interactions: ParameterSetName: - -g --policy-name --type --version User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -167,7 +167,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:02 GMT + - Sun, 22 Mar 2020 02:43:47 GMT expires: - '-1' odata-version: @@ -187,7 +187,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1199' x-powered-by: - ASP.NET status: @@ -207,8 +207,8 @@ interactions: ParameterSetName: - -g --policy-name --type User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -231,7 +231,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:02 GMT + - Sun, 22 Mar 2020 02:43:48 GMT expires: - '-1' odata-version: @@ -269,8 +269,8 @@ interactions: ParameterSetName: - -g --policy-name --type User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -293,7 +293,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:02 GMT + - Sun, 22 Mar 2020 02:43:49 GMT expires: - '-1' odata-version: @@ -331,8 +331,8 @@ interactions: ParameterSetName: - -g --policy-name --type --match-variable --operator --value User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -355,7 +355,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:03 GMT + - Sun, 22 Mar 2020 02:43:50 GMT expires: - '-1' odata-version: @@ -401,8 +401,8 @@ interactions: ParameterSetName: - -g --policy-name --type --match-variable --operator --value User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -425,7 +425,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:05 GMT + - Sun, 22 Mar 2020 02:43:51 GMT expires: - '-1' odata-version: @@ -445,7 +445,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1198' x-powered-by: - ASP.NET status: @@ -465,8 +465,8 @@ interactions: ParameterSetName: - -g --policy-name --type User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -489,7 +489,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:06 GMT + - Sun, 22 Mar 2020 02:43:53 GMT expires: - '-1' odata-version: @@ -527,8 +527,8 @@ interactions: ParameterSetName: - -g --policy-name --type User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -551,7 +551,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:07 GMT + - Sun, 22 Mar 2020 02:43:53 GMT expires: - '-1' odata-version: @@ -589,8 +589,8 @@ interactions: ParameterSetName: - -g --policy-name --type --match-variable --operator --value User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -613,7 +613,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:08 GMT + - Sun, 22 Mar 2020 02:43:54 GMT expires: - '-1' odata-version: @@ -658,8 +658,8 @@ interactions: ParameterSetName: - -g --policy-name --type --match-variable --operator --value User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -682,7 +682,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:09 GMT + - Sun, 22 Mar 2020 02:43:55 GMT expires: - '-1' odata-version: @@ -702,7 +702,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' x-powered-by: - ASP.NET status: @@ -722,8 +722,8 @@ interactions: ParameterSetName: - -g --policy-name --type User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -746,7 +746,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:11 GMT + - Sun, 22 Mar 2020 02:43:56 GMT expires: - '-1' odata-version: @@ -784,8 +784,8 @@ interactions: ParameterSetName: - -g --policy-name --type User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -808,7 +808,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:13 GMT + - Sun, 22 Mar 2020 02:43:57 GMT expires: - '-1' odata-version: @@ -846,8 +846,8 @@ interactions: ParameterSetName: - -g --policy-name --type --rule-group-id User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -870,7 +870,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:13 GMT + - Sun, 22 Mar 2020 02:43:58 GMT expires: - '-1' odata-version: @@ -908,8 +908,8 @@ interactions: ParameterSetName: - -g --policy-name --type --rule-group-id User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -932,7 +932,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:15 GMT + - Sun, 22 Mar 2020 02:43:59 GMT expires: - '-1' odata-version: @@ -970,8 +970,8 @@ interactions: ParameterSetName: - -g --policy-name --type --rule-group-id --match-variable --operator --value User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -994,7 +994,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:16 GMT + - Sun, 22 Mar 2020 02:43:59 GMT expires: - '-1' odata-version: @@ -1041,8 +1041,8 @@ interactions: ParameterSetName: - -g --policy-name --type --rule-group-id --match-variable --operator --value User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -1068,7 +1068,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:17 GMT + - Sun, 22 Mar 2020 02:44:01 GMT expires: - '-1' odata-version: @@ -1088,7 +1088,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' x-powered-by: - ASP.NET status: @@ -1108,8 +1108,8 @@ interactions: ParameterSetName: - -g --policy-name --type --rule-group-id User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -1135,7 +1135,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:19 GMT + - Sun, 22 Mar 2020 02:44:01 GMT expires: - '-1' odata-version: @@ -1173,8 +1173,8 @@ interactions: ParameterSetName: - -g --policy-name --type --rule-group-id User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -1200,7 +1200,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:19 GMT + - Sun, 22 Mar 2020 02:44:02 GMT expires: - '-1' odata-version: @@ -1238,8 +1238,8 @@ interactions: ParameterSetName: - -g --policy-name --type --rule-group-id --match-variable --operator --value User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -1265,7 +1265,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:20 GMT + - Sun, 22 Mar 2020 02:44:03 GMT expires: - '-1' odata-version: @@ -1311,8 +1311,8 @@ interactions: ParameterSetName: - -g --policy-name --type --rule-group-id --match-variable --operator --value User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -1337,7 +1337,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:21 GMT + - Sun, 22 Mar 2020 02:44:05 GMT expires: - '-1' odata-version: @@ -1377,8 +1377,8 @@ interactions: ParameterSetName: - -g --policy-name --type --rule-group-id --rule-id User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -1403,7 +1403,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:23 GMT + - Sun, 22 Mar 2020 02:44:05 GMT expires: - '-1' odata-version: @@ -1441,8 +1441,8 @@ interactions: ParameterSetName: - -g --policy-name --type --rule-group-id --rule-id User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -1467,7 +1467,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:24 GMT + - Sun, 22 Mar 2020 02:44:06 GMT expires: - '-1' odata-version: @@ -1506,8 +1506,8 @@ interactions: - -g --policy-name --type --rule-group-id --rule-id --match-variable --operator --value User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -1532,7 +1532,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:24 GMT + - Sun, 22 Mar 2020 02:44:07 GMT expires: - '-1' odata-version: @@ -1580,8 +1580,8 @@ interactions: - -g --policy-name --type --rule-group-id --rule-id --match-variable --operator --value User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -1594,7 +1594,7 @@ interactions: \ },\"customRules\":{\r\n \"rules\":[\r\n \r\n ]\r\n },\"managedRules\":{\r\n \ \"managedRuleSets\":[\r\n {\r\n \"ruleSetType\":\"DefaultRuleSet\",\"ruleSetVersion\":\"1.0\",\"ruleGroupOverrides\":[\r\n \ {\r\n \"ruleGroupName\":\"SQLI\",\"rules\":[\r\n - \ {\r\n \"ruleId\":\"942100\",\"enabledState\":null,\"action\":null,\"exclusions\":[\r\n + \ {\r\n \"ruleId\":\"942100\",\"enabledState\":\"Enabled\",\"action\":\"Block\",\"exclusions\":[\r\n \ {\r\n \"matchVariable\":\"RequestHeaderNames\",\"selectorMatchOperator\":\"Contains\",\"selector\":\"ignoreme\"\r\n \ }\r\n ]\r\n }\r\n ],\"exclusions\":[\r\n \ \r\n ]\r\n }\r\n ],\"exclusions\":[\r\n @@ -1604,11 +1604,11 @@ interactions: cache-control: - no-cache content-length: - - '1417' + - '1425' content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:26 GMT + - Sun, 22 Mar 2020 02:44:08 GMT expires: - '-1' odata-version: @@ -1628,7 +1628,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' x-powered-by: - ASP.NET status: @@ -1648,8 +1648,8 @@ interactions: ParameterSetName: - -g --policy-name --type --rule-group-id --rule-id User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -1662,7 +1662,7 @@ interactions: \ },\"customRules\":{\r\n \"rules\":[\r\n \r\n ]\r\n },\"managedRules\":{\r\n \ \"managedRuleSets\":[\r\n {\r\n \"ruleSetType\":\"DefaultRuleSet\",\"ruleSetVersion\":\"1.0\",\"ruleGroupOverrides\":[\r\n \ {\r\n \"ruleGroupName\":\"SQLI\",\"rules\":[\r\n - \ {\r\n \"ruleId\":\"942100\",\"enabledState\":null,\"action\":null,\"exclusions\":[\r\n + \ {\r\n \"ruleId\":\"942100\",\"enabledState\":\"Enabled\",\"action\":\"Block\",\"exclusions\":[\r\n \ {\r\n \"matchVariable\":\"RequestHeaderNames\",\"selectorMatchOperator\":\"Contains\",\"selector\":\"ignoreme\"\r\n \ }\r\n ]\r\n }\r\n ],\"exclusions\":[\r\n \ \r\n ]\r\n }\r\n ],\"exclusions\":[\r\n @@ -1672,11 +1672,11 @@ interactions: cache-control: - no-cache content-length: - - '1417' + - '1425' content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:27 GMT + - Sun, 22 Mar 2020 02:44:09 GMT expires: - '-1' odata-version: @@ -1714,8 +1714,8 @@ interactions: ParameterSetName: - -g --policy-name --type --rule-group-id --rule-id User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -1728,7 +1728,7 @@ interactions: \ },\"customRules\":{\r\n \"rules\":[\r\n \r\n ]\r\n },\"managedRules\":{\r\n \ \"managedRuleSets\":[\r\n {\r\n \"ruleSetType\":\"DefaultRuleSet\",\"ruleSetVersion\":\"1.0\",\"ruleGroupOverrides\":[\r\n \ {\r\n \"ruleGroupName\":\"SQLI\",\"rules\":[\r\n - \ {\r\n \"ruleId\":\"942100\",\"enabledState\":null,\"action\":null,\"exclusions\":[\r\n + \ {\r\n \"ruleId\":\"942100\",\"enabledState\":\"Enabled\",\"action\":\"Block\",\"exclusions\":[\r\n \ {\r\n \"matchVariable\":\"RequestHeaderNames\",\"selectorMatchOperator\":\"Contains\",\"selector\":\"ignoreme\"\r\n \ }\r\n ]\r\n }\r\n ],\"exclusions\":[\r\n \ \r\n ]\r\n }\r\n ],\"exclusions\":[\r\n @@ -1738,11 +1738,11 @@ interactions: cache-control: - no-cache content-length: - - '1417' + - '1425' content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:27 GMT + - Sun, 22 Mar 2020 02:44:09 GMT expires: - '-1' odata-version: @@ -1781,8 +1781,8 @@ interactions: - -g --policy-name --type --rule-group-id --rule-id --match-variable --operator --value User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -1795,7 +1795,7 @@ interactions: \ },\"customRules\":{\r\n \"rules\":[\r\n \r\n ]\r\n },\"managedRules\":{\r\n \ \"managedRuleSets\":[\r\n {\r\n \"ruleSetType\":\"DefaultRuleSet\",\"ruleSetVersion\":\"1.0\",\"ruleGroupOverrides\":[\r\n \ {\r\n \"ruleGroupName\":\"SQLI\",\"rules\":[\r\n - \ {\r\n \"ruleId\":\"942100\",\"enabledState\":null,\"action\":null,\"exclusions\":[\r\n + \ {\r\n \"ruleId\":\"942100\",\"enabledState\":\"Enabled\",\"action\":\"Block\",\"exclusions\":[\r\n \ {\r\n \"matchVariable\":\"RequestHeaderNames\",\"selectorMatchOperator\":\"Contains\",\"selector\":\"ignoreme\"\r\n \ }\r\n ]\r\n }\r\n ],\"exclusions\":[\r\n \ \r\n ]\r\n }\r\n ],\"exclusions\":[\r\n @@ -1805,11 +1805,11 @@ interactions: cache-control: - no-cache content-length: - - '1417' + - '1425' content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:29 GMT + - Sun, 22 Mar 2020 02:44:10 GMT expires: - '-1' odata-version: @@ -1838,7 +1838,8 @@ interactions: "Enabled", "mode": "Prevention"}, "customRules": {"rules": []}, "managedRules": {"managedRuleSets": [{"ruleSetType": "DefaultRuleSet", "ruleSetVersion": "1.0", "exclusions": [], "ruleGroupOverrides": [{"ruleGroupName": "SQLI", "exclusions": - [], "rules": [{"ruleId": "942100", "exclusions": []}]}]}]}}}' + [], "rules": [{"ruleId": "942100", "enabledState": "Enabled", "action": "Block", + "exclusions": []}]}]}]}}}' headers: Accept: - application/json @@ -1849,15 +1850,15 @@ interactions: Connection: - keep-alive Content-Length: - - '386' + - '432' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g --policy-name --type --rule-group-id --rule-id --match-variable --operator --value User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -1870,7 +1871,7 @@ interactions: \ },\"customRules\":{\r\n \"rules\":[\r\n \r\n ]\r\n },\"managedRules\":{\r\n \ \"managedRuleSets\":[\r\n {\r\n \"ruleSetType\":\"DefaultRuleSet\",\"ruleSetVersion\":\"1.0\",\"ruleGroupOverrides\":[\r\n \ {\r\n \"ruleGroupName\":\"SQLI\",\"rules\":[\r\n - \ {\r\n \"ruleId\":\"942100\",\"enabledState\":null,\"action\":null,\"exclusions\":[\r\n + \ {\r\n \"ruleId\":\"942100\",\"enabledState\":\"Enabled\",\"action\":\"Block\",\"exclusions\":[\r\n \ \r\n ]\r\n }\r\n ],\"exclusions\":[\r\n \ \r\n ]\r\n }\r\n ],\"exclusions\":[\r\n \ \r\n ]\r\n }\r\n ]\r\n },\"frontendEndpointLinks\":[\r\n @@ -1879,11 +1880,11 @@ interactions: cache-control: - no-cache content-length: - - '1276' + - '1284' content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:30 GMT + - Sun, 22 Mar 2020 02:44:11 GMT expires: - '-1' odata-version: @@ -1923,8 +1924,8 @@ interactions: ParameterSetName: - -g --policy-name --type --rule-group-id --rule-id User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -1937,7 +1938,7 @@ interactions: \ },\"customRules\":{\r\n \"rules\":[\r\n \r\n ]\r\n },\"managedRules\":{\r\n \ \"managedRuleSets\":[\r\n {\r\n \"ruleSetType\":\"DefaultRuleSet\",\"ruleSetVersion\":\"1.0\",\"ruleGroupOverrides\":[\r\n \ {\r\n \"ruleGroupName\":\"SQLI\",\"rules\":[\r\n - \ {\r\n \"ruleId\":\"942100\",\"enabledState\":null,\"action\":null,\"exclusions\":[\r\n + \ {\r\n \"ruleId\":\"942100\",\"enabledState\":\"Enabled\",\"action\":\"Block\",\"exclusions\":[\r\n \ \r\n ]\r\n }\r\n ],\"exclusions\":[\r\n \ \r\n ]\r\n }\r\n ],\"exclusions\":[\r\n \ \r\n ]\r\n }\r\n ]\r\n },\"frontendEndpointLinks\":[\r\n @@ -1946,11 +1947,11 @@ interactions: cache-control: - no-cache content-length: - - '1276' + - '1284' content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:31 GMT + - Sun, 22 Mar 2020 02:44:13 GMT expires: - '-1' odata-version: @@ -1988,8 +1989,8 @@ interactions: ParameterSetName: - -g --policy-name --type --rule-group-id --rule-id User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -2002,7 +2003,7 @@ interactions: \ },\"customRules\":{\r\n \"rules\":[\r\n \r\n ]\r\n },\"managedRules\":{\r\n \ \"managedRuleSets\":[\r\n {\r\n \"ruleSetType\":\"DefaultRuleSet\",\"ruleSetVersion\":\"1.0\",\"ruleGroupOverrides\":[\r\n \ {\r\n \"ruleGroupName\":\"SQLI\",\"rules\":[\r\n - \ {\r\n \"ruleId\":\"942100\",\"enabledState\":null,\"action\":null,\"exclusions\":[\r\n + \ {\r\n \"ruleId\":\"942100\",\"enabledState\":\"Enabled\",\"action\":\"Block\",\"exclusions\":[\r\n \ \r\n ]\r\n }\r\n ],\"exclusions\":[\r\n \ \r\n ]\r\n }\r\n ],\"exclusions\":[\r\n \ \r\n ]\r\n }\r\n ]\r\n },\"frontendEndpointLinks\":[\r\n @@ -2011,11 +2012,11 @@ interactions: cache-control: - no-cache content-length: - - '1276' + - '1284' content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:31 GMT + - Sun, 22 Mar 2020 02:44:13 GMT expires: - '-1' odata-version: diff --git a/src/front-door/azext_front_door/tests/latest/recordings/test_waf_policy_basic.yaml b/src/front-door/azext_front_door/tests/latest/recordings/test_waf_policy_basic.yaml index 97790b0b23..b5677c6fe0 100644 --- a/src/front-door/azext_front_door/tests/latest/recordings/test_waf_policy_basic.yaml +++ b/src/front-door/azext_front_door/tests/latest/recordings/test_waf_policy_basic.yaml @@ -19,8 +19,8 @@ interactions: ParameterSetName: - -g -n --mode User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -41,7 +41,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:16:57 GMT + - Sun, 22 Mar 2020 02:43:44 GMT expires: - '-1' odata-version: @@ -57,7 +57,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' x-powered-by: - ASP.NET status: @@ -83,8 +83,8 @@ interactions: ParameterSetName: - -g -n --mode --redirect-url User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -105,7 +105,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:02 GMT + - Sun, 22 Mar 2020 02:43:48 GMT expires: - '-1' odata-version: @@ -121,7 +121,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' x-powered-by: - ASP.NET status: @@ -147,8 +147,8 @@ interactions: ParameterSetName: - -g -n --mode --redirect-url --custom-block-response-status-code User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -169,7 +169,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:07 GMT + - Sun, 22 Mar 2020 02:43:51 GMT expires: - '-1' odata-version: @@ -212,8 +212,8 @@ interactions: ParameterSetName: - -g -n --mode --redirect-url --custom-block-response-status-code --custom-block-response-body User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -234,7 +234,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:11 GMT + - Sun, 22 Mar 2020 02:43:53 GMT expires: - '-1' odata-version: @@ -250,7 +250,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1199' x-powered-by: - ASP.NET status: @@ -276,8 +276,8 @@ interactions: ParameterSetName: - -g -n --mode --disabled User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -298,7 +298,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:18 GMT + - Sun, 22 Mar 2020 02:43:56 GMT expires: - '-1' odata-version: @@ -314,7 +314,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' x-powered-by: - ASP.NET status: @@ -334,8 +334,8 @@ interactions: ParameterSetName: - -g -n --mode User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -356,7 +356,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:19 GMT + - Sun, 22 Mar 2020 02:43:57 GMT expires: - '-1' odata-version: @@ -400,8 +400,8 @@ interactions: ParameterSetName: - -g -n --mode User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -422,7 +422,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:20 GMT + - Sun, 22 Mar 2020 02:43:59 GMT expires: - '-1' odata-version: @@ -442,7 +442,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' x-powered-by: - ASP.NET status: @@ -462,8 +462,8 @@ interactions: ParameterSetName: - -g -n --tags User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -484,7 +484,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:21 GMT + - Sun, 22 Mar 2020 02:44:00 GMT expires: - '-1' odata-version: @@ -528,8 +528,8 @@ interactions: ParameterSetName: - -g -n --tags User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -550,7 +550,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:24 GMT + - Sun, 22 Mar 2020 02:44:01 GMT expires: - '-1' odata-version: @@ -570,7 +570,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' x-powered-by: - ASP.NET status: @@ -590,8 +590,8 @@ interactions: ParameterSetName: - -g -n --mode User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -612,7 +612,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:24 GMT + - Sun, 22 Mar 2020 02:44:02 GMT expires: - '-1' odata-version: @@ -656,8 +656,8 @@ interactions: ParameterSetName: - -g -n --mode User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -678,7 +678,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:26 GMT + - Sun, 22 Mar 2020 02:44:03 GMT expires: - '-1' odata-version: @@ -698,7 +698,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' x-powered-by: - ASP.NET status: @@ -718,8 +718,8 @@ interactions: ParameterSetName: - -g -n --mode --redirect-url User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -740,7 +740,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:27 GMT + - Sun, 22 Mar 2020 02:44:04 GMT expires: - '-1' odata-version: @@ -784,8 +784,8 @@ interactions: ParameterSetName: - -g -n --mode --redirect-url User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -806,7 +806,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:29 GMT + - Sun, 22 Mar 2020 02:44:05 GMT expires: - '-1' odata-version: @@ -826,7 +826,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' x-powered-by: - ASP.NET status: @@ -846,8 +846,8 @@ interactions: ParameterSetName: - -g -n --custom-block-response-status-code User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -868,7 +868,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:30 GMT + - Sun, 22 Mar 2020 02:44:07 GMT expires: - '-1' odata-version: @@ -913,8 +913,8 @@ interactions: ParameterSetName: - -g -n --custom-block-response-status-code User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -935,7 +935,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:31 GMT + - Sun, 22 Mar 2020 02:44:08 GMT expires: - '-1' odata-version: @@ -955,7 +955,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' x-powered-by: - ASP.NET status: @@ -975,8 +975,8 @@ interactions: ParameterSetName: - -g -n --custom-block-response-status-code --custom-block-response-body User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -997,7 +997,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:32 GMT + - Sun, 22 Mar 2020 02:44:09 GMT expires: - '-1' odata-version: @@ -1042,8 +1042,8 @@ interactions: ParameterSetName: - -g -n --custom-block-response-status-code --custom-block-response-body User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -1064,7 +1064,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:34 GMT + - Sun, 22 Mar 2020 02:44:10 GMT expires: - '-1' odata-version: @@ -1084,7 +1084,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' x-powered-by: - ASP.NET status: @@ -1104,8 +1104,8 @@ interactions: ParameterSetName: - -g -n --disabled User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -1126,7 +1126,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:34 GMT + - Sun, 22 Mar 2020 02:44:11 GMT expires: - '-1' odata-version: @@ -1171,8 +1171,8 @@ interactions: ParameterSetName: - -g -n --disabled User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -1193,7 +1193,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:52 GMT + - Sun, 22 Mar 2020 02:44:13 GMT expires: - '-1' odata-version: @@ -1213,7 +1213,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' x-powered-by: - ASP.NET status: @@ -1233,8 +1233,8 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -1255,7 +1255,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:53 GMT + - Sun, 22 Mar 2020 02:44:13 GMT expires: - '-1' odata-version: @@ -1293,8 +1293,8 @@ interactions: ParameterSetName: - -g User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -1307,21 +1307,15 @@ interactions: \ },\"customRules\":{\r\n \"rules\":[\r\n \r\n ]\r\n \ },\"managedRules\":{\r\n \"managedRuleSets\":[\r\n \r\n \ ]\r\n },\"frontendEndpointLinks\":[\r\n \r\n ]\r\n - \ }\r\n },{\r\n \"name\":\"cli000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/cli000002\",\"type\":\"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\"tags\":{\r\n - \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"resourceState\":\"Enabled\",\"provisioningState\":\"Succeeded\",\"policySettings\":{\r\n - \ \"enabledState\":\"Disabled\",\"mode\":\"Prevention\",\"redirectUrl\":\"http://www.microsoft.com\",\"customBlockResponseStatusCode\":405,\"customBlockResponseBody\":\"YiBvZHk=\"\r\n - \ },\"customRules\":{\r\n \"rules\":[\r\n \r\n ]\r\n - \ },\"managedRules\":{\r\n \"managedRuleSets\":[\r\n \r\n - \ ]\r\n },\"frontendEndpointLinks\":[\r\n \r\n ]\r\n \ }\r\n },{\r\n \"name\":\"cli000005\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/cli000005\",\"type\":\"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"resourceState\":\"Enabled\",\"provisioningState\":\"Succeeded\",\"policySettings\":{\r\n \ \"enabledState\":\"Enabled\",\"mode\":\"Detection\",\"redirectUrl\":\"http://www.microsoft.com\",\"customBlockResponseStatusCode\":406,\"customBlockResponseBody\":null\r\n \ },\"customRules\":{\r\n \"rules\":[\r\n \r\n ]\r\n \ },\"managedRules\":{\r\n \"managedRuleSets\":[\r\n \r\n \ ]\r\n },\"frontendEndpointLinks\":[\r\n \r\n ]\r\n - \ }\r\n },{\r\n \"name\":\"cli000006\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/cli000006\",\"type\":\"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\"tags\":{\r\n + \ }\r\n },{\r\n \"name\":\"cli000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/cli000002\",\"type\":\"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"resourceState\":\"Enabled\",\"provisioningState\":\"Succeeded\",\"policySettings\":{\r\n - \ \"enabledState\":\"Enabled\",\"mode\":\"Detection\",\"redirectUrl\":\"http://www.microsoft.com\",\"customBlockResponseStatusCode\":406,\"customBlockResponseBody\":\"YiBvZHk=\"\r\n + \ \"enabledState\":\"Disabled\",\"mode\":\"Prevention\",\"redirectUrl\":\"http://www.microsoft.com\",\"customBlockResponseStatusCode\":405,\"customBlockResponseBody\":\"YiBvZHk=\"\r\n \ },\"customRules\":{\r\n \"rules\":[\r\n \r\n ]\r\n \ },\"managedRules\":{\r\n \"managedRuleSets\":[\r\n \r\n \ ]\r\n },\"frontendEndpointLinks\":[\r\n \r\n ]\r\n @@ -1331,6 +1325,12 @@ interactions: \ },\"customRules\":{\r\n \"rules\":[\r\n \r\n ]\r\n \ },\"managedRules\":{\r\n \"managedRuleSets\":[\r\n \r\n \ ]\r\n },\"frontendEndpointLinks\":[\r\n \r\n ]\r\n + \ }\r\n },{\r\n \"name\":\"cli000006\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/cli000006\",\"type\":\"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\"tags\":{\r\n + \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"resourceState\":\"Enabled\",\"provisioningState\":\"Succeeded\",\"policySettings\":{\r\n + \ \"enabledState\":\"Enabled\",\"mode\":\"Detection\",\"redirectUrl\":\"http://www.microsoft.com\",\"customBlockResponseStatusCode\":406,\"customBlockResponseBody\":\"YiBvZHk=\"\r\n + \ },\"customRules\":{\r\n \"rules\":[\r\n \r\n ]\r\n + \ },\"managedRules\":{\r\n \"managedRuleSets\":[\r\n \r\n + \ ]\r\n },\"frontendEndpointLinks\":[\r\n \r\n ]\r\n \ }\r\n }\r\n ]\r\n}" headers: cache-control: @@ -1340,7 +1340,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:54 GMT + - Sun, 22 Mar 2020 02:44:15 GMT expires: - '-1' odata-version: @@ -1380,8 +1380,8 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: DELETE @@ -1393,7 +1393,7 @@ interactions: cache-control: - no-cache date: - - Wed, 13 Nov 2019 22:17:58 GMT + - Sun, 22 Mar 2020 02:44:17 GMT expires: - '-1' pragma: @@ -1407,7 +1407,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14998' x-powered-by: - ASP.NET status: @@ -1427,17 +1427,17 @@ interactions: ParameterSetName: - -g User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies?api-version=2019-10-01 response: body: - string: "{\r\n \"value\":[\r\n {\r\n \"name\":\"cli000004\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/cli000004\",\"type\":\"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\"tags\":{\r\n + string: "{\r\n \"value\":[\r\n {\r\n \"name\":\"cli000007\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/cli000007\",\"type\":\"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"resourceState\":\"Enabled\",\"provisioningState\":\"Succeeded\",\"policySettings\":{\r\n - \ \"enabledState\":\"Enabled\",\"mode\":\"Detection\",\"redirectUrl\":\"http://www.microsoft.com\",\"customBlockResponseStatusCode\":null,\"customBlockResponseBody\":null\r\n + \ \"enabledState\":\"Enabled\",\"mode\":\"Detection\",\"redirectUrl\":null,\"customBlockResponseStatusCode\":null,\"customBlockResponseBody\":null\r\n \ },\"customRules\":{\r\n \"rules\":[\r\n \r\n ]\r\n \ },\"managedRules\":{\r\n \"managedRuleSets\":[\r\n \r\n \ ]\r\n },\"frontendEndpointLinks\":[\r\n \r\n ]\r\n @@ -1453,9 +1453,9 @@ interactions: \ },\"customRules\":{\r\n \"rules\":[\r\n \r\n ]\r\n \ },\"managedRules\":{\r\n \"managedRuleSets\":[\r\n \r\n \ ]\r\n },\"frontendEndpointLinks\":[\r\n \r\n ]\r\n - \ }\r\n },{\r\n \"name\":\"cli000007\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/cli000007\",\"type\":\"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\"tags\":{\r\n + \ }\r\n },{\r\n \"name\":\"cli000004\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/cli000004\",\"type\":\"Microsoft.Network/frontdoorwebapplicationfirewallpolicies\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"resourceState\":\"Enabled\",\"provisioningState\":\"Succeeded\",\"policySettings\":{\r\n - \ \"enabledState\":\"Enabled\",\"mode\":\"Detection\",\"redirectUrl\":null,\"customBlockResponseStatusCode\":null,\"customBlockResponseBody\":null\r\n + \ \"enabledState\":\"Enabled\",\"mode\":\"Detection\",\"redirectUrl\":\"http://www.microsoft.com\",\"customBlockResponseStatusCode\":null,\"customBlockResponseBody\":null\r\n \ },\"customRules\":{\r\n \"rules\":[\r\n \r\n ]\r\n \ },\"managedRules\":{\r\n \"managedRuleSets\":[\r\n \r\n \ ]\r\n },\"frontendEndpointLinks\":[\r\n \r\n ]\r\n @@ -1468,7 +1468,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:18:00 GMT + - Sun, 22 Mar 2020 02:44:18 GMT expires: - '-1' odata-version: diff --git a/src/front-door/azext_front_door/tests/latest/recordings/test_waf_policy_custom_rule_matching.yaml b/src/front-door/azext_front_door/tests/latest/recordings/test_waf_policy_custom_rule_matching.yaml index 0667c4824d..fd9dcb9318 100644 --- a/src/front-door/azext_front_door/tests/latest/recordings/test_waf_policy_custom_rule_matching.yaml +++ b/src/front-door/azext_front_door/tests/latest/recordings/test_waf_policy_custom_rule_matching.yaml @@ -18,8 +18,8 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -40,7 +40,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:16:57 GMT + - Sun, 22 Mar 2020 02:43:44 GMT expires: - '-1' odata-version: @@ -76,8 +76,8 @@ interactions: ParameterSetName: - -g --policy-name -n --priority --rule-type --action --defer User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -98,7 +98,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:16:57 GMT + - Sun, 22 Mar 2020 02:43:46 GMT expires: - '-1' odata-version: @@ -144,8 +144,8 @@ interactions: ParameterSetName: - -g --policy-name -n --match-variable --operator --values User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -169,7 +169,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:01 GMT + - Sun, 22 Mar 2020 02:43:47 GMT expires: - '-1' odata-version: @@ -189,7 +189,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' x-powered-by: - ASP.NET status: @@ -232,18 +232,18 @@ interactions: ParameterSetName: - --resource-group --backend-address --name User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/cli000004?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/cli000004?api-version=2020-01-01 response: body: string: "{\r\n \"name\":\"cli000004\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Creating\",\"resourceState\":\"Creating\",\"backendPools\":[\r\n \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/cli000004/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n - \ \"backends\":[\r\n {\r\n \"address\":\"www.example.com\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"www.example.com\",\"enabledState\":\"Enabled\"\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"www.example.com\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"www.example.com\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004/healthProbeSettings/DefaultProbeSettings\"\r\n \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n \ },\"resourceState\":\"Creating\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n @@ -253,27 +253,28 @@ interactions: \ \"hostName\":\"cli000004.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Creating\"\r\n \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/cli000004/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Creating\"\r\n - \ }\r\n }\r\n ],\"routingRules\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/cli000004/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/cli000004/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Creating\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n - \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"cli000004.azurefd.net\",\"friendlyName\":\"cli000004\"\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n + \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"cli000004.azurefd.net\",\"frontdoorId\":\"9dda7c07-4778-4b21-bec5-485b6d617c60\",\"friendlyName\":\"cli000004\"\r\n \ }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/76ada10e-e46e-4be6-ae84-ae1d22daff18?api-version=2019-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/e0e7c51f-67a8-44cc-a7dd-a0fe8d93c340?api-version=2020-01-01 cache-control: - no-cache content-length: - - '5206' + - '5397' content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:08 GMT + - Sun, 22 Mar 2020 02:43:54 GMT expires: - '-1' odata-version: @@ -289,7 +290,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1199' x-powered-by: - ASP.NET status: @@ -309,10 +310,10 @@ interactions: ParameterSetName: - --resource-group --backend-address --name User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/76ada10e-e46e-4be6-ae84-ae1d22daff18?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/e0e7c51f-67a8-44cc-a7dd-a0fe8d93c340?api-version=2020-01-01 response: body: string: "{\r\n \"status\":\"InProgress\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n @@ -325,7 +326,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:19 GMT + - Sun, 22 Mar 2020 02:44:04 GMT expires: - '-1' odata-version: @@ -363,10 +364,10 @@ interactions: ParameterSetName: - --resource-group --backend-address --name User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/76ada10e-e46e-4be6-ae84-ae1d22daff18?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/e0e7c51f-67a8-44cc-a7dd-a0fe8d93c340?api-version=2020-01-01 response: body: string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n @@ -379,7 +380,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:49 GMT + - Sun, 22 Mar 2020 02:44:36 GMT expires: - '-1' odata-version: @@ -417,16 +418,16 @@ interactions: ParameterSetName: - --resource-group --backend-address --name User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/cli000004?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/cli000004?api-version=2020-01-01 response: body: string: "{\r\n \"name\":\"cli000004\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/cli000004/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n - \ \"backends\":[\r\n {\r\n \"address\":\"www.example.com\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"www.example.com\",\"enabledState\":\"Enabled\"\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"www.example.com\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"www.example.com\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004/healthProbeSettings/DefaultProbeSettings\"\r\n \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n @@ -436,25 +437,26 @@ interactions: \ \"hostName\":\"cli000004.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/cli000004/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n - \ }\r\n }\r\n ],\"routingRules\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/cli000004/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/cli000004/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n - \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"cli000004.azurefd.net\",\"friendlyName\":\"cli000004\"\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n + \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"cli000004.azurefd.net\",\"frontdoorId\":\"9dda7c07-4778-4b21-bec5-485b6d617c60\",\"friendlyName\":\"cli000004\"\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '5201' + - '5392' content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:50 GMT + - Sun, 22 Mar 2020 02:44:37 GMT expires: - '-1' odata-version: @@ -492,18 +494,18 @@ interactions: ParameterSetName: - --name --resource-group --set User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/cli000004?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/cli000004?api-version=2020-01-01 response: body: string: "{\r\n \"name\":\"cli000004\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/cli000004/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n - \ \"backends\":[\r\n {\r\n \"address\":\"www.example.com\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"www.example.com\",\"enabledState\":\"Enabled\"\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"www.example.com\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"www.example.com\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004/healthProbeSettings/DefaultProbeSettings\"\r\n \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n @@ -513,25 +515,26 @@ interactions: \ \"hostName\":\"cli000004.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/cli000004/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n - \ }\r\n }\r\n ],\"routingRules\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/cli000004/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/cli000004/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n - \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"cli000004.azurefd.net\",\"friendlyName\":\"cli000004\"\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n + \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"cli000004.azurefd.net\",\"frontdoorId\":\"9dda7c07-4778-4b21-bec5-485b6d617c60\",\"friendlyName\":\"cli000004\"\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '5201' + - '5392' content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:51 GMT + - Sun, 22 Mar 2020 02:44:38 GMT expires: - '-1' odata-version: @@ -598,18 +601,18 @@ interactions: ParameterSetName: - --name --resource-group --set User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/cli000004?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/cli000004?api-version=2020-01-01 response: body: string: "{\r\n \"name\":\"cli000004\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/cli000004/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n - \ \"backends\":[\r\n {\r\n \"address\":\"www.example.com\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"www.example.com\",\"enabledState\":\"Enabled\"\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"www.example.com\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"www.example.com\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004/healthProbeSettings/DefaultProbeSettings\"\r\n \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n @@ -621,31 +624,32 @@ interactions: \ },\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/cli000004/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n - \ }\r\n }\r\n ],\"routingRules\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/cli000004/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/cli000004/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n - \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"cli000004.azurefd.net\",\"friendlyName\":\"cli000004\"\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n + \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"cli000004.azurefd.net\",\"frontdoorId\":\"9dda7c07-4778-4b21-bec5-485b6d617c60\",\"friendlyName\":\"cli000004\"\r\n \ }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/f25f9c97-37e8-4399-b20d-f7980dc41316?api-version=2019-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/8f8d25a1-352b-4bda-86a4-7bb811828fad?api-version=2020-01-01 cache-control: - no-cache content-length: - - '5467' + - '5658' content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:56 GMT + - Sun, 22 Mar 2020 02:44:41 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/f25f9c97-37e8-4399-b20d-f7980dc41316/frontdoorresults/cli000004?api-version=2019-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/8f8d25a1-352b-4bda-86a4-7bb811828fad/frontdoorresults/cli000004?api-version=2020-01-01 odata-version: - '4.0' pragma: @@ -659,7 +663,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' x-powered-by: - ASP.NET status: @@ -679,10 +683,10 @@ interactions: ParameterSetName: - --name --resource-group --set User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/f25f9c97-37e8-4399-b20d-f7980dc41316?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/8f8d25a1-352b-4bda-86a4-7bb811828fad?api-version=2020-01-01 response: body: string: "{\r\n \"status\":\"InProgress\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n @@ -695,7 +699,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:18:07 GMT + - Sun, 22 Mar 2020 02:44:52 GMT expires: - '-1' odata-version: @@ -733,10 +737,10 @@ interactions: ParameterSetName: - --name --resource-group --set User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/f25f9c97-37e8-4399-b20d-f7980dc41316?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/8f8d25a1-352b-4bda-86a4-7bb811828fad?api-version=2020-01-01 response: body: string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n @@ -749,7 +753,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:18:37 GMT + - Sun, 22 Mar 2020 02:45:23 GMT expires: - '-1' odata-version: @@ -787,16 +791,16 @@ interactions: ParameterSetName: - --name --resource-group --set User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/cli000004?api-version=2019-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/cli000004?api-version=2020-01-01 response: body: string: "{\r\n \"name\":\"cli000004\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/cli000004/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n - \ \"backends\":[\r\n {\r\n \"address\":\"www.example.com\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"www.example.com\",\"enabledState\":\"Enabled\"\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"www.example.com\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"www.example.com\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null\r\n \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004/healthProbeSettings/DefaultProbeSettings\"\r\n \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n @@ -808,25 +812,26 @@ interactions: \ },\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/cli000004/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n - \ }\r\n }\r\n ],\"routingRules\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/cli000004/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/cli000004/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"type\":\"Microsoft.Network/Frontdoors/RoutingRules\",\"properties\":{\r\n \ \"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004/frontendEndpoints/DefaultFrontendEndpoint\"\r\n \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Enabled\",\"routeConfiguration\":{\r\n \ \"@odata.type\":\"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\"customForwardingPath\":null,\"forwardingProtocol\":\"MatchRequest\",\"cacheConfiguration\":null,\"backendPool\":{\r\n \ \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/cli000004/backendPools/DefaultBackendPool\"\r\n - \ }\r\n }\r\n }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n - \ \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n - \ },\"enabledState\":\"Enabled\",\"cName\":\"cli000004.azurefd.net\",\"friendlyName\":\"cli000004\"\r\n + \ }\r\n },\"rulesEngine\":null\r\n }\r\n }\r\n + \ ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"cli000004.azurefd.net\",\"frontdoorId\":\"9dda7c07-4778-4b21-bec5-485b6d617c60\",\"friendlyName\":\"cli000004\"\r\n \ }\r\n}" headers: cache-control: - no-cache content-length: - - '5467' + - '5658' content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:18:38 GMT + - Sun, 22 Mar 2020 02:45:23 GMT expires: - '-1' odata-version: @@ -862,701 +867,7 @@ interactions: Content-Length: - '17' User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Wed, 13 Nov 2019 22:18:38 GMT - location: - - /pages/404.html - server: - - Microsoft-IIS/10.0 - x-msedge-ref: - - 'Ref A: 80D50BBCC628401BBF572A15A71AFF0C Ref B: WSTEDGE0608 Ref C: 2019-11-13T22:18:39Z' - status: - code: 302 - message: Found -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.22.0 - method: GET - uri: http://cli000004.azurefd.net/pages/404.html - response: - body: - string: "\uFEFF\nInvalidUriThe - request URI is invalid.\nRequestId:f3590267-a01e-0043-4370-9a0214000000\nTime:2019-11-13T22:18:39.3627317Z" - headers: - content-length: - - '207' - content-type: - - application/xml - date: - - Wed, 13 Nov 2019 22:18:38 GMT - x-msedge-ref: - - 'Ref A: 11D845DDEC6A49B88AB3FB5ABE59CBCC Ref B: WSTEDGE0608 Ref C: 2019-11-13T22:18:39Z' - status: - code: 400 - message: The request URI is invalid. -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Wed, 13 Nov 2019 22:18:49 GMT - location: - - /pages/404.html - server: - - Microsoft-IIS/10.0 - x-msedge-ref: - - 'Ref A: 428AE12C08FD4594AA3EA0DA88863142 Ref B: WSTEDGE0622 Ref C: 2019-11-13T22:18:49Z' - status: - code: 302 - message: Found -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.22.0 - method: GET - uri: http://cli000004.azurefd.net/pages/404.html - response: - body: - string: "\uFEFF\nInvalidUriThe - request URI is invalid.\nRequestId:2647faa4-901e-0062-4e70-9a6f25000000\nTime:2019-11-13T22:18:49.5849002Z" - headers: - content-length: - - '207' - content-type: - - application/xml - date: - - Wed, 13 Nov 2019 22:18:49 GMT - x-msedge-ref: - - 'Ref A: D7A7D93672344EAF9AB077BED83FF53A Ref B: WSTEDGE0622 Ref C: 2019-11-13T22:18:49Z' - status: - code: 400 - message: The request URI is invalid. -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Wed, 13 Nov 2019 22:18:59 GMT - location: - - /pages/404.html - server: - - Microsoft-IIS/10.0 - x-msedge-ref: - - 'Ref A: 4C03F6F39B8F43B98DC376517D5DEE77 Ref B: WSTEDGE0614 Ref C: 2019-11-13T22:18:59Z' - status: - code: 302 - message: Found -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.22.0 - method: GET - uri: http://cli000004.azurefd.net/pages/404.html - response: - body: - string: "\uFEFF\nInvalidUriThe - request URI is invalid.\nRequestId:3f8c199f-b01e-011c-3970-9ab6bf000000\nTime:2019-11-13T22:18:59.7898402Z" - headers: - content-length: - - '207' - content-type: - - application/xml - date: - - Wed, 13 Nov 2019 22:18:59 GMT - x-msedge-ref: - - 'Ref A: 59F20260A9664A5AAFC749A51EC9A30A Ref B: WSTEDGE0614 Ref C: 2019-11-13T22:18:59Z' - status: - code: 400 - message: The request URI is invalid. -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Wed, 13 Nov 2019 22:19:09 GMT - location: - - /pages/404.html - server: - - Microsoft-IIS/10.0 - x-msedge-ref: - - 'Ref A: A32D7D6AA6CE44758FC5A200E5DD32A9 Ref B: WSTEDGE0618 Ref C: 2019-11-13T22:19:09Z' - status: - code: 302 - message: Found -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.22.0 - method: GET - uri: http://cli000004.azurefd.net/pages/404.html - response: - body: - string: "\uFEFF\nInvalidUriThe - request URI is invalid.\nRequestId:930d00b3-b01e-00df-4670-9a79a9000000\nTime:2019-11-13T22:19:09.9759444Z" - headers: - content-length: - - '207' - content-type: - - application/xml - date: - - Wed, 13 Nov 2019 22:19:09 GMT - x-msedge-ref: - - 'Ref A: 0301CCD4CB354955834CDE446769BA4C Ref B: WSTEDGE0618 Ref C: 2019-11-13T22:19:09Z' - status: - code: 400 - message: The request URI is invalid. -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Wed, 13 Nov 2019 22:19:19 GMT - location: - - /pages/404.html - server: - - Microsoft-IIS/10.0 - x-msedge-ref: - - 'Ref A: BB6B5796874E4DB0B32692CCD1F61FB3 Ref B: WSTEDGE0622 Ref C: 2019-11-13T22:19:20Z' - status: - code: 302 - message: Found -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.22.0 - method: GET - uri: http://cli000004.azurefd.net/pages/404.html - response: - body: - string: "\uFEFF\nInvalidUriThe - request URI is invalid.\nRequestId:26481dd1-901e-0062-4a70-9a6f25000000\nTime:2019-11-13T22:19:20.0939693Z" - headers: - content-length: - - '207' - content-type: - - application/xml - date: - - Wed, 13 Nov 2019 22:19:19 GMT - x-msedge-ref: - - 'Ref A: 83004EBC8CC448298913DF6232E99560 Ref B: WSTEDGE0622 Ref C: 2019-11-13T22:19:20Z' - status: - code: 400 - message: The request URI is invalid. -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Wed, 13 Nov 2019 22:19:29 GMT - location: - - /pages/404.html - server: - - Microsoft-IIS/10.0 - x-msedge-ref: - - 'Ref A: 46240F48BDC74B3493C005445BC64129 Ref B: WSTEDGE0615 Ref C: 2019-11-13T22:19:30Z' - status: - code: 302 - message: Found -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.22.0 - method: GET - uri: http://cli000004.azurefd.net/pages/404.html - response: - body: - string: "\uFEFF\nInvalidUriThe - request URI is invalid.\nRequestId:e69be870-b01e-0018-6470-9a0568000000\nTime:2019-11-13T22:19:30.2983656Z" - headers: - content-length: - - '207' - content-type: - - application/xml - date: - - Wed, 13 Nov 2019 22:19:29 GMT - x-msedge-ref: - - 'Ref A: BE2B7759758A4E48BDDCC93878D4D056 Ref B: WSTEDGE0615 Ref C: 2019-11-13T22:19:30Z' - status: - code: 400 - message: The request URI is invalid. -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Wed, 13 Nov 2019 22:19:39 GMT - location: - - /pages/404.html - server: - - Microsoft-IIS/10.0 - x-msedge-ref: - - 'Ref A: 553B731BFFAD45B287AB80A502775072 Ref B: WSTEDGE0618 Ref C: 2019-11-13T22:19:40Z' - status: - code: 302 - message: Found -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.22.0 - method: GET - uri: http://cli000004.azurefd.net/pages/404.html - response: - body: - string: "\uFEFF\nInvalidUriThe - request URI is invalid.\nRequestId:930d3a3b-b01e-00df-5370-9a79a9000000\nTime:2019-11-13T22:19:40.5147302Z" - headers: - content-length: - - '207' - content-type: - - application/xml - date: - - Wed, 13 Nov 2019 22:19:39 GMT - x-msedge-ref: - - 'Ref A: F62F358E30B74656AA8159CD96EECEE0 Ref B: WSTEDGE0618 Ref C: 2019-11-13T22:19:40Z' - status: - code: 400 - message: The request URI is invalid. -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Wed, 13 Nov 2019 22:19:49 GMT - location: - - /pages/404.html - server: - - Microsoft-IIS/10.0 - x-msedge-ref: - - 'Ref A: 5417366FD05D499CB2BB78D6E0DBC5E6 Ref B: WSTEDGE0618 Ref C: 2019-11-13T22:19:50Z' - status: - code: 302 - message: Found -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.22.0 - method: GET - uri: http://cli000004.azurefd.net/pages/404.html - response: - body: - string: "\uFEFF\nInvalidUriThe - request URI is invalid.\nRequestId:930d4e3b-b01e-00df-1370-9a79a9000000\nTime:2019-11-13T22:19:50.6379377Z" - headers: - content-length: - - '207' - content-type: - - application/xml - date: - - Wed, 13 Nov 2019 22:19:50 GMT - x-msedge-ref: - - 'Ref A: C1961B7968FC4B62A5B32FB7A36BF68D Ref B: WSTEDGE0618 Ref C: 2019-11-13T22:19:50Z' - status: - code: 400 - message: The request URI is invalid. -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Wed, 13 Nov 2019 22:19:59 GMT - location: - - /pages/404.html - server: - - Microsoft-IIS/10.0 - x-msedge-ref: - - 'Ref A: 4BAE9E0AABC648A5BBAB56F8803A73B2 Ref B: WSTEDGE0611 Ref C: 2019-11-13T22:20:00Z' - status: - code: 302 - message: Found -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.22.0 - method: GET - uri: http://cli000004.azurefd.net/pages/404.html - response: - body: - string: "\uFEFF\nInvalidUriThe - request URI is invalid.\nRequestId:27ea98d1-601e-00ff-3170-9a1565000000\nTime:2019-11-13T22:20:00.8754865Z" - headers: - content-length: - - '207' - content-type: - - application/xml - date: - - Wed, 13 Nov 2019 22:19:59 GMT - x-msedge-ref: - - 'Ref A: F6B5D20610054A9AAF85B35BE3ED0877 Ref B: WSTEDGE0611 Ref C: 2019-11-13T22:20:00Z' - status: - code: 400 - message: The request URI is invalid. -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Wed, 13 Nov 2019 22:20:10 GMT - location: - - /pages/404.html - server: - - Microsoft-IIS/10.0 - x-msedge-ref: - - 'Ref A: 862F9373934A4B1C9FC2551352AC549E Ref B: WSTEDGE0608 Ref C: 2019-11-13T22:20:10Z' - status: - code: 302 - message: Found -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.22.0 - method: GET - uri: http://cli000004.azurefd.net/pages/404.html - response: - body: - string: "\uFEFF\nInvalidUriThe - request URI is invalid.\nRequestId:f3597ce5-a01e-0043-0570-9a0214000000\nTime:2019-11-13T22:20:11.0571478Z" - headers: - content-length: - - '207' - content-type: - - application/xml - date: - - Wed, 13 Nov 2019 22:20:10 GMT - x-msedge-ref: - - 'Ref A: 14332CD202AD4E9E850D66CA3C2B27E2 Ref B: WSTEDGE0608 Ref C: 2019-11-13T22:20:10Z' - status: - code: 400 - message: The request URI is invalid. -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: 'Service unavailable

Our services aren''t available right now

We''re - working to restore all services as soon as possible. Please check back soon.

0pYHMXQAAAABX06ZKQzQ/SI4c+JA07jdhV1NURURHRTA2MjEANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk
' - headers: - cache-control: - - no-store - content-length: - - '994' - content-type: - - text/html - date: - - Wed, 13 Nov 2019 22:20:20 GMT - x-azure-ref: - - 0pYHMXQAAAABX06ZKQzQ/SI4c+JA07jdhV1NURURHRTA2MjEANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 503 - message: Service Unavailable -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: 'Service unavailable

Our services aren''t available right now

We''re - working to restore all services as soon as possible. Please check back soon.

0r4HMXQAAAACpyYxS5qw1Q4ksapJV0/WYV1NURURHRTA2MTEANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk
' - headers: - cache-control: - - no-store - content-length: - - '994' - content-type: - - text/html - date: - - Wed, 13 Nov 2019 22:20:31 GMT - x-azure-ref: - - 0r4HMXQAAAACpyYxS5qw1Q4ksapJV0/WYV1NURURHRTA2MTEANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 503 - message: Service Unavailable -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 + - python-requests/2.23.0 method: POST uri: http://cli000004.azurefd.net/ response: @@ -1588,11 +899,11 @@ interactions: content-type: - text/html; charset=UTF-8 date: - - Wed, 13 Nov 2019 22:20:40 GMT + - Sun, 22 Mar 2020 02:45:23 GMT etag: - '"3147526947+gzip"' expires: - - Wed, 20 Nov 2019 22:20:41 GMT + - Sun, 29 Mar 2020 02:45:23 GMT last-modified: - Thu, 17 Oct 2019 07:18:26 GMT transfer-encoding: @@ -1600,7 +911,7 @@ interactions: vary: - Accept-Encoding x-azure-ref: - - 0uYHMXQAAAACD17SA13KGTZLIJOYadxEIV1NURURHRTA2MTcANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk + - 0Q9F2XgAAAAA30TZT9JtmTY9GUm7bkf9BV1NURURHRTA4MTYAOWRkYTdjMDctNDc3OC00YjIxLWJlYzUtNDg1YjZkNjE3YzYw status: code: 200 message: OK @@ -1616,7 +927,7 @@ interactions: Content-Length: - '17' User-Agent: - - python-requests/2.22.0 + - python-requests/2.23.0 method: POST uri: http://cli000004.azurefd.net/ response: @@ -1648,11 +959,11 @@ interactions: content-type: - text/html; charset=UTF-8 date: - - Wed, 13 Nov 2019 22:20:50 GMT + - Sun, 22 Mar 2020 02:45:33 GMT etag: - '"3147526947+gzip"' expires: - - Wed, 20 Nov 2019 22:20:51 GMT + - Sun, 29 Mar 2020 02:45:34 GMT last-modified: - Thu, 17 Oct 2019 07:18:26 GMT transfer-encoding: @@ -1660,7 +971,7 @@ interactions: vary: - Accept-Encoding x-azure-ref: - - 0w4HMXQAAAAA4uvOvPwFZQK1ykCgVNy85V1NURURHRTA2MTgANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk + - 0TtF2XgAAAAAvfE0st385TKgxhVWW75mrV1NURURHRTA4MDcAOWRkYTdjMDctNDc3OC00YjIxLWJlYzUtNDg1YjZkNjE3YzYw status: code: 200 message: OK @@ -1676,7 +987,7 @@ interactions: Content-Length: - '17' User-Agent: - - python-requests/2.22.0 + - python-requests/2.23.0 method: POST uri: http://cli000004.azurefd.net/ response: @@ -1708,11 +1019,11 @@ interactions: content-type: - text/html; charset=UTF-8 date: - - Wed, 13 Nov 2019 22:21:00 GMT + - Sun, 22 Mar 2020 02:45:43 GMT etag: - '"3147526947+gzip"' expires: - - Wed, 20 Nov 2019 22:21:01 GMT + - Sun, 29 Mar 2020 02:45:44 GMT last-modified: - Thu, 17 Oct 2019 07:18:26 GMT transfer-encoding: @@ -1720,7 +1031,7 @@ interactions: vary: - Accept-Encoding x-azure-ref: - - 0zYHMXQAAAABi+E88shJ4S6DBUmL6d3jQV1NURURHRTA2MTYANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk + - 0WNF2XgAAAAAo8XwvT/uWTYrvvJ5aLw1oV1NURURHRTA4MDgAOWRkYTdjMDctNDc3OC00YjIxLWJlYzUtNDg1YjZkNjE3YzYw status: code: 200 message: OK @@ -1736,7 +1047,7 @@ interactions: Content-Length: - '17' User-Agent: - - python-requests/2.22.0 + - python-requests/2.23.0 method: POST uri: http://cli000004.azurefd.net/ response: @@ -1768,11 +1079,11 @@ interactions: content-type: - text/html; charset=UTF-8 date: - - Wed, 13 Nov 2019 22:21:11 GMT + - Sun, 22 Mar 2020 02:45:53 GMT etag: - '"3147526947+gzip"' expires: - - Wed, 20 Nov 2019 22:21:11 GMT + - Sun, 29 Mar 2020 02:45:54 GMT last-modified: - Thu, 17 Oct 2019 07:18:26 GMT transfer-encoding: @@ -1780,7 +1091,7 @@ interactions: vary: - Accept-Encoding x-azure-ref: - - 014HMXQAAAADnV9W69uqjSbgR6eeQJSkIV1NURURHRTA2MTUANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk + - 0YtF2XgAAAAAI3cFxgvq5Qa8K9w4G2nWBV1NURURHRTA4MDYAOWRkYTdjMDctNDc3OC00YjIxLWJlYzUtNDg1YjZkNjE3YzYw status: code: 200 message: OK @@ -1796,7 +1107,7 @@ interactions: Content-Length: - '17' User-Agent: - - python-requests/2.22.0 + - python-requests/2.23.0 method: POST uri: http://cli000004.azurefd.net/ response: @@ -1828,11 +1139,11 @@ interactions: content-type: - text/html; charset=UTF-8 date: - - Wed, 13 Nov 2019 22:21:21 GMT + - Sun, 22 Mar 2020 02:46:03 GMT etag: - '"3147526947+gzip"' expires: - - Wed, 20 Nov 2019 22:21:21 GMT + - Sun, 29 Mar 2020 02:46:04 GMT last-modified: - Thu, 17 Oct 2019 07:18:26 GMT transfer-encoding: @@ -1840,7 +1151,7 @@ interactions: vary: - Accept-Encoding x-azure-ref: - - 04YHMXQAAAACqavNxRvXBTa2gwPb2qpxqV1NURURHRTA2MTcANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk + - 0bNF2XgAAAADpRtH8sMOVR5/SYCgQX1YeV1NURURHRTA4MTAAOWRkYTdjMDctNDc3OC00YjIxLWJlYzUtNDg1YjZkNjE3YzYw status: code: 200 message: OK @@ -1856,7 +1167,7 @@ interactions: Content-Length: - '17' User-Agent: - - python-requests/2.22.0 + - python-requests/2.23.0 method: POST uri: http://cli000004.azurefd.net/ response: @@ -1888,11 +1199,11 @@ interactions: content-type: - text/html; charset=UTF-8 date: - - Wed, 13 Nov 2019 22:21:31 GMT + - Sun, 22 Mar 2020 02:46:14 GMT etag: - '"3147526947+gzip"' expires: - - Wed, 20 Nov 2019 22:21:31 GMT + - Sun, 29 Mar 2020 02:46:14 GMT last-modified: - Thu, 17 Oct 2019 07:18:26 GMT transfer-encoding: @@ -1900,7 +1211,7 @@ interactions: vary: - Accept-Encoding x-azure-ref: - - 064HMXQAAAABJMvYO0J+XR7wb5p7HWxelV1NURURHRTA2MTEANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk + - 0dtF2XgAAAAAeWGJ9K/Z9TKivyZkiNTakV1NURURHRTA4MTEAOWRkYTdjMDctNDc3OC00YjIxLWJlYzUtNDg1YjZkNjE3YzYw status: code: 200 message: OK @@ -1916,7 +1227,7 @@ interactions: Content-Length: - '17' User-Agent: - - python-requests/2.22.0 + - python-requests/2.23.0 method: POST uri: http://cli000004.azurefd.net/ response: @@ -1948,11 +1259,11 @@ interactions: content-type: - text/html; charset=UTF-8 date: - - Wed, 13 Nov 2019 22:21:41 GMT + - Sun, 22 Mar 2020 02:46:23 GMT etag: - '"3147526947+gzip"' expires: - - Wed, 20 Nov 2019 22:21:41 GMT + - Sun, 29 Mar 2020 02:46:24 GMT last-modified: - Thu, 17 Oct 2019 07:18:26 GMT transfer-encoding: @@ -1960,7 +1271,7 @@ interactions: vary: - Accept-Encoding x-azure-ref: - - 09YHMXQAAAAB3KkGHSvjxT6/3vuUzCVinV1NURURHRTA2MjAANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk + - 0gNF2XgAAAAB4F5SNhY0yRb1P845QwrRYV1NURURHRTA4MTgAOWRkYTdjMDctNDc3OC00YjIxLWJlYzUtNDg1YjZkNjE3YzYw status: code: 200 message: OK @@ -1976,7 +1287,7 @@ interactions: Content-Length: - '17' User-Agent: - - python-requests/2.22.0 + - python-requests/2.23.0 method: POST uri: http://cli000004.azurefd.net/ response: @@ -2008,11 +1319,11 @@ interactions: content-type: - text/html; charset=UTF-8 date: - - Wed, 13 Nov 2019 22:21:51 GMT + - Sun, 22 Mar 2020 02:46:33 GMT etag: - '"3147526947+gzip"' expires: - - Wed, 20 Nov 2019 22:21:51 GMT + - Sun, 29 Mar 2020 02:46:34 GMT last-modified: - Thu, 17 Oct 2019 07:18:26 GMT transfer-encoding: @@ -2020,7 +1331,7 @@ interactions: vary: - Accept-Encoding x-azure-ref: - - 0/4HMXQAAAADkBUkClof4Q4uxgxqmwgx2V1NURURHRTA2MDcANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk + - 0itF2XgAAAAAbkNRmfwnKQpl/wdXkGtTBV1NURURHRTA4MTgAOWRkYTdjMDctNDc3OC00YjIxLWJlYzUtNDg1YjZkNjE3YzYw status: code: 200 message: OK @@ -2036,7 +1347,7 @@ interactions: Content-Length: - '17' User-Agent: - - python-requests/2.22.0 + - python-requests/2.23.0 method: POST uri: http://cli000004.azurefd.net/ response: @@ -2068,11 +1379,11 @@ interactions: content-type: - text/html; charset=UTF-8 date: - - Wed, 13 Nov 2019 22:22:01 GMT + - Sun, 22 Mar 2020 02:46:44 GMT etag: - '"3147526947+gzip"' expires: - - Wed, 20 Nov 2019 22:22:02 GMT + - Sun, 29 Mar 2020 02:46:44 GMT last-modified: - Thu, 17 Oct 2019 07:18:26 GMT transfer-encoding: @@ -2080,7 +1391,7 @@ interactions: vary: - Accept-Encoding x-azure-ref: - - 0CYLMXQAAAACVvGmFnaCKQo+S7vWo+dh2V1NURURHRTA2MTUANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk + - 0lNF2XgAAAADp9igMwdQqTq9wMQez8iLSV1NURURHRTA4MTYAOWRkYTdjMDctNDc3OC00YjIxLWJlYzUtNDg1YjZkNjE3YzYw status: code: 200 message: OK @@ -2096,7 +1407,7 @@ interactions: Content-Length: - '17' User-Agent: - - python-requests/2.22.0 + - python-requests/2.23.0 method: POST uri: http://cli000004.azurefd.net/ response: @@ -2128,11 +1439,11 @@ interactions: content-type: - text/html; charset=UTF-8 date: - - Wed, 13 Nov 2019 22:22:11 GMT + - Sun, 22 Mar 2020 02:46:53 GMT etag: - '"3147526947+gzip"' expires: - - Wed, 20 Nov 2019 22:22:12 GMT + - Sun, 29 Mar 2020 02:46:54 GMT last-modified: - Thu, 17 Oct 2019 07:18:26 GMT transfer-encoding: @@ -2140,7 +1451,7 @@ interactions: vary: - Accept-Encoding x-azure-ref: - - 0FILMXQAAAABzQRSFgFWRSaasdso/eSaVV1NURURHRTA2MTUANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk + - 0ntF2XgAAAABy81DQ6WgaQ5THbX+FnopHV1NURURHRTA4MTAAOWRkYTdjMDctNDc3OC00YjIxLWJlYzUtNDg1YjZkNjE3YzYw status: code: 200 message: OK @@ -2156,7 +1467,7 @@ interactions: Content-Length: - '17' User-Agent: - - python-requests/2.22.0 + - python-requests/2.23.0 method: POST uri: http://cli000004.azurefd.net/ response: @@ -2188,11 +1499,11 @@ interactions: content-type: - text/html; charset=UTF-8 date: - - Wed, 13 Nov 2019 22:22:21 GMT + - Sun, 22 Mar 2020 02:47:04 GMT etag: - '"3147526947+gzip"' expires: - - Wed, 20 Nov 2019 22:22:22 GMT + - Sun, 29 Mar 2020 02:47:04 GMT last-modified: - Thu, 17 Oct 2019 07:18:26 GMT transfer-encoding: @@ -2200,7 +1511,7 @@ interactions: vary: - Accept-Encoding x-azure-ref: - - 0HoLMXQAAAAAtVxn7vAsrQIX6KK4GPO2jV1NURURHRTA2MTMANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk + - 0qNF2XgAAAADcKm9pqZhiRJbsm8Lv1U72V1NURURHRTA4MTEAOWRkYTdjMDctNDc3OC00YjIxLWJlYzUtNDg1YjZkNjE3YzYw status: code: 200 message: OK @@ -2216,7 +1527,7 @@ interactions: Content-Length: - '17' User-Agent: - - python-requests/2.22.0 + - python-requests/2.23.0 method: POST uri: http://cli000004.azurefd.net/ response: @@ -2248,11 +1559,11 @@ interactions: content-type: - text/html; charset=UTF-8 date: - - Wed, 13 Nov 2019 22:22:31 GMT + - Sun, 22 Mar 2020 02:47:14 GMT etag: - '"3147526947+gzip"' expires: - - Wed, 20 Nov 2019 22:22:32 GMT + - Sun, 29 Mar 2020 02:47:14 GMT last-modified: - Thu, 17 Oct 2019 07:18:26 GMT transfer-encoding: @@ -2260,7 +1571,7 @@ interactions: vary: - Accept-Encoding x-azure-ref: - - 0KILMXQAAAADIofAPeCRiTJSEZ45FwoSkV1NURURHRTA2MTgANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk + - 0stF2XgAAAADjEWZa1VBXQqgAlgpFn6oCV1NURURHRTA4MTIAOWRkYTdjMDctNDc3OC00YjIxLWJlYzUtNDg1YjZkNjE3YzYw status: code: 200 message: OK @@ -2276,7 +1587,7 @@ interactions: Content-Length: - '17' User-Agent: - - python-requests/2.22.0 + - python-requests/2.23.0 method: POST uri: http://cli000004.azurefd.net/ response: @@ -2308,11 +1619,11 @@ interactions: content-type: - text/html; charset=UTF-8 date: - - Wed, 13 Nov 2019 22:22:42 GMT + - Sun, 22 Mar 2020 02:47:24 GMT etag: - '"3147526947+gzip"' expires: - - Wed, 20 Nov 2019 22:22:42 GMT + - Sun, 29 Mar 2020 02:47:25 GMT last-modified: - Thu, 17 Oct 2019 07:18:26 GMT transfer-encoding: @@ -2320,7 +1631,7 @@ interactions: vary: - Accept-Encoding x-azure-ref: - - 0MoLMXQAAAAAIfMFaHbnxSL7om84V+craV1NURURHRTA2MDgANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk + - 0vdF2XgAAAAA8HZ4sC+spRIP0c6OvNzOkV1NURURHRTA4MDcAOWRkYTdjMDctNDc3OC00YjIxLWJlYzUtNDg1YjZkNjE3YzYw status: code: 200 message: OK @@ -2336,1507 +1647,7 @@ interactions: Content-Length: - '17' User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:22:51 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:22:52 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0PILMXQAAAABMbqES0aarRLTvQWri4RnzV1NURURHRTA2MDcANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:23:02 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:23:02 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0RoLMXQAAAACRjsDNiepVRLsm57v1OgsTV1NURURHRTA2MjAANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:23:11 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:23:12 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0UILMXQAAAACaVZSYZIA/TZL5go/HcwtwV1NURURHRTA2MDcANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:23:21 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:23:22 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0WoLMXQAAAABszxKNkVJ1Q6rXIj0EEva4V1NURURHRTA2MjEANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:23:32 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:23:32 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0ZILMXQAAAADc8MpHv7rTRYNR+qjb8k77V1NURURHRTA2MjAANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:23:41 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:23:42 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0boLMXQAAAADoiZus4vUXT6DBVXGyt3GRV1NURURHRTA2MTgANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:23:52 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:23:52 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0eILMXQAAAACnVkWMUZZ/SqXK/5KiqsaXV1NURURHRTA2MjIANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:24:02 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:24:03 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0goLMXQAAAABQ/RfwqLrdTKpKWPYfeo0fV1NURURHRTA2MTMANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:24:12 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:24:13 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0jYLMXQAAAAAolFFbdgDiS491zsNtcOVGV1NURURHRTA2MjEANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:24:22 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:24:23 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0l4LMXQAAAAD+elBNpYxLRKEHcKEA+inRV1NURURHRTA2MjEANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:24:32 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:24:33 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0oYLMXQAAAACDSC8LEI1/RrYlilhbF98pV1NURURHRTA2MjEANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:24:43 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:24:43 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0q4LMXQAAAABXnlYbndERRrcMT50noEQKV1NURURHRTA2MjAANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:24:52 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:24:53 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0tYLMXQAAAAAZsh8zvC5XQJp1FbcTfSs7V1NURURHRTA2MjEANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:25:03 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:25:03 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0v4LMXQAAAAAOIKgv+anZRaZVWXyrPLWzV1NURURHRTA2MjAANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:25:12 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:25:13 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0yYLMXQAAAABvkZDIi7NuTL9zaCMyDJd9V1NURURHRTA2MTAANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:25:23 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:25:23 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 004LMXQAAAAA6uRHB4Vg4TbplT8fuQYdCV1NURURHRTA2MTgANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:25:33 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:25:33 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 03YLMXQAAAAD6vlf0DspmSoRasPQ7EgblV1NURURHRTA2MDkANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:25:43 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:25:43 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 054LMXQAAAAAZH/jCqLChRaSObsHDW8jDV1NURURHRTA2MTkANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:25:53 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:25:53 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 08YLMXQAAAACIKiMA6MzMRL86HMHsiMqDV1NURURHRTA2MjIANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:26:03 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:26:03 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0+4LMXQAAAAC/g5aZP8jDSqDSXaNqaH2pV1NURURHRTA2MTgANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:26:13 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:26:14 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0BoPMXQAAAABpIo1APvk1SrqizpECg3ZYV1NURURHRTA2MTEANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:26:23 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:26:24 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0EIPMXQAAAACxsQFD9dSzT7pHuuuSSi8bV1NURURHRTA2MTEANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:26:34 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:26:34 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0GoPMXQAAAADPrWGKvS21T7Vz9IxkE+ILV1NURURHRTA2MDgANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:26:44 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:26:44 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0JIPMXQAAAADL4BCuO/XPTY9b+YM5G5PCV1NURURHRTA2MTUANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://cli000004.azurefd.net/ - response: - body: - string: "\n\n\n Example Domain\n\n - \ \n \n \n \n\n\n\n
\n

Example Domain

\n - \

This domain is for use in illustrative examples in documents. You may - use this\n domain in literature without prior coordination or asking for - permission.

\n

More - information...

\n
\n\n\n" - headers: - accept-ranges: - - bytes - cache-control: - - max-age=604800 - content-length: - - '1256' - content-type: - - text/html; charset=UTF-8 - date: - - Wed, 13 Nov 2019 22:26:54 GMT - etag: - - '"3147526947+gzip"' - expires: - - Wed, 20 Nov 2019 22:26:54 GMT - last-modified: - - Thu, 17 Oct 2019 07:18:26 GMT - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-azure-ref: - - 0LoPMXQAAAABy/zuU2NuUSo2UWXpC1j7NV1NURURHRTA2MTUANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk - status: - code: 200 - message: OK -- request: - body: '''key'':''something''' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - User-Agent: - - python-requests/2.22.0 + - python-requests/2.23.0 method: POST uri: http://cli000004.azurefd.net/ response: @@ -3849,14 +1660,14 @@ interactions: margin: 34px 0px 0px 0px }#message p { font-size: 13px; color: #000000; margin: 7px 0px 0px 0px }#errorref { font-size: 11px; color: #737373; margin-top: 41px }Microsoft

The request is blocked.

0OIPMXQAAAAB1cJmM7tDoTpT+xCrtuhhSV1NURURHRTA2MTgANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk
' + id=''message''>

The request is blocked.

0x9F2XgAAAAA9TofvCFnAQaOoMfturqsuV1NURURHRTA4MTEAOWRkYTdjMDctNDc3OC00YjIxLWJlYzUtNDg1YjZkNjE3YzYw
' headers: date: - - Wed, 13 Nov 2019 22:27:04 GMT + - Sun, 22 Mar 2020 02:47:34 GMT transfer-encoding: - chunked x-azure-ref: - - 0OIPMXQAAAAB1cJmM7tDoTpT+xCrtuhhSV1NURURHRTA2MTgANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk + - 0x9F2XgAAAAA9TofvCFnAQaOoMfturqsuV1NURURHRTA4MTEAOWRkYTdjMDctNDc3OC00YjIxLWJlYzUtNDg1YjZkNjE3YzYw status: code: 403 message: Forbidden @@ -3872,7 +1683,7 @@ interactions: Content-Length: - '13' User-Agent: - - python-requests/2.22.0 + - python-requests/2.23.0 method: POST uri: http://cli000004.azurefd.net/ response: @@ -3904,11 +1715,11 @@ interactions: content-type: - text/html; charset=UTF-8 date: - - Wed, 13 Nov 2019 22:27:04 GMT + - Sun, 22 Mar 2020 02:47:35 GMT etag: - '"3147526947+gzip"' expires: - - Wed, 20 Nov 2019 22:27:04 GMT + - Sun, 29 Mar 2020 02:47:35 GMT last-modified: - Thu, 17 Oct 2019 07:18:26 GMT transfer-encoding: @@ -3916,7 +1727,7 @@ interactions: vary: - Accept-Encoding x-azure-ref: - - 0OIPMXQAAAACZ4ddzrgGCQpJh0nCCmljVV1NURURHRTA2MTIANWIwODI5MTEtOGY1Ny00MWIyLTg2ODItYmJhZmUyNWYwNzJk + - 0x9F2XgAAAABg5cHG5w7xRqktmu9sYlzBV1NURURHRTA4MDYAOWRkYTdjMDctNDc3OC00YjIxLWJlYzUtNDg1YjZkNjE3YzYw status: code: 200 message: OK diff --git a/src/front-door/azext_front_door/tests/latest/recordings/test_waf_policy_custom_rules.yaml b/src/front-door/azext_front_door/tests/latest/recordings/test_waf_policy_custom_rules.yaml index 4bf7632f4c..cc83d8d37a 100644 --- a/src/front-door/azext_front_door/tests/latest/recordings/test_waf_policy_custom_rules.yaml +++ b/src/front-door/azext_front_door/tests/latest/recordings/test_waf_policy_custom_rules.yaml @@ -19,8 +19,8 @@ interactions: ParameterSetName: - -g -n --mode User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -41,7 +41,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:16:57 GMT + - Sun, 22 Mar 2020 02:43:45 GMT expires: - '-1' odata-version: @@ -57,7 +57,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' x-powered-by: - ASP.NET status: @@ -78,8 +78,8 @@ interactions: - -g --policy-name -n --priority --action --rule-type --rate-limit-duration --rate-limit-threshold --defer User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -100,7 +100,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:16:58 GMT + - Sun, 22 Mar 2020 02:43:46 GMT expires: - '-1' odata-version: @@ -155,8 +155,8 @@ interactions: ParameterSetName: - -g --policy-name -n --priority User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -176,7 +176,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 13 Nov 2019 22:17:03 GMT + - Sun, 22 Mar 2020 02:43:50 GMT expires: - '-1' pragma: @@ -226,8 +226,8 @@ interactions: ParameterSetName: - -g --policy-name -n --priority User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -259,7 +259,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:06 GMT + - Sun, 22 Mar 2020 02:43:52 GMT expires: - '-1' odata-version: @@ -279,7 +279,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1198' x-powered-by: - ASP.NET status: @@ -299,8 +299,8 @@ interactions: ParameterSetName: - -g --policy-name User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -332,7 +332,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:07 GMT + - Sun, 22 Mar 2020 02:43:54 GMT expires: - '-1' odata-version: @@ -370,8 +370,8 @@ interactions: ParameterSetName: - -g --policy-name -n User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -403,7 +403,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:08 GMT + - Sun, 22 Mar 2020 02:43:55 GMT expires: - '-1' odata-version: @@ -454,8 +454,8 @@ interactions: ParameterSetName: - -g --policy-name -n User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -483,7 +483,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:10 GMT + - Sun, 22 Mar 2020 02:43:56 GMT expires: - '-1' odata-version: @@ -523,8 +523,8 @@ interactions: ParameterSetName: - -g --policy-name -n User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -552,7 +552,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:10 GMT + - Sun, 22 Mar 2020 02:43:58 GMT expires: - '-1' odata-version: @@ -590,8 +590,8 @@ interactions: ParameterSetName: - -g --policy-name User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -619,7 +619,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:12 GMT + - Sun, 22 Mar 2020 02:43:58 GMT expires: - '-1' odata-version: diff --git a/src/front-door/azext_front_door/tests/latest/recordings/test_waf_policy_managed_rules.yaml b/src/front-door/azext_front_door/tests/latest/recordings/test_waf_policy_managed_rules.yaml index 590c0219ce..cc1c06ca1f 100644 --- a/src/front-door/azext_front_door/tests/latest/recordings/test_waf_policy_managed_rules.yaml +++ b/src/front-door/azext_front_door/tests/latest/recordings/test_waf_policy_managed_rules.yaml @@ -18,8 +18,8 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -40,7 +40,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:11 GMT + - Sun, 22 Mar 2020 02:43:44 GMT expires: - '-1' odata-version: @@ -76,8 +76,8 @@ interactions: ParameterSetName: - -g --policy-name --type --version User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -98,7 +98,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:12 GMT + - Sun, 22 Mar 2020 02:43:45 GMT expires: - '-1' odata-version: @@ -142,8 +142,8 @@ interactions: ParameterSetName: - -g --policy-name --type --version User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -166,7 +166,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:14 GMT + - Sun, 22 Mar 2020 02:43:47 GMT expires: - '-1' odata-version: @@ -186,7 +186,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1199' x-powered-by: - ASP.NET status: @@ -206,8 +206,8 @@ interactions: ParameterSetName: - -g --policy-name --type --rule-group-id --rule-id --action --disabled User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -230,7 +230,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:15 GMT + - Sun, 22 Mar 2020 02:43:49 GMT expires: - '-1' odata-version: @@ -276,8 +276,8 @@ interactions: ParameterSetName: - -g --policy-name --type --rule-group-id --rule-id --action --disabled User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -303,7 +303,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:17 GMT + - Sun, 22 Mar 2020 02:43:50 GMT expires: - '-1' odata-version: @@ -323,7 +323,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' x-powered-by: - ASP.NET status: @@ -343,8 +343,8 @@ interactions: ParameterSetName: - -g --policy-name --type --rule-group-id --rule-id User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -370,7 +370,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:17 GMT + - Sun, 22 Mar 2020 02:43:51 GMT expires: - '-1' odata-version: @@ -415,8 +415,8 @@ interactions: ParameterSetName: - -g --policy-name --type --rule-group-id --rule-id User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -439,7 +439,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:20 GMT + - Sun, 22 Mar 2020 02:43:52 GMT expires: - '-1' odata-version: @@ -459,7 +459,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1193' + - '1198' x-powered-by: - ASP.NET status: @@ -479,8 +479,8 @@ interactions: ParameterSetName: - -g --policy-name User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -503,7 +503,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:20 GMT + - Sun, 22 Mar 2020 02:43:52 GMT expires: - '-1' odata-version: @@ -541,8 +541,8 @@ interactions: ParameterSetName: - -g --policy-name --type User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -565,7 +565,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:21 GMT + - Sun, 22 Mar 2020 02:43:53 GMT expires: - '-1' odata-version: @@ -609,8 +609,8 @@ interactions: ParameterSetName: - -g --policy-name --type User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: PUT @@ -631,7 +631,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:23 GMT + - Sun, 22 Mar 2020 02:43:54 GMT expires: - '-1' odata-version: @@ -651,7 +651,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1198' x-powered-by: - ASP.NET status: @@ -669,8 +669,8 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.6.6 (Windows-10-10.0.18362-SP0) msrest/0.6.8 msrest_azure/0.6.1 azure-mgmt-frontdoor/0.1.0 - Azure-SDK-For-Python AZURECLI/2.0.68 + - python/3.7.7 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 + azure-mgmt-frontdoor/0.3.0 Azure-SDK-For-Python AZURECLI/2.2.0 accept-language: - en-US method: GET @@ -1424,7 +1424,7 @@ interactions: content-type: - application/json; odata.metadata=minimal date: - - Wed, 13 Nov 2019 22:17:23 GMT + - Sun, 22 Mar 2020 02:43:55 GMT expires: - '-1' odata-version: diff --git a/src/front-door/azext_front_door/tests/latest/test_route_rule_scenarios.py b/src/front-door/azext_front_door/tests/latest/test_route_rule_scenarios.py index ebda7690f7..5dac8565c8 100644 --- a/src/front-door/azext_front_door/tests/latest/test_route_rule_scenarios.py +++ b/src/front-door/azext_front_door/tests/latest/test_route_rule_scenarios.py @@ -22,7 +22,7 @@ class RouteRuleScenarioTests(ScenarioTest): '--patterns /forward2 --caching Disabled', checks=[ self.check('patternsToMatch[0]', '/forward2'), - self.check('contains(keys(routeConfiguration), "cacheConfiguration")', False) + self.check('routeConfiguration.cacheConfiguration', None) ]) self.cmd('network front-door routing-rule create -f {front_door} -g {rg} -n {rule2} ' '--frontend-endpoints DefaultFrontendEndpoint --route-type Redirect ' diff --git a/src/front-door/azext_front_door/tests/latest/test_rules_engine_scenarios.py b/src/front-door/azext_front_door/tests/latest/test_rules_engine_scenarios.py new file mode 100644 index 0000000000..282c5856eb --- /dev/null +++ b/src/front-door/azext_front_door/tests/latest/test_rules_engine_scenarios.py @@ -0,0 +1,190 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) + + +class RulesEngineScenarioTests(ScenarioTest): + + @ResourceGroupPreparer(location='westus') + def test_rules_engine_basic(self, resource_group): + self.kwargs.update({ + 'front_door': self.create_random_name('clifrontdoor', 20), + 'rules_engine': self.create_random_name('clirulesengine', length=20), + 'rule1': 'rule1', + 'rule2': 'rule2' + }) + + """Step 1: Create a Front Door""" + self.cmd('network front-door create -g {rg} -n {front_door} --backend-address 202.120.2.3') + + """Step 2: Create a Rules Engine configuration with one rule in the Front Door""" + self.cmd('network front-door rules-engine rule create -f {front_door} -g {rg} ' + '--rules-engine-name {rules_engine} --name {rule1} --priority 1 ' + '--action-type RequestHeader --header-action Overwrite --header-name Rewrite ' + '--header-value True --match-variable RequestFilenameExtension --operator Contains ' + '--match-values jpg png --transforms Lowercase', + checks=[ + self.check('length(rules)', 1), + self.check('length(rules[0].action.requestHeaderActions)', 1), + self.check('rules[0].action.requestHeaderActions[0].headerActionType', 'Overwrite'), + self.check('rules[0].action.requestHeaderActions[0].headerName', 'Rewrite'), + self.check('rules[0].action.requestHeaderActions[0].value', 'True'), + self.check('length(rules[0].matchConditions)', 1), + self.check('rules[0].matchConditions[0].rulesEngineMatchVariable', 'RequestFilenameExtension'), + self.check('rules[0].matchConditions[0].rulesEngineOperator', 'Contains'), + self.check('rules[0].matchConditions[0].rulesEngineMatchValue', ['jpg', 'png']), + self.check('rules[0].matchConditions[0].negateCondition', False), + self.check('rules[0].matchConditions[0].selector', None), + self.check('rules[0].matchConditions[0].transforms', ['Lowercase']), + self.check('rules[0].matchProcessingBehavior', None), + self.check('rules[0].priority', 1) + ]) + + """Step 3: Create another rule in the Rules Engine configuration""" + self.cmd('network front-door rules-engine rule create -f {front_door} -g {rg} ' + '--rules-engine-name {rules_engine} --name {rule2} --priority 2 ' + '--action-type ResponseHeader --header-action Append --header-name Security ' + '--header-value Strict --match-variable RequestPath --operator Contains ' + '--match-values private', + checks=[ + self.check('length(rules)', 2), + self.check('length(rules[1].action.responseHeaderActions)', 1), + self.check('length(rules[1].matchConditions)', 1), + self.check('rules[1].priority', 2) + ]) + + """Step 4: Update a rule in the Rules Engine configuration""" + self.cmd('network front-door rules-engine rule update -f {front_door} -g {rg} ' + '--rules-engine-name {rules_engine} --name {rule1} ' + '--match-processing-behavior Stop', + checks=[ + self.check('rules[0].matchProcessingBehavior', 'Stop') + ]) + + """Step 5: Get rule2 from Rules Engine configuration""" + self.cmd('network front-door rules-engine rule show -f {front_door} -g {rg} ' + '--rules-engine-name {rules_engine} -n {rule2}', + checks=[ + self.check('name', 'rule2') + ]) + + """Step 6: List all rules of a Rules Engine configuration""" + self.cmd('network front-door rules-engine rule list -f {front_door} -g {rg} ' + '--name {rules_engine}', + checks=[ + self.check('length(@)', 2) + ]) + + """Step 7: GET the Rules Engine configuration with two rules""" + self.cmd('network front-door rules-engine show -f {front_door} -g {rg} ' + '--name {rules_engine}', + checks=[ + self.check('length(rules)', 2) + ]) + + """Step 8: Add a Header action to the rule""" + self.cmd('network front-door rules-engine rule action add -f {front_door} -g {rg} ' + '--rules-engine-name {rules_engine} --name {rule2} --action-type ' + 'ResponseHeader --header-action Delete --header-name Location', + checks=[ + self.check('length(rules[1].action.responseHeaderActions)', 2), + self.check('rules[1].action.responseHeaderActions[1].headerActionType', 'Delete'), + self.check('rules[1].action.responseHeaderActions[1].headerName', 'Location'), + self.check('rules[1].action.responseHeaderActions[1].value', None) + ]) + + """Step 9: Add a Forward Route Override action to the rule""" + self.cmd('network front-door rules-engine rule action add -f {front_door} -g {rg} ' + '--rules-engine-name {rules_engine} --name {rule1} --action-type ' + 'ForwardRouteOverride --backend-pool DefaultBackendPool --caching Enabled', + checks=[ + self.check('length(rules[0].action.routeConfigurationOverride)', 5), + self.check('contains(rules[0].action.routeConfigurationOverride.odatatype, `FrontdoorForwardingConfiguration`)', True), + self.check('contains(rules[0].action.routeConfigurationOverride.backendPool.id, `DefaultBackendPool`)', True), + self.check('length(rules[0].action.routeConfigurationOverride.cacheConfiguration)', 4) + ]) + + """Step 10: Add a Redirect Route Override action to the rule""" + self.cmd('network front-door rules-engine rule action add -f {front_door} -g {rg} ' + '-r {rules_engine} --name {rule2} --action-type ' + 'RedirectRouteOverride --custom-path /redirect', + checks=[ + self.check('length(rules[1].action.routeConfigurationOverride)', 7), + self.check('contains(rules[1].action.routeConfigurationOverride.odatatype, `FrontdoorRedirectConfiguration`)', True), + self.check('rules[1].action.routeConfigurationOverride.redirectProtocol', 'MatchRequest'), + self.check('rules[1].action.routeConfigurationOverride.customPath', '/redirect') + ]) + + """Step 11: List all the actions in rule1""" + self.cmd('network front-door rules-engine rule action list -f {front_door} -g {rg} ' + '-r {rules_engine} --name {rule1}', + checks=[ + self.check('length(@) > `0`', True) + ]) + + """Step 12: List all the actions in rule2""" + self.cmd('network front-door rules-engine rule action list -f {front_door} -g {rg} ' + '-r {rules_engine} --name {rule2}', + checks=[ + self.check('length(@) > `0`', True) + ]) + + """Step 13: Add a match condition to the rule""" + self.cmd('network front-door rules-engine rule condition add -f {front_door} -g {rg} ' + '-r {rules_engine} --name {rule1} --match-variable ' + 'RequestHeader --selector x-language --operator Equal ' + '--match-values en-gb en-th --transforms Lowercase', + checks=[ + self.check('length(rules[0].matchConditions)', 2), + self.check('rules[0].matchConditions[1].rulesEngineMatchVariable', 'RequestHeader'), + self.check('rules[0].matchConditions[1].rulesEngineOperator', 'Equal'), + self.check('rules[0].matchConditions[1].rulesEngineMatchValue', ['en-gb', 'en-th']), + self.check('rules[0].matchConditions[1].negateCondition', False), + self.check('rules[0].matchConditions[1].selector', 'x-language'), + self.check('rules[0].matchConditions[1].transforms', ['Lowercase']) + ]) + + """Step 14: List all the match conditions in a rule""" + self.cmd('network front-door rules-engine rule condition list -f {front_door} -g {rg} ' + '--rules-engine-name {rules_engine} --name {rule1}', + checks=[ + self.check('length(@)', 2) + ]) + + """Step 15: Remove a match condition from a rule""" + self.cmd('network front-door rules-engine rule condition remove -f {front_door} -g {rg} ' + '--rules-engine-name {rules_engine} --name {rule1} --index 0', + checks=[ + self.check('length(rules[0].matchConditions)', 1) + ]) + + """Step 16: Remove a Route Override action from a rule""" + self.cmd('network front-door rules-engine rule action remove -f {front_door} -g {rg} ' + '--rules-engine-name {rules_engine} --name {rule1} --action-type ' + 'ForwardRouteOverride', + checks=[ + self.check('rules[0].routeConfigurationOverride', None) + ]) + + """Step 17: Remove a Header action from a rule""" + self.cmd('network front-door rules-engine rule action remove -f {front_door} -g {rg} ' + '--rules-engine-name {rules_engine} --name {rule2} --action-type ' + 'ResponseHeader --index 1', + checks=[ + self.check('length(rules[1].action.responseHeaderActions)', 1) + ]) + + """Step 18: Delete a rule from a Rules Engine configuration""" + self.cmd('network front-door rules-engine rule delete -f {front_door} -g {rg} ' + '--rules-engine-name {rules_engine} --name {rule2}', + checks=[ + self.check('length(rules)', 1) + ]) + + """Step 19: List all the Rules Engine configurations in a Front Door""" + self.cmd('network front-door rules-engine list -f {front_door} -g {rg}', + checks=[ + self.check('length(@)', 1) + ]) diff --git a/src/front-door/azext_front_door/tests/latest/test_waf_scenarios.py b/src/front-door/azext_front_door/tests/latest/test_waf_scenarios.py index ab0996146e..2d083569dc 100644 --- a/src/front-door/azext_front_door/tests/latest/test_waf_scenarios.py +++ b/src/front-door/azext_front_door/tests/latest/test_waf_scenarios.py @@ -7,9 +7,9 @@ from azure.cli.testsdk import (ScenarioTest, JMESPathCheck, ResourceGroupPrepare from .frontdoor_test_util import WafScenarioMixin from knack.cli import CLIError try: - from azext_front_door.vendored_sdks.models.error_response_py3 import ErrorResponseException + from azext_front_door.vendored_sdks.models._models_py3 import ErrorResponseException except (SyntaxError, ImportError): - from azext_front_door.vendored_sdks.models.error_response import ErrorResponseException + from azext_front_door.vendored_sdks.models._models import ErrorResponseException class WafTests(WafScenarioMixin, ScenarioTest): diff --git a/src/front-door/azext_front_door/vendored_sdks/__init__.py b/src/front-door/azext_front_door/vendored_sdks/__init__.py index f2cf644ce9..c1ad53652d 100644 --- a/src/front-door/azext_front_door/vendored_sdks/__init__.py +++ b/src/front-door/azext_front_door/vendored_sdks/__init__.py @@ -9,10 +9,11 @@ # regenerated. # -------------------------------------------------------------------------- -from .front_door_management_client import FrontDoorManagementClient -from .version import VERSION +from ._configuration import FrontDoorManagementClientConfiguration +from ._front_door_management_client import FrontDoorManagementClient +__all__ = ['FrontDoorManagementClient', 'FrontDoorManagementClientConfiguration'] -__all__ = ['FrontDoorManagementClient'] +from .version import VERSION __version__ = VERSION diff --git a/src/front-door/azext_front_door/vendored_sdks/_configuration.py b/src/front-door/azext_front_door/vendored_sdks/_configuration.py new file mode 100644 index 0000000000..826e21351d --- /dev/null +++ b/src/front-door/azext_front_door/vendored_sdks/_configuration.py @@ -0,0 +1,50 @@ +# 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) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class FrontDoorManagementClientConfiguration(AzureConfiguration): + """Configuration for FrontDoorManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The subscription credentials which uniquely + identify the Microsoft Azure subscription. The subscription ID forms part + of the URI for every service call. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(FrontDoorManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-frontdoor/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/front-door/azext_front_door/vendored_sdks/_front_door_management_client.py b/src/front-door/azext_front_door/vendored_sdks/_front_door_management_client.py new file mode 100644 index 0000000000..619bd15dc0 --- /dev/null +++ b/src/front-door/azext_front_door/vendored_sdks/_front_door_management_client.py @@ -0,0 +1,96 @@ +# 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) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import FrontDoorManagementClientConfiguration +from .operations import FrontDoorManagementClientOperationsMixin +from .operations import NetworkExperimentProfilesOperations +from .operations import PreconfiguredEndpointsOperations +from .operations import ExperimentsOperations +from .operations import ReportsOperations +from .operations import FrontDoorsOperations +from .operations import FrontendEndpointsOperations +from .operations import EndpointsOperations +from .operations import RulesEnginesOperations +from .operations import PoliciesOperations +from .operations import ManagedRuleSetsOperations +from . import models + + +class FrontDoorManagementClient(FrontDoorManagementClientOperationsMixin, SDKClient): + """FrontDoor Client + + :ivar config: Configuration for client. + :vartype config: FrontDoorManagementClientConfiguration + + :ivar network_experiment_profiles: NetworkExperimentProfiles operations + :vartype network_experiment_profiles: azure.mgmt.frontdoor.operations.NetworkExperimentProfilesOperations + :ivar preconfigured_endpoints: PreconfiguredEndpoints operations + :vartype preconfigured_endpoints: azure.mgmt.frontdoor.operations.PreconfiguredEndpointsOperations + :ivar experiments: Experiments operations + :vartype experiments: azure.mgmt.frontdoor.operations.ExperimentsOperations + :ivar reports: Reports operations + :vartype reports: azure.mgmt.frontdoor.operations.ReportsOperations + :ivar front_doors: FrontDoors operations + :vartype front_doors: azure.mgmt.frontdoor.operations.FrontDoorsOperations + :ivar frontend_endpoints: FrontendEndpoints operations + :vartype frontend_endpoints: azure.mgmt.frontdoor.operations.FrontendEndpointsOperations + :ivar endpoints: Endpoints operations + :vartype endpoints: azure.mgmt.frontdoor.operations.EndpointsOperations + :ivar rules_engines: RulesEngines operations + :vartype rules_engines: azure.mgmt.frontdoor.operations.RulesEnginesOperations + :ivar policies: Policies operations + :vartype policies: azure.mgmt.frontdoor.operations.PoliciesOperations + :ivar managed_rule_sets: ManagedRuleSets operations + :vartype managed_rule_sets: azure.mgmt.frontdoor.operations.ManagedRuleSetsOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The subscription credentials which uniquely + identify the Microsoft Azure subscription. The subscription ID forms part + of the URI for every service call. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = FrontDoorManagementClientConfiguration(credentials, subscription_id, base_url) + super(FrontDoorManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.network_experiment_profiles = NetworkExperimentProfilesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.preconfigured_endpoints = PreconfiguredEndpointsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.experiments = ExperimentsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.reports = ReportsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.front_doors = FrontDoorsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.frontend_endpoints = FrontendEndpointsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.endpoints = EndpointsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.rules_engines = RulesEnginesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.policies = PoliciesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.managed_rule_sets = ManagedRuleSetsOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/__init__.py b/src/front-door/azext_front_door/vendored_sdks/models/__init__.py index 5a636ab308..d40e5d572d 100644 --- a/src/front-door/azext_front_door/vendored_sdks/models/__init__.py +++ b/src/front-door/azext_front_door/vendored_sdks/models/__init__.py @@ -10,137 +10,150 @@ # -------------------------------------------------------------------------- try: - from .error_details_py3 import ErrorDetails - from .error_py3 import Error - from .azure_async_operation_result_py3 import AzureAsyncOperationResult - from .resource_py3 import Resource - from .sub_resource_py3 import SubResource - from .tags_object_py3 import TagsObject - from .profile_py3 import Profile - from .endpoint_py3 import Endpoint - from .profile_update_model_py3 import ProfileUpdateModel - from .experiment_update_model_py3 import ExperimentUpdateModel - from .experiment_py3 import Experiment - from .latency_metric_py3 import LatencyMetric - from .latency_scorecard_py3 import LatencyScorecard - from .timeseries_data_point_py3 import TimeseriesDataPoint - from .timeseries_py3 import Timeseries - from .preconfigured_endpoint_py3 import PreconfiguredEndpoint - from .error_response_py3 import ErrorResponse, ErrorResponseException - from .front_door_py3 import FrontDoor - from .routing_rule_py3 import RoutingRule - from .load_balancing_settings_model_py3 import LoadBalancingSettingsModel - from .health_probe_settings_model_py3 import HealthProbeSettingsModel - from .backend_pool_py3 import BackendPool - from .key_vault_certificate_source_parameters_vault_py3 import KeyVaultCertificateSourceParametersVault - from .custom_https_configuration_py3 import CustomHttpsConfiguration - from .frontend_endpoint_py3 import FrontendEndpoint - from .backend_pools_settings_py3 import BackendPoolsSettings - from .front_door_update_parameters_py3 import FrontDoorUpdateParameters - from .purge_parameters_py3 import PurgeParameters - from .routing_rule_list_result_py3 import RoutingRuleListResult - from .route_configuration_py3 import RouteConfiguration - from .routing_rule_update_parameters_py3 import RoutingRuleUpdateParameters - from .cache_configuration_py3 import CacheConfiguration - from .forwarding_configuration_py3 import ForwardingConfiguration - from .redirect_configuration_py3 import RedirectConfiguration - from .backend_py3 import Backend - from .load_balancing_settings_list_result_py3 import LoadBalancingSettingsListResult - from .load_balancing_settings_update_parameters_py3 import LoadBalancingSettingsUpdateParameters - from .health_probe_settings_list_result_py3 import HealthProbeSettingsListResult - from .health_probe_settings_update_parameters_py3 import HealthProbeSettingsUpdateParameters - from .backend_pool_update_parameters_py3 import BackendPoolUpdateParameters - from .backend_pool_list_result_py3 import BackendPoolListResult - from .frontend_endpoint_update_parameters_web_application_firewall_policy_link_py3 import FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink - from .frontend_endpoint_update_parameters_py3 import FrontendEndpointUpdateParameters - from .validate_custom_domain_input_py3 import ValidateCustomDomainInput - from .validate_custom_domain_output_py3 import ValidateCustomDomainOutput - from .check_name_availability_input_py3 import CheckNameAvailabilityInput - from .check_name_availability_output_py3 import CheckNameAvailabilityOutput - from .policy_settings_py3 import PolicySettings - from .match_condition_py3 import MatchCondition - from .custom_rule_py3 import CustomRule - from .custom_rule_list_py3 import CustomRuleList - from .managed_rule_exclusion_py3 import ManagedRuleExclusion - from .managed_rule_override_py3 import ManagedRuleOverride - from .managed_rule_group_override_py3 import ManagedRuleGroupOverride - from .managed_rule_set_py3 import ManagedRuleSet - from .managed_rule_set_list_py3 import ManagedRuleSetList - from .frontend_endpoint_link_py3 import FrontendEndpointLink - from .web_application_firewall_policy_py3 import WebApplicationFirewallPolicy - from .managed_rule_definition_py3 import ManagedRuleDefinition - from .managed_rule_group_definition_py3 import ManagedRuleGroupDefinition - from .managed_rule_set_definition_py3 import ManagedRuleSetDefinition + from ._models_py3 import AzureAsyncOperationResult + from ._models_py3 import Backend + from ._models_py3 import BackendPool + from ._models_py3 import BackendPoolListResult + from ._models_py3 import BackendPoolsSettings + from ._models_py3 import BackendPoolUpdateParameters + from ._models_py3 import CacheConfiguration + from ._models_py3 import CheckNameAvailabilityInput + from ._models_py3 import CheckNameAvailabilityOutput + from ._models_py3 import CustomHttpsConfiguration + from ._models_py3 import CustomRule + from ._models_py3 import CustomRuleList + from ._models_py3 import Endpoint + from ._models_py3 import Error + from ._models_py3 import ErrorDetails + from ._models_py3 import ErrorResponse, ErrorResponseException + from ._models_py3 import Experiment + from ._models_py3 import ExperimentUpdateModel + from ._models_py3 import ForwardingConfiguration + from ._models_py3 import FrontDoor + from ._models_py3 import FrontDoorUpdateParameters + from ._models_py3 import FrontendEndpoint + from ._models_py3 import FrontendEndpointLink + from ._models_py3 import FrontendEndpointUpdateParameters + from ._models_py3 import FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink + from ._models_py3 import HeaderAction + from ._models_py3 import HealthProbeSettingsListResult + from ._models_py3 import HealthProbeSettingsModel + from ._models_py3 import HealthProbeSettingsUpdateParameters + from ._models_py3 import KeyVaultCertificateSourceParametersVault + from ._models_py3 import LatencyMetric + from ._models_py3 import LatencyScorecard + from ._models_py3 import LoadBalancingSettingsListResult + from ._models_py3 import LoadBalancingSettingsModel + from ._models_py3 import LoadBalancingSettingsUpdateParameters + from ._models_py3 import ManagedRuleDefinition + from ._models_py3 import ManagedRuleExclusion + from ._models_py3 import ManagedRuleGroupDefinition + from ._models_py3 import ManagedRuleGroupOverride + from ._models_py3 import ManagedRuleOverride + from ._models_py3 import ManagedRuleSet + from ._models_py3 import ManagedRuleSetDefinition + from ._models_py3 import ManagedRuleSetList + from ._models_py3 import MatchCondition + from ._models_py3 import PolicySettings + from ._models_py3 import PreconfiguredEndpoint + from ._models_py3 import Profile + from ._models_py3 import ProfileUpdateModel + from ._models_py3 import PurgeParameters + from ._models_py3 import RedirectConfiguration + from ._models_py3 import Resource + from ._models_py3 import RouteConfiguration + from ._models_py3 import RoutingRule + from ._models_py3 import RoutingRuleListResult + from ._models_py3 import RoutingRuleUpdateParameters + from ._models_py3 import RulesEngine + from ._models_py3 import RulesEngineAction + from ._models_py3 import RulesEngineMatchCondition + from ._models_py3 import RulesEngineRule + from ._models_py3 import RulesEngineUpdateParameters + from ._models_py3 import SubResource + from ._models_py3 import TagsObject + from ._models_py3 import Timeseries + from ._models_py3 import TimeseriesDataPoint + from ._models_py3 import ValidateCustomDomainInput + from ._models_py3 import ValidateCustomDomainOutput + from ._models_py3 import WebApplicationFirewallPolicy except (SyntaxError, ImportError): - from .error_details import ErrorDetails - from .error import Error - from .azure_async_operation_result import AzureAsyncOperationResult - from .resource import Resource - from .sub_resource import SubResource - from .tags_object import TagsObject - from .profile import Profile - from .endpoint import Endpoint - from .profile_update_model import ProfileUpdateModel - from .experiment_update_model import ExperimentUpdateModel - from .experiment import Experiment - from .latency_metric import LatencyMetric - from .latency_scorecard import LatencyScorecard - from .timeseries_data_point import TimeseriesDataPoint - from .timeseries import Timeseries - from .preconfigured_endpoint import PreconfiguredEndpoint - from .error_response import ErrorResponse, ErrorResponseException - from .front_door import FrontDoor - from .routing_rule import RoutingRule - from .load_balancing_settings_model import LoadBalancingSettingsModel - from .health_probe_settings_model import HealthProbeSettingsModel - from .backend_pool import BackendPool - from .key_vault_certificate_source_parameters_vault import KeyVaultCertificateSourceParametersVault - from .custom_https_configuration import CustomHttpsConfiguration - from .frontend_endpoint import FrontendEndpoint - from .backend_pools_settings import BackendPoolsSettings - from .front_door_update_parameters import FrontDoorUpdateParameters - from .purge_parameters import PurgeParameters - from .routing_rule_list_result import RoutingRuleListResult - from .route_configuration import RouteConfiguration - from .routing_rule_update_parameters import RoutingRuleUpdateParameters - from .cache_configuration import CacheConfiguration - from .forwarding_configuration import ForwardingConfiguration - from .redirect_configuration import RedirectConfiguration - from .backend import Backend - from .load_balancing_settings_list_result import LoadBalancingSettingsListResult - from .load_balancing_settings_update_parameters import LoadBalancingSettingsUpdateParameters - from .health_probe_settings_list_result import HealthProbeSettingsListResult - from .health_probe_settings_update_parameters import HealthProbeSettingsUpdateParameters - from .backend_pool_update_parameters import BackendPoolUpdateParameters - from .backend_pool_list_result import BackendPoolListResult - from .frontend_endpoint_update_parameters_web_application_firewall_policy_link import FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink - from .frontend_endpoint_update_parameters import FrontendEndpointUpdateParameters - from .validate_custom_domain_input import ValidateCustomDomainInput - from .validate_custom_domain_output import ValidateCustomDomainOutput - from .check_name_availability_input import CheckNameAvailabilityInput - from .check_name_availability_output import CheckNameAvailabilityOutput - from .policy_settings import PolicySettings - from .match_condition import MatchCondition - from .custom_rule import CustomRule - from .custom_rule_list import CustomRuleList - from .managed_rule_exclusion import ManagedRuleExclusion - from .managed_rule_override import ManagedRuleOverride - from .managed_rule_group_override import ManagedRuleGroupOverride - from .managed_rule_set import ManagedRuleSet - from .managed_rule_set_list import ManagedRuleSetList - from .frontend_endpoint_link import FrontendEndpointLink - from .web_application_firewall_policy import WebApplicationFirewallPolicy - from .managed_rule_definition import ManagedRuleDefinition - from .managed_rule_group_definition import ManagedRuleGroupDefinition - from .managed_rule_set_definition import ManagedRuleSetDefinition -from .profile_paged import ProfilePaged -from .preconfigured_endpoint_paged import PreconfiguredEndpointPaged -from .experiment_paged import ExperimentPaged -from .front_door_paged import FrontDoorPaged -from .frontend_endpoint_paged import FrontendEndpointPaged -from .web_application_firewall_policy_paged import WebApplicationFirewallPolicyPaged -from .managed_rule_set_definition_paged import ManagedRuleSetDefinitionPaged -from .front_door_management_client_enums import ( + from ._models import AzureAsyncOperationResult + from ._models import Backend + from ._models import BackendPool + from ._models import BackendPoolListResult + from ._models import BackendPoolsSettings + from ._models import BackendPoolUpdateParameters + from ._models import CacheConfiguration + from ._models import CheckNameAvailabilityInput + from ._models import CheckNameAvailabilityOutput + from ._models import CustomHttpsConfiguration + from ._models import CustomRule + from ._models import CustomRuleList + from ._models import Endpoint + from ._models import Error + from ._models import ErrorDetails + from ._models import ErrorResponse, ErrorResponseException + from ._models import Experiment + from ._models import ExperimentUpdateModel + from ._models import ForwardingConfiguration + from ._models import FrontDoor + from ._models import FrontDoorUpdateParameters + from ._models import FrontendEndpoint + from ._models import FrontendEndpointLink + from ._models import FrontendEndpointUpdateParameters + from ._models import FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink + from ._models import HeaderAction + from ._models import HealthProbeSettingsListResult + from ._models import HealthProbeSettingsModel + from ._models import HealthProbeSettingsUpdateParameters + from ._models import KeyVaultCertificateSourceParametersVault + from ._models import LatencyMetric + from ._models import LatencyScorecard + from ._models import LoadBalancingSettingsListResult + from ._models import LoadBalancingSettingsModel + from ._models import LoadBalancingSettingsUpdateParameters + from ._models import ManagedRuleDefinition + from ._models import ManagedRuleExclusion + from ._models import ManagedRuleGroupDefinition + from ._models import ManagedRuleGroupOverride + from ._models import ManagedRuleOverride + from ._models import ManagedRuleSet + from ._models import ManagedRuleSetDefinition + from ._models import ManagedRuleSetList + from ._models import MatchCondition + from ._models import PolicySettings + from ._models import PreconfiguredEndpoint + from ._models import Profile + from ._models import ProfileUpdateModel + from ._models import PurgeParameters + from ._models import RedirectConfiguration + from ._models import Resource + from ._models import RouteConfiguration + from ._models import RoutingRule + from ._models import RoutingRuleListResult + from ._models import RoutingRuleUpdateParameters + from ._models import RulesEngine + from ._models import RulesEngineAction + from ._models import RulesEngineMatchCondition + from ._models import RulesEngineRule + from ._models import RulesEngineUpdateParameters + from ._models import SubResource + from ._models import TagsObject + from ._models import Timeseries + from ._models import TimeseriesDataPoint + from ._models import ValidateCustomDomainInput + from ._models import ValidateCustomDomainOutput + from ._models import WebApplicationFirewallPolicy +from ._paged_models import ExperimentPaged +from ._paged_models import FrontDoorPaged +from ._paged_models import FrontendEndpointPaged +from ._paged_models import ManagedRuleSetDefinitionPaged +from ._paged_models import PreconfiguredEndpointPaged +from ._paged_models import ProfilePaged +from ._paged_models import RulesEnginePaged +from ._paged_models import WebApplicationFirewallPolicyPaged +from ._front_door_management_client_enums import ( NetworkOperationStatus, NetworkExperimentResourceState, State, @@ -162,10 +175,16 @@ from .front_door_management_client_enums import ( DynamicCompressionEnabled, FrontDoorRedirectType, FrontDoorRedirectProtocol, + PrivateEndpointStatus, BackendEnabledState, FrontDoorHealthProbeMethod, HealthProbeEnabled, SessionAffinityEnabledState, + HeaderActionType, + RulesEngineMatchVariable, + RulesEngineOperator, + Transform, + MatchProcessingBehavior, ResourceType, Availability, PolicyEnabledState, @@ -185,72 +204,79 @@ from .front_door_management_client_enums import ( ) __all__ = [ - 'ErrorDetails', - 'Error', 'AzureAsyncOperationResult', - 'Resource', - 'SubResource', - 'TagsObject', - 'Profile', - 'Endpoint', - 'ProfileUpdateModel', - 'ExperimentUpdateModel', - 'Experiment', - 'LatencyMetric', - 'LatencyScorecard', - 'TimeseriesDataPoint', - 'Timeseries', - 'PreconfiguredEndpoint', - 'ErrorResponse', 'ErrorResponseException', - 'FrontDoor', - 'RoutingRule', - 'LoadBalancingSettingsModel', - 'HealthProbeSettingsModel', - 'BackendPool', - 'KeyVaultCertificateSourceParametersVault', - 'CustomHttpsConfiguration', - 'FrontendEndpoint', - 'BackendPoolsSettings', - 'FrontDoorUpdateParameters', - 'PurgeParameters', - 'RoutingRuleListResult', - 'RouteConfiguration', - 'RoutingRuleUpdateParameters', - 'CacheConfiguration', - 'ForwardingConfiguration', - 'RedirectConfiguration', 'Backend', - 'LoadBalancingSettingsListResult', - 'LoadBalancingSettingsUpdateParameters', - 'HealthProbeSettingsListResult', - 'HealthProbeSettingsUpdateParameters', - 'BackendPoolUpdateParameters', + 'BackendPool', 'BackendPoolListResult', - 'FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink', - 'FrontendEndpointUpdateParameters', - 'ValidateCustomDomainInput', - 'ValidateCustomDomainOutput', + 'BackendPoolsSettings', + 'BackendPoolUpdateParameters', + 'CacheConfiguration', 'CheckNameAvailabilityInput', 'CheckNameAvailabilityOutput', - 'PolicySettings', - 'MatchCondition', + 'CustomHttpsConfiguration', 'CustomRule', 'CustomRuleList', - 'ManagedRuleExclusion', - 'ManagedRuleOverride', - 'ManagedRuleGroupOverride', - 'ManagedRuleSet', - 'ManagedRuleSetList', + 'Endpoint', + 'Error', + 'ErrorDetails', + 'ErrorResponse', 'ErrorResponseException', + 'Experiment', + 'ExperimentUpdateModel', + 'ForwardingConfiguration', + 'FrontDoor', + 'FrontDoorUpdateParameters', + 'FrontendEndpoint', 'FrontendEndpointLink', - 'WebApplicationFirewallPolicy', + 'FrontendEndpointUpdateParameters', + 'FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink', + 'HeaderAction', + 'HealthProbeSettingsListResult', + 'HealthProbeSettingsModel', + 'HealthProbeSettingsUpdateParameters', + 'KeyVaultCertificateSourceParametersVault', + 'LatencyMetric', + 'LatencyScorecard', + 'LoadBalancingSettingsListResult', + 'LoadBalancingSettingsModel', + 'LoadBalancingSettingsUpdateParameters', 'ManagedRuleDefinition', + 'ManagedRuleExclusion', 'ManagedRuleGroupDefinition', + 'ManagedRuleGroupOverride', + 'ManagedRuleOverride', + 'ManagedRuleSet', 'ManagedRuleSetDefinition', + 'ManagedRuleSetList', + 'MatchCondition', + 'PolicySettings', + 'PreconfiguredEndpoint', + 'Profile', + 'ProfileUpdateModel', + 'PurgeParameters', + 'RedirectConfiguration', + 'Resource', + 'RouteConfiguration', + 'RoutingRule', + 'RoutingRuleListResult', + 'RoutingRuleUpdateParameters', + 'RulesEngine', + 'RulesEngineAction', + 'RulesEngineMatchCondition', + 'RulesEngineRule', + 'RulesEngineUpdateParameters', + 'SubResource', + 'TagsObject', + 'Timeseries', + 'TimeseriesDataPoint', + 'ValidateCustomDomainInput', + 'ValidateCustomDomainOutput', + 'WebApplicationFirewallPolicy', 'ProfilePaged', 'PreconfiguredEndpointPaged', 'ExperimentPaged', 'FrontDoorPaged', 'FrontendEndpointPaged', + 'RulesEnginePaged', 'WebApplicationFirewallPolicyPaged', 'ManagedRuleSetDefinitionPaged', 'NetworkOperationStatus', @@ -274,10 +300,16 @@ __all__ = [ 'DynamicCompressionEnabled', 'FrontDoorRedirectType', 'FrontDoorRedirectProtocol', + 'PrivateEndpointStatus', 'BackendEnabledState', 'FrontDoorHealthProbeMethod', 'HealthProbeEnabled', 'SessionAffinityEnabledState', + 'HeaderActionType', + 'RulesEngineMatchVariable', + 'RulesEngineOperator', + 'Transform', + 'MatchProcessingBehavior', 'ResourceType', 'Availability', 'PolicyEnabledState', diff --git a/src/front-door/azext_front_door/vendored_sdks/models/front_door_management_client_enums.py b/src/front-door/azext_front_door/vendored_sdks/models/_front_door_management_client_enums.py similarity index 81% rename from src/front-door/azext_front_door/vendored_sdks/models/front_door_management_client_enums.py rename to src/front-door/azext_front_door/vendored_sdks/models/_front_door_management_client_enums.py index 3b6f0ce509..d9a6d15979 100644 --- a/src/front-door/azext_front_door/vendored_sdks/models/front_door_management_client_enums.py +++ b/src/front-door/azext_front_door/vendored_sdks/models/_front_door_management_client_enums.py @@ -142,6 +142,8 @@ class FrontDoorQuery(str, Enum): strip_none = "StripNone" strip_all = "StripAll" + strip_only = "StripOnly" + strip_all_except = "StripAllExcept" class DynamicCompressionEnabled(str, Enum): @@ -165,6 +167,15 @@ class FrontDoorRedirectProtocol(str, Enum): match_request = "MatchRequest" +class PrivateEndpointStatus(str, Enum): + + pending = "Pending" + approved = "Approved" + rejected = "Rejected" + disconnected = "Disconnected" + timeout = "Timeout" + + class BackendEnabledState(str, Enum): enabled = "Enabled" @@ -189,6 +200,60 @@ class SessionAffinityEnabledState(str, Enum): disabled = "Disabled" +class HeaderActionType(str, Enum): + + append = "Append" + delete = "Delete" + overwrite = "Overwrite" + + +class RulesEngineMatchVariable(str, Enum): + + is_mobile = "IsMobile" + remote_addr = "RemoteAddr" + request_method = "RequestMethod" + query_string = "QueryString" + post_args = "PostArgs" + request_uri = "RequestUri" + request_path = "RequestPath" + request_filename = "RequestFilename" + request_filename_extension = "RequestFilenameExtension" + request_header = "RequestHeader" + request_body = "RequestBody" + request_scheme = "RequestScheme" + + +class RulesEngineOperator(str, Enum): + + any = "Any" + ip_match = "IPMatch" + geo_match = "GeoMatch" + equal = "Equal" + contains = "Contains" + less_than = "LessThan" + greater_than = "GreaterThan" + less_than_or_equal = "LessThanOrEqual" + greater_than_or_equal = "GreaterThanOrEqual" + begins_with = "BeginsWith" + ends_with = "EndsWith" + + +class Transform(str, Enum): + + lowercase = "Lowercase" + uppercase = "Uppercase" + trim = "Trim" + url_decode = "UrlDecode" + url_encode = "UrlEncode" + remove_nulls = "RemoveNulls" + + +class MatchProcessingBehavior(str, Enum): + + continue_enum = "Continue" + stop = "Stop" + + class ResourceType(str, Enum): microsoft_networkfront_doors = "Microsoft.Network/frontDoors" diff --git a/src/front-door/azext_front_door/vendored_sdks/models/_models.py b/src/front-door/azext_front_door/vendored_sdks/models/_models.py new file mode 100644 index 0000000000..eae3d7e674 --- /dev/null +++ b/src/front-door/azext_front_door/vendored_sdks/models/_models.py @@ -0,0 +1,2789 @@ +# 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) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class AzureAsyncOperationResult(Model): + """The response body contains the status of the specified asynchronous + operation, indicating whether it has succeeded, is in progress, or has + failed. Note that this status is distinct from the HTTP status code + returned for the Get Operation Status operation itself. If the asynchronous + operation succeeded, the response body includes the HTTP status code for + the successful request. If the asynchronous operation failed, the response + body includes the HTTP status code for the failed request and error + information regarding the failure. + + :param status: Status of the Azure async operation. Possible values are: + 'InProgress', 'Succeeded', and 'Failed'. Possible values include: + 'InProgress', 'Succeeded', 'Failed' + :type status: str or ~azure.mgmt.frontdoor.models.NetworkOperationStatus + :param error: + :type error: ~azure.mgmt.frontdoor.models.Error + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + } + + def __init__(self, **kwargs): + super(AzureAsyncOperationResult, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.error = kwargs.get('error', None) + + +class Backend(Model): + """Backend address of a frontDoor load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param address: Location of the backend (IP address or FQDN) + :type address: str + :param private_link_alias: The Alias of the Private Link resource. + Populating this optional field indicates that this backend is 'Private' + :type private_link_alias: str + :ivar private_endpoint_status: The Approval status for the connection to + the Private Link. Possible values include: 'Pending', 'Approved', + 'Rejected', 'Disconnected', 'Timeout' + :vartype private_endpoint_status: str or + ~azure.mgmt.frontdoor.models.PrivateEndpointStatus + :param private_link_approval_message: A custom message to be included in + the approval request to connect to the Private Link + :type private_link_approval_message: str + :param http_port: The HTTP TCP port number. Must be between 1 and 65535. + :type http_port: int + :param https_port: The HTTPS TCP port number. Must be between 1 and 65535. + :type https_port: int + :param enabled_state: Whether to enable use of this backend. Permitted + values are 'Enabled' or 'Disabled'. Possible values include: 'Enabled', + 'Disabled' + :type enabled_state: str or + ~azure.mgmt.frontdoor.models.BackendEnabledState + :param priority: Priority to use for load balancing. Higher priorities + will not be used for load balancing if any lower priority backend is + healthy. + :type priority: int + :param weight: Weight of this endpoint for load balancing purposes. + :type weight: int + :param backend_host_header: The value to use as the host header sent to + the backend. If blank or unspecified, this defaults to the incoming host. + :type backend_host_header: str + """ + + _validation = { + 'private_endpoint_status': {'readonly': True}, + 'http_port': {'maximum': 65535, 'minimum': 1}, + 'https_port': {'maximum': 65535, 'minimum': 1}, + 'priority': {'maximum': 5, 'minimum': 1}, + 'weight': {'maximum': 1000, 'minimum': 1}, + } + + _attribute_map = { + 'address': {'key': 'address', 'type': 'str'}, + 'private_link_alias': {'key': 'privateLinkAlias', 'type': 'str'}, + 'private_endpoint_status': {'key': 'privateEndpointStatus', 'type': 'PrivateEndpointStatus'}, + 'private_link_approval_message': {'key': 'privateLinkApprovalMessage', 'type': 'str'}, + 'http_port': {'key': 'httpPort', 'type': 'int'}, + 'https_port': {'key': 'httpsPort', 'type': 'int'}, + 'enabled_state': {'key': 'enabledState', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'weight': {'key': 'weight', 'type': 'int'}, + 'backend_host_header': {'key': 'backendHostHeader', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Backend, self).__init__(**kwargs) + self.address = kwargs.get('address', None) + self.private_link_alias = kwargs.get('private_link_alias', None) + self.private_endpoint_status = None + self.private_link_approval_message = kwargs.get('private_link_approval_message', None) + self.http_port = kwargs.get('http_port', None) + self.https_port = kwargs.get('https_port', None) + self.enabled_state = kwargs.get('enabled_state', None) + self.priority = kwargs.get('priority', None) + self.weight = kwargs.get('weight', None) + self.backend_host_header = kwargs.get('backend_host_header', None) + + +class SubResource(Model): + """Reference to another subresource. + + :param id: Resource ID. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SubResource, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class BackendPool(SubResource): + """A backend pool is a collection of backends that can be routed to. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param backends: The set of backends for this pool + :type backends: list[~azure.mgmt.frontdoor.models.Backend] + :param load_balancing_settings: Load balancing settings for a backend pool + :type load_balancing_settings: ~azure.mgmt.frontdoor.models.SubResource + :param health_probe_settings: L7 health probe settings for a backend pool + :type health_probe_settings: ~azure.mgmt.frontdoor.models.SubResource + :param resource_state: Resource status. Possible values include: + 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' + :type resource_state: str or + ~azure.mgmt.frontdoor.models.FrontDoorResourceState + :param name: Resource name. + :type name: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'backends': {'key': 'properties.backends', 'type': '[Backend]'}, + 'load_balancing_settings': {'key': 'properties.loadBalancingSettings', 'type': 'SubResource'}, + 'health_probe_settings': {'key': 'properties.healthProbeSettings', 'type': 'SubResource'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BackendPool, self).__init__(**kwargs) + self.backends = kwargs.get('backends', None) + self.load_balancing_settings = kwargs.get('load_balancing_settings', None) + self.health_probe_settings = kwargs.get('health_probe_settings', None) + self.resource_state = kwargs.get('resource_state', None) + self.name = kwargs.get('name', None) + self.type = None + + +class BackendPoolListResult(Model): + """Result of the request to list Backend Pools. It contains a list of Backend + Pools objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: List of Backend Pools within a Front Door. + :vartype value: list[~azure.mgmt.frontdoor.models.BackendPool] + :param next_link: URL to get the next set of BackendPool objects if there + are any. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BackendPool]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BackendPoolListResult, self).__init__(**kwargs) + self.value = None + self.next_link = kwargs.get('next_link', None) + + +class BackendPoolsSettings(Model): + """Settings that apply to all backend pools. + + :param enforce_certificate_name_check: Whether to enforce certificate name + check on HTTPS requests to all backend pools. No effect on non-HTTPS + requests. Possible values include: 'Enabled', 'Disabled'. Default value: + "Enabled" . + :type enforce_certificate_name_check: str or + ~azure.mgmt.frontdoor.models.EnforceCertificateNameCheckEnabledState + :param send_recv_timeout_seconds: Send and receive timeout on forwarding + request to the backend. When timeout is reached, the request fails and + returns. + :type send_recv_timeout_seconds: int + """ + + _validation = { + 'send_recv_timeout_seconds': {'minimum': 16}, + } + + _attribute_map = { + 'enforce_certificate_name_check': {'key': 'enforceCertificateNameCheck', 'type': 'str'}, + 'send_recv_timeout_seconds': {'key': 'sendRecvTimeoutSeconds', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(BackendPoolsSettings, self).__init__(**kwargs) + self.enforce_certificate_name_check = kwargs.get('enforce_certificate_name_check', "Enabled") + self.send_recv_timeout_seconds = kwargs.get('send_recv_timeout_seconds', None) + + +class BackendPoolUpdateParameters(Model): + """A collection of backends that can be routed to. + + :param backends: The set of backends for this pool + :type backends: list[~azure.mgmt.frontdoor.models.Backend] + :param load_balancing_settings: Load balancing settings for a backend pool + :type load_balancing_settings: ~azure.mgmt.frontdoor.models.SubResource + :param health_probe_settings: L7 health probe settings for a backend pool + :type health_probe_settings: ~azure.mgmt.frontdoor.models.SubResource + """ + + _attribute_map = { + 'backends': {'key': 'backends', 'type': '[Backend]'}, + 'load_balancing_settings': {'key': 'loadBalancingSettings', 'type': 'SubResource'}, + 'health_probe_settings': {'key': 'healthProbeSettings', 'type': 'SubResource'}, + } + + def __init__(self, **kwargs): + super(BackendPoolUpdateParameters, self).__init__(**kwargs) + self.backends = kwargs.get('backends', None) + self.load_balancing_settings = kwargs.get('load_balancing_settings', None) + self.health_probe_settings = kwargs.get('health_probe_settings', None) + + +class CacheConfiguration(Model): + """Caching settings for a caching-type route. To disable caching, do not + provide a cacheConfiguration object. + + :param query_parameter_strip_directive: Treatment of URL query terms when + forming the cache key. Possible values include: 'StripNone', 'StripAll', + 'StripOnly', 'StripAllExcept' + :type query_parameter_strip_directive: str or + ~azure.mgmt.frontdoor.models.FrontDoorQuery + :param query_parameters: query parameters to include or exclude (comma + separated). + :type query_parameters: str + :param dynamic_compression: Whether to use dynamic compression for cached + content. Possible values include: 'Enabled', 'Disabled' + :type dynamic_compression: str or + ~azure.mgmt.frontdoor.models.DynamicCompressionEnabled + :param cache_duration: 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 + :type cache_duration: timedelta + """ + + _attribute_map = { + 'query_parameter_strip_directive': {'key': 'queryParameterStripDirective', 'type': 'str'}, + 'query_parameters': {'key': 'queryParameters', 'type': 'str'}, + 'dynamic_compression': {'key': 'dynamicCompression', 'type': 'str'}, + 'cache_duration': {'key': 'cacheDuration', 'type': 'duration'}, + } + + def __init__(self, **kwargs): + super(CacheConfiguration, self).__init__(**kwargs) + self.query_parameter_strip_directive = kwargs.get('query_parameter_strip_directive', None) + self.query_parameters = kwargs.get('query_parameters', None) + self.dynamic_compression = kwargs.get('dynamic_compression', None) + self.cache_duration = kwargs.get('cache_duration', None) + + +class CheckNameAvailabilityInput(Model): + """Input of CheckNameAvailability API. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The resource name to validate. + :type name: str + :param type: Required. The type of the resource whose name is to be + validated. Possible values include: 'Microsoft.Network/frontDoors', + 'Microsoft.Network/frontDoors/frontendEndpoints' + :type type: str or ~azure.mgmt.frontdoor.models.ResourceType + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceType'}, + } + + def __init__(self, **kwargs): + super(CheckNameAvailabilityInput, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.type = kwargs.get('type', None) + + +class CheckNameAvailabilityOutput(Model): + """Output of check name availability API. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name_availability: Indicates whether the name is available. Possible + values include: 'Available', 'Unavailable' + :vartype name_availability: str or + ~azure.mgmt.frontdoor.models.Availability + :ivar reason: The reason why the name is not available. + :vartype reason: str + :ivar message: The detailed error message describing why the name is not + available. + :vartype message: str + """ + + _validation = { + 'name_availability': {'readonly': True}, + 'reason': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'name_availability': {'key': 'nameAvailability', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CheckNameAvailabilityOutput, self).__init__(**kwargs) + self.name_availability = None + self.reason = None + self.message = None + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class CustomHttpsConfiguration(Model): + """Https settings for a domain. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param certificate_source: Required. Defines the source of the SSL + certificate. Possible values include: 'AzureKeyVault', 'FrontDoor' + :type certificate_source: str or + ~azure.mgmt.frontdoor.models.FrontDoorCertificateSource + :ivar protocol_type: Required. Defines the TLS extension protocol that is + used for secure delivery. Default value: "ServerNameIndication" . + :vartype protocol_type: str + :param minimum_tls_version: Required. The minimum TLS version required + from the clients to establish an SSL handshake with Front Door. Possible + values include: '1.0', '1.2' + :type minimum_tls_version: str or + ~azure.mgmt.frontdoor.models.MinimumTLSVersion + :param vault: The Key Vault containing the SSL certificate + :type vault: + ~azure.mgmt.frontdoor.models.KeyVaultCertificateSourceParametersVault + :param secret_name: The name of the Key Vault secret representing the full + certificate PFX + :type secret_name: str + :param secret_version: The version of the Key Vault secret representing + the full certificate PFX + :type secret_version: str + :param certificate_type: Defines the type of the certificate used for + secure connections to a frontendEndpoint. Possible values include: + 'Dedicated' + :type certificate_type: str or + ~azure.mgmt.frontdoor.models.FrontDoorCertificateType + """ + + _validation = { + 'certificate_source': {'required': True}, + 'protocol_type': {'required': True, 'constant': True}, + 'minimum_tls_version': {'required': True}, + } + + _attribute_map = { + 'certificate_source': {'key': 'certificateSource', 'type': 'str'}, + 'protocol_type': {'key': 'protocolType', 'type': 'str'}, + 'minimum_tls_version': {'key': 'minimumTlsVersion', 'type': 'str'}, + 'vault': {'key': 'keyVaultCertificateSourceParameters.vault', 'type': 'KeyVaultCertificateSourceParametersVault'}, + 'secret_name': {'key': 'keyVaultCertificateSourceParameters.secretName', 'type': 'str'}, + 'secret_version': {'key': 'keyVaultCertificateSourceParameters.secretVersion', 'type': 'str'}, + 'certificate_type': {'key': 'frontDoorCertificateSourceParameters.certificateType', 'type': 'str'}, + } + + protocol_type = "ServerNameIndication" + + def __init__(self, **kwargs): + super(CustomHttpsConfiguration, self).__init__(**kwargs) + self.certificate_source = kwargs.get('certificate_source', None) + self.minimum_tls_version = kwargs.get('minimum_tls_version', None) + self.vault = kwargs.get('vault', None) + self.secret_name = kwargs.get('secret_name', None) + self.secret_version = kwargs.get('secret_version', None) + self.certificate_type = kwargs.get('certificate_type', None) + + +class CustomRule(Model): + """Defines contents of a web application rule. + + All required parameters must be populated in order to send to Azure. + + :param name: Describes the name of the rule. + :type name: str + :param priority: Required. Describes priority of the rule. Rules with a + lower value will be evaluated before rules with a higher value. + :type priority: int + :param enabled_state: Describes if the custom rule is in enabled or + disabled state. Defaults to Enabled if not specified. Possible values + include: 'Disabled', 'Enabled' + :type enabled_state: str or + ~azure.mgmt.frontdoor.models.CustomRuleEnabledState + :param rule_type: Required. Describes type of rule. Possible values + include: 'MatchRule', 'RateLimitRule' + :type rule_type: str or ~azure.mgmt.frontdoor.models.RuleType + :param rate_limit_duration_in_minutes: Time window for resetting the rate + limit count. Default is 1 minute. + :type rate_limit_duration_in_minutes: int + :param rate_limit_threshold: Number of allowed requests per client within + the time window. + :type rate_limit_threshold: int + :param match_conditions: Required. List of match conditions. + :type match_conditions: list[~azure.mgmt.frontdoor.models.MatchCondition] + :param action: Required. Describes what action to be applied when rule + matches. Possible values include: 'Allow', 'Block', 'Log', 'Redirect' + :type action: str or ~azure.mgmt.frontdoor.models.ActionType + """ + + _validation = { + 'name': {'max_length': 128}, + 'priority': {'required': True}, + 'rule_type': {'required': True}, + 'rate_limit_duration_in_minutes': {'maximum': 5, 'minimum': 0}, + 'rate_limit_threshold': {'minimum': 0}, + 'match_conditions': {'required': True}, + 'action': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'enabled_state': {'key': 'enabledState', 'type': 'str'}, + 'rule_type': {'key': 'ruleType', 'type': 'str'}, + 'rate_limit_duration_in_minutes': {'key': 'rateLimitDurationInMinutes', 'type': 'int'}, + 'rate_limit_threshold': {'key': 'rateLimitThreshold', 'type': 'int'}, + 'match_conditions': {'key': 'matchConditions', 'type': '[MatchCondition]'}, + 'action': {'key': 'action', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CustomRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.priority = kwargs.get('priority', None) + self.enabled_state = kwargs.get('enabled_state', None) + self.rule_type = kwargs.get('rule_type', None) + self.rate_limit_duration_in_minutes = kwargs.get('rate_limit_duration_in_minutes', None) + self.rate_limit_threshold = kwargs.get('rate_limit_threshold', None) + self.match_conditions = kwargs.get('match_conditions', None) + self.action = kwargs.get('action', None) + + +class CustomRuleList(Model): + """Defines contents of custom rules. + + :param rules: List of rules + :type rules: list[~azure.mgmt.frontdoor.models.CustomRule] + """ + + _attribute_map = { + 'rules': {'key': 'rules', 'type': '[CustomRule]'}, + } + + def __init__(self, **kwargs): + super(CustomRuleList, self).__init__(**kwargs) + self.rules = kwargs.get('rules', None) + + +class Endpoint(Model): + """Defines the endpoint properties. + + :param name: The name of the endpoint + :type name: str + :param endpoint: The endpoint URL + :type endpoint: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'endpoint': {'key': 'endpoint', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Endpoint, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.endpoint = kwargs.get('endpoint', None) + + +class Error(Model): + """Error. + + :param code: + :type code: str + :param message: + :type message: str + :param target: + :type target: str + :param details: + :type details: list[~azure.mgmt.frontdoor.models.ErrorDetails] + :param inner_error: + :type inner_error: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDetails]'}, + 'inner_error': {'key': 'innerError', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Error, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + self.inner_error = kwargs.get('inner_error', None) + + +class ErrorDetails(Model): + """ErrorDetails. + + :param code: + :type code: str + :param target: + :type target: str + :param message: + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorDetails, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.target = kwargs.get('target', None) + self.message = kwargs.get('message', None) + + +class ErrorResponse(Model): + """Error response indicates Front Door service is not able to process the + incoming request. The reason is provided in the error message. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Error code. + :vartype code: str + :ivar message: Error message indicating why the operation failed. + :vartype message: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.code = None + self.message = None + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class Resource(Model): + """Common resource representation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + + +class Experiment(Resource): + """Defines the properties of an Experiment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param description: The description of the details or intents of the + Experiment + :type description: str + :param endpoint_a: The endpoint A of an experiment + :type endpoint_a: ~azure.mgmt.frontdoor.models.Endpoint + :param endpoint_b: The endpoint B of an experiment + :type endpoint_b: ~azure.mgmt.frontdoor.models.Endpoint + :param enabled_state: The state of the Experiment. Possible values + include: 'Enabled', 'Disabled' + :type enabled_state: str or ~azure.mgmt.frontdoor.models.State + :param resource_state: Resource status. Possible values include: + 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' + :type resource_state: str or + ~azure.mgmt.frontdoor.models.NetworkExperimentResourceState + :ivar status: The description of Experiment status from the server side + :vartype status: str + :ivar script_file_uri: The uri to the Script used in the Experiment + :vartype script_file_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'status': {'readonly': True}, + 'script_file_uri': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'endpoint_a': {'key': 'properties.endpointA', 'type': 'Endpoint'}, + 'endpoint_b': {'key': 'properties.endpointB', 'type': 'Endpoint'}, + 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'script_file_uri': {'key': 'properties.scriptFileUri', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Experiment, self).__init__(**kwargs) + self.description = kwargs.get('description', None) + self.endpoint_a = kwargs.get('endpoint_a', None) + self.endpoint_b = kwargs.get('endpoint_b', None) + self.enabled_state = kwargs.get('enabled_state', None) + self.resource_state = kwargs.get('resource_state', None) + self.status = None + self.script_file_uri = None + + +class ExperimentUpdateModel(Model): + """Defines modifiable attributes of an Experiment. + + :param tags: Resource tags. + :type tags: dict[str, str] + :param description: The description of the intent or details of the + Experiment + :type description: str + :param enabled_state: The state of the Experiment. Possible values + include: 'Enabled', 'Disabled' + :type enabled_state: str or ~azure.mgmt.frontdoor.models.State + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExperimentUpdateModel, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.description = kwargs.get('description', None) + self.enabled_state = kwargs.get('enabled_state', None) + + +class RouteConfiguration(Model): + """Base class for all types of Route. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ForwardingConfiguration, RedirectConfiguration + + All required parameters must be populated in order to send to Azure. + + :param odatatype: Required. Constant filled by server. + :type odatatype: str + """ + + _validation = { + 'odatatype': {'required': True}, + } + + _attribute_map = { + 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, + } + + _subtype_map = { + 'odatatype': {'#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration': 'ForwardingConfiguration', '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration': 'RedirectConfiguration'} + } + + def __init__(self, **kwargs): + super(RouteConfiguration, self).__init__(**kwargs) + self.odatatype = None + + +class ForwardingConfiguration(RouteConfiguration): + """Describes Forwarding Route. + + All required parameters must be populated in order to send to Azure. + + :param odatatype: Required. Constant filled by server. + :type odatatype: str + :param custom_forwarding_path: A custom path used to rewrite resource + paths matched by this rule. Leave empty to use incoming path. + :type custom_forwarding_path: str + :param forwarding_protocol: Protocol this rule will use when forwarding + traffic to backends. Possible values include: 'HttpOnly', 'HttpsOnly', + 'MatchRequest' + :type forwarding_protocol: str or + ~azure.mgmt.frontdoor.models.FrontDoorForwardingProtocol + :param cache_configuration: The caching configuration associated with this + rule. + :type cache_configuration: ~azure.mgmt.frontdoor.models.CacheConfiguration + :param backend_pool: A reference to the BackendPool which this rule routes + to. + :type backend_pool: ~azure.mgmt.frontdoor.models.SubResource + """ + + _validation = { + 'odatatype': {'required': True}, + } + + _attribute_map = { + 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, + 'custom_forwarding_path': {'key': 'customForwardingPath', 'type': 'str'}, + 'forwarding_protocol': {'key': 'forwardingProtocol', 'type': 'str'}, + 'cache_configuration': {'key': 'cacheConfiguration', 'type': 'CacheConfiguration'}, + 'backend_pool': {'key': 'backendPool', 'type': 'SubResource'}, + } + + def __init__(self, **kwargs): + super(ForwardingConfiguration, self).__init__(**kwargs) + self.custom_forwarding_path = kwargs.get('custom_forwarding_path', None) + self.forwarding_protocol = kwargs.get('forwarding_protocol', None) + self.cache_configuration = kwargs.get('cache_configuration', None) + self.backend_pool = kwargs.get('backend_pool', None) + self.odatatype = '#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. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param friendly_name: A friendly name for the frontDoor + :type friendly_name: str + :param routing_rules: Routing rules associated with this Front Door. + :type routing_rules: list[~azure.mgmt.frontdoor.models.RoutingRule] + :param load_balancing_settings: Load balancing settings associated with + this Front Door instance. + :type load_balancing_settings: + list[~azure.mgmt.frontdoor.models.LoadBalancingSettingsModel] + :param health_probe_settings: Health probe settings associated with this + Front Door instance. + :type health_probe_settings: + list[~azure.mgmt.frontdoor.models.HealthProbeSettingsModel] + :param backend_pools: Backend pools available to routing rules. + :type backend_pools: list[~azure.mgmt.frontdoor.models.BackendPool] + :param frontend_endpoints: Frontend endpoints available to routing rules. + :type frontend_endpoints: + list[~azure.mgmt.frontdoor.models.FrontendEndpoint] + :param backend_pools_settings: Settings for all backendPools + :type backend_pools_settings: + ~azure.mgmt.frontdoor.models.BackendPoolsSettings + :param enabled_state: Operational status of the Front Door load balancer. + Permitted values are 'Enabled' or 'Disabled'. Possible values include: + 'Enabled', 'Disabled' + :type enabled_state: str or + ~azure.mgmt.frontdoor.models.FrontDoorEnabledState + :param resource_state: Resource status of the Front Door. Possible values + include: 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', + 'Deleting' + :type resource_state: str or + ~azure.mgmt.frontdoor.models.FrontDoorResourceState + :ivar provisioning_state: Provisioning state of the Front Door. + :vartype provisioning_state: str + :ivar cname: The host that each frontendEndpoint must CNAME to. + :vartype cname: str + :ivar frontdoor_id: The Id of the frontdoor. + :vartype frontdoor_id: str + :ivar rules_engines: Rules Engine Configurations available to routing + rules. + :vartype rules_engines: list[~azure.mgmt.frontdoor.models.RulesEngine] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'cname': {'readonly': True}, + 'frontdoor_id': {'readonly': True}, + 'rules_engines': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'routing_rules': {'key': 'properties.routingRules', 'type': '[RoutingRule]'}, + 'load_balancing_settings': {'key': 'properties.loadBalancingSettings', 'type': '[LoadBalancingSettingsModel]'}, + 'health_probe_settings': {'key': 'properties.healthProbeSettings', 'type': '[HealthProbeSettingsModel]'}, + 'backend_pools': {'key': 'properties.backendPools', 'type': '[BackendPool]'}, + 'frontend_endpoints': {'key': 'properties.frontendEndpoints', 'type': '[FrontendEndpoint]'}, + 'backend_pools_settings': {'key': 'properties.backendPoolsSettings', 'type': 'BackendPoolsSettings'}, + 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'cname': {'key': 'properties.cname', 'type': 'str'}, + 'frontdoor_id': {'key': 'properties.frontdoorId', 'type': 'str'}, + 'rules_engines': {'key': 'properties.rulesEngines', 'type': '[RulesEngine]'}, + } + + def __init__(self, **kwargs): + super(FrontDoor, self).__init__(**kwargs) + self.friendly_name = kwargs.get('friendly_name', None) + self.routing_rules = kwargs.get('routing_rules', None) + self.load_balancing_settings = kwargs.get('load_balancing_settings', None) + self.health_probe_settings = kwargs.get('health_probe_settings', None) + self.backend_pools = kwargs.get('backend_pools', None) + self.frontend_endpoints = kwargs.get('frontend_endpoints', None) + self.backend_pools_settings = kwargs.get('backend_pools_settings', None) + self.enabled_state = kwargs.get('enabled_state', None) + self.resource_state = kwargs.get('resource_state', None) + self.provisioning_state = None + self.cname = None + self.frontdoor_id = None + self.rules_engines = None + + +class FrontDoorUpdateParameters(Model): + """The properties needed to update a Front Door. + + :param friendly_name: A friendly name for the frontDoor + :type friendly_name: str + :param routing_rules: Routing rules associated with this Front Door. + :type routing_rules: list[~azure.mgmt.frontdoor.models.RoutingRule] + :param load_balancing_settings: Load balancing settings associated with + this Front Door instance. + :type load_balancing_settings: + list[~azure.mgmt.frontdoor.models.LoadBalancingSettingsModel] + :param health_probe_settings: Health probe settings associated with this + Front Door instance. + :type health_probe_settings: + list[~azure.mgmt.frontdoor.models.HealthProbeSettingsModel] + :param backend_pools: Backend pools available to routing rules. + :type backend_pools: list[~azure.mgmt.frontdoor.models.BackendPool] + :param frontend_endpoints: Frontend endpoints available to routing rules. + :type frontend_endpoints: + list[~azure.mgmt.frontdoor.models.FrontendEndpoint] + :param backend_pools_settings: Settings for all backendPools + :type backend_pools_settings: + ~azure.mgmt.frontdoor.models.BackendPoolsSettings + :param enabled_state: Operational status of the Front Door load balancer. + Permitted values are 'Enabled' or 'Disabled'. Possible values include: + 'Enabled', 'Disabled' + :type enabled_state: str or + ~azure.mgmt.frontdoor.models.FrontDoorEnabledState + """ + + _attribute_map = { + 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, + 'routing_rules': {'key': 'routingRules', 'type': '[RoutingRule]'}, + 'load_balancing_settings': {'key': 'loadBalancingSettings', 'type': '[LoadBalancingSettingsModel]'}, + 'health_probe_settings': {'key': 'healthProbeSettings', 'type': '[HealthProbeSettingsModel]'}, + 'backend_pools': {'key': 'backendPools', 'type': '[BackendPool]'}, + 'frontend_endpoints': {'key': 'frontendEndpoints', 'type': '[FrontendEndpoint]'}, + 'backend_pools_settings': {'key': 'backendPoolsSettings', 'type': 'BackendPoolsSettings'}, + 'enabled_state': {'key': 'enabledState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FrontDoorUpdateParameters, self).__init__(**kwargs) + self.friendly_name = kwargs.get('friendly_name', None) + self.routing_rules = kwargs.get('routing_rules', None) + self.load_balancing_settings = kwargs.get('load_balancing_settings', None) + self.health_probe_settings = kwargs.get('health_probe_settings', None) + self.backend_pools = kwargs.get('backend_pools', None) + self.frontend_endpoints = kwargs.get('frontend_endpoints', None) + self.backend_pools_settings = kwargs.get('backend_pools_settings', None) + self.enabled_state = kwargs.get('enabled_state', None) + + +class FrontendEndpoint(SubResource): + """A frontend endpoint used for routing. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param host_name: The host name of the frontendEndpoint. Must be a domain + name. + :type host_name: str + :param session_affinity_enabled_state: Whether to allow session affinity + on this host. Valid options are 'Enabled' or 'Disabled'. Possible values + include: 'Enabled', 'Disabled' + :type session_affinity_enabled_state: str or + ~azure.mgmt.frontdoor.models.SessionAffinityEnabledState + :param session_affinity_ttl_seconds: UNUSED. This field will be ignored. + The TTL to use in seconds for session affinity, if applicable. + :type session_affinity_ttl_seconds: int + :param web_application_firewall_policy_link: Defines the Web Application + Firewall policy for each host (if applicable) + :type web_application_firewall_policy_link: + ~azure.mgmt.frontdoor.models.FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink + :param resource_state: Resource status. Possible values include: + 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' + :type resource_state: str or + ~azure.mgmt.frontdoor.models.FrontDoorResourceState + :ivar custom_https_provisioning_state: Provisioning status of Custom Https + of the frontendEndpoint. Possible values include: 'Enabling', 'Enabled', + 'Disabling', 'Disabled', 'Failed' + :vartype custom_https_provisioning_state: str or + ~azure.mgmt.frontdoor.models.CustomHttpsProvisioningState + :ivar custom_https_provisioning_substate: Provisioning substate shows the + progress of custom HTTPS enabling/disabling process step by step. Possible + values include: 'SubmittingDomainControlValidationRequest', + 'PendingDomainControlValidationREquestApproval', + 'DomainControlValidationRequestApproved', + 'DomainControlValidationRequestRejected', + 'DomainControlValidationRequestTimedOut', 'IssuingCertificate', + 'DeployingCertificate', 'CertificateDeployed', 'DeletingCertificate', + 'CertificateDeleted' + :vartype custom_https_provisioning_substate: str or + ~azure.mgmt.frontdoor.models.CustomHttpsProvisioningSubstate + :ivar custom_https_configuration: The configuration specifying how to + enable HTTPS + :vartype custom_https_configuration: + ~azure.mgmt.frontdoor.models.CustomHttpsConfiguration + :param name: Resource name. + :type name: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'custom_https_provisioning_state': {'readonly': True}, + 'custom_https_provisioning_substate': {'readonly': True}, + 'custom_https_configuration': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'host_name': {'key': 'properties.hostName', 'type': 'str'}, + 'session_affinity_enabled_state': {'key': 'properties.sessionAffinityEnabledState', 'type': 'str'}, + 'session_affinity_ttl_seconds': {'key': 'properties.sessionAffinityTtlSeconds', 'type': 'int'}, + 'web_application_firewall_policy_link': {'key': 'properties.webApplicationFirewallPolicyLink', 'type': 'FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'custom_https_provisioning_state': {'key': 'properties.customHttpsProvisioningState', 'type': 'str'}, + 'custom_https_provisioning_substate': {'key': 'properties.customHttpsProvisioningSubstate', 'type': 'str'}, + 'custom_https_configuration': {'key': 'properties.customHttpsConfiguration', 'type': 'CustomHttpsConfiguration'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FrontendEndpoint, self).__init__(**kwargs) + self.host_name = kwargs.get('host_name', None) + self.session_affinity_enabled_state = kwargs.get('session_affinity_enabled_state', None) + self.session_affinity_ttl_seconds = kwargs.get('session_affinity_ttl_seconds', None) + self.web_application_firewall_policy_link = kwargs.get('web_application_firewall_policy_link', None) + self.resource_state = kwargs.get('resource_state', None) + self.custom_https_provisioning_state = None + self.custom_https_provisioning_substate = None + self.custom_https_configuration = None + self.name = kwargs.get('name', None) + self.type = None + + +class FrontendEndpointLink(Model): + """Defines the Resource ID for a Frontend Endpoint. + + :param id: Resource ID. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FrontendEndpointLink, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class FrontendEndpointUpdateParameters(Model): + """Frontend endpoint used in routing rule. + + :param host_name: The host name of the frontendEndpoint. Must be a domain + name. + :type host_name: str + :param session_affinity_enabled_state: Whether to allow session affinity + on this host. Valid options are 'Enabled' or 'Disabled'. Possible values + include: 'Enabled', 'Disabled' + :type session_affinity_enabled_state: str or + ~azure.mgmt.frontdoor.models.SessionAffinityEnabledState + :param session_affinity_ttl_seconds: UNUSED. This field will be ignored. + The TTL to use in seconds for session affinity, if applicable. + :type session_affinity_ttl_seconds: int + :param web_application_firewall_policy_link: Defines the Web Application + Firewall policy for each host (if applicable) + :type web_application_firewall_policy_link: + ~azure.mgmt.frontdoor.models.FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink + """ + + _attribute_map = { + 'host_name': {'key': 'hostName', 'type': 'str'}, + 'session_affinity_enabled_state': {'key': 'sessionAffinityEnabledState', 'type': 'str'}, + 'session_affinity_ttl_seconds': {'key': 'sessionAffinityTtlSeconds', 'type': 'int'}, + 'web_application_firewall_policy_link': {'key': 'webApplicationFirewallPolicyLink', 'type': 'FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink'}, + } + + def __init__(self, **kwargs): + super(FrontendEndpointUpdateParameters, self).__init__(**kwargs) + self.host_name = kwargs.get('host_name', None) + self.session_affinity_enabled_state = kwargs.get('session_affinity_enabled_state', None) + self.session_affinity_ttl_seconds = kwargs.get('session_affinity_ttl_seconds', None) + self.web_application_firewall_policy_link = kwargs.get('web_application_firewall_policy_link', None) + + +class FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink(Model): + """Defines the Web Application Firewall policy for each host (if applicable). + + :param id: Resource ID. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class HeaderAction(Model): + """An action that can manipulate an http header. + + All required parameters must be populated in order to send to Azure. + + :param header_action_type: Required. Which type of manipulation to apply + to the header. Possible values include: 'Append', 'Delete', 'Overwrite' + :type header_action_type: str or + ~azure.mgmt.frontdoor.models.HeaderActionType + :param header_name: Required. The name of the header this action will + apply to. + :type header_name: str + :param value: The value to update the given header name with. This value + is not used if the actionType is Delete. + :type value: str + """ + + _validation = { + 'header_action_type': {'required': True}, + 'header_name': {'required': True}, + } + + _attribute_map = { + 'header_action_type': {'key': 'headerActionType', 'type': 'str'}, + 'header_name': {'key': 'headerName', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HeaderAction, self).__init__(**kwargs) + self.header_action_type = kwargs.get('header_action_type', None) + self.header_name = kwargs.get('header_name', None) + self.value = kwargs.get('value', None) + + +class HealthProbeSettingsListResult(Model): + """Result of the request to list HealthProbeSettings. It contains a list of + HealthProbeSettings objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: List of HealthProbeSettings within a Front Door. + :vartype value: + list[~azure.mgmt.frontdoor.models.HealthProbeSettingsModel] + :param next_link: URL to get the next set of HealthProbeSettings objects + if there are any. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[HealthProbeSettingsModel]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HealthProbeSettingsListResult, self).__init__(**kwargs) + self.value = None + self.next_link = kwargs.get('next_link', None) + + +class HealthProbeSettingsModel(SubResource): + """Load balancing settings for a backend pool. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param path: The path to use for the health probe. Default is / + :type path: str + :param protocol: Protocol scheme to use for this probe. Possible values + include: 'Http', 'Https' + :type protocol: str or ~azure.mgmt.frontdoor.models.FrontDoorProtocol + :param interval_in_seconds: The number of seconds between health probes. + :type interval_in_seconds: int + :param health_probe_method: Configures which HTTP method to use to probe + the backends defined under backendPools. Possible values include: 'GET', + 'HEAD'. Default value: "HEAD" . + :type health_probe_method: str or + ~azure.mgmt.frontdoor.models.FrontDoorHealthProbeMethod + :param enabled_state: 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. Possible + values include: 'Enabled', 'Disabled' + :type enabled_state: str or + ~azure.mgmt.frontdoor.models.HealthProbeEnabled + :param resource_state: Resource status. Possible values include: + 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' + :type resource_state: str or + ~azure.mgmt.frontdoor.models.FrontDoorResourceState + :param name: Resource name. + :type name: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'path': {'key': 'properties.path', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, + 'health_probe_method': {'key': 'properties.healthProbeMethod', 'type': 'str'}, + 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HealthProbeSettingsModel, self).__init__(**kwargs) + self.path = kwargs.get('path', None) + self.protocol = kwargs.get('protocol', None) + self.interval_in_seconds = kwargs.get('interval_in_seconds', None) + self.health_probe_method = kwargs.get('health_probe_method', "HEAD") + self.enabled_state = kwargs.get('enabled_state', None) + self.resource_state = kwargs.get('resource_state', None) + self.name = kwargs.get('name', None) + self.type = None + + +class HealthProbeSettingsUpdateParameters(Model): + """L7 health probe settings for a backend pool. + + :param path: The path to use for the health probe. Default is / + :type path: str + :param protocol: Protocol scheme to use for this probe. Possible values + include: 'Http', 'Https' + :type protocol: str or ~azure.mgmt.frontdoor.models.FrontDoorProtocol + :param interval_in_seconds: The number of seconds between health probes. + :type interval_in_seconds: int + :param health_probe_method: Configures which HTTP method to use to probe + the backends defined under backendPools. Possible values include: 'GET', + 'HEAD'. Default value: "HEAD" . + :type health_probe_method: str or + ~azure.mgmt.frontdoor.models.FrontDoorHealthProbeMethod + :param enabled_state: 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. Possible + values include: 'Enabled', 'Disabled' + :type enabled_state: str or + ~azure.mgmt.frontdoor.models.HealthProbeEnabled + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'interval_in_seconds': {'key': 'intervalInSeconds', 'type': 'int'}, + 'health_probe_method': {'key': 'healthProbeMethod', 'type': 'str'}, + 'enabled_state': {'key': 'enabledState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HealthProbeSettingsUpdateParameters, self).__init__(**kwargs) + self.path = kwargs.get('path', None) + self.protocol = kwargs.get('protocol', None) + self.interval_in_seconds = kwargs.get('interval_in_seconds', None) + self.health_probe_method = kwargs.get('health_probe_method', "HEAD") + self.enabled_state = kwargs.get('enabled_state', None) + + +class KeyVaultCertificateSourceParametersVault(Model): + """The Key Vault containing the SSL certificate. + + :param id: Resource ID. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(KeyVaultCertificateSourceParametersVault, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class LatencyMetric(Model): + """Defines the properties of a latency metric used in the latency scorecard. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the Latency Metric + :vartype name: str + :ivar end_date_time_utc: The end time of the Latency Scorecard in UTC + :vartype end_date_time_utc: str + :ivar a_value: The metric value of the A endpoint + :vartype a_value: float + :ivar b_value: The metric value of the B endpoint + :vartype b_value: float + :ivar delta: The difference in value between endpoint A and B + :vartype delta: float + :ivar delta_percent: The percent difference between endpoint A and B + :vartype delta_percent: float + :ivar a_clower95_ci: The lower end of the 95% confidence interval for + endpoint A + :vartype a_clower95_ci: float + :ivar a_hupper95_ci: The upper end of the 95% confidence interval for + endpoint A + :vartype a_hupper95_ci: float + :ivar b_clower95_ci: The lower end of the 95% confidence interval for + endpoint B + :vartype b_clower95_ci: float + :ivar b_upper95_ci: The upper end of the 95% confidence interval for + endpoint B + :vartype b_upper95_ci: float + """ + + _validation = { + 'name': {'readonly': True}, + 'end_date_time_utc': {'readonly': True}, + 'a_value': {'readonly': True}, + 'b_value': {'readonly': True}, + 'delta': {'readonly': True}, + 'delta_percent': {'readonly': True}, + 'a_clower95_ci': {'readonly': True}, + 'a_hupper95_ci': {'readonly': True}, + 'b_clower95_ci': {'readonly': True}, + 'b_upper95_ci': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'end_date_time_utc': {'key': 'endDateTimeUTC', 'type': 'str'}, + 'a_value': {'key': 'aValue', 'type': 'float'}, + 'b_value': {'key': 'bValue', 'type': 'float'}, + 'delta': {'key': 'delta', 'type': 'float'}, + 'delta_percent': {'key': 'deltaPercent', 'type': 'float'}, + 'a_clower95_ci': {'key': 'aCLower95CI', 'type': 'float'}, + 'a_hupper95_ci': {'key': 'aHUpper95CI', 'type': 'float'}, + 'b_clower95_ci': {'key': 'bCLower95CI', 'type': 'float'}, + 'b_upper95_ci': {'key': 'bUpper95CI', 'type': 'float'}, + } + + def __init__(self, **kwargs): + super(LatencyMetric, self).__init__(**kwargs) + self.name = None + self.end_date_time_utc = None + self.a_value = None + self.b_value = None + self.delta = None + self.delta_percent = None + self.a_clower95_ci = None + self.a_hupper95_ci = None + self.b_clower95_ci = None + self.b_upper95_ci = None + + +class LatencyScorecard(Resource): + """Defines the LatencyScorecard. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar latency_scorecard_id: The unique identifier of the Latency Scorecard + :vartype latency_scorecard_id: str + :ivar latency_scorecard_name: The name of the Latency Scorecard + :vartype latency_scorecard_name: str + :ivar description: The description of the Latency Scorecard + :vartype description: str + :ivar endpoint_a: The A endpoint in the scorecard + :vartype endpoint_a: str + :ivar endpoint_b: The B endpoint in the scorecard + :vartype endpoint_b: str + :ivar start_date_time_utc: The start time of the Latency Scorecard in UTC + :vartype start_date_time_utc: datetime + :ivar end_date_time_utc: The end time of the Latency Scorecard in UTC + :vartype end_date_time_utc: datetime + :ivar country: The country associated with the Latency Scorecard. Values + are country ISO codes as specified here- + https://www.iso.org/iso-3166-country-codes.html + :vartype country: str + :param latency_metrics: The latency metrics of the Latency Scorecard + :type latency_metrics: list[~azure.mgmt.frontdoor.models.LatencyMetric] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'latency_scorecard_id': {'readonly': True}, + 'latency_scorecard_name': {'readonly': True}, + 'description': {'readonly': True}, + 'endpoint_a': {'readonly': True}, + 'endpoint_b': {'readonly': True}, + 'start_date_time_utc': {'readonly': True}, + 'end_date_time_utc': {'readonly': True}, + 'country': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'latency_scorecard_id': {'key': 'properties.id', 'type': 'str'}, + 'latency_scorecard_name': {'key': 'properties.name', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'endpoint_a': {'key': 'properties.endpointA', 'type': 'str'}, + 'endpoint_b': {'key': 'properties.endpointB', 'type': 'str'}, + 'start_date_time_utc': {'key': 'properties.startDateTimeUTC', 'type': 'iso-8601'}, + 'end_date_time_utc': {'key': 'properties.endDateTimeUTC', 'type': 'iso-8601'}, + 'country': {'key': 'properties.country', 'type': 'str'}, + 'latency_metrics': {'key': 'properties.latencyMetrics', 'type': '[LatencyMetric]'}, + } + + def __init__(self, **kwargs): + super(LatencyScorecard, self).__init__(**kwargs) + self.latency_scorecard_id = None + self.latency_scorecard_name = None + self.description = None + self.endpoint_a = None + self.endpoint_b = None + self.start_date_time_utc = None + self.end_date_time_utc = None + self.country = None + self.latency_metrics = kwargs.get('latency_metrics', None) + + +class LoadBalancingSettingsListResult(Model): + """Result of the request to list load balancing settings. It contains a list + of load balancing settings objects and a URL link to get the next set of + results. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: List of Backend Pools within a Front Door. + :vartype value: + list[~azure.mgmt.frontdoor.models.LoadBalancingSettingsModel] + :param next_link: URL to get the next set of LoadBalancingSettings objects + if there are any. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[LoadBalancingSettingsModel]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LoadBalancingSettingsListResult, self).__init__(**kwargs) + self.value = None + self.next_link = kwargs.get('next_link', None) + + +class LoadBalancingSettingsModel(SubResource): + """Load balancing settings for a backend pool. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param sample_size: The number of samples to consider for load balancing + decisions + :type sample_size: int + :param successful_samples_required: The number of samples within the + sample period that must succeed + :type successful_samples_required: int + :param additional_latency_milliseconds: The additional latency in + milliseconds for probes to fall into the lowest latency bucket + :type additional_latency_milliseconds: int + :param resource_state: Resource status. Possible values include: + 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' + :type resource_state: str or + ~azure.mgmt.frontdoor.models.FrontDoorResourceState + :param name: Resource name. + :type name: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'sample_size': {'key': 'properties.sampleSize', 'type': 'int'}, + 'successful_samples_required': {'key': 'properties.successfulSamplesRequired', 'type': 'int'}, + 'additional_latency_milliseconds': {'key': 'properties.additionalLatencyMilliseconds', 'type': 'int'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LoadBalancingSettingsModel, self).__init__(**kwargs) + self.sample_size = kwargs.get('sample_size', None) + self.successful_samples_required = kwargs.get('successful_samples_required', None) + self.additional_latency_milliseconds = kwargs.get('additional_latency_milliseconds', None) + self.resource_state = kwargs.get('resource_state', None) + self.name = kwargs.get('name', None) + self.type = None + + +class LoadBalancingSettingsUpdateParameters(Model): + """Round-Robin load balancing settings for a backend pool. + + :param sample_size: The number of samples to consider for load balancing + decisions + :type sample_size: int + :param successful_samples_required: The number of samples within the + sample period that must succeed + :type successful_samples_required: int + :param additional_latency_milliseconds: The additional latency in + milliseconds for probes to fall into the lowest latency bucket + :type additional_latency_milliseconds: int + """ + + _attribute_map = { + 'sample_size': {'key': 'sampleSize', 'type': 'int'}, + 'successful_samples_required': {'key': 'successfulSamplesRequired', 'type': 'int'}, + 'additional_latency_milliseconds': {'key': 'additionalLatencyMilliseconds', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(LoadBalancingSettingsUpdateParameters, self).__init__(**kwargs) + self.sample_size = kwargs.get('sample_size', None) + self.successful_samples_required = kwargs.get('successful_samples_required', None) + self.additional_latency_milliseconds = kwargs.get('additional_latency_milliseconds', None) + + +class ManagedRuleDefinition(Model): + """Describes a managed rule definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar rule_id: Identifier for the managed rule. + :vartype rule_id: str + :ivar default_state: Describes the default state for the managed rule. + Possible values include: 'Disabled', 'Enabled' + :vartype default_state: str or + ~azure.mgmt.frontdoor.models.ManagedRuleEnabledState + :ivar default_action: Describes the default action to be applied when the + managed rule matches. Possible values include: 'Allow', 'Block', 'Log', + 'Redirect' + :vartype default_action: str or ~azure.mgmt.frontdoor.models.ActionType + :ivar description: Describes the functionality of the managed rule. + :vartype description: str + """ + + _validation = { + 'rule_id': {'readonly': True}, + 'default_state': {'readonly': True}, + 'default_action': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'rule_id': {'key': 'ruleId', 'type': 'str'}, + 'default_state': {'key': 'defaultState', 'type': 'str'}, + 'default_action': {'key': 'defaultAction', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedRuleDefinition, self).__init__(**kwargs) + self.rule_id = None + self.default_state = None + self.default_action = None + self.description = None + + +class ManagedRuleExclusion(Model): + """Exclude variables from managed rule evaluation. + + All required parameters must be populated in order to send to Azure. + + :param match_variable: Required. The variable type to be excluded. + Possible values include: 'RequestHeaderNames', 'RequestCookieNames', + 'QueryStringArgNames', 'RequestBodyPostArgNames' + :type match_variable: str or + ~azure.mgmt.frontdoor.models.ManagedRuleExclusionMatchVariable + :param selector_match_operator: Required. Comparison operator to apply to + the selector when specifying which elements in the collection this + exclusion applies to. Possible values include: 'Equals', 'Contains', + 'StartsWith', 'EndsWith', 'EqualsAny' + :type selector_match_operator: str or + ~azure.mgmt.frontdoor.models.ManagedRuleExclusionSelectorMatchOperator + :param selector: Required. Selector value for which elements in the + collection this exclusion applies to. + :type selector: str + """ + + _validation = { + 'match_variable': {'required': True}, + 'selector_match_operator': {'required': True}, + 'selector': {'required': True}, + } + + _attribute_map = { + 'match_variable': {'key': 'matchVariable', 'type': 'str'}, + 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, + 'selector': {'key': 'selector', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedRuleExclusion, self).__init__(**kwargs) + self.match_variable = kwargs.get('match_variable', None) + self.selector_match_operator = kwargs.get('selector_match_operator', None) + self.selector = kwargs.get('selector', None) + + +class ManagedRuleGroupDefinition(Model): + """Describes a managed rule group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar rule_group_name: Name of the managed rule group. + :vartype rule_group_name: str + :ivar description: Description of the managed rule group. + :vartype description: str + :ivar rules: List of rules within the managed rule group. + :vartype rules: list[~azure.mgmt.frontdoor.models.ManagedRuleDefinition] + """ + + _validation = { + 'rule_group_name': {'readonly': True}, + 'description': {'readonly': True}, + 'rules': {'readonly': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[ManagedRuleDefinition]'}, + } + + def __init__(self, **kwargs): + super(ManagedRuleGroupDefinition, self).__init__(**kwargs) + self.rule_group_name = None + self.description = None + self.rules = None + + +class ManagedRuleGroupOverride(Model): + """Defines a managed rule group override setting. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. Describes the managed rule group to + override. + :type rule_group_name: str + :param exclusions: Describes the exclusions that are applied to all rules + in the group. + :type exclusions: list[~azure.mgmt.frontdoor.models.ManagedRuleExclusion] + :param rules: List of rules that will be disabled. If none specified, all + rules in the group will be disabled. + :type rules: list[~azure.mgmt.frontdoor.models.ManagedRuleOverride] + """ + + _validation = { + 'rule_group_name': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'exclusions': {'key': 'exclusions', 'type': '[ManagedRuleExclusion]'}, + 'rules': {'key': 'rules', 'type': '[ManagedRuleOverride]'}, + } + + def __init__(self, **kwargs): + super(ManagedRuleGroupOverride, self).__init__(**kwargs) + self.rule_group_name = kwargs.get('rule_group_name', None) + self.exclusions = kwargs.get('exclusions', None) + self.rules = kwargs.get('rules', None) + + +class ManagedRuleOverride(Model): + """Defines a managed rule group override setting. + + All required parameters must be populated in order to send to Azure. + + :param rule_id: Required. Identifier for the managed rule. + :type rule_id: str + :param enabled_state: Describes if the managed rule is in enabled or + disabled state. Defaults to Disabled if not specified. Possible values + include: 'Disabled', 'Enabled' + :type enabled_state: str or + ~azure.mgmt.frontdoor.models.ManagedRuleEnabledState + :param action: Describes the override action to be applied when rule + matches. Possible values include: 'Allow', 'Block', 'Log', 'Redirect' + :type action: str or ~azure.mgmt.frontdoor.models.ActionType + :param exclusions: Describes the exclusions that are applied to this + specific rule. + :type exclusions: list[~azure.mgmt.frontdoor.models.ManagedRuleExclusion] + """ + + _validation = { + 'rule_id': {'required': True}, + } + + _attribute_map = { + 'rule_id': {'key': 'ruleId', 'type': 'str'}, + 'enabled_state': {'key': 'enabledState', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'str'}, + 'exclusions': {'key': 'exclusions', 'type': '[ManagedRuleExclusion]'}, + } + + def __init__(self, **kwargs): + super(ManagedRuleOverride, self).__init__(**kwargs) + self.rule_id = kwargs.get('rule_id', None) + self.enabled_state = kwargs.get('enabled_state', None) + self.action = kwargs.get('action', None) + self.exclusions = kwargs.get('exclusions', None) + + +class ManagedRuleSet(Model): + """Defines a managed rule set. + + All required parameters must be populated in order to send to Azure. + + :param rule_set_type: Required. Defines the rule set type to use. + :type rule_set_type: str + :param rule_set_version: Required. Defines the version of the rule set to + use. + :type rule_set_version: str + :param exclusions: Describes the exclusions that are applied to all rules + in the set. + :type exclusions: list[~azure.mgmt.frontdoor.models.ManagedRuleExclusion] + :param rule_group_overrides: Defines the rule group overrides to apply to + the rule set. + :type rule_group_overrides: + list[~azure.mgmt.frontdoor.models.ManagedRuleGroupOverride] + """ + + _validation = { + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + } + + _attribute_map = { + 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, + 'exclusions': {'key': 'exclusions', 'type': '[ManagedRuleExclusion]'}, + 'rule_group_overrides': {'key': 'ruleGroupOverrides', 'type': '[ManagedRuleGroupOverride]'}, + } + + def __init__(self, **kwargs): + super(ManagedRuleSet, self).__init__(**kwargs) + self.rule_set_type = kwargs.get('rule_set_type', None) + self.rule_set_version = kwargs.get('rule_set_version', None) + self.exclusions = kwargs.get('exclusions', None) + self.rule_group_overrides = kwargs.get('rule_group_overrides', None) + + +class ManagedRuleSetDefinition(Resource): + """Describes the a managed rule set definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: Provisioning state of the managed rule set. + :vartype provisioning_state: str + :ivar rule_set_id: Id of the managed rule set. + :vartype rule_set_id: str + :ivar rule_set_type: Type of the managed rule set. + :vartype rule_set_type: str + :ivar rule_set_version: Version of the managed rule set type. + :vartype rule_set_version: str + :ivar rule_groups: Rule groups of the managed rule set. + :vartype rule_groups: + list[~azure.mgmt.frontdoor.models.ManagedRuleGroupDefinition] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'rule_set_id': {'readonly': True}, + 'rule_set_type': {'readonly': True}, + 'rule_set_version': {'readonly': True}, + 'rule_groups': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'rule_set_id': {'key': 'properties.ruleSetId', 'type': 'str'}, + 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, + 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ManagedRuleGroupDefinition]'}, + } + + def __init__(self, **kwargs): + super(ManagedRuleSetDefinition, self).__init__(**kwargs) + self.provisioning_state = None + self.rule_set_id = None + self.rule_set_type = None + self.rule_set_version = None + self.rule_groups = None + + +class ManagedRuleSetList(Model): + """Defines the list of managed rule sets for the policy. + + :param managed_rule_sets: List of rule sets. + :type managed_rule_sets: list[~azure.mgmt.frontdoor.models.ManagedRuleSet] + """ + + _attribute_map = { + 'managed_rule_sets': {'key': 'managedRuleSets', 'type': '[ManagedRuleSet]'}, + } + + def __init__(self, **kwargs): + super(ManagedRuleSetList, self).__init__(**kwargs) + self.managed_rule_sets = kwargs.get('managed_rule_sets', None) + + +class MatchCondition(Model): + """Define a match condition. + + All required parameters must be populated in order to send to Azure. + + :param match_variable: Required. Request variable to compare with. + Possible values include: 'RemoteAddr', 'RequestMethod', 'QueryString', + 'PostArgs', 'RequestUri', 'RequestHeader', 'RequestBody', 'Cookies', + 'SocketAddr' + :type match_variable: str or ~azure.mgmt.frontdoor.models.MatchVariable + :param selector: Match against a specific key from the QueryString, + PostArgs, RequestHeader or Cookies variables. Default is null. + :type selector: str + :param operator: Required. Comparison type to use for matching with the + variable value. Possible values include: 'Any', 'IPMatch', 'GeoMatch', + 'Equal', 'Contains', 'LessThan', 'GreaterThan', 'LessThanOrEqual', + 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith', 'RegEx' + :type operator: str or ~azure.mgmt.frontdoor.models.Operator + :param negate_condition: Describes if the result of this condition should + be negated. + :type negate_condition: bool + :param match_value: Required. List of possible match values. + :type match_value: list[str] + :param transforms: List of transforms. + :type transforms: list[str or ~azure.mgmt.frontdoor.models.TransformType] + """ + + _validation = { + 'match_variable': {'required': True}, + 'operator': {'required': True}, + 'match_value': {'required': True}, + } + + _attribute_map = { + 'match_variable': {'key': 'matchVariable', 'type': 'str'}, + 'selector': {'key': 'selector', 'type': 'str'}, + 'operator': {'key': 'operator', 'type': 'str'}, + 'negate_condition': {'key': 'negateCondition', 'type': 'bool'}, + 'match_value': {'key': 'matchValue', 'type': '[str]'}, + 'transforms': {'key': 'transforms', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(MatchCondition, self).__init__(**kwargs) + self.match_variable = kwargs.get('match_variable', None) + self.selector = kwargs.get('selector', None) + self.operator = kwargs.get('operator', None) + self.negate_condition = kwargs.get('negate_condition', None) + self.match_value = kwargs.get('match_value', None) + self.transforms = kwargs.get('transforms', None) + + +class PolicySettings(Model): + """Defines top-level WebApplicationFirewallPolicy configuration settings. + + :param enabled_state: Describes if the policy is in enabled or disabled + state. Defaults to Enabled if not specified. Possible values include: + 'Disabled', 'Enabled' + :type enabled_state: str or + ~azure.mgmt.frontdoor.models.PolicyEnabledState + :param mode: Describes if it is in detection mode or prevention mode at + policy level. Possible values include: 'Prevention', 'Detection' + :type mode: str or ~azure.mgmt.frontdoor.models.PolicyMode + :param redirect_url: If action type is redirect, this field represents + redirect URL for the client. + :type redirect_url: str + :param custom_block_response_status_code: If the action type is block, + customer can override the response status code. + :type custom_block_response_status_code: int + :param custom_block_response_body: If the action type is block, customer + can override the response body. The body must be specified in base64 + encoding. + :type custom_block_response_body: str + """ + + _validation = { + 'custom_block_response_body': {'pattern': r'^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$'}, + } + + _attribute_map = { + 'enabled_state': {'key': 'enabledState', 'type': 'str'}, + 'mode': {'key': 'mode', 'type': 'str'}, + 'redirect_url': {'key': 'redirectUrl', 'type': 'str'}, + 'custom_block_response_status_code': {'key': 'customBlockResponseStatusCode', 'type': 'int'}, + 'custom_block_response_body': {'key': 'customBlockResponseBody', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PolicySettings, self).__init__(**kwargs) + self.enabled_state = kwargs.get('enabled_state', None) + self.mode = kwargs.get('mode', None) + self.redirect_url = kwargs.get('redirect_url', None) + self.custom_block_response_status_code = kwargs.get('custom_block_response_status_code', None) + self.custom_block_response_body = kwargs.get('custom_block_response_body', None) + + +class PreconfiguredEndpoint(Resource): + """Defines the properties of a preconfigured endpoint. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param description: The description of the endpoint + :type description: str + :param endpoint: The endpoint that is preconfigured + :type endpoint: str + :param endpoint_type: The type of endpoint. Possible values include: + 'AFD', 'AzureRegion', 'CDN', 'ATM' + :type endpoint_type: str or ~azure.mgmt.frontdoor.models.EndpointType + :param backend: The preconfigured endpoint backend + :type backend: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'endpoint': {'key': 'properties.endpoint', 'type': 'str'}, + 'endpoint_type': {'key': 'properties.endpointType', 'type': 'str'}, + 'backend': {'key': 'properties.backend', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PreconfiguredEndpoint, self).__init__(**kwargs) + self.description = kwargs.get('description', None) + self.endpoint = kwargs.get('endpoint', None) + self.endpoint_type = kwargs.get('endpoint_type', None) + self.backend = kwargs.get('backend', None) + + +class Profile(Resource): + """Defines an Network Experiment Profile and lists of Experiments. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param resource_state: Resource status. Possible values include: + 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' + :type resource_state: str or + ~azure.mgmt.frontdoor.models.NetworkExperimentResourceState + :param enabled_state: The state of the Experiment. Possible values + include: 'Enabled', 'Disabled' + :type enabled_state: str or ~azure.mgmt.frontdoor.models.State + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Profile, self).__init__(**kwargs) + self.resource_state = kwargs.get('resource_state', None) + self.enabled_state = kwargs.get('enabled_state', None) + self.etag = kwargs.get('etag', None) + + +class ProfileUpdateModel(Model): + """Defines modifiable attributes of a Profile. + + :param enabled_state: The enabled state of the Profile. Possible values + include: 'Enabled', 'Disabled' + :type enabled_state: str or ~azure.mgmt.frontdoor.models.State + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ProfileUpdateModel, self).__init__(**kwargs) + self.enabled_state = kwargs.get('enabled_state', None) + self.tags = kwargs.get('tags', None) + + +class PurgeParameters(Model): + """Parameters required for content purge. + + All required parameters must be populated in order to send to Azure. + + :param content_paths: Required. The path to the content to be purged. Can + describe a file path or a wild card directory. + :type content_paths: list[str] + """ + + _validation = { + 'content_paths': {'required': True}, + } + + _attribute_map = { + 'content_paths': {'key': 'contentPaths', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(PurgeParameters, self).__init__(**kwargs) + self.content_paths = kwargs.get('content_paths', None) + + +class RedirectConfiguration(RouteConfiguration): + """Describes Redirect Route. + + All required parameters must be populated in order to send to Azure. + + :param odatatype: Required. Constant filled by server. + :type odatatype: str + :param redirect_type: The redirect type the rule will use when redirecting + traffic. Possible values include: 'Moved', 'Found', 'TemporaryRedirect', + 'PermanentRedirect' + :type redirect_type: str or + ~azure.mgmt.frontdoor.models.FrontDoorRedirectType + :param redirect_protocol: The protocol of the destination to where the + traffic is redirected. Possible values include: 'HttpOnly', 'HttpsOnly', + 'MatchRequest' + :type redirect_protocol: str or + ~azure.mgmt.frontdoor.models.FrontDoorRedirectProtocol + :param custom_host: Host to redirect. Leave empty to use the incoming host + as the destination host. + :type custom_host: str + :param custom_path: The full path to redirect. Path cannot be empty and + must start with /. Leave empty to use the incoming path as destination + path. + :type custom_path: str + :param custom_fragment: Fragment to add to the redirect URL. Fragment is + the part of the URL that comes after #. Do not include the #. + :type custom_fragment: str + :param custom_query_string: 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 + &. + :type custom_query_string: str + """ + + _validation = { + 'odatatype': {'required': True}, + } + + _attribute_map = { + 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, + 'redirect_type': {'key': 'redirectType', 'type': 'str'}, + 'redirect_protocol': {'key': 'redirectProtocol', 'type': 'str'}, + 'custom_host': {'key': 'customHost', 'type': 'str'}, + 'custom_path': {'key': 'customPath', 'type': 'str'}, + 'custom_fragment': {'key': 'customFragment', 'type': 'str'}, + 'custom_query_string': {'key': 'customQueryString', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RedirectConfiguration, self).__init__(**kwargs) + self.redirect_type = kwargs.get('redirect_type', None) + self.redirect_protocol = kwargs.get('redirect_protocol', None) + self.custom_host = kwargs.get('custom_host', None) + self.custom_path = kwargs.get('custom_path', None) + self.custom_fragment = kwargs.get('custom_fragment', None) + self.custom_query_string = kwargs.get('custom_query_string', None) + self.odatatype = '#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. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param frontend_endpoints: Frontend endpoints associated with this rule + :type frontend_endpoints: list[~azure.mgmt.frontdoor.models.SubResource] + :param accepted_protocols: Protocol schemes to match for this rule + :type accepted_protocols: list[str or + ~azure.mgmt.frontdoor.models.FrontDoorProtocol] + :param patterns_to_match: The route patterns of the rule. + :type patterns_to_match: list[str] + :param enabled_state: Whether to enable use of this rule. Permitted values + are 'Enabled' or 'Disabled'. Possible values include: 'Enabled', + 'Disabled' + :type enabled_state: str or + ~azure.mgmt.frontdoor.models.RoutingRuleEnabledState + :param route_configuration: A reference to the routing configuration. + :type route_configuration: ~azure.mgmt.frontdoor.models.RouteConfiguration + :param rules_engine: A reference to a specific Rules Engine Configuration + to apply to this route. + :type rules_engine: ~azure.mgmt.frontdoor.models.SubResource + :param resource_state: Resource status. Possible values include: + 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' + :type resource_state: str or + ~azure.mgmt.frontdoor.models.FrontDoorResourceState + :param name: Resource name. + :type name: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_endpoints': {'key': 'properties.frontendEndpoints', 'type': '[SubResource]'}, + 'accepted_protocols': {'key': 'properties.acceptedProtocols', 'type': '[str]'}, + 'patterns_to_match': {'key': 'properties.patternsToMatch', 'type': '[str]'}, + 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, + 'route_configuration': {'key': 'properties.routeConfiguration', 'type': 'RouteConfiguration'}, + 'rules_engine': {'key': 'properties.rulesEngine', 'type': 'SubResource'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RoutingRule, self).__init__(**kwargs) + self.frontend_endpoints = kwargs.get('frontend_endpoints', None) + self.accepted_protocols = kwargs.get('accepted_protocols', None) + self.patterns_to_match = kwargs.get('patterns_to_match', None) + self.enabled_state = kwargs.get('enabled_state', None) + self.route_configuration = kwargs.get('route_configuration', None) + self.rules_engine = kwargs.get('rules_engine', None) + self.resource_state = kwargs.get('resource_state', None) + self.name = kwargs.get('name', None) + self.type = None + + +class RoutingRuleListResult(Model): + """Result of the request to list Routing Rules. It contains a list of Routing + Rule objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: List of Routing Rules within a Front Door. + :vartype value: list[~azure.mgmt.frontdoor.models.RoutingRule] + :param next_link: URL to get the next set of RoutingRule objects if there + are any. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[RoutingRule]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RoutingRuleListResult, self).__init__(**kwargs) + self.value = None + self.next_link = kwargs.get('next_link', None) + + +class RoutingRuleUpdateParameters(Model): + """Routing rules to apply to an endpoint. + + :param frontend_endpoints: Frontend endpoints associated with this rule + :type frontend_endpoints: list[~azure.mgmt.frontdoor.models.SubResource] + :param accepted_protocols: Protocol schemes to match for this rule + :type accepted_protocols: list[str or + ~azure.mgmt.frontdoor.models.FrontDoorProtocol] + :param patterns_to_match: The route patterns of the rule. + :type patterns_to_match: list[str] + :param enabled_state: Whether to enable use of this rule. Permitted values + are 'Enabled' or 'Disabled'. Possible values include: 'Enabled', + 'Disabled' + :type enabled_state: str or + ~azure.mgmt.frontdoor.models.RoutingRuleEnabledState + :param route_configuration: A reference to the routing configuration. + :type route_configuration: ~azure.mgmt.frontdoor.models.RouteConfiguration + :param rules_engine: A reference to a specific Rules Engine Configuration + to apply to this route. + :type rules_engine: ~azure.mgmt.frontdoor.models.SubResource + """ + + _attribute_map = { + 'frontend_endpoints': {'key': 'frontendEndpoints', 'type': '[SubResource]'}, + 'accepted_protocols': {'key': 'acceptedProtocols', 'type': '[str]'}, + 'patterns_to_match': {'key': 'patternsToMatch', 'type': '[str]'}, + 'enabled_state': {'key': 'enabledState', 'type': 'str'}, + 'route_configuration': {'key': 'routeConfiguration', 'type': 'RouteConfiguration'}, + 'rules_engine': {'key': 'rulesEngine', 'type': 'SubResource'}, + } + + def __init__(self, **kwargs): + super(RoutingRuleUpdateParameters, self).__init__(**kwargs) + self.frontend_endpoints = kwargs.get('frontend_endpoints', None) + self.accepted_protocols = kwargs.get('accepted_protocols', None) + self.patterns_to_match = kwargs.get('patterns_to_match', None) + self.enabled_state = kwargs.get('enabled_state', None) + self.route_configuration = kwargs.get('route_configuration', None) + self.rules_engine = kwargs.get('rules_engine', None) + + +class RulesEngine(Model): + """A rules engine configuration containing a list of rules that will run to + modify the runtime behavior of the request and response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param rules: A list of rules that define a particular Rules Engine + Configuration. + :type rules: list[~azure.mgmt.frontdoor.models.RulesEngineRule] + :param resource_state: Resource status. Possible values include: + 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' + :type resource_state: str or + ~azure.mgmt.frontdoor.models.FrontDoorResourceState + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar id: Resource ID. + :vartype id: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'id': {'readonly': True}, + } + + _attribute_map = { + 'rules': {'key': 'properties.rules', 'type': '[RulesEngineRule]'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RulesEngine, self).__init__(**kwargs) + self.rules = kwargs.get('rules', None) + self.resource_state = kwargs.get('resource_state', None) + self.name = None + self.type = None + self.id = None + + +class RulesEngineAction(Model): + """One or more actions that will execute, modifying the request and/or + response. + + :param request_header_actions: A list of header actions to apply from the + request from AFD to the origin. + :type request_header_actions: + list[~azure.mgmt.frontdoor.models.HeaderAction] + :param response_header_actions: A list of header actions to apply from the + response from AFD to the client. + :type response_header_actions: + list[~azure.mgmt.frontdoor.models.HeaderAction] + :param route_configuration_override: Override the route configuration. + :type route_configuration_override: + ~azure.mgmt.frontdoor.models.RouteConfiguration + """ + + _attribute_map = { + 'request_header_actions': {'key': 'requestHeaderActions', 'type': '[HeaderAction]'}, + 'response_header_actions': {'key': 'responseHeaderActions', 'type': '[HeaderAction]'}, + 'route_configuration_override': {'key': 'routeConfigurationOverride', 'type': 'RouteConfiguration'}, + } + + def __init__(self, **kwargs): + super(RulesEngineAction, self).__init__(**kwargs) + self.request_header_actions = kwargs.get('request_header_actions', None) + self.response_header_actions = kwargs.get('response_header_actions', None) + self.route_configuration_override = kwargs.get('route_configuration_override', None) + + +class RulesEngineMatchCondition(Model): + """Define a match condition. + + All required parameters must be populated in order to send to Azure. + + :param rules_engine_match_variable: Required. Match Variable. Possible + values include: 'IsMobile', 'RemoteAddr', 'RequestMethod', 'QueryString', + 'PostArgs', 'RequestUri', 'RequestPath', 'RequestFilename', + 'RequestFilenameExtension', 'RequestHeader', 'RequestBody', + 'RequestScheme' + :type rules_engine_match_variable: str or + ~azure.mgmt.frontdoor.models.RulesEngineMatchVariable + :param selector: Name of selector in RequestHeader or RequestBody to be + matched + :type selector: str + :param rules_engine_operator: Required. Describes operator to apply to the + match condition. Possible values include: 'Any', 'IPMatch', 'GeoMatch', + 'Equal', 'Contains', 'LessThan', 'GreaterThan', 'LessThanOrEqual', + 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith' + :type rules_engine_operator: str or + ~azure.mgmt.frontdoor.models.RulesEngineOperator + :param negate_condition: Describes if this is negate condition or not + :type negate_condition: bool + :param rules_engine_match_value: Required. 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. + :type rules_engine_match_value: list[str] + :param transforms: List of transforms + :type transforms: list[str or ~azure.mgmt.frontdoor.models.Transform] + """ + + _validation = { + 'rules_engine_match_variable': {'required': True}, + 'rules_engine_operator': {'required': True}, + 'rules_engine_match_value': {'required': True}, + } + + _attribute_map = { + 'rules_engine_match_variable': {'key': 'rulesEngineMatchVariable', 'type': 'str'}, + 'selector': {'key': 'selector', 'type': 'str'}, + 'rules_engine_operator': {'key': 'rulesEngineOperator', 'type': 'str'}, + 'negate_condition': {'key': 'negateCondition', 'type': 'bool'}, + 'rules_engine_match_value': {'key': 'rulesEngineMatchValue', 'type': '[str]'}, + 'transforms': {'key': 'transforms', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(RulesEngineMatchCondition, self).__init__(**kwargs) + self.rules_engine_match_variable = kwargs.get('rules_engine_match_variable', None) + self.selector = kwargs.get('selector', None) + self.rules_engine_operator = kwargs.get('rules_engine_operator', None) + self.negate_condition = kwargs.get('negate_condition', None) + self.rules_engine_match_value = kwargs.get('rules_engine_match_value', None) + self.transforms = kwargs.get('transforms', None) + + +class RulesEngineRule(Model): + """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. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. A name to refer to this specific rule. + :type name: str + :param priority: Required. A priority assigned to this rule. + :type priority: int + :param action: Required. Actions to perform on the request and response if + all of the match conditions are met. + :type action: ~azure.mgmt.frontdoor.models.RulesEngineAction + :param match_conditions: 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. + :type match_conditions: + list[~azure.mgmt.frontdoor.models.RulesEngineMatchCondition] + :param match_processing_behavior: If this rule is a match should the rules + engine continue running the remaining rules or stop. If not present, + defaults to Continue. Possible values include: 'Continue', 'Stop' + :type match_processing_behavior: str or + ~azure.mgmt.frontdoor.models.MatchProcessingBehavior + """ + + _validation = { + 'name': {'required': True}, + 'priority': {'required': True}, + 'action': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'action': {'key': 'action', 'type': 'RulesEngineAction'}, + 'match_conditions': {'key': 'matchConditions', 'type': '[RulesEngineMatchCondition]'}, + 'match_processing_behavior': {'key': 'matchProcessingBehavior', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RulesEngineRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.priority = kwargs.get('priority', None) + self.action = kwargs.get('action', None) + self.match_conditions = kwargs.get('match_conditions', None) + self.match_processing_behavior = kwargs.get('match_processing_behavior', None) + + +class RulesEngineUpdateParameters(Model): + """Rules Engine Configuration to apply to a Routing Rule. + + :param rules: A list of rules that define a particular Rules Engine + Configuration. + :type rules: list[~azure.mgmt.frontdoor.models.RulesEngineRule] + """ + + _attribute_map = { + 'rules': {'key': 'rules', 'type': '[RulesEngineRule]'}, + } + + def __init__(self, **kwargs): + super(RulesEngineUpdateParameters, self).__init__(**kwargs) + self.rules = kwargs.get('rules', None) + + +class TagsObject(Model): + """Tags object for patch operations. + + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(TagsObject, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + + +class Timeseries(Resource): + """Defines the Timeseries. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param endpoint: The endpoint associated with the Timeseries data point + :type endpoint: str + :param start_date_time_utc: The start DateTime of the Timeseries in UTC + :type start_date_time_utc: str + :param end_date_time_utc: The end DateTime of the Timeseries in UTC + :type end_date_time_utc: str + :param aggregation_interval: The aggregation interval of the Timeseries. + Possible values include: 'Hourly', 'Daily' + :type aggregation_interval: str or + ~azure.mgmt.frontdoor.models.AggregationInterval + :param timeseries_type: The type of Timeseries. Possible values include: + 'MeasurementCounts', 'LatencyP50', 'LatencyP75', 'LatencyP95' + :type timeseries_type: str or ~azure.mgmt.frontdoor.models.TimeseriesType + :param country: The country associated with the Timeseries. Values are + country ISO codes as specified here- + https://www.iso.org/iso-3166-country-codes.html + :type country: str + :param timeseries_data: The set of data points for the timeseries + :type timeseries_data: + list[~azure.mgmt.frontdoor.models.TimeseriesDataPoint] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'endpoint': {'key': 'properties.endpoint', 'type': 'str'}, + 'start_date_time_utc': {'key': 'properties.startDateTimeUTC', 'type': 'str'}, + 'end_date_time_utc': {'key': 'properties.endDateTimeUTC', 'type': 'str'}, + 'aggregation_interval': {'key': 'properties.aggregationInterval', 'type': 'str'}, + 'timeseries_type': {'key': 'properties.timeseriesType', 'type': 'str'}, + 'country': {'key': 'properties.country', 'type': 'str'}, + 'timeseries_data': {'key': 'properties.timeseriesData', 'type': '[TimeseriesDataPoint]'}, + } + + def __init__(self, **kwargs): + super(Timeseries, self).__init__(**kwargs) + self.endpoint = kwargs.get('endpoint', None) + self.start_date_time_utc = kwargs.get('start_date_time_utc', None) + self.end_date_time_utc = kwargs.get('end_date_time_utc', None) + self.aggregation_interval = kwargs.get('aggregation_interval', None) + self.timeseries_type = kwargs.get('timeseries_type', None) + self.country = kwargs.get('country', None) + self.timeseries_data = kwargs.get('timeseries_data', None) + + +class TimeseriesDataPoint(Model): + """Defines a timeseries datapoint used in a timeseries. + + :param date_time_utc: The DateTime of the Timeseries data point in UTC + :type date_time_utc: str + :param value: The Value of the Timeseries data point + :type value: float + """ + + _attribute_map = { + 'date_time_utc': {'key': 'dateTimeUTC', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'float'}, + } + + def __init__(self, **kwargs): + super(TimeseriesDataPoint, self).__init__(**kwargs) + self.date_time_utc = kwargs.get('date_time_utc', None) + self.value = kwargs.get('value', None) + + +class ValidateCustomDomainInput(Model): + """Input of the custom domain to be validated for DNS mapping. + + All required parameters must be populated in order to send to Azure. + + :param host_name: Required. The host name of the custom domain. Must be a + domain name. + :type host_name: str + """ + + _validation = { + 'host_name': {'required': True}, + } + + _attribute_map = { + 'host_name': {'key': 'hostName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ValidateCustomDomainInput, self).__init__(**kwargs) + self.host_name = kwargs.get('host_name', None) + + +class ValidateCustomDomainOutput(Model): + """Output of custom domain validation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar custom_domain_validated: Indicates whether the custom domain is + valid or not. + :vartype custom_domain_validated: bool + :ivar reason: The reason why the custom domain is not valid. + :vartype reason: str + :ivar message: Error message describing why the custom domain is not + valid. + :vartype message: str + """ + + _validation = { + 'custom_domain_validated': {'readonly': True}, + 'reason': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'custom_domain_validated': {'key': 'customDomainValidated', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ValidateCustomDomainOutput, self).__init__(**kwargs) + self.custom_domain_validated = None + self.reason = None + self.message = None + + +class WebApplicationFirewallPolicy(Resource): + """Defines web application firewall policy. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param policy_settings: Describes settings for the policy. + :type policy_settings: ~azure.mgmt.frontdoor.models.PolicySettings + :param custom_rules: Describes custom rules inside the policy. + :type custom_rules: ~azure.mgmt.frontdoor.models.CustomRuleList + :param managed_rules: Describes managed rules inside the policy. + :type managed_rules: ~azure.mgmt.frontdoor.models.ManagedRuleSetList + :ivar frontend_endpoint_links: Describes Frontend Endpoints associated + with this Web Application Firewall policy. + :vartype frontend_endpoint_links: + list[~azure.mgmt.frontdoor.models.FrontendEndpointLink] + :ivar provisioning_state: Provisioning state of the policy. + :vartype provisioning_state: str + :ivar resource_state: Resource status of the policy. Possible values + include: 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', + 'Deleting' + :vartype resource_state: str or + ~azure.mgmt.frontdoor.models.PolicyResourceState + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'frontend_endpoint_links': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'resource_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'policy_settings': {'key': 'properties.policySettings', 'type': 'PolicySettings'}, + 'custom_rules': {'key': 'properties.customRules', 'type': 'CustomRuleList'}, + 'managed_rules': {'key': 'properties.managedRules', 'type': 'ManagedRuleSetList'}, + 'frontend_endpoint_links': {'key': 'properties.frontendEndpointLinks', 'type': '[FrontendEndpointLink]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(WebApplicationFirewallPolicy, self).__init__(**kwargs) + self.policy_settings = kwargs.get('policy_settings', None) + self.custom_rules = kwargs.get('custom_rules', None) + self.managed_rules = kwargs.get('managed_rules', None) + self.frontend_endpoint_links = None + self.provisioning_state = None + self.resource_state = None + self.etag = kwargs.get('etag', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/_models_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/_models_py3.py new file mode 100644 index 0000000000..3e8557fcf7 --- /dev/null +++ b/src/front-door/azext_front_door/vendored_sdks/models/_models_py3.py @@ -0,0 +1,2789 @@ +# 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) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class AzureAsyncOperationResult(Model): + """The response body contains the status of the specified asynchronous + operation, indicating whether it has succeeded, is in progress, or has + failed. Note that this status is distinct from the HTTP status code + returned for the Get Operation Status operation itself. If the asynchronous + operation succeeded, the response body includes the HTTP status code for + the successful request. If the asynchronous operation failed, the response + body includes the HTTP status code for the failed request and error + information regarding the failure. + + :param status: Status of the Azure async operation. Possible values are: + 'InProgress', 'Succeeded', and 'Failed'. Possible values include: + 'InProgress', 'Succeeded', 'Failed' + :type status: str or ~azure.mgmt.frontdoor.models.NetworkOperationStatus + :param error: + :type error: ~azure.mgmt.frontdoor.models.Error + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + } + + def __init__(self, *, status=None, error=None, **kwargs) -> None: + super(AzureAsyncOperationResult, self).__init__(**kwargs) + self.status = status + self.error = error + + +class Backend(Model): + """Backend address of a frontDoor load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param address: Location of the backend (IP address or FQDN) + :type address: str + :param private_link_alias: The Alias of the Private Link resource. + Populating this optional field indicates that this backend is 'Private' + :type private_link_alias: str + :ivar private_endpoint_status: The Approval status for the connection to + the Private Link. Possible values include: 'Pending', 'Approved', + 'Rejected', 'Disconnected', 'Timeout' + :vartype private_endpoint_status: str or + ~azure.mgmt.frontdoor.models.PrivateEndpointStatus + :param private_link_approval_message: A custom message to be included in + the approval request to connect to the Private Link + :type private_link_approval_message: str + :param http_port: The HTTP TCP port number. Must be between 1 and 65535. + :type http_port: int + :param https_port: The HTTPS TCP port number. Must be between 1 and 65535. + :type https_port: int + :param enabled_state: Whether to enable use of this backend. Permitted + values are 'Enabled' or 'Disabled'. Possible values include: 'Enabled', + 'Disabled' + :type enabled_state: str or + ~azure.mgmt.frontdoor.models.BackendEnabledState + :param priority: Priority to use for load balancing. Higher priorities + will not be used for load balancing if any lower priority backend is + healthy. + :type priority: int + :param weight: Weight of this endpoint for load balancing purposes. + :type weight: int + :param backend_host_header: The value to use as the host header sent to + the backend. If blank or unspecified, this defaults to the incoming host. + :type backend_host_header: str + """ + + _validation = { + 'private_endpoint_status': {'readonly': True}, + 'http_port': {'maximum': 65535, 'minimum': 1}, + 'https_port': {'maximum': 65535, 'minimum': 1}, + 'priority': {'maximum': 5, 'minimum': 1}, + 'weight': {'maximum': 1000, 'minimum': 1}, + } + + _attribute_map = { + 'address': {'key': 'address', 'type': 'str'}, + 'private_link_alias': {'key': 'privateLinkAlias', 'type': 'str'}, + 'private_endpoint_status': {'key': 'privateEndpointStatus', 'type': 'PrivateEndpointStatus'}, + 'private_link_approval_message': {'key': 'privateLinkApprovalMessage', 'type': 'str'}, + 'http_port': {'key': 'httpPort', 'type': 'int'}, + 'https_port': {'key': 'httpsPort', 'type': 'int'}, + 'enabled_state': {'key': 'enabledState', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'weight': {'key': 'weight', 'type': 'int'}, + 'backend_host_header': {'key': 'backendHostHeader', 'type': 'str'}, + } + + def __init__(self, *, address: str=None, private_link_alias: str=None, private_link_approval_message: str=None, http_port: int=None, https_port: int=None, enabled_state=None, priority: int=None, weight: int=None, backend_host_header: str=None, **kwargs) -> None: + super(Backend, self).__init__(**kwargs) + self.address = address + self.private_link_alias = private_link_alias + self.private_endpoint_status = None + self.private_link_approval_message = private_link_approval_message + self.http_port = http_port + self.https_port = https_port + self.enabled_state = enabled_state + self.priority = priority + self.weight = weight + self.backend_host_header = backend_host_header + + +class SubResource(Model): + """Reference to another subresource. + + :param id: Resource ID. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(SubResource, self).__init__(**kwargs) + self.id = id + + +class BackendPool(SubResource): + """A backend pool is a collection of backends that can be routed to. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param backends: The set of backends for this pool + :type backends: list[~azure.mgmt.frontdoor.models.Backend] + :param load_balancing_settings: Load balancing settings for a backend pool + :type load_balancing_settings: ~azure.mgmt.frontdoor.models.SubResource + :param health_probe_settings: L7 health probe settings for a backend pool + :type health_probe_settings: ~azure.mgmt.frontdoor.models.SubResource + :param resource_state: Resource status. Possible values include: + 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' + :type resource_state: str or + ~azure.mgmt.frontdoor.models.FrontDoorResourceState + :param name: Resource name. + :type name: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'backends': {'key': 'properties.backends', 'type': '[Backend]'}, + 'load_balancing_settings': {'key': 'properties.loadBalancingSettings', 'type': 'SubResource'}, + 'health_probe_settings': {'key': 'properties.healthProbeSettings', 'type': 'SubResource'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, backends=None, load_balancing_settings=None, health_probe_settings=None, resource_state=None, name: str=None, **kwargs) -> None: + super(BackendPool, self).__init__(id=id, **kwargs) + self.backends = backends + self.load_balancing_settings = load_balancing_settings + self.health_probe_settings = health_probe_settings + self.resource_state = resource_state + self.name = name + self.type = None + + +class BackendPoolListResult(Model): + """Result of the request to list Backend Pools. It contains a list of Backend + Pools objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: List of Backend Pools within a Front Door. + :vartype value: list[~azure.mgmt.frontdoor.models.BackendPool] + :param next_link: URL to get the next set of BackendPool objects if there + are any. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BackendPool]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, next_link: str=None, **kwargs) -> None: + super(BackendPoolListResult, self).__init__(**kwargs) + self.value = None + self.next_link = next_link + + +class BackendPoolsSettings(Model): + """Settings that apply to all backend pools. + + :param enforce_certificate_name_check: Whether to enforce certificate name + check on HTTPS requests to all backend pools. No effect on non-HTTPS + requests. Possible values include: 'Enabled', 'Disabled'. Default value: + "Enabled" . + :type enforce_certificate_name_check: str or + ~azure.mgmt.frontdoor.models.EnforceCertificateNameCheckEnabledState + :param send_recv_timeout_seconds: Send and receive timeout on forwarding + request to the backend. When timeout is reached, the request fails and + returns. + :type send_recv_timeout_seconds: int + """ + + _validation = { + 'send_recv_timeout_seconds': {'minimum': 16}, + } + + _attribute_map = { + 'enforce_certificate_name_check': {'key': 'enforceCertificateNameCheck', 'type': 'str'}, + 'send_recv_timeout_seconds': {'key': 'sendRecvTimeoutSeconds', 'type': 'int'}, + } + + def __init__(self, *, enforce_certificate_name_check="Enabled", send_recv_timeout_seconds: int=None, **kwargs) -> None: + super(BackendPoolsSettings, self).__init__(**kwargs) + self.enforce_certificate_name_check = enforce_certificate_name_check + self.send_recv_timeout_seconds = send_recv_timeout_seconds + + +class BackendPoolUpdateParameters(Model): + """A collection of backends that can be routed to. + + :param backends: The set of backends for this pool + :type backends: list[~azure.mgmt.frontdoor.models.Backend] + :param load_balancing_settings: Load balancing settings for a backend pool + :type load_balancing_settings: ~azure.mgmt.frontdoor.models.SubResource + :param health_probe_settings: L7 health probe settings for a backend pool + :type health_probe_settings: ~azure.mgmt.frontdoor.models.SubResource + """ + + _attribute_map = { + 'backends': {'key': 'backends', 'type': '[Backend]'}, + 'load_balancing_settings': {'key': 'loadBalancingSettings', 'type': 'SubResource'}, + 'health_probe_settings': {'key': 'healthProbeSettings', 'type': 'SubResource'}, + } + + def __init__(self, *, backends=None, load_balancing_settings=None, health_probe_settings=None, **kwargs) -> None: + super(BackendPoolUpdateParameters, self).__init__(**kwargs) + self.backends = backends + self.load_balancing_settings = load_balancing_settings + self.health_probe_settings = health_probe_settings + + +class CacheConfiguration(Model): + """Caching settings for a caching-type route. To disable caching, do not + provide a cacheConfiguration object. + + :param query_parameter_strip_directive: Treatment of URL query terms when + forming the cache key. Possible values include: 'StripNone', 'StripAll', + 'StripOnly', 'StripAllExcept' + :type query_parameter_strip_directive: str or + ~azure.mgmt.frontdoor.models.FrontDoorQuery + :param query_parameters: query parameters to include or exclude (comma + separated). + :type query_parameters: str + :param dynamic_compression: Whether to use dynamic compression for cached + content. Possible values include: 'Enabled', 'Disabled' + :type dynamic_compression: str or + ~azure.mgmt.frontdoor.models.DynamicCompressionEnabled + :param cache_duration: 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 + :type cache_duration: timedelta + """ + + _attribute_map = { + 'query_parameter_strip_directive': {'key': 'queryParameterStripDirective', 'type': 'str'}, + 'query_parameters': {'key': 'queryParameters', 'type': 'str'}, + 'dynamic_compression': {'key': 'dynamicCompression', 'type': 'str'}, + 'cache_duration': {'key': 'cacheDuration', 'type': 'duration'}, + } + + def __init__(self, *, query_parameter_strip_directive=None, query_parameters: str=None, dynamic_compression=None, cache_duration=None, **kwargs) -> None: + super(CacheConfiguration, self).__init__(**kwargs) + self.query_parameter_strip_directive = query_parameter_strip_directive + self.query_parameters = query_parameters + self.dynamic_compression = dynamic_compression + self.cache_duration = cache_duration + + +class CheckNameAvailabilityInput(Model): + """Input of CheckNameAvailability API. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The resource name to validate. + :type name: str + :param type: Required. The type of the resource whose name is to be + validated. Possible values include: 'Microsoft.Network/frontDoors', + 'Microsoft.Network/frontDoors/frontendEndpoints' + :type type: str or ~azure.mgmt.frontdoor.models.ResourceType + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceType'}, + } + + def __init__(self, *, name: str, type, **kwargs) -> None: + super(CheckNameAvailabilityInput, self).__init__(**kwargs) + self.name = name + self.type = type + + +class CheckNameAvailabilityOutput(Model): + """Output of check name availability API. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name_availability: Indicates whether the name is available. Possible + values include: 'Available', 'Unavailable' + :vartype name_availability: str or + ~azure.mgmt.frontdoor.models.Availability + :ivar reason: The reason why the name is not available. + :vartype reason: str + :ivar message: The detailed error message describing why the name is not + available. + :vartype message: str + """ + + _validation = { + 'name_availability': {'readonly': True}, + 'reason': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'name_availability': {'key': 'nameAvailability', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(CheckNameAvailabilityOutput, self).__init__(**kwargs) + self.name_availability = None + self.reason = None + self.message = None + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class CustomHttpsConfiguration(Model): + """Https settings for a domain. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param certificate_source: Required. Defines the source of the SSL + certificate. Possible values include: 'AzureKeyVault', 'FrontDoor' + :type certificate_source: str or + ~azure.mgmt.frontdoor.models.FrontDoorCertificateSource + :ivar protocol_type: Required. Defines the TLS extension protocol that is + used for secure delivery. Default value: "ServerNameIndication" . + :vartype protocol_type: str + :param minimum_tls_version: Required. The minimum TLS version required + from the clients to establish an SSL handshake with Front Door. Possible + values include: '1.0', '1.2' + :type minimum_tls_version: str or + ~azure.mgmt.frontdoor.models.MinimumTLSVersion + :param vault: The Key Vault containing the SSL certificate + :type vault: + ~azure.mgmt.frontdoor.models.KeyVaultCertificateSourceParametersVault + :param secret_name: The name of the Key Vault secret representing the full + certificate PFX + :type secret_name: str + :param secret_version: The version of the Key Vault secret representing + the full certificate PFX + :type secret_version: str + :param certificate_type: Defines the type of the certificate used for + secure connections to a frontendEndpoint. Possible values include: + 'Dedicated' + :type certificate_type: str or + ~azure.mgmt.frontdoor.models.FrontDoorCertificateType + """ + + _validation = { + 'certificate_source': {'required': True}, + 'protocol_type': {'required': True, 'constant': True}, + 'minimum_tls_version': {'required': True}, + } + + _attribute_map = { + 'certificate_source': {'key': 'certificateSource', 'type': 'str'}, + 'protocol_type': {'key': 'protocolType', 'type': 'str'}, + 'minimum_tls_version': {'key': 'minimumTlsVersion', 'type': 'str'}, + 'vault': {'key': 'keyVaultCertificateSourceParameters.vault', 'type': 'KeyVaultCertificateSourceParametersVault'}, + 'secret_name': {'key': 'keyVaultCertificateSourceParameters.secretName', 'type': 'str'}, + 'secret_version': {'key': 'keyVaultCertificateSourceParameters.secretVersion', 'type': 'str'}, + 'certificate_type': {'key': 'frontDoorCertificateSourceParameters.certificateType', 'type': 'str'}, + } + + protocol_type = "ServerNameIndication" + + def __init__(self, *, certificate_source, minimum_tls_version, vault=None, secret_name: str=None, secret_version: str=None, certificate_type=None, **kwargs) -> None: + super(CustomHttpsConfiguration, self).__init__(**kwargs) + self.certificate_source = certificate_source + self.minimum_tls_version = minimum_tls_version + self.vault = vault + self.secret_name = secret_name + self.secret_version = secret_version + self.certificate_type = certificate_type + + +class CustomRule(Model): + """Defines contents of a web application rule. + + All required parameters must be populated in order to send to Azure. + + :param name: Describes the name of the rule. + :type name: str + :param priority: Required. Describes priority of the rule. Rules with a + lower value will be evaluated before rules with a higher value. + :type priority: int + :param enabled_state: Describes if the custom rule is in enabled or + disabled state. Defaults to Enabled if not specified. Possible values + include: 'Disabled', 'Enabled' + :type enabled_state: str or + ~azure.mgmt.frontdoor.models.CustomRuleEnabledState + :param rule_type: Required. Describes type of rule. Possible values + include: 'MatchRule', 'RateLimitRule' + :type rule_type: str or ~azure.mgmt.frontdoor.models.RuleType + :param rate_limit_duration_in_minutes: Time window for resetting the rate + limit count. Default is 1 minute. + :type rate_limit_duration_in_minutes: int + :param rate_limit_threshold: Number of allowed requests per client within + the time window. + :type rate_limit_threshold: int + :param match_conditions: Required. List of match conditions. + :type match_conditions: list[~azure.mgmt.frontdoor.models.MatchCondition] + :param action: Required. Describes what action to be applied when rule + matches. Possible values include: 'Allow', 'Block', 'Log', 'Redirect' + :type action: str or ~azure.mgmt.frontdoor.models.ActionType + """ + + _validation = { + 'name': {'max_length': 128}, + 'priority': {'required': True}, + 'rule_type': {'required': True}, + 'rate_limit_duration_in_minutes': {'maximum': 5, 'minimum': 0}, + 'rate_limit_threshold': {'minimum': 0}, + 'match_conditions': {'required': True}, + 'action': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'enabled_state': {'key': 'enabledState', 'type': 'str'}, + 'rule_type': {'key': 'ruleType', 'type': 'str'}, + 'rate_limit_duration_in_minutes': {'key': 'rateLimitDurationInMinutes', 'type': 'int'}, + 'rate_limit_threshold': {'key': 'rateLimitThreshold', 'type': 'int'}, + 'match_conditions': {'key': 'matchConditions', 'type': '[MatchCondition]'}, + 'action': {'key': 'action', 'type': 'str'}, + } + + def __init__(self, *, priority: int, rule_type, match_conditions, action, name: str=None, enabled_state=None, rate_limit_duration_in_minutes: int=None, rate_limit_threshold: int=None, **kwargs) -> None: + super(CustomRule, self).__init__(**kwargs) + self.name = name + self.priority = priority + self.enabled_state = enabled_state + self.rule_type = rule_type + self.rate_limit_duration_in_minutes = rate_limit_duration_in_minutes + self.rate_limit_threshold = rate_limit_threshold + self.match_conditions = match_conditions + self.action = action + + +class CustomRuleList(Model): + """Defines contents of custom rules. + + :param rules: List of rules + :type rules: list[~azure.mgmt.frontdoor.models.CustomRule] + """ + + _attribute_map = { + 'rules': {'key': 'rules', 'type': '[CustomRule]'}, + } + + def __init__(self, *, rules=None, **kwargs) -> None: + super(CustomRuleList, self).__init__(**kwargs) + self.rules = rules + + +class Endpoint(Model): + """Defines the endpoint properties. + + :param name: The name of the endpoint + :type name: str + :param endpoint: The endpoint URL + :type endpoint: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'endpoint': {'key': 'endpoint', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, endpoint: str=None, **kwargs) -> None: + super(Endpoint, self).__init__(**kwargs) + self.name = name + self.endpoint = endpoint + + +class Error(Model): + """Error. + + :param code: + :type code: str + :param message: + :type message: str + :param target: + :type target: str + :param details: + :type details: list[~azure.mgmt.frontdoor.models.ErrorDetails] + :param inner_error: + :type inner_error: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDetails]'}, + 'inner_error': {'key': 'innerError', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, inner_error: str=None, **kwargs) -> None: + super(Error, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + self.inner_error = inner_error + + +class ErrorDetails(Model): + """ErrorDetails. + + :param code: + :type code: str + :param target: + :type target: str + :param message: + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, target: str=None, message: str=None, **kwargs) -> None: + super(ErrorDetails, self).__init__(**kwargs) + self.code = code + self.target = target + self.message = message + + +class ErrorResponse(Model): + """Error response indicates Front Door service is not able to process the + incoming request. The reason is provided in the error message. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Error code. + :vartype code: str + :ivar message: Error message indicating why the operation failed. + :vartype message: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ErrorResponse, self).__init__(**kwargs) + self.code = None + self.message = None + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class Resource(Model): + """Common resource representation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + + +class Experiment(Resource): + """Defines the properties of an Experiment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param description: The description of the details or intents of the + Experiment + :type description: str + :param endpoint_a: The endpoint A of an experiment + :type endpoint_a: ~azure.mgmt.frontdoor.models.Endpoint + :param endpoint_b: The endpoint B of an experiment + :type endpoint_b: ~azure.mgmt.frontdoor.models.Endpoint + :param enabled_state: The state of the Experiment. Possible values + include: 'Enabled', 'Disabled' + :type enabled_state: str or ~azure.mgmt.frontdoor.models.State + :param resource_state: Resource status. Possible values include: + 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' + :type resource_state: str or + ~azure.mgmt.frontdoor.models.NetworkExperimentResourceState + :ivar status: The description of Experiment status from the server side + :vartype status: str + :ivar script_file_uri: The uri to the Script used in the Experiment + :vartype script_file_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'status': {'readonly': True}, + 'script_file_uri': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'endpoint_a': {'key': 'properties.endpointA', 'type': 'Endpoint'}, + 'endpoint_b': {'key': 'properties.endpointB', 'type': 'Endpoint'}, + 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'script_file_uri': {'key': 'properties.scriptFileUri', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, tags=None, description: str=None, endpoint_a=None, endpoint_b=None, enabled_state=None, resource_state=None, **kwargs) -> None: + super(Experiment, self).__init__(location=location, tags=tags, **kwargs) + self.description = description + self.endpoint_a = endpoint_a + self.endpoint_b = endpoint_b + self.enabled_state = enabled_state + self.resource_state = resource_state + self.status = None + self.script_file_uri = None + + +class ExperimentUpdateModel(Model): + """Defines modifiable attributes of an Experiment. + + :param tags: Resource tags. + :type tags: dict[str, str] + :param description: The description of the intent or details of the + Experiment + :type description: str + :param enabled_state: The state of the Experiment. Possible values + include: 'Enabled', 'Disabled' + :type enabled_state: str or ~azure.mgmt.frontdoor.models.State + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, + } + + def __init__(self, *, tags=None, description: str=None, enabled_state=None, **kwargs) -> None: + super(ExperimentUpdateModel, self).__init__(**kwargs) + self.tags = tags + self.description = description + self.enabled_state = enabled_state + + +class RouteConfiguration(Model): + """Base class for all types of Route. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ForwardingConfiguration, RedirectConfiguration + + All required parameters must be populated in order to send to Azure. + + :param odatatype: Required. Constant filled by server. + :type odatatype: str + """ + + _validation = { + 'odatatype': {'required': True}, + } + + _attribute_map = { + 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, + } + + _subtype_map = { + 'odatatype': {'#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration': 'ForwardingConfiguration', '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration': 'RedirectConfiguration'} + } + + def __init__(self, **kwargs) -> None: + super(RouteConfiguration, self).__init__(**kwargs) + self.odatatype = None + + +class ForwardingConfiguration(RouteConfiguration): + """Describes Forwarding Route. + + All required parameters must be populated in order to send to Azure. + + :param odatatype: Required. Constant filled by server. + :type odatatype: str + :param custom_forwarding_path: A custom path used to rewrite resource + paths matched by this rule. Leave empty to use incoming path. + :type custom_forwarding_path: str + :param forwarding_protocol: Protocol this rule will use when forwarding + traffic to backends. Possible values include: 'HttpOnly', 'HttpsOnly', + 'MatchRequest' + :type forwarding_protocol: str or + ~azure.mgmt.frontdoor.models.FrontDoorForwardingProtocol + :param cache_configuration: The caching configuration associated with this + rule. + :type cache_configuration: ~azure.mgmt.frontdoor.models.CacheConfiguration + :param backend_pool: A reference to the BackendPool which this rule routes + to. + :type backend_pool: ~azure.mgmt.frontdoor.models.SubResource + """ + + _validation = { + 'odatatype': {'required': True}, + } + + _attribute_map = { + 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, + 'custom_forwarding_path': {'key': 'customForwardingPath', 'type': 'str'}, + 'forwarding_protocol': {'key': 'forwardingProtocol', 'type': 'str'}, + 'cache_configuration': {'key': 'cacheConfiguration', 'type': 'CacheConfiguration'}, + 'backend_pool': {'key': 'backendPool', 'type': 'SubResource'}, + } + + def __init__(self, *, custom_forwarding_path: str=None, forwarding_protocol=None, cache_configuration=None, backend_pool=None, **kwargs) -> None: + super(ForwardingConfiguration, self).__init__(**kwargs) + self.custom_forwarding_path = custom_forwarding_path + self.forwarding_protocol = forwarding_protocol + self.cache_configuration = cache_configuration + self.backend_pool = backend_pool + self.odatatype = '#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. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param friendly_name: A friendly name for the frontDoor + :type friendly_name: str + :param routing_rules: Routing rules associated with this Front Door. + :type routing_rules: list[~azure.mgmt.frontdoor.models.RoutingRule] + :param load_balancing_settings: Load balancing settings associated with + this Front Door instance. + :type load_balancing_settings: + list[~azure.mgmt.frontdoor.models.LoadBalancingSettingsModel] + :param health_probe_settings: Health probe settings associated with this + Front Door instance. + :type health_probe_settings: + list[~azure.mgmt.frontdoor.models.HealthProbeSettingsModel] + :param backend_pools: Backend pools available to routing rules. + :type backend_pools: list[~azure.mgmt.frontdoor.models.BackendPool] + :param frontend_endpoints: Frontend endpoints available to routing rules. + :type frontend_endpoints: + list[~azure.mgmt.frontdoor.models.FrontendEndpoint] + :param backend_pools_settings: Settings for all backendPools + :type backend_pools_settings: + ~azure.mgmt.frontdoor.models.BackendPoolsSettings + :param enabled_state: Operational status of the Front Door load balancer. + Permitted values are 'Enabled' or 'Disabled'. Possible values include: + 'Enabled', 'Disabled' + :type enabled_state: str or + ~azure.mgmt.frontdoor.models.FrontDoorEnabledState + :param resource_state: Resource status of the Front Door. Possible values + include: 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', + 'Deleting' + :type resource_state: str or + ~azure.mgmt.frontdoor.models.FrontDoorResourceState + :ivar provisioning_state: Provisioning state of the Front Door. + :vartype provisioning_state: str + :ivar cname: The host that each frontendEndpoint must CNAME to. + :vartype cname: str + :ivar frontdoor_id: The Id of the frontdoor. + :vartype frontdoor_id: str + :ivar rules_engines: Rules Engine Configurations available to routing + rules. + :vartype rules_engines: list[~azure.mgmt.frontdoor.models.RulesEngine] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'cname': {'readonly': True}, + 'frontdoor_id': {'readonly': True}, + 'rules_engines': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'routing_rules': {'key': 'properties.routingRules', 'type': '[RoutingRule]'}, + 'load_balancing_settings': {'key': 'properties.loadBalancingSettings', 'type': '[LoadBalancingSettingsModel]'}, + 'health_probe_settings': {'key': 'properties.healthProbeSettings', 'type': '[HealthProbeSettingsModel]'}, + 'backend_pools': {'key': 'properties.backendPools', 'type': '[BackendPool]'}, + 'frontend_endpoints': {'key': 'properties.frontendEndpoints', 'type': '[FrontendEndpoint]'}, + 'backend_pools_settings': {'key': 'properties.backendPoolsSettings', 'type': 'BackendPoolsSettings'}, + 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'cname': {'key': 'properties.cname', 'type': 'str'}, + 'frontdoor_id': {'key': 'properties.frontdoorId', 'type': 'str'}, + 'rules_engines': {'key': 'properties.rulesEngines', 'type': '[RulesEngine]'}, + } + + def __init__(self, *, location: str=None, tags=None, friendly_name: str=None, routing_rules=None, load_balancing_settings=None, health_probe_settings=None, backend_pools=None, frontend_endpoints=None, backend_pools_settings=None, enabled_state=None, resource_state=None, **kwargs) -> None: + super(FrontDoor, self).__init__(location=location, tags=tags, **kwargs) + self.friendly_name = friendly_name + self.routing_rules = routing_rules + self.load_balancing_settings = load_balancing_settings + self.health_probe_settings = health_probe_settings + self.backend_pools = backend_pools + self.frontend_endpoints = frontend_endpoints + self.backend_pools_settings = backend_pools_settings + self.enabled_state = enabled_state + self.resource_state = resource_state + self.provisioning_state = None + self.cname = None + self.frontdoor_id = None + self.rules_engines = None + + +class FrontDoorUpdateParameters(Model): + """The properties needed to update a Front Door. + + :param friendly_name: A friendly name for the frontDoor + :type friendly_name: str + :param routing_rules: Routing rules associated with this Front Door. + :type routing_rules: list[~azure.mgmt.frontdoor.models.RoutingRule] + :param load_balancing_settings: Load balancing settings associated with + this Front Door instance. + :type load_balancing_settings: + list[~azure.mgmt.frontdoor.models.LoadBalancingSettingsModel] + :param health_probe_settings: Health probe settings associated with this + Front Door instance. + :type health_probe_settings: + list[~azure.mgmt.frontdoor.models.HealthProbeSettingsModel] + :param backend_pools: Backend pools available to routing rules. + :type backend_pools: list[~azure.mgmt.frontdoor.models.BackendPool] + :param frontend_endpoints: Frontend endpoints available to routing rules. + :type frontend_endpoints: + list[~azure.mgmt.frontdoor.models.FrontendEndpoint] + :param backend_pools_settings: Settings for all backendPools + :type backend_pools_settings: + ~azure.mgmt.frontdoor.models.BackendPoolsSettings + :param enabled_state: Operational status of the Front Door load balancer. + Permitted values are 'Enabled' or 'Disabled'. Possible values include: + 'Enabled', 'Disabled' + :type enabled_state: str or + ~azure.mgmt.frontdoor.models.FrontDoorEnabledState + """ + + _attribute_map = { + 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, + 'routing_rules': {'key': 'routingRules', 'type': '[RoutingRule]'}, + 'load_balancing_settings': {'key': 'loadBalancingSettings', 'type': '[LoadBalancingSettingsModel]'}, + 'health_probe_settings': {'key': 'healthProbeSettings', 'type': '[HealthProbeSettingsModel]'}, + 'backend_pools': {'key': 'backendPools', 'type': '[BackendPool]'}, + 'frontend_endpoints': {'key': 'frontendEndpoints', 'type': '[FrontendEndpoint]'}, + 'backend_pools_settings': {'key': 'backendPoolsSettings', 'type': 'BackendPoolsSettings'}, + 'enabled_state': {'key': 'enabledState', 'type': 'str'}, + } + + def __init__(self, *, friendly_name: str=None, routing_rules=None, load_balancing_settings=None, health_probe_settings=None, backend_pools=None, frontend_endpoints=None, backend_pools_settings=None, enabled_state=None, **kwargs) -> None: + super(FrontDoorUpdateParameters, self).__init__(**kwargs) + self.friendly_name = friendly_name + self.routing_rules = routing_rules + self.load_balancing_settings = load_balancing_settings + self.health_probe_settings = health_probe_settings + self.backend_pools = backend_pools + self.frontend_endpoints = frontend_endpoints + self.backend_pools_settings = backend_pools_settings + self.enabled_state = enabled_state + + +class FrontendEndpoint(SubResource): + """A frontend endpoint used for routing. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param host_name: The host name of the frontendEndpoint. Must be a domain + name. + :type host_name: str + :param session_affinity_enabled_state: Whether to allow session affinity + on this host. Valid options are 'Enabled' or 'Disabled'. Possible values + include: 'Enabled', 'Disabled' + :type session_affinity_enabled_state: str or + ~azure.mgmt.frontdoor.models.SessionAffinityEnabledState + :param session_affinity_ttl_seconds: UNUSED. This field will be ignored. + The TTL to use in seconds for session affinity, if applicable. + :type session_affinity_ttl_seconds: int + :param web_application_firewall_policy_link: Defines the Web Application + Firewall policy for each host (if applicable) + :type web_application_firewall_policy_link: + ~azure.mgmt.frontdoor.models.FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink + :param resource_state: Resource status. Possible values include: + 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' + :type resource_state: str or + ~azure.mgmt.frontdoor.models.FrontDoorResourceState + :ivar custom_https_provisioning_state: Provisioning status of Custom Https + of the frontendEndpoint. Possible values include: 'Enabling', 'Enabled', + 'Disabling', 'Disabled', 'Failed' + :vartype custom_https_provisioning_state: str or + ~azure.mgmt.frontdoor.models.CustomHttpsProvisioningState + :ivar custom_https_provisioning_substate: Provisioning substate shows the + progress of custom HTTPS enabling/disabling process step by step. Possible + values include: 'SubmittingDomainControlValidationRequest', + 'PendingDomainControlValidationREquestApproval', + 'DomainControlValidationRequestApproved', + 'DomainControlValidationRequestRejected', + 'DomainControlValidationRequestTimedOut', 'IssuingCertificate', + 'DeployingCertificate', 'CertificateDeployed', 'DeletingCertificate', + 'CertificateDeleted' + :vartype custom_https_provisioning_substate: str or + ~azure.mgmt.frontdoor.models.CustomHttpsProvisioningSubstate + :ivar custom_https_configuration: The configuration specifying how to + enable HTTPS + :vartype custom_https_configuration: + ~azure.mgmt.frontdoor.models.CustomHttpsConfiguration + :param name: Resource name. + :type name: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'custom_https_provisioning_state': {'readonly': True}, + 'custom_https_provisioning_substate': {'readonly': True}, + 'custom_https_configuration': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'host_name': {'key': 'properties.hostName', 'type': 'str'}, + 'session_affinity_enabled_state': {'key': 'properties.sessionAffinityEnabledState', 'type': 'str'}, + 'session_affinity_ttl_seconds': {'key': 'properties.sessionAffinityTtlSeconds', 'type': 'int'}, + 'web_application_firewall_policy_link': {'key': 'properties.webApplicationFirewallPolicyLink', 'type': 'FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'custom_https_provisioning_state': {'key': 'properties.customHttpsProvisioningState', 'type': 'str'}, + 'custom_https_provisioning_substate': {'key': 'properties.customHttpsProvisioningSubstate', 'type': 'str'}, + 'custom_https_configuration': {'key': 'properties.customHttpsConfiguration', 'type': 'CustomHttpsConfiguration'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, host_name: str=None, session_affinity_enabled_state=None, session_affinity_ttl_seconds: int=None, web_application_firewall_policy_link=None, resource_state=None, name: str=None, **kwargs) -> None: + super(FrontendEndpoint, self).__init__(id=id, **kwargs) + self.host_name = host_name + self.session_affinity_enabled_state = session_affinity_enabled_state + self.session_affinity_ttl_seconds = session_affinity_ttl_seconds + self.web_application_firewall_policy_link = web_application_firewall_policy_link + self.resource_state = resource_state + self.custom_https_provisioning_state = None + self.custom_https_provisioning_substate = None + self.custom_https_configuration = None + self.name = name + self.type = None + + +class FrontendEndpointLink(Model): + """Defines the Resource ID for a Frontend Endpoint. + + :param id: Resource ID. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(FrontendEndpointLink, self).__init__(**kwargs) + self.id = id + + +class FrontendEndpointUpdateParameters(Model): + """Frontend endpoint used in routing rule. + + :param host_name: The host name of the frontendEndpoint. Must be a domain + name. + :type host_name: str + :param session_affinity_enabled_state: Whether to allow session affinity + on this host. Valid options are 'Enabled' or 'Disabled'. Possible values + include: 'Enabled', 'Disabled' + :type session_affinity_enabled_state: str or + ~azure.mgmt.frontdoor.models.SessionAffinityEnabledState + :param session_affinity_ttl_seconds: UNUSED. This field will be ignored. + The TTL to use in seconds for session affinity, if applicable. + :type session_affinity_ttl_seconds: int + :param web_application_firewall_policy_link: Defines the Web Application + Firewall policy for each host (if applicable) + :type web_application_firewall_policy_link: + ~azure.mgmt.frontdoor.models.FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink + """ + + _attribute_map = { + 'host_name': {'key': 'hostName', 'type': 'str'}, + 'session_affinity_enabled_state': {'key': 'sessionAffinityEnabledState', 'type': 'str'}, + 'session_affinity_ttl_seconds': {'key': 'sessionAffinityTtlSeconds', 'type': 'int'}, + 'web_application_firewall_policy_link': {'key': 'webApplicationFirewallPolicyLink', 'type': 'FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink'}, + } + + def __init__(self, *, host_name: str=None, session_affinity_enabled_state=None, session_affinity_ttl_seconds: int=None, web_application_firewall_policy_link=None, **kwargs) -> None: + super(FrontendEndpointUpdateParameters, self).__init__(**kwargs) + self.host_name = host_name + self.session_affinity_enabled_state = session_affinity_enabled_state + self.session_affinity_ttl_seconds = session_affinity_ttl_seconds + self.web_application_firewall_policy_link = web_application_firewall_policy_link + + +class FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink(Model): + """Defines the Web Application Firewall policy for each host (if applicable). + + :param id: Resource ID. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink, self).__init__(**kwargs) + self.id = id + + +class HeaderAction(Model): + """An action that can manipulate an http header. + + All required parameters must be populated in order to send to Azure. + + :param header_action_type: Required. Which type of manipulation to apply + to the header. Possible values include: 'Append', 'Delete', 'Overwrite' + :type header_action_type: str or + ~azure.mgmt.frontdoor.models.HeaderActionType + :param header_name: Required. The name of the header this action will + apply to. + :type header_name: str + :param value: The value to update the given header name with. This value + is not used if the actionType is Delete. + :type value: str + """ + + _validation = { + 'header_action_type': {'required': True}, + 'header_name': {'required': True}, + } + + _attribute_map = { + 'header_action_type': {'key': 'headerActionType', 'type': 'str'}, + 'header_name': {'key': 'headerName', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, header_action_type, header_name: str, value: str=None, **kwargs) -> None: + super(HeaderAction, self).__init__(**kwargs) + self.header_action_type = header_action_type + self.header_name = header_name + self.value = value + + +class HealthProbeSettingsListResult(Model): + """Result of the request to list HealthProbeSettings. It contains a list of + HealthProbeSettings objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: List of HealthProbeSettings within a Front Door. + :vartype value: + list[~azure.mgmt.frontdoor.models.HealthProbeSettingsModel] + :param next_link: URL to get the next set of HealthProbeSettings objects + if there are any. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[HealthProbeSettingsModel]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, next_link: str=None, **kwargs) -> None: + super(HealthProbeSettingsListResult, self).__init__(**kwargs) + self.value = None + self.next_link = next_link + + +class HealthProbeSettingsModel(SubResource): + """Load balancing settings for a backend pool. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param path: The path to use for the health probe. Default is / + :type path: str + :param protocol: Protocol scheme to use for this probe. Possible values + include: 'Http', 'Https' + :type protocol: str or ~azure.mgmt.frontdoor.models.FrontDoorProtocol + :param interval_in_seconds: The number of seconds between health probes. + :type interval_in_seconds: int + :param health_probe_method: Configures which HTTP method to use to probe + the backends defined under backendPools. Possible values include: 'GET', + 'HEAD'. Default value: "HEAD" . + :type health_probe_method: str or + ~azure.mgmt.frontdoor.models.FrontDoorHealthProbeMethod + :param enabled_state: 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. Possible + values include: 'Enabled', 'Disabled' + :type enabled_state: str or + ~azure.mgmt.frontdoor.models.HealthProbeEnabled + :param resource_state: Resource status. Possible values include: + 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' + :type resource_state: str or + ~azure.mgmt.frontdoor.models.FrontDoorResourceState + :param name: Resource name. + :type name: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'path': {'key': 'properties.path', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, + 'health_probe_method': {'key': 'properties.healthProbeMethod', 'type': 'str'}, + 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, path: str=None, protocol=None, interval_in_seconds: int=None, health_probe_method="HEAD", enabled_state=None, resource_state=None, name: str=None, **kwargs) -> None: + super(HealthProbeSettingsModel, self).__init__(id=id, **kwargs) + self.path = path + self.protocol = protocol + self.interval_in_seconds = interval_in_seconds + self.health_probe_method = health_probe_method + self.enabled_state = enabled_state + self.resource_state = resource_state + self.name = name + self.type = None + + +class HealthProbeSettingsUpdateParameters(Model): + """L7 health probe settings for a backend pool. + + :param path: The path to use for the health probe. Default is / + :type path: str + :param protocol: Protocol scheme to use for this probe. Possible values + include: 'Http', 'Https' + :type protocol: str or ~azure.mgmt.frontdoor.models.FrontDoorProtocol + :param interval_in_seconds: The number of seconds between health probes. + :type interval_in_seconds: int + :param health_probe_method: Configures which HTTP method to use to probe + the backends defined under backendPools. Possible values include: 'GET', + 'HEAD'. Default value: "HEAD" . + :type health_probe_method: str or + ~azure.mgmt.frontdoor.models.FrontDoorHealthProbeMethod + :param enabled_state: 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. Possible + values include: 'Enabled', 'Disabled' + :type enabled_state: str or + ~azure.mgmt.frontdoor.models.HealthProbeEnabled + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'interval_in_seconds': {'key': 'intervalInSeconds', 'type': 'int'}, + 'health_probe_method': {'key': 'healthProbeMethod', 'type': 'str'}, + 'enabled_state': {'key': 'enabledState', 'type': 'str'}, + } + + def __init__(self, *, path: str=None, protocol=None, interval_in_seconds: int=None, health_probe_method="HEAD", enabled_state=None, **kwargs) -> None: + super(HealthProbeSettingsUpdateParameters, self).__init__(**kwargs) + self.path = path + self.protocol = protocol + self.interval_in_seconds = interval_in_seconds + self.health_probe_method = health_probe_method + self.enabled_state = enabled_state + + +class KeyVaultCertificateSourceParametersVault(Model): + """The Key Vault containing the SSL certificate. + + :param id: Resource ID. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(KeyVaultCertificateSourceParametersVault, self).__init__(**kwargs) + self.id = id + + +class LatencyMetric(Model): + """Defines the properties of a latency metric used in the latency scorecard. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the Latency Metric + :vartype name: str + :ivar end_date_time_utc: The end time of the Latency Scorecard in UTC + :vartype end_date_time_utc: str + :ivar a_value: The metric value of the A endpoint + :vartype a_value: float + :ivar b_value: The metric value of the B endpoint + :vartype b_value: float + :ivar delta: The difference in value between endpoint A and B + :vartype delta: float + :ivar delta_percent: The percent difference between endpoint A and B + :vartype delta_percent: float + :ivar a_clower95_ci: The lower end of the 95% confidence interval for + endpoint A + :vartype a_clower95_ci: float + :ivar a_hupper95_ci: The upper end of the 95% confidence interval for + endpoint A + :vartype a_hupper95_ci: float + :ivar b_clower95_ci: The lower end of the 95% confidence interval for + endpoint B + :vartype b_clower95_ci: float + :ivar b_upper95_ci: The upper end of the 95% confidence interval for + endpoint B + :vartype b_upper95_ci: float + """ + + _validation = { + 'name': {'readonly': True}, + 'end_date_time_utc': {'readonly': True}, + 'a_value': {'readonly': True}, + 'b_value': {'readonly': True}, + 'delta': {'readonly': True}, + 'delta_percent': {'readonly': True}, + 'a_clower95_ci': {'readonly': True}, + 'a_hupper95_ci': {'readonly': True}, + 'b_clower95_ci': {'readonly': True}, + 'b_upper95_ci': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'end_date_time_utc': {'key': 'endDateTimeUTC', 'type': 'str'}, + 'a_value': {'key': 'aValue', 'type': 'float'}, + 'b_value': {'key': 'bValue', 'type': 'float'}, + 'delta': {'key': 'delta', 'type': 'float'}, + 'delta_percent': {'key': 'deltaPercent', 'type': 'float'}, + 'a_clower95_ci': {'key': 'aCLower95CI', 'type': 'float'}, + 'a_hupper95_ci': {'key': 'aHUpper95CI', 'type': 'float'}, + 'b_clower95_ci': {'key': 'bCLower95CI', 'type': 'float'}, + 'b_upper95_ci': {'key': 'bUpper95CI', 'type': 'float'}, + } + + def __init__(self, **kwargs) -> None: + super(LatencyMetric, self).__init__(**kwargs) + self.name = None + self.end_date_time_utc = None + self.a_value = None + self.b_value = None + self.delta = None + self.delta_percent = None + self.a_clower95_ci = None + self.a_hupper95_ci = None + self.b_clower95_ci = None + self.b_upper95_ci = None + + +class LatencyScorecard(Resource): + """Defines the LatencyScorecard. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar latency_scorecard_id: The unique identifier of the Latency Scorecard + :vartype latency_scorecard_id: str + :ivar latency_scorecard_name: The name of the Latency Scorecard + :vartype latency_scorecard_name: str + :ivar description: The description of the Latency Scorecard + :vartype description: str + :ivar endpoint_a: The A endpoint in the scorecard + :vartype endpoint_a: str + :ivar endpoint_b: The B endpoint in the scorecard + :vartype endpoint_b: str + :ivar start_date_time_utc: The start time of the Latency Scorecard in UTC + :vartype start_date_time_utc: datetime + :ivar end_date_time_utc: The end time of the Latency Scorecard in UTC + :vartype end_date_time_utc: datetime + :ivar country: The country associated with the Latency Scorecard. Values + are country ISO codes as specified here- + https://www.iso.org/iso-3166-country-codes.html + :vartype country: str + :param latency_metrics: The latency metrics of the Latency Scorecard + :type latency_metrics: list[~azure.mgmt.frontdoor.models.LatencyMetric] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'latency_scorecard_id': {'readonly': True}, + 'latency_scorecard_name': {'readonly': True}, + 'description': {'readonly': True}, + 'endpoint_a': {'readonly': True}, + 'endpoint_b': {'readonly': True}, + 'start_date_time_utc': {'readonly': True}, + 'end_date_time_utc': {'readonly': True}, + 'country': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'latency_scorecard_id': {'key': 'properties.id', 'type': 'str'}, + 'latency_scorecard_name': {'key': 'properties.name', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'endpoint_a': {'key': 'properties.endpointA', 'type': 'str'}, + 'endpoint_b': {'key': 'properties.endpointB', 'type': 'str'}, + 'start_date_time_utc': {'key': 'properties.startDateTimeUTC', 'type': 'iso-8601'}, + 'end_date_time_utc': {'key': 'properties.endDateTimeUTC', 'type': 'iso-8601'}, + 'country': {'key': 'properties.country', 'type': 'str'}, + 'latency_metrics': {'key': 'properties.latencyMetrics', 'type': '[LatencyMetric]'}, + } + + def __init__(self, *, location: str=None, tags=None, latency_metrics=None, **kwargs) -> None: + super(LatencyScorecard, self).__init__(location=location, tags=tags, **kwargs) + self.latency_scorecard_id = None + self.latency_scorecard_name = None + self.description = None + self.endpoint_a = None + self.endpoint_b = None + self.start_date_time_utc = None + self.end_date_time_utc = None + self.country = None + self.latency_metrics = latency_metrics + + +class LoadBalancingSettingsListResult(Model): + """Result of the request to list load balancing settings. It contains a list + of load balancing settings objects and a URL link to get the next set of + results. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: List of Backend Pools within a Front Door. + :vartype value: + list[~azure.mgmt.frontdoor.models.LoadBalancingSettingsModel] + :param next_link: URL to get the next set of LoadBalancingSettings objects + if there are any. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[LoadBalancingSettingsModel]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, next_link: str=None, **kwargs) -> None: + super(LoadBalancingSettingsListResult, self).__init__(**kwargs) + self.value = None + self.next_link = next_link + + +class LoadBalancingSettingsModel(SubResource): + """Load balancing settings for a backend pool. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param sample_size: The number of samples to consider for load balancing + decisions + :type sample_size: int + :param successful_samples_required: The number of samples within the + sample period that must succeed + :type successful_samples_required: int + :param additional_latency_milliseconds: The additional latency in + milliseconds for probes to fall into the lowest latency bucket + :type additional_latency_milliseconds: int + :param resource_state: Resource status. Possible values include: + 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' + :type resource_state: str or + ~azure.mgmt.frontdoor.models.FrontDoorResourceState + :param name: Resource name. + :type name: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'sample_size': {'key': 'properties.sampleSize', 'type': 'int'}, + 'successful_samples_required': {'key': 'properties.successfulSamplesRequired', 'type': 'int'}, + 'additional_latency_milliseconds': {'key': 'properties.additionalLatencyMilliseconds', 'type': 'int'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, sample_size: int=None, successful_samples_required: int=None, additional_latency_milliseconds: int=None, resource_state=None, name: str=None, **kwargs) -> None: + super(LoadBalancingSettingsModel, self).__init__(id=id, **kwargs) + self.sample_size = sample_size + self.successful_samples_required = successful_samples_required + self.additional_latency_milliseconds = additional_latency_milliseconds + self.resource_state = resource_state + self.name = name + self.type = None + + +class LoadBalancingSettingsUpdateParameters(Model): + """Round-Robin load balancing settings for a backend pool. + + :param sample_size: The number of samples to consider for load balancing + decisions + :type sample_size: int + :param successful_samples_required: The number of samples within the + sample period that must succeed + :type successful_samples_required: int + :param additional_latency_milliseconds: The additional latency in + milliseconds for probes to fall into the lowest latency bucket + :type additional_latency_milliseconds: int + """ + + _attribute_map = { + 'sample_size': {'key': 'sampleSize', 'type': 'int'}, + 'successful_samples_required': {'key': 'successfulSamplesRequired', 'type': 'int'}, + 'additional_latency_milliseconds': {'key': 'additionalLatencyMilliseconds', 'type': 'int'}, + } + + def __init__(self, *, sample_size: int=None, successful_samples_required: int=None, additional_latency_milliseconds: int=None, **kwargs) -> None: + super(LoadBalancingSettingsUpdateParameters, self).__init__(**kwargs) + self.sample_size = sample_size + self.successful_samples_required = successful_samples_required + self.additional_latency_milliseconds = additional_latency_milliseconds + + +class ManagedRuleDefinition(Model): + """Describes a managed rule definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar rule_id: Identifier for the managed rule. + :vartype rule_id: str + :ivar default_state: Describes the default state for the managed rule. + Possible values include: 'Disabled', 'Enabled' + :vartype default_state: str or + ~azure.mgmt.frontdoor.models.ManagedRuleEnabledState + :ivar default_action: Describes the default action to be applied when the + managed rule matches. Possible values include: 'Allow', 'Block', 'Log', + 'Redirect' + :vartype default_action: str or ~azure.mgmt.frontdoor.models.ActionType + :ivar description: Describes the functionality of the managed rule. + :vartype description: str + """ + + _validation = { + 'rule_id': {'readonly': True}, + 'default_state': {'readonly': True}, + 'default_action': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'rule_id': {'key': 'ruleId', 'type': 'str'}, + 'default_state': {'key': 'defaultState', 'type': 'str'}, + 'default_action': {'key': 'defaultAction', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ManagedRuleDefinition, self).__init__(**kwargs) + self.rule_id = None + self.default_state = None + self.default_action = None + self.description = None + + +class ManagedRuleExclusion(Model): + """Exclude variables from managed rule evaluation. + + All required parameters must be populated in order to send to Azure. + + :param match_variable: Required. The variable type to be excluded. + Possible values include: 'RequestHeaderNames', 'RequestCookieNames', + 'QueryStringArgNames', 'RequestBodyPostArgNames' + :type match_variable: str or + ~azure.mgmt.frontdoor.models.ManagedRuleExclusionMatchVariable + :param selector_match_operator: Required. Comparison operator to apply to + the selector when specifying which elements in the collection this + exclusion applies to. Possible values include: 'Equals', 'Contains', + 'StartsWith', 'EndsWith', 'EqualsAny' + :type selector_match_operator: str or + ~azure.mgmt.frontdoor.models.ManagedRuleExclusionSelectorMatchOperator + :param selector: Required. Selector value for which elements in the + collection this exclusion applies to. + :type selector: str + """ + + _validation = { + 'match_variable': {'required': True}, + 'selector_match_operator': {'required': True}, + 'selector': {'required': True}, + } + + _attribute_map = { + 'match_variable': {'key': 'matchVariable', 'type': 'str'}, + 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, + 'selector': {'key': 'selector', 'type': 'str'}, + } + + def __init__(self, *, match_variable, selector_match_operator, selector: str, **kwargs) -> None: + super(ManagedRuleExclusion, self).__init__(**kwargs) + self.match_variable = match_variable + self.selector_match_operator = selector_match_operator + self.selector = selector + + +class ManagedRuleGroupDefinition(Model): + """Describes a managed rule group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar rule_group_name: Name of the managed rule group. + :vartype rule_group_name: str + :ivar description: Description of the managed rule group. + :vartype description: str + :ivar rules: List of rules within the managed rule group. + :vartype rules: list[~azure.mgmt.frontdoor.models.ManagedRuleDefinition] + """ + + _validation = { + 'rule_group_name': {'readonly': True}, + 'description': {'readonly': True}, + 'rules': {'readonly': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[ManagedRuleDefinition]'}, + } + + def __init__(self, **kwargs) -> None: + super(ManagedRuleGroupDefinition, self).__init__(**kwargs) + self.rule_group_name = None + self.description = None + self.rules = None + + +class ManagedRuleGroupOverride(Model): + """Defines a managed rule group override setting. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. Describes the managed rule group to + override. + :type rule_group_name: str + :param exclusions: Describes the exclusions that are applied to all rules + in the group. + :type exclusions: list[~azure.mgmt.frontdoor.models.ManagedRuleExclusion] + :param rules: List of rules that will be disabled. If none specified, all + rules in the group will be disabled. + :type rules: list[~azure.mgmt.frontdoor.models.ManagedRuleOverride] + """ + + _validation = { + 'rule_group_name': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'exclusions': {'key': 'exclusions', 'type': '[ManagedRuleExclusion]'}, + 'rules': {'key': 'rules', 'type': '[ManagedRuleOverride]'}, + } + + def __init__(self, *, rule_group_name: str, exclusions=None, rules=None, **kwargs) -> None: + super(ManagedRuleGroupOverride, self).__init__(**kwargs) + self.rule_group_name = rule_group_name + self.exclusions = exclusions + self.rules = rules + + +class ManagedRuleOverride(Model): + """Defines a managed rule group override setting. + + All required parameters must be populated in order to send to Azure. + + :param rule_id: Required. Identifier for the managed rule. + :type rule_id: str + :param enabled_state: Describes if the managed rule is in enabled or + disabled state. Defaults to Disabled if not specified. Possible values + include: 'Disabled', 'Enabled' + :type enabled_state: str or + ~azure.mgmt.frontdoor.models.ManagedRuleEnabledState + :param action: Describes the override action to be applied when rule + matches. Possible values include: 'Allow', 'Block', 'Log', 'Redirect' + :type action: str or ~azure.mgmt.frontdoor.models.ActionType + :param exclusions: Describes the exclusions that are applied to this + specific rule. + :type exclusions: list[~azure.mgmt.frontdoor.models.ManagedRuleExclusion] + """ + + _validation = { + 'rule_id': {'required': True}, + } + + _attribute_map = { + 'rule_id': {'key': 'ruleId', 'type': 'str'}, + 'enabled_state': {'key': 'enabledState', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'str'}, + 'exclusions': {'key': 'exclusions', 'type': '[ManagedRuleExclusion]'}, + } + + def __init__(self, *, rule_id: str, enabled_state=None, action=None, exclusions=None, **kwargs) -> None: + super(ManagedRuleOverride, self).__init__(**kwargs) + self.rule_id = rule_id + self.enabled_state = enabled_state + self.action = action + self.exclusions = exclusions + + +class ManagedRuleSet(Model): + """Defines a managed rule set. + + All required parameters must be populated in order to send to Azure. + + :param rule_set_type: Required. Defines the rule set type to use. + :type rule_set_type: str + :param rule_set_version: Required. Defines the version of the rule set to + use. + :type rule_set_version: str + :param exclusions: Describes the exclusions that are applied to all rules + in the set. + :type exclusions: list[~azure.mgmt.frontdoor.models.ManagedRuleExclusion] + :param rule_group_overrides: Defines the rule group overrides to apply to + the rule set. + :type rule_group_overrides: + list[~azure.mgmt.frontdoor.models.ManagedRuleGroupOverride] + """ + + _validation = { + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + } + + _attribute_map = { + 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, + 'exclusions': {'key': 'exclusions', 'type': '[ManagedRuleExclusion]'}, + 'rule_group_overrides': {'key': 'ruleGroupOverrides', 'type': '[ManagedRuleGroupOverride]'}, + } + + def __init__(self, *, rule_set_type: str, rule_set_version: str, exclusions=None, rule_group_overrides=None, **kwargs) -> None: + super(ManagedRuleSet, self).__init__(**kwargs) + self.rule_set_type = rule_set_type + self.rule_set_version = rule_set_version + self.exclusions = exclusions + self.rule_group_overrides = rule_group_overrides + + +class ManagedRuleSetDefinition(Resource): + """Describes the a managed rule set definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar provisioning_state: Provisioning state of the managed rule set. + :vartype provisioning_state: str + :ivar rule_set_id: Id of the managed rule set. + :vartype rule_set_id: str + :ivar rule_set_type: Type of the managed rule set. + :vartype rule_set_type: str + :ivar rule_set_version: Version of the managed rule set type. + :vartype rule_set_version: str + :ivar rule_groups: Rule groups of the managed rule set. + :vartype rule_groups: + list[~azure.mgmt.frontdoor.models.ManagedRuleGroupDefinition] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'rule_set_id': {'readonly': True}, + 'rule_set_type': {'readonly': True}, + 'rule_set_version': {'readonly': True}, + 'rule_groups': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'rule_set_id': {'key': 'properties.ruleSetId', 'type': 'str'}, + 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, + 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ManagedRuleGroupDefinition]'}, + } + + def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: + super(ManagedRuleSetDefinition, self).__init__(location=location, tags=tags, **kwargs) + self.provisioning_state = None + self.rule_set_id = None + self.rule_set_type = None + self.rule_set_version = None + self.rule_groups = None + + +class ManagedRuleSetList(Model): + """Defines the list of managed rule sets for the policy. + + :param managed_rule_sets: List of rule sets. + :type managed_rule_sets: list[~azure.mgmt.frontdoor.models.ManagedRuleSet] + """ + + _attribute_map = { + 'managed_rule_sets': {'key': 'managedRuleSets', 'type': '[ManagedRuleSet]'}, + } + + def __init__(self, *, managed_rule_sets=None, **kwargs) -> None: + super(ManagedRuleSetList, self).__init__(**kwargs) + self.managed_rule_sets = managed_rule_sets + + +class MatchCondition(Model): + """Define a match condition. + + All required parameters must be populated in order to send to Azure. + + :param match_variable: Required. Request variable to compare with. + Possible values include: 'RemoteAddr', 'RequestMethod', 'QueryString', + 'PostArgs', 'RequestUri', 'RequestHeader', 'RequestBody', 'Cookies', + 'SocketAddr' + :type match_variable: str or ~azure.mgmt.frontdoor.models.MatchVariable + :param selector: Match against a specific key from the QueryString, + PostArgs, RequestHeader or Cookies variables. Default is null. + :type selector: str + :param operator: Required. Comparison type to use for matching with the + variable value. Possible values include: 'Any', 'IPMatch', 'GeoMatch', + 'Equal', 'Contains', 'LessThan', 'GreaterThan', 'LessThanOrEqual', + 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith', 'RegEx' + :type operator: str or ~azure.mgmt.frontdoor.models.Operator + :param negate_condition: Describes if the result of this condition should + be negated. + :type negate_condition: bool + :param match_value: Required. List of possible match values. + :type match_value: list[str] + :param transforms: List of transforms. + :type transforms: list[str or ~azure.mgmt.frontdoor.models.TransformType] + """ + + _validation = { + 'match_variable': {'required': True}, + 'operator': {'required': True}, + 'match_value': {'required': True}, + } + + _attribute_map = { + 'match_variable': {'key': 'matchVariable', 'type': 'str'}, + 'selector': {'key': 'selector', 'type': 'str'}, + 'operator': {'key': 'operator', 'type': 'str'}, + 'negate_condition': {'key': 'negateCondition', 'type': 'bool'}, + 'match_value': {'key': 'matchValue', 'type': '[str]'}, + 'transforms': {'key': 'transforms', 'type': '[str]'}, + } + + def __init__(self, *, match_variable, operator, match_value, selector: str=None, negate_condition: bool=None, transforms=None, **kwargs) -> None: + super(MatchCondition, self).__init__(**kwargs) + self.match_variable = match_variable + self.selector = selector + self.operator = operator + self.negate_condition = negate_condition + self.match_value = match_value + self.transforms = transforms + + +class PolicySettings(Model): + """Defines top-level WebApplicationFirewallPolicy configuration settings. + + :param enabled_state: Describes if the policy is in enabled or disabled + state. Defaults to Enabled if not specified. Possible values include: + 'Disabled', 'Enabled' + :type enabled_state: str or + ~azure.mgmt.frontdoor.models.PolicyEnabledState + :param mode: Describes if it is in detection mode or prevention mode at + policy level. Possible values include: 'Prevention', 'Detection' + :type mode: str or ~azure.mgmt.frontdoor.models.PolicyMode + :param redirect_url: If action type is redirect, this field represents + redirect URL for the client. + :type redirect_url: str + :param custom_block_response_status_code: If the action type is block, + customer can override the response status code. + :type custom_block_response_status_code: int + :param custom_block_response_body: If the action type is block, customer + can override the response body. The body must be specified in base64 + encoding. + :type custom_block_response_body: str + """ + + _validation = { + 'custom_block_response_body': {'pattern': r'^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$'}, + } + + _attribute_map = { + 'enabled_state': {'key': 'enabledState', 'type': 'str'}, + 'mode': {'key': 'mode', 'type': 'str'}, + 'redirect_url': {'key': 'redirectUrl', 'type': 'str'}, + 'custom_block_response_status_code': {'key': 'customBlockResponseStatusCode', 'type': 'int'}, + 'custom_block_response_body': {'key': 'customBlockResponseBody', 'type': 'str'}, + } + + def __init__(self, *, enabled_state=None, mode=None, redirect_url: str=None, custom_block_response_status_code: int=None, custom_block_response_body: str=None, **kwargs) -> None: + super(PolicySettings, self).__init__(**kwargs) + self.enabled_state = enabled_state + self.mode = mode + self.redirect_url = redirect_url + self.custom_block_response_status_code = custom_block_response_status_code + self.custom_block_response_body = custom_block_response_body + + +class PreconfiguredEndpoint(Resource): + """Defines the properties of a preconfigured endpoint. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param description: The description of the endpoint + :type description: str + :param endpoint: The endpoint that is preconfigured + :type endpoint: str + :param endpoint_type: The type of endpoint. Possible values include: + 'AFD', 'AzureRegion', 'CDN', 'ATM' + :type endpoint_type: str or ~azure.mgmt.frontdoor.models.EndpointType + :param backend: The preconfigured endpoint backend + :type backend: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'endpoint': {'key': 'properties.endpoint', 'type': 'str'}, + 'endpoint_type': {'key': 'properties.endpointType', 'type': 'str'}, + 'backend': {'key': 'properties.backend', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, tags=None, description: str=None, endpoint: str=None, endpoint_type=None, backend: str=None, **kwargs) -> None: + super(PreconfiguredEndpoint, self).__init__(location=location, tags=tags, **kwargs) + self.description = description + self.endpoint = endpoint + self.endpoint_type = endpoint_type + self.backend = backend + + +class Profile(Resource): + """Defines an Network Experiment Profile and lists of Experiments. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param resource_state: Resource status. Possible values include: + 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' + :type resource_state: str or + ~azure.mgmt.frontdoor.models.NetworkExperimentResourceState + :param enabled_state: The state of the Experiment. Possible values + include: 'Enabled', 'Disabled' + :type enabled_state: str or ~azure.mgmt.frontdoor.models.State + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, tags=None, resource_state=None, enabled_state=None, etag: str=None, **kwargs) -> None: + super(Profile, self).__init__(location=location, tags=tags, **kwargs) + self.resource_state = resource_state + self.enabled_state = enabled_state + self.etag = etag + + +class ProfileUpdateModel(Model): + """Defines modifiable attributes of a Profile. + + :param enabled_state: The enabled state of the Profile. Possible values + include: 'Enabled', 'Disabled' + :type enabled_state: str or ~azure.mgmt.frontdoor.models.State + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, enabled_state=None, tags=None, **kwargs) -> None: + super(ProfileUpdateModel, self).__init__(**kwargs) + self.enabled_state = enabled_state + self.tags = tags + + +class PurgeParameters(Model): + """Parameters required for content purge. + + All required parameters must be populated in order to send to Azure. + + :param content_paths: Required. The path to the content to be purged. Can + describe a file path or a wild card directory. + :type content_paths: list[str] + """ + + _validation = { + 'content_paths': {'required': True}, + } + + _attribute_map = { + 'content_paths': {'key': 'contentPaths', 'type': '[str]'}, + } + + def __init__(self, *, content_paths, **kwargs) -> None: + super(PurgeParameters, self).__init__(**kwargs) + self.content_paths = content_paths + + +class RedirectConfiguration(RouteConfiguration): + """Describes Redirect Route. + + All required parameters must be populated in order to send to Azure. + + :param odatatype: Required. Constant filled by server. + :type odatatype: str + :param redirect_type: The redirect type the rule will use when redirecting + traffic. Possible values include: 'Moved', 'Found', 'TemporaryRedirect', + 'PermanentRedirect' + :type redirect_type: str or + ~azure.mgmt.frontdoor.models.FrontDoorRedirectType + :param redirect_protocol: The protocol of the destination to where the + traffic is redirected. Possible values include: 'HttpOnly', 'HttpsOnly', + 'MatchRequest' + :type redirect_protocol: str or + ~azure.mgmt.frontdoor.models.FrontDoorRedirectProtocol + :param custom_host: Host to redirect. Leave empty to use the incoming host + as the destination host. + :type custom_host: str + :param custom_path: The full path to redirect. Path cannot be empty and + must start with /. Leave empty to use the incoming path as destination + path. + :type custom_path: str + :param custom_fragment: Fragment to add to the redirect URL. Fragment is + the part of the URL that comes after #. Do not include the #. + :type custom_fragment: str + :param custom_query_string: 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 + &. + :type custom_query_string: str + """ + + _validation = { + 'odatatype': {'required': True}, + } + + _attribute_map = { + 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, + 'redirect_type': {'key': 'redirectType', 'type': 'str'}, + 'redirect_protocol': {'key': 'redirectProtocol', 'type': 'str'}, + 'custom_host': {'key': 'customHost', 'type': 'str'}, + 'custom_path': {'key': 'customPath', 'type': 'str'}, + 'custom_fragment': {'key': 'customFragment', 'type': 'str'}, + 'custom_query_string': {'key': 'customQueryString', 'type': 'str'}, + } + + def __init__(self, *, redirect_type=None, redirect_protocol=None, custom_host: str=None, custom_path: str=None, custom_fragment: str=None, custom_query_string: str=None, **kwargs) -> None: + super(RedirectConfiguration, self).__init__(**kwargs) + self.redirect_type = redirect_type + self.redirect_protocol = redirect_protocol + self.custom_host = custom_host + self.custom_path = custom_path + self.custom_fragment = custom_fragment + self.custom_query_string = custom_query_string + self.odatatype = '#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. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param frontend_endpoints: Frontend endpoints associated with this rule + :type frontend_endpoints: list[~azure.mgmt.frontdoor.models.SubResource] + :param accepted_protocols: Protocol schemes to match for this rule + :type accepted_protocols: list[str or + ~azure.mgmt.frontdoor.models.FrontDoorProtocol] + :param patterns_to_match: The route patterns of the rule. + :type patterns_to_match: list[str] + :param enabled_state: Whether to enable use of this rule. Permitted values + are 'Enabled' or 'Disabled'. Possible values include: 'Enabled', + 'Disabled' + :type enabled_state: str or + ~azure.mgmt.frontdoor.models.RoutingRuleEnabledState + :param route_configuration: A reference to the routing configuration. + :type route_configuration: ~azure.mgmt.frontdoor.models.RouteConfiguration + :param rules_engine: A reference to a specific Rules Engine Configuration + to apply to this route. + :type rules_engine: ~azure.mgmt.frontdoor.models.SubResource + :param resource_state: Resource status. Possible values include: + 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' + :type resource_state: str or + ~azure.mgmt.frontdoor.models.FrontDoorResourceState + :param name: Resource name. + :type name: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_endpoints': {'key': 'properties.frontendEndpoints', 'type': '[SubResource]'}, + 'accepted_protocols': {'key': 'properties.acceptedProtocols', 'type': '[str]'}, + 'patterns_to_match': {'key': 'properties.patternsToMatch', 'type': '[str]'}, + 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, + 'route_configuration': {'key': 'properties.routeConfiguration', 'type': 'RouteConfiguration'}, + 'rules_engine': {'key': 'properties.rulesEngine', 'type': 'SubResource'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, frontend_endpoints=None, accepted_protocols=None, patterns_to_match=None, enabled_state=None, route_configuration=None, rules_engine=None, resource_state=None, name: str=None, **kwargs) -> None: + super(RoutingRule, self).__init__(id=id, **kwargs) + self.frontend_endpoints = frontend_endpoints + self.accepted_protocols = accepted_protocols + self.patterns_to_match = patterns_to_match + self.enabled_state = enabled_state + self.route_configuration = route_configuration + self.rules_engine = rules_engine + self.resource_state = resource_state + self.name = name + self.type = None + + +class RoutingRuleListResult(Model): + """Result of the request to list Routing Rules. It contains a list of Routing + Rule objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: List of Routing Rules within a Front Door. + :vartype value: list[~azure.mgmt.frontdoor.models.RoutingRule] + :param next_link: URL to get the next set of RoutingRule objects if there + are any. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[RoutingRule]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, next_link: str=None, **kwargs) -> None: + super(RoutingRuleListResult, self).__init__(**kwargs) + self.value = None + self.next_link = next_link + + +class RoutingRuleUpdateParameters(Model): + """Routing rules to apply to an endpoint. + + :param frontend_endpoints: Frontend endpoints associated with this rule + :type frontend_endpoints: list[~azure.mgmt.frontdoor.models.SubResource] + :param accepted_protocols: Protocol schemes to match for this rule + :type accepted_protocols: list[str or + ~azure.mgmt.frontdoor.models.FrontDoorProtocol] + :param patterns_to_match: The route patterns of the rule. + :type patterns_to_match: list[str] + :param enabled_state: Whether to enable use of this rule. Permitted values + are 'Enabled' or 'Disabled'. Possible values include: 'Enabled', + 'Disabled' + :type enabled_state: str or + ~azure.mgmt.frontdoor.models.RoutingRuleEnabledState + :param route_configuration: A reference to the routing configuration. + :type route_configuration: ~azure.mgmt.frontdoor.models.RouteConfiguration + :param rules_engine: A reference to a specific Rules Engine Configuration + to apply to this route. + :type rules_engine: ~azure.mgmt.frontdoor.models.SubResource + """ + + _attribute_map = { + 'frontend_endpoints': {'key': 'frontendEndpoints', 'type': '[SubResource]'}, + 'accepted_protocols': {'key': 'acceptedProtocols', 'type': '[str]'}, + 'patterns_to_match': {'key': 'patternsToMatch', 'type': '[str]'}, + 'enabled_state': {'key': 'enabledState', 'type': 'str'}, + 'route_configuration': {'key': 'routeConfiguration', 'type': 'RouteConfiguration'}, + 'rules_engine': {'key': 'rulesEngine', 'type': 'SubResource'}, + } + + def __init__(self, *, frontend_endpoints=None, accepted_protocols=None, patterns_to_match=None, enabled_state=None, route_configuration=None, rules_engine=None, **kwargs) -> None: + super(RoutingRuleUpdateParameters, self).__init__(**kwargs) + self.frontend_endpoints = frontend_endpoints + self.accepted_protocols = accepted_protocols + self.patterns_to_match = patterns_to_match + self.enabled_state = enabled_state + self.route_configuration = route_configuration + self.rules_engine = rules_engine + + +class RulesEngine(Model): + """A rules engine configuration containing a list of rules that will run to + modify the runtime behavior of the request and response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param rules: A list of rules that define a particular Rules Engine + Configuration. + :type rules: list[~azure.mgmt.frontdoor.models.RulesEngineRule] + :param resource_state: Resource status. Possible values include: + 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' + :type resource_state: str or + ~azure.mgmt.frontdoor.models.FrontDoorResourceState + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar id: Resource ID. + :vartype id: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'id': {'readonly': True}, + } + + _attribute_map = { + 'rules': {'key': 'properties.rules', 'type': '[RulesEngineRule]'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, rules=None, resource_state=None, **kwargs) -> None: + super(RulesEngine, self).__init__(**kwargs) + self.rules = rules + self.resource_state = resource_state + self.name = None + self.type = None + self.id = None + + +class RulesEngineAction(Model): + """One or more actions that will execute, modifying the request and/or + response. + + :param request_header_actions: A list of header actions to apply from the + request from AFD to the origin. + :type request_header_actions: + list[~azure.mgmt.frontdoor.models.HeaderAction] + :param response_header_actions: A list of header actions to apply from the + response from AFD to the client. + :type response_header_actions: + list[~azure.mgmt.frontdoor.models.HeaderAction] + :param route_configuration_override: Override the route configuration. + :type route_configuration_override: + ~azure.mgmt.frontdoor.models.RouteConfiguration + """ + + _attribute_map = { + 'request_header_actions': {'key': 'requestHeaderActions', 'type': '[HeaderAction]'}, + 'response_header_actions': {'key': 'responseHeaderActions', 'type': '[HeaderAction]'}, + 'route_configuration_override': {'key': 'routeConfigurationOverride', 'type': 'RouteConfiguration'}, + } + + def __init__(self, *, request_header_actions=None, response_header_actions=None, route_configuration_override=None, **kwargs) -> None: + super(RulesEngineAction, self).__init__(**kwargs) + self.request_header_actions = request_header_actions + self.response_header_actions = response_header_actions + self.route_configuration_override = route_configuration_override + + +class RulesEngineMatchCondition(Model): + """Define a match condition. + + All required parameters must be populated in order to send to Azure. + + :param rules_engine_match_variable: Required. Match Variable. Possible + values include: 'IsMobile', 'RemoteAddr', 'RequestMethod', 'QueryString', + 'PostArgs', 'RequestUri', 'RequestPath', 'RequestFilename', + 'RequestFilenameExtension', 'RequestHeader', 'RequestBody', + 'RequestScheme' + :type rules_engine_match_variable: str or + ~azure.mgmt.frontdoor.models.RulesEngineMatchVariable + :param selector: Name of selector in RequestHeader or RequestBody to be + matched + :type selector: str + :param rules_engine_operator: Required. Describes operator to apply to the + match condition. Possible values include: 'Any', 'IPMatch', 'GeoMatch', + 'Equal', 'Contains', 'LessThan', 'GreaterThan', 'LessThanOrEqual', + 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith' + :type rules_engine_operator: str or + ~azure.mgmt.frontdoor.models.RulesEngineOperator + :param negate_condition: Describes if this is negate condition or not + :type negate_condition: bool + :param rules_engine_match_value: Required. 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. + :type rules_engine_match_value: list[str] + :param transforms: List of transforms + :type transforms: list[str or ~azure.mgmt.frontdoor.models.Transform] + """ + + _validation = { + 'rules_engine_match_variable': {'required': True}, + 'rules_engine_operator': {'required': True}, + 'rules_engine_match_value': {'required': True}, + } + + _attribute_map = { + 'rules_engine_match_variable': {'key': 'rulesEngineMatchVariable', 'type': 'str'}, + 'selector': {'key': 'selector', 'type': 'str'}, + 'rules_engine_operator': {'key': 'rulesEngineOperator', 'type': 'str'}, + 'negate_condition': {'key': 'negateCondition', 'type': 'bool'}, + 'rules_engine_match_value': {'key': 'rulesEngineMatchValue', 'type': '[str]'}, + 'transforms': {'key': 'transforms', 'type': '[str]'}, + } + + def __init__(self, *, rules_engine_match_variable, rules_engine_operator, rules_engine_match_value, selector: str=None, negate_condition: bool=None, transforms=None, **kwargs) -> None: + super(RulesEngineMatchCondition, self).__init__(**kwargs) + self.rules_engine_match_variable = rules_engine_match_variable + self.selector = selector + self.rules_engine_operator = rules_engine_operator + self.negate_condition = negate_condition + self.rules_engine_match_value = rules_engine_match_value + self.transforms = transforms + + +class RulesEngineRule(Model): + """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. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. A name to refer to this specific rule. + :type name: str + :param priority: Required. A priority assigned to this rule. + :type priority: int + :param action: Required. Actions to perform on the request and response if + all of the match conditions are met. + :type action: ~azure.mgmt.frontdoor.models.RulesEngineAction + :param match_conditions: 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. + :type match_conditions: + list[~azure.mgmt.frontdoor.models.RulesEngineMatchCondition] + :param match_processing_behavior: If this rule is a match should the rules + engine continue running the remaining rules or stop. If not present, + defaults to Continue. Possible values include: 'Continue', 'Stop' + :type match_processing_behavior: str or + ~azure.mgmt.frontdoor.models.MatchProcessingBehavior + """ + + _validation = { + 'name': {'required': True}, + 'priority': {'required': True}, + 'action': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'action': {'key': 'action', 'type': 'RulesEngineAction'}, + 'match_conditions': {'key': 'matchConditions', 'type': '[RulesEngineMatchCondition]'}, + 'match_processing_behavior': {'key': 'matchProcessingBehavior', 'type': 'str'}, + } + + def __init__(self, *, name: str, priority: int, action, match_conditions=None, match_processing_behavior=None, **kwargs) -> None: + super(RulesEngineRule, self).__init__(**kwargs) + self.name = name + self.priority = priority + self.action = action + self.match_conditions = match_conditions + self.match_processing_behavior = match_processing_behavior + + +class RulesEngineUpdateParameters(Model): + """Rules Engine Configuration to apply to a Routing Rule. + + :param rules: A list of rules that define a particular Rules Engine + Configuration. + :type rules: list[~azure.mgmt.frontdoor.models.RulesEngineRule] + """ + + _attribute_map = { + 'rules': {'key': 'rules', 'type': '[RulesEngineRule]'}, + } + + def __init__(self, *, rules=None, **kwargs) -> None: + super(RulesEngineUpdateParameters, self).__init__(**kwargs) + self.rules = rules + + +class TagsObject(Model): + """Tags object for patch operations. + + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(TagsObject, self).__init__(**kwargs) + self.tags = tags + + +class Timeseries(Resource): + """Defines the Timeseries. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param endpoint: The endpoint associated with the Timeseries data point + :type endpoint: str + :param start_date_time_utc: The start DateTime of the Timeseries in UTC + :type start_date_time_utc: str + :param end_date_time_utc: The end DateTime of the Timeseries in UTC + :type end_date_time_utc: str + :param aggregation_interval: The aggregation interval of the Timeseries. + Possible values include: 'Hourly', 'Daily' + :type aggregation_interval: str or + ~azure.mgmt.frontdoor.models.AggregationInterval + :param timeseries_type: The type of Timeseries. Possible values include: + 'MeasurementCounts', 'LatencyP50', 'LatencyP75', 'LatencyP95' + :type timeseries_type: str or ~azure.mgmt.frontdoor.models.TimeseriesType + :param country: The country associated with the Timeseries. Values are + country ISO codes as specified here- + https://www.iso.org/iso-3166-country-codes.html + :type country: str + :param timeseries_data: The set of data points for the timeseries + :type timeseries_data: + list[~azure.mgmt.frontdoor.models.TimeseriesDataPoint] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'endpoint': {'key': 'properties.endpoint', 'type': 'str'}, + 'start_date_time_utc': {'key': 'properties.startDateTimeUTC', 'type': 'str'}, + 'end_date_time_utc': {'key': 'properties.endDateTimeUTC', 'type': 'str'}, + 'aggregation_interval': {'key': 'properties.aggregationInterval', 'type': 'str'}, + 'timeseries_type': {'key': 'properties.timeseriesType', 'type': 'str'}, + 'country': {'key': 'properties.country', 'type': 'str'}, + 'timeseries_data': {'key': 'properties.timeseriesData', 'type': '[TimeseriesDataPoint]'}, + } + + def __init__(self, *, location: str=None, tags=None, endpoint: str=None, start_date_time_utc: str=None, end_date_time_utc: str=None, aggregation_interval=None, timeseries_type=None, country: str=None, timeseries_data=None, **kwargs) -> None: + super(Timeseries, self).__init__(location=location, tags=tags, **kwargs) + self.endpoint = endpoint + self.start_date_time_utc = start_date_time_utc + self.end_date_time_utc = end_date_time_utc + self.aggregation_interval = aggregation_interval + self.timeseries_type = timeseries_type + self.country = country + self.timeseries_data = timeseries_data + + +class TimeseriesDataPoint(Model): + """Defines a timeseries datapoint used in a timeseries. + + :param date_time_utc: The DateTime of the Timeseries data point in UTC + :type date_time_utc: str + :param value: The Value of the Timeseries data point + :type value: float + """ + + _attribute_map = { + 'date_time_utc': {'key': 'dateTimeUTC', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'float'}, + } + + def __init__(self, *, date_time_utc: str=None, value: float=None, **kwargs) -> None: + super(TimeseriesDataPoint, self).__init__(**kwargs) + self.date_time_utc = date_time_utc + self.value = value + + +class ValidateCustomDomainInput(Model): + """Input of the custom domain to be validated for DNS mapping. + + All required parameters must be populated in order to send to Azure. + + :param host_name: Required. The host name of the custom domain. Must be a + domain name. + :type host_name: str + """ + + _validation = { + 'host_name': {'required': True}, + } + + _attribute_map = { + 'host_name': {'key': 'hostName', 'type': 'str'}, + } + + def __init__(self, *, host_name: str, **kwargs) -> None: + super(ValidateCustomDomainInput, self).__init__(**kwargs) + self.host_name = host_name + + +class ValidateCustomDomainOutput(Model): + """Output of custom domain validation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar custom_domain_validated: Indicates whether the custom domain is + valid or not. + :vartype custom_domain_validated: bool + :ivar reason: The reason why the custom domain is not valid. + :vartype reason: str + :ivar message: Error message describing why the custom domain is not + valid. + :vartype message: str + """ + + _validation = { + 'custom_domain_validated': {'readonly': True}, + 'reason': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'custom_domain_validated': {'key': 'customDomainValidated', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ValidateCustomDomainOutput, self).__init__(**kwargs) + self.custom_domain_validated = None + self.reason = None + self.message = None + + +class WebApplicationFirewallPolicy(Resource): + """Defines web application firewall policy. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param policy_settings: Describes settings for the policy. + :type policy_settings: ~azure.mgmt.frontdoor.models.PolicySettings + :param custom_rules: Describes custom rules inside the policy. + :type custom_rules: ~azure.mgmt.frontdoor.models.CustomRuleList + :param managed_rules: Describes managed rules inside the policy. + :type managed_rules: ~azure.mgmt.frontdoor.models.ManagedRuleSetList + :ivar frontend_endpoint_links: Describes Frontend Endpoints associated + with this Web Application Firewall policy. + :vartype frontend_endpoint_links: + list[~azure.mgmt.frontdoor.models.FrontendEndpointLink] + :ivar provisioning_state: Provisioning state of the policy. + :vartype provisioning_state: str + :ivar resource_state: Resource status of the policy. Possible values + include: 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', + 'Deleting' + :vartype resource_state: str or + ~azure.mgmt.frontdoor.models.PolicyResourceState + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'frontend_endpoint_links': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'resource_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'policy_settings': {'key': 'properties.policySettings', 'type': 'PolicySettings'}, + 'custom_rules': {'key': 'properties.customRules', 'type': 'CustomRuleList'}, + 'managed_rules': {'key': 'properties.managedRules', 'type': 'ManagedRuleSetList'}, + 'frontend_endpoint_links': {'key': 'properties.frontendEndpointLinks', 'type': '[FrontendEndpointLink]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, tags=None, policy_settings=None, custom_rules=None, managed_rules=None, etag: str=None, **kwargs) -> None: + super(WebApplicationFirewallPolicy, self).__init__(location=location, tags=tags, **kwargs) + self.policy_settings = policy_settings + self.custom_rules = custom_rules + self.managed_rules = managed_rules + self.frontend_endpoint_links = None + self.provisioning_state = None + self.resource_state = None + self.etag = etag diff --git a/src/front-door/azext_front_door/vendored_sdks/models/_paged_models.py b/src/front-door/azext_front_door/vendored_sdks/models/_paged_models.py new file mode 100644 index 0000000000..1696d3d710 --- /dev/null +++ b/src/front-door/azext_front_door/vendored_sdks/models/_paged_models.py @@ -0,0 +1,118 @@ +# 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) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class ProfilePaged(Paged): + """ + A paging container for iterating over a list of :class:`Profile ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Profile]'} + } + + def __init__(self, *args, **kwargs): + + super(ProfilePaged, self).__init__(*args, **kwargs) +class PreconfiguredEndpointPaged(Paged): + """ + A paging container for iterating over a list of :class:`PreconfiguredEndpoint ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PreconfiguredEndpoint]'} + } + + def __init__(self, *args, **kwargs): + + super(PreconfiguredEndpointPaged, self).__init__(*args, **kwargs) +class ExperimentPaged(Paged): + """ + A paging container for iterating over a list of :class:`Experiment ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Experiment]'} + } + + def __init__(self, *args, **kwargs): + + super(ExperimentPaged, self).__init__(*args, **kwargs) +class FrontDoorPaged(Paged): + """ + A paging container for iterating over a list of :class:`FrontDoor ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[FrontDoor]'} + } + + def __init__(self, *args, **kwargs): + + super(FrontDoorPaged, self).__init__(*args, **kwargs) +class FrontendEndpointPaged(Paged): + """ + A paging container for iterating over a list of :class:`FrontendEndpoint ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[FrontendEndpoint]'} + } + + def __init__(self, *args, **kwargs): + + super(FrontendEndpointPaged, self).__init__(*args, **kwargs) +class RulesEnginePaged(Paged): + """ + A paging container for iterating over a list of :class:`RulesEngine ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[RulesEngine]'} + } + + def __init__(self, *args, **kwargs): + + super(RulesEnginePaged, self).__init__(*args, **kwargs) +class WebApplicationFirewallPolicyPaged(Paged): + """ + A paging container for iterating over a list of :class:`WebApplicationFirewallPolicy ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[WebApplicationFirewallPolicy]'} + } + + def __init__(self, *args, **kwargs): + + super(WebApplicationFirewallPolicyPaged, self).__init__(*args, **kwargs) +class ManagedRuleSetDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`ManagedRuleSetDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ManagedRuleSetDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(ManagedRuleSetDefinitionPaged, self).__init__(*args, **kwargs) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/azure_async_operation_result.py b/src/front-door/azext_front_door/vendored_sdks/models/azure_async_operation_result.py deleted file mode 100644 index 7b934f4168..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/azure_async_operation_result.py +++ /dev/null @@ -1,41 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureAsyncOperationResult(Model): - """The response body contains the status of the specified asynchronous - operation, indicating whether it has succeeded, is in progress, or has - failed. Note that this status is distinct from the HTTP status code - returned for the Get Operation Status operation itself. If the asynchronous - operation succeeded, the response body includes the HTTP status code for - the successful request. If the asynchronous operation failed, the response - body includes the HTTP status code for the failed request and error - information regarding the failure. - - :param status: Status of the Azure async operation. Possible values are: - 'InProgress', 'Succeeded', and 'Failed'. Possible values include: - 'InProgress', 'Succeeded', 'Failed' - :type status: str or ~azure.mgmt.frontdoor.models.NetworkOperationStatus - :param error: - :type error: ~azure.mgmt.frontdoor.models.Error - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'error': {'key': 'error', 'type': 'Error'}, - } - - def __init__(self, **kwargs): - super(AzureAsyncOperationResult, self).__init__(**kwargs) - self.status = kwargs.get('status', None) - self.error = kwargs.get('error', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/azure_async_operation_result_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/azure_async_operation_result_py3.py deleted file mode 100644 index 34fd76a895..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/azure_async_operation_result_py3.py +++ /dev/null @@ -1,41 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureAsyncOperationResult(Model): - """The response body contains the status of the specified asynchronous - operation, indicating whether it has succeeded, is in progress, or has - failed. Note that this status is distinct from the HTTP status code - returned for the Get Operation Status operation itself. If the asynchronous - operation succeeded, the response body includes the HTTP status code for - the successful request. If the asynchronous operation failed, the response - body includes the HTTP status code for the failed request and error - information regarding the failure. - - :param status: Status of the Azure async operation. Possible values are: - 'InProgress', 'Succeeded', and 'Failed'. Possible values include: - 'InProgress', 'Succeeded', 'Failed' - :type status: str or ~azure.mgmt.frontdoor.models.NetworkOperationStatus - :param error: - :type error: ~azure.mgmt.frontdoor.models.Error - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'error': {'key': 'error', 'type': 'Error'}, - } - - def __init__(self, *, status=None, error=None, **kwargs) -> None: - super(AzureAsyncOperationResult, self).__init__(**kwargs) - self.status = status - self.error = error diff --git a/src/front-door/azext_front_door/vendored_sdks/models/backend.py b/src/front-door/azext_front_door/vendored_sdks/models/backend.py deleted file mode 100644 index e2c358de75..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/backend.py +++ /dev/null @@ -1,65 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Backend(Model): - """Backend address of a frontDoor load balancer. - - :param address: Location of the backend (IP address or FQDN) - :type address: str - :param http_port: The HTTP TCP port number. Must be between 1 and 65535. - :type http_port: int - :param https_port: The HTTPS TCP port number. Must be between 1 and 65535. - :type https_port: int - :param enabled_state: Whether to enable use of this backend. Permitted - values are 'Enabled' or 'Disabled'. Possible values include: 'Enabled', - 'Disabled' - :type enabled_state: str or - ~azure.mgmt.frontdoor.models.BackendEnabledState - :param priority: Priority to use for load balancing. Higher priorities - will not be used for load balancing if any lower priority backend is - healthy. - :type priority: int - :param weight: Weight of this endpoint for load balancing purposes. - :type weight: int - :param backend_host_header: The value to use as the host header sent to - the backend. If blank or unspecified, this defaults to the incoming host. - :type backend_host_header: str - """ - - _validation = { - 'http_port': {'maximum': 65535, 'minimum': 1}, - 'https_port': {'maximum': 65535, 'minimum': 1}, - 'priority': {'maximum': 5, 'minimum': 1}, - 'weight': {'maximum': 1000, 'minimum': 1}, - } - - _attribute_map = { - 'address': {'key': 'address', 'type': 'str'}, - 'http_port': {'key': 'httpPort', 'type': 'int'}, - 'https_port': {'key': 'httpsPort', 'type': 'int'}, - 'enabled_state': {'key': 'enabledState', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'weight': {'key': 'weight', 'type': 'int'}, - 'backend_host_header': {'key': 'backendHostHeader', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Backend, self).__init__(**kwargs) - self.address = kwargs.get('address', None) - self.http_port = kwargs.get('http_port', None) - self.https_port = kwargs.get('https_port', None) - self.enabled_state = kwargs.get('enabled_state', None) - self.priority = kwargs.get('priority', None) - self.weight = kwargs.get('weight', None) - self.backend_host_header = kwargs.get('backend_host_header', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/backend_pool.py b/src/front-door/azext_front_door/vendored_sdks/models/backend_pool.py deleted file mode 100644 index 88dc30eab3..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/backend_pool.py +++ /dev/null @@ -1,60 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class BackendPool(SubResource): - """A backend pool is a collection of backends that can be routed to. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param backends: The set of backends for this pool - :type backends: list[~azure.mgmt.frontdoor.models.Backend] - :param load_balancing_settings: Load balancing settings for a backend pool - :type load_balancing_settings: ~azure.mgmt.frontdoor.models.SubResource - :param health_probe_settings: L7 health probe settings for a backend pool - :type health_probe_settings: ~azure.mgmt.frontdoor.models.SubResource - :param resource_state: Resource status. Possible values include: - 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' - :type resource_state: str or - ~azure.mgmt.frontdoor.models.FrontDoorResourceState - :param name: Resource name. - :type name: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'backends': {'key': 'properties.backends', 'type': '[Backend]'}, - 'load_balancing_settings': {'key': 'properties.loadBalancingSettings', 'type': 'SubResource'}, - 'health_probe_settings': {'key': 'properties.healthProbeSettings', 'type': 'SubResource'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(BackendPool, self).__init__(**kwargs) - self.backends = kwargs.get('backends', None) - self.load_balancing_settings = kwargs.get('load_balancing_settings', None) - self.health_probe_settings = kwargs.get('health_probe_settings', None) - self.resource_state = kwargs.get('resource_state', None) - self.name = kwargs.get('name', None) - self.type = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/backend_pool_list_result.py b/src/front-door/azext_front_door/vendored_sdks/models/backend_pool_list_result.py deleted file mode 100644 index 2077aa4649..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/backend_pool_list_result.py +++ /dev/null @@ -1,41 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class BackendPoolListResult(Model): - """Result of the request to list Backend Pools. It contains a list of Backend - Pools objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar value: List of Backend Pools within a Front Door. - :vartype value: list[~azure.mgmt.frontdoor.models.BackendPool] - :param next_link: URL to get the next set of BackendPool objects if there - are any. - :type next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[BackendPool]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(BackendPoolListResult, self).__init__(**kwargs) - self.value = None - self.next_link = kwargs.get('next_link', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/backend_pool_list_result_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/backend_pool_list_result_py3.py deleted file mode 100644 index d6e42a6a21..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/backend_pool_list_result_py3.py +++ /dev/null @@ -1,41 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class BackendPoolListResult(Model): - """Result of the request to list Backend Pools. It contains a list of Backend - Pools objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar value: List of Backend Pools within a Front Door. - :vartype value: list[~azure.mgmt.frontdoor.models.BackendPool] - :param next_link: URL to get the next set of BackendPool objects if there - are any. - :type next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[BackendPool]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, next_link: str=None, **kwargs) -> None: - super(BackendPoolListResult, self).__init__(**kwargs) - self.value = None - self.next_link = next_link diff --git a/src/front-door/azext_front_door/vendored_sdks/models/backend_pool_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/backend_pool_py3.py deleted file mode 100644 index 539d0ab52f..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/backend_pool_py3.py +++ /dev/null @@ -1,60 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class BackendPool(SubResource): - """A backend pool is a collection of backends that can be routed to. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param backends: The set of backends for this pool - :type backends: list[~azure.mgmt.frontdoor.models.Backend] - :param load_balancing_settings: Load balancing settings for a backend pool - :type load_balancing_settings: ~azure.mgmt.frontdoor.models.SubResource - :param health_probe_settings: L7 health probe settings for a backend pool - :type health_probe_settings: ~azure.mgmt.frontdoor.models.SubResource - :param resource_state: Resource status. Possible values include: - 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' - :type resource_state: str or - ~azure.mgmt.frontdoor.models.FrontDoorResourceState - :param name: Resource name. - :type name: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'backends': {'key': 'properties.backends', 'type': '[Backend]'}, - 'load_balancing_settings': {'key': 'properties.loadBalancingSettings', 'type': 'SubResource'}, - 'health_probe_settings': {'key': 'properties.healthProbeSettings', 'type': 'SubResource'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, backends=None, load_balancing_settings=None, health_probe_settings=None, resource_state=None, name: str=None, **kwargs) -> None: - super(BackendPool, self).__init__(id=id, **kwargs) - self.backends = backends - self.load_balancing_settings = load_balancing_settings - self.health_probe_settings = health_probe_settings - self.resource_state = resource_state - self.name = name - self.type = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/backend_pool_update_parameters.py b/src/front-door/azext_front_door/vendored_sdks/models/backend_pool_update_parameters.py deleted file mode 100644 index de81ce8369..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/backend_pool_update_parameters.py +++ /dev/null @@ -1,36 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class BackendPoolUpdateParameters(Model): - """A collection of backends that can be routed to. - - :param backends: The set of backends for this pool - :type backends: list[~azure.mgmt.frontdoor.models.Backend] - :param load_balancing_settings: Load balancing settings for a backend pool - :type load_balancing_settings: ~azure.mgmt.frontdoor.models.SubResource - :param health_probe_settings: L7 health probe settings for a backend pool - :type health_probe_settings: ~azure.mgmt.frontdoor.models.SubResource - """ - - _attribute_map = { - 'backends': {'key': 'backends', 'type': '[Backend]'}, - 'load_balancing_settings': {'key': 'loadBalancingSettings', 'type': 'SubResource'}, - 'health_probe_settings': {'key': 'healthProbeSettings', 'type': 'SubResource'}, - } - - def __init__(self, **kwargs): - super(BackendPoolUpdateParameters, self).__init__(**kwargs) - self.backends = kwargs.get('backends', None) - self.load_balancing_settings = kwargs.get('load_balancing_settings', None) - self.health_probe_settings = kwargs.get('health_probe_settings', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/backend_pool_update_parameters_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/backend_pool_update_parameters_py3.py deleted file mode 100644 index d740e7d5e4..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/backend_pool_update_parameters_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class BackendPoolUpdateParameters(Model): - """A collection of backends that can be routed to. - - :param backends: The set of backends for this pool - :type backends: list[~azure.mgmt.frontdoor.models.Backend] - :param load_balancing_settings: Load balancing settings for a backend pool - :type load_balancing_settings: ~azure.mgmt.frontdoor.models.SubResource - :param health_probe_settings: L7 health probe settings for a backend pool - :type health_probe_settings: ~azure.mgmt.frontdoor.models.SubResource - """ - - _attribute_map = { - 'backends': {'key': 'backends', 'type': '[Backend]'}, - 'load_balancing_settings': {'key': 'loadBalancingSettings', 'type': 'SubResource'}, - 'health_probe_settings': {'key': 'healthProbeSettings', 'type': 'SubResource'}, - } - - def __init__(self, *, backends=None, load_balancing_settings=None, health_probe_settings=None, **kwargs) -> None: - super(BackendPoolUpdateParameters, self).__init__(**kwargs) - self.backends = backends - self.load_balancing_settings = load_balancing_settings - self.health_probe_settings = health_probe_settings diff --git a/src/front-door/azext_front_door/vendored_sdks/models/backend_pools_settings.py b/src/front-door/azext_front_door/vendored_sdks/models/backend_pools_settings.py deleted file mode 100644 index 6062d2c11f..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/backend_pools_settings.py +++ /dev/null @@ -1,42 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class BackendPoolsSettings(Model): - """Settings that apply to all backend pools. - - :param enforce_certificate_name_check: Whether to enforce certificate name - check on HTTPS requests to all backend pools. No effect on non-HTTPS - requests. Possible values include: 'Enabled', 'Disabled'. Default value: - "Enabled" . - :type enforce_certificate_name_check: str or - ~azure.mgmt.frontdoor.models.EnforceCertificateNameCheckEnabledState - :param send_recv_timeout_seconds: Send and receive timeout on forwarding - request to the backend. When timeout is reached, the request fails and - returns. - :type send_recv_timeout_seconds: int - """ - - _validation = { - 'send_recv_timeout_seconds': {'minimum': 16}, - } - - _attribute_map = { - 'enforce_certificate_name_check': {'key': 'enforceCertificateNameCheck', 'type': 'str'}, - 'send_recv_timeout_seconds': {'key': 'sendRecvTimeoutSeconds', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(BackendPoolsSettings, self).__init__(**kwargs) - self.enforce_certificate_name_check = kwargs.get('enforce_certificate_name_check', "Enabled") - self.send_recv_timeout_seconds = kwargs.get('send_recv_timeout_seconds', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/backend_pools_settings_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/backend_pools_settings_py3.py deleted file mode 100644 index e387973826..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/backend_pools_settings_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class BackendPoolsSettings(Model): - """Settings that apply to all backend pools. - - :param enforce_certificate_name_check: Whether to enforce certificate name - check on HTTPS requests to all backend pools. No effect on non-HTTPS - requests. Possible values include: 'Enabled', 'Disabled'. Default value: - "Enabled" . - :type enforce_certificate_name_check: str or - ~azure.mgmt.frontdoor.models.EnforceCertificateNameCheckEnabledState - :param send_recv_timeout_seconds: Send and receive timeout on forwarding - request to the backend. When timeout is reached, the request fails and - returns. - :type send_recv_timeout_seconds: int - """ - - _validation = { - 'send_recv_timeout_seconds': {'minimum': 16}, - } - - _attribute_map = { - 'enforce_certificate_name_check': {'key': 'enforceCertificateNameCheck', 'type': 'str'}, - 'send_recv_timeout_seconds': {'key': 'sendRecvTimeoutSeconds', 'type': 'int'}, - } - - def __init__(self, *, enforce_certificate_name_check="Enabled", send_recv_timeout_seconds: int=None, **kwargs) -> None: - super(BackendPoolsSettings, self).__init__(**kwargs) - self.enforce_certificate_name_check = enforce_certificate_name_check - self.send_recv_timeout_seconds = send_recv_timeout_seconds diff --git a/src/front-door/azext_front_door/vendored_sdks/models/backend_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/backend_py3.py deleted file mode 100644 index d80e1897d3..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/backend_py3.py +++ /dev/null @@ -1,65 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Backend(Model): - """Backend address of a frontDoor load balancer. - - :param address: Location of the backend (IP address or FQDN) - :type address: str - :param http_port: The HTTP TCP port number. Must be between 1 and 65535. - :type http_port: int - :param https_port: The HTTPS TCP port number. Must be between 1 and 65535. - :type https_port: int - :param enabled_state: Whether to enable use of this backend. Permitted - values are 'Enabled' or 'Disabled'. Possible values include: 'Enabled', - 'Disabled' - :type enabled_state: str or - ~azure.mgmt.frontdoor.models.BackendEnabledState - :param priority: Priority to use for load balancing. Higher priorities - will not be used for load balancing if any lower priority backend is - healthy. - :type priority: int - :param weight: Weight of this endpoint for load balancing purposes. - :type weight: int - :param backend_host_header: The value to use as the host header sent to - the backend. If blank or unspecified, this defaults to the incoming host. - :type backend_host_header: str - """ - - _validation = { - 'http_port': {'maximum': 65535, 'minimum': 1}, - 'https_port': {'maximum': 65535, 'minimum': 1}, - 'priority': {'maximum': 5, 'minimum': 1}, - 'weight': {'maximum': 1000, 'minimum': 1}, - } - - _attribute_map = { - 'address': {'key': 'address', 'type': 'str'}, - 'http_port': {'key': 'httpPort', 'type': 'int'}, - 'https_port': {'key': 'httpsPort', 'type': 'int'}, - 'enabled_state': {'key': 'enabledState', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'weight': {'key': 'weight', 'type': 'int'}, - 'backend_host_header': {'key': 'backendHostHeader', 'type': 'str'}, - } - - def __init__(self, *, address: str=None, http_port: int=None, https_port: int=None, enabled_state=None, priority: int=None, weight: int=None, backend_host_header: str=None, **kwargs) -> None: - super(Backend, self).__init__(**kwargs) - self.address = address - self.http_port = http_port - self.https_port = https_port - self.enabled_state = enabled_state - self.priority = priority - self.weight = weight - self.backend_host_header = backend_host_header diff --git a/src/front-door/azext_front_door/vendored_sdks/models/cache_configuration.py b/src/front-door/azext_front_door/vendored_sdks/models/cache_configuration.py deleted file mode 100644 index 670e24d963..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/cache_configuration.py +++ /dev/null @@ -1,37 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CacheConfiguration(Model): - """Caching settings for a caching-type route. To disable caching, do not - provide a cacheConfiguration object. - - :param query_parameter_strip_directive: Treatment of URL query terms when - forming the cache key. Possible values include: 'StripNone', 'StripAll' - :type query_parameter_strip_directive: str or - ~azure.mgmt.frontdoor.models.FrontDoorQuery - :param dynamic_compression: Whether to use dynamic compression for cached - content. Possible values include: 'Enabled', 'Disabled' - :type dynamic_compression: str or - ~azure.mgmt.frontdoor.models.DynamicCompressionEnabled - """ - - _attribute_map = { - 'query_parameter_strip_directive': {'key': 'queryParameterStripDirective', 'type': 'str'}, - 'dynamic_compression': {'key': 'dynamicCompression', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(CacheConfiguration, self).__init__(**kwargs) - self.query_parameter_strip_directive = kwargs.get('query_parameter_strip_directive', None) - self.dynamic_compression = kwargs.get('dynamic_compression', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/cache_configuration_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/cache_configuration_py3.py deleted file mode 100644 index 6fd1bc544d..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/cache_configuration_py3.py +++ /dev/null @@ -1,37 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CacheConfiguration(Model): - """Caching settings for a caching-type route. To disable caching, do not - provide a cacheConfiguration object. - - :param query_parameter_strip_directive: Treatment of URL query terms when - forming the cache key. Possible values include: 'StripNone', 'StripAll' - :type query_parameter_strip_directive: str or - ~azure.mgmt.frontdoor.models.FrontDoorQuery - :param dynamic_compression: Whether to use dynamic compression for cached - content. Possible values include: 'Enabled', 'Disabled' - :type dynamic_compression: str or - ~azure.mgmt.frontdoor.models.DynamicCompressionEnabled - """ - - _attribute_map = { - 'query_parameter_strip_directive': {'key': 'queryParameterStripDirective', 'type': 'str'}, - 'dynamic_compression': {'key': 'dynamicCompression', 'type': 'str'}, - } - - def __init__(self, *, query_parameter_strip_directive=None, dynamic_compression=None, **kwargs) -> None: - super(CacheConfiguration, self).__init__(**kwargs) - self.query_parameter_strip_directive = query_parameter_strip_directive - self.dynamic_compression = dynamic_compression diff --git a/src/front-door/azext_front_door/vendored_sdks/models/check_name_availability_input.py b/src/front-door/azext_front_door/vendored_sdks/models/check_name_availability_input.py deleted file mode 100644 index 795f600390..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/check_name_availability_input.py +++ /dev/null @@ -1,41 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CheckNameAvailabilityInput(Model): - """Input of CheckNameAvailability API. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. The resource name to validate. - :type name: str - :param type: Required. The type of the resource whose name is to be - validated. Possible values include: 'Microsoft.Network/frontDoors', - 'Microsoft.Network/frontDoors/frontendEndpoints' - :type type: str or ~azure.mgmt.frontdoor.models.ResourceType - """ - - _validation = { - 'name': {'required': True}, - 'type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'ResourceType'}, - } - - def __init__(self, **kwargs): - super(CheckNameAvailabilityInput, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.type = kwargs.get('type', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/check_name_availability_input_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/check_name_availability_input_py3.py deleted file mode 100644 index 47a5def751..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/check_name_availability_input_py3.py +++ /dev/null @@ -1,41 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CheckNameAvailabilityInput(Model): - """Input of CheckNameAvailability API. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. The resource name to validate. - :type name: str - :param type: Required. The type of the resource whose name is to be - validated. Possible values include: 'Microsoft.Network/frontDoors', - 'Microsoft.Network/frontDoors/frontendEndpoints' - :type type: str or ~azure.mgmt.frontdoor.models.ResourceType - """ - - _validation = { - 'name': {'required': True}, - 'type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'ResourceType'}, - } - - def __init__(self, *, name: str, type, **kwargs) -> None: - super(CheckNameAvailabilityInput, self).__init__(**kwargs) - self.name = name - self.type = type diff --git a/src/front-door/azext_front_door/vendored_sdks/models/check_name_availability_output.py b/src/front-door/azext_front_door/vendored_sdks/models/check_name_availability_output.py deleted file mode 100644 index 488ab34b89..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/check_name_availability_output.py +++ /dev/null @@ -1,48 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CheckNameAvailabilityOutput(Model): - """Output of check name availability API. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar name_availability: Indicates whether the name is available. Possible - values include: 'Available', 'Unavailable' - :vartype name_availability: str or - ~azure.mgmt.frontdoor.models.Availability - :ivar reason: The reason why the name is not available. - :vartype reason: str - :ivar message: The detailed error message describing why the name is not - available. - :vartype message: str - """ - - _validation = { - 'name_availability': {'readonly': True}, - 'reason': {'readonly': True}, - 'message': {'readonly': True}, - } - - _attribute_map = { - 'name_availability': {'key': 'nameAvailability', 'type': 'str'}, - 'reason': {'key': 'reason', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(CheckNameAvailabilityOutput, self).__init__(**kwargs) - self.name_availability = None - self.reason = None - self.message = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/check_name_availability_output_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/check_name_availability_output_py3.py deleted file mode 100644 index 7d330107c6..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/check_name_availability_output_py3.py +++ /dev/null @@ -1,48 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CheckNameAvailabilityOutput(Model): - """Output of check name availability API. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar name_availability: Indicates whether the name is available. Possible - values include: 'Available', 'Unavailable' - :vartype name_availability: str or - ~azure.mgmt.frontdoor.models.Availability - :ivar reason: The reason why the name is not available. - :vartype reason: str - :ivar message: The detailed error message describing why the name is not - available. - :vartype message: str - """ - - _validation = { - 'name_availability': {'readonly': True}, - 'reason': {'readonly': True}, - 'message': {'readonly': True}, - } - - _attribute_map = { - 'name_availability': {'key': 'nameAvailability', 'type': 'str'}, - 'reason': {'key': 'reason', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(CheckNameAvailabilityOutput, self).__init__(**kwargs) - self.name_availability = None - self.reason = None - self.message = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/custom_https_configuration.py b/src/front-door/azext_front_door/vendored_sdks/models/custom_https_configuration.py deleted file mode 100644 index 4956b04fb4..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/custom_https_configuration.py +++ /dev/null @@ -1,76 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CustomHttpsConfiguration(Model): - """Https settings for a domain. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param certificate_source: Required. Defines the source of the SSL - certificate. Possible values include: 'AzureKeyVault', 'FrontDoor' - :type certificate_source: str or - ~azure.mgmt.frontdoor.models.FrontDoorCertificateSource - :ivar protocol_type: Required. Defines the TLS extension protocol that is - used for secure delivery. Default value: "ServerNameIndication" . - :vartype protocol_type: str - :param minimum_tls_version: Required. The minimum TLS version required - from the clients to establish an SSL handshake with Front Door. Possible - values include: '1.0', '1.2' - :type minimum_tls_version: str or - ~azure.mgmt.frontdoor.models.MinimumTLSVersion - :param vault: The Key Vault containing the SSL certificate - :type vault: - ~azure.mgmt.frontdoor.models.KeyVaultCertificateSourceParametersVault - :param secret_name: The name of the Key Vault secret representing the full - certificate PFX - :type secret_name: str - :param secret_version: The version of the Key Vault secret representing - the full certificate PFX - :type secret_version: str - :param certificate_type: Defines the type of the certificate used for - secure connections to a frontendEndpoint. Possible values include: - 'Dedicated' - :type certificate_type: str or - ~azure.mgmt.frontdoor.models.FrontDoorCertificateType - """ - - _validation = { - 'certificate_source': {'required': True}, - 'protocol_type': {'required': True, 'constant': True}, - 'minimum_tls_version': {'required': True}, - } - - _attribute_map = { - 'certificate_source': {'key': 'certificateSource', 'type': 'str'}, - 'protocol_type': {'key': 'protocolType', 'type': 'str'}, - 'minimum_tls_version': {'key': 'minimumTlsVersion', 'type': 'str'}, - 'vault': {'key': 'keyVaultCertificateSourceParameters.vault', 'type': 'KeyVaultCertificateSourceParametersVault'}, - 'secret_name': {'key': 'keyVaultCertificateSourceParameters.secretName', 'type': 'str'}, - 'secret_version': {'key': 'keyVaultCertificateSourceParameters.secretVersion', 'type': 'str'}, - 'certificate_type': {'key': 'frontDoorCertificateSourceParameters.certificateType', 'type': 'str'}, - } - - protocol_type = "ServerNameIndication" - - def __init__(self, **kwargs): - super(CustomHttpsConfiguration, self).__init__(**kwargs) - self.certificate_source = kwargs.get('certificate_source', None) - self.minimum_tls_version = kwargs.get('minimum_tls_version', None) - self.vault = kwargs.get('vault', None) - self.secret_name = kwargs.get('secret_name', None) - self.secret_version = kwargs.get('secret_version', None) - self.certificate_type = kwargs.get('certificate_type', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/custom_https_configuration_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/custom_https_configuration_py3.py deleted file mode 100644 index 67ba20aa46..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/custom_https_configuration_py3.py +++ /dev/null @@ -1,76 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CustomHttpsConfiguration(Model): - """Https settings for a domain. - - Variables are only populated by the server, and will be ignored when - sending a request. - - All required parameters must be populated in order to send to Azure. - - :param certificate_source: Required. Defines the source of the SSL - certificate. Possible values include: 'AzureKeyVault', 'FrontDoor' - :type certificate_source: str or - ~azure.mgmt.frontdoor.models.FrontDoorCertificateSource - :ivar protocol_type: Required. Defines the TLS extension protocol that is - used for secure delivery. Default value: "ServerNameIndication" . - :vartype protocol_type: str - :param minimum_tls_version: Required. The minimum TLS version required - from the clients to establish an SSL handshake with Front Door. Possible - values include: '1.0', '1.2' - :type minimum_tls_version: str or - ~azure.mgmt.frontdoor.models.MinimumTLSVersion - :param vault: The Key Vault containing the SSL certificate - :type vault: - ~azure.mgmt.frontdoor.models.KeyVaultCertificateSourceParametersVault - :param secret_name: The name of the Key Vault secret representing the full - certificate PFX - :type secret_name: str - :param secret_version: The version of the Key Vault secret representing - the full certificate PFX - :type secret_version: str - :param certificate_type: Defines the type of the certificate used for - secure connections to a frontendEndpoint. Possible values include: - 'Dedicated' - :type certificate_type: str or - ~azure.mgmt.frontdoor.models.FrontDoorCertificateType - """ - - _validation = { - 'certificate_source': {'required': True}, - 'protocol_type': {'required': True, 'constant': True}, - 'minimum_tls_version': {'required': True}, - } - - _attribute_map = { - 'certificate_source': {'key': 'certificateSource', 'type': 'str'}, - 'protocol_type': {'key': 'protocolType', 'type': 'str'}, - 'minimum_tls_version': {'key': 'minimumTlsVersion', 'type': 'str'}, - 'vault': {'key': 'keyVaultCertificateSourceParameters.vault', 'type': 'KeyVaultCertificateSourceParametersVault'}, - 'secret_name': {'key': 'keyVaultCertificateSourceParameters.secretName', 'type': 'str'}, - 'secret_version': {'key': 'keyVaultCertificateSourceParameters.secretVersion', 'type': 'str'}, - 'certificate_type': {'key': 'frontDoorCertificateSourceParameters.certificateType', 'type': 'str'}, - } - - protocol_type = "ServerNameIndication" - - def __init__(self, *, certificate_source, minimum_tls_version, vault=None, secret_name: str=None, secret_version: str=None, certificate_type=None, **kwargs) -> None: - super(CustomHttpsConfiguration, self).__init__(**kwargs) - self.certificate_source = certificate_source - self.minimum_tls_version = minimum_tls_version - self.vault = vault - self.secret_name = secret_name - self.secret_version = secret_version - self.certificate_type = certificate_type diff --git a/src/front-door/azext_front_door/vendored_sdks/models/custom_rule.py b/src/front-door/azext_front_door/vendored_sdks/models/custom_rule.py deleted file mode 100644 index 6634e70502..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/custom_rule.py +++ /dev/null @@ -1,76 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CustomRule(Model): - """Defines contents of a web application rule. - - All required parameters must be populated in order to send to Azure. - - :param name: Describes the name of the rule. - :type name: str - :param priority: Required. Describes priority of the rule. Rules with a - lower value will be evaluated before rules with a higher value. - :type priority: int - :param enabled_state: Describes if the custom rule is in enabled or - disabled state. Defaults to Enabled if not specified. Possible values - include: 'Disabled', 'Enabled' - :type enabled_state: str or - ~azure.mgmt.frontdoor.models.CustomRuleEnabledState - :param rule_type: Required. Describes type of rule. Possible values - include: 'MatchRule', 'RateLimitRule' - :type rule_type: str or ~azure.mgmt.frontdoor.models.RuleType - :param rate_limit_duration_in_minutes: Time window for resetting the rate - limit count. Default is 1 minute. - :type rate_limit_duration_in_minutes: int - :param rate_limit_threshold: Number of allowed requests per client within - the time window. - :type rate_limit_threshold: int - :param match_conditions: Required. List of match conditions. - :type match_conditions: list[~azure.mgmt.frontdoor.models.MatchCondition] - :param action: Required. Describes what action to be applied when rule - matches. Possible values include: 'Allow', 'Block', 'Log', 'Redirect' - :type action: str or ~azure.mgmt.frontdoor.models.ActionType - """ - - _validation = { - 'name': {'max_length': 128}, - 'priority': {'required': True}, - 'rule_type': {'required': True}, - 'rate_limit_duration_in_minutes': {'maximum': 5, 'minimum': 0}, - 'rate_limit_threshold': {'minimum': 0}, - 'match_conditions': {'required': True}, - 'action': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'enabled_state': {'key': 'enabledState', 'type': 'str'}, - 'rule_type': {'key': 'ruleType', 'type': 'str'}, - 'rate_limit_duration_in_minutes': {'key': 'rateLimitDurationInMinutes', 'type': 'int'}, - 'rate_limit_threshold': {'key': 'rateLimitThreshold', 'type': 'int'}, - 'match_conditions': {'key': 'matchConditions', 'type': '[MatchCondition]'}, - 'action': {'key': 'action', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(CustomRule, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.priority = kwargs.get('priority', None) - self.enabled_state = kwargs.get('enabled_state', None) - self.rule_type = kwargs.get('rule_type', None) - self.rate_limit_duration_in_minutes = kwargs.get('rate_limit_duration_in_minutes', None) - self.rate_limit_threshold = kwargs.get('rate_limit_threshold', None) - self.match_conditions = kwargs.get('match_conditions', None) - self.action = kwargs.get('action', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/custom_rule_list.py b/src/front-door/azext_front_door/vendored_sdks/models/custom_rule_list.py deleted file mode 100644 index 3294bb3766..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/custom_rule_list.py +++ /dev/null @@ -1,28 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CustomRuleList(Model): - """Defines contents of custom rules. - - :param rules: List of rules - :type rules: list[~azure.mgmt.frontdoor.models.CustomRule] - """ - - _attribute_map = { - 'rules': {'key': 'rules', 'type': '[CustomRule]'}, - } - - def __init__(self, **kwargs): - super(CustomRuleList, self).__init__(**kwargs) - self.rules = kwargs.get('rules', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/custom_rule_list_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/custom_rule_list_py3.py deleted file mode 100644 index 504646dc06..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/custom_rule_list_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CustomRuleList(Model): - """Defines contents of custom rules. - - :param rules: List of rules - :type rules: list[~azure.mgmt.frontdoor.models.CustomRule] - """ - - _attribute_map = { - 'rules': {'key': 'rules', 'type': '[CustomRule]'}, - } - - def __init__(self, *, rules=None, **kwargs) -> None: - super(CustomRuleList, self).__init__(**kwargs) - self.rules = rules diff --git a/src/front-door/azext_front_door/vendored_sdks/models/custom_rule_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/custom_rule_py3.py deleted file mode 100644 index b029cc87cd..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/custom_rule_py3.py +++ /dev/null @@ -1,76 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CustomRule(Model): - """Defines contents of a web application rule. - - All required parameters must be populated in order to send to Azure. - - :param name: Describes the name of the rule. - :type name: str - :param priority: Required. Describes priority of the rule. Rules with a - lower value will be evaluated before rules with a higher value. - :type priority: int - :param enabled_state: Describes if the custom rule is in enabled or - disabled state. Defaults to Enabled if not specified. Possible values - include: 'Disabled', 'Enabled' - :type enabled_state: str or - ~azure.mgmt.frontdoor.models.CustomRuleEnabledState - :param rule_type: Required. Describes type of rule. Possible values - include: 'MatchRule', 'RateLimitRule' - :type rule_type: str or ~azure.mgmt.frontdoor.models.RuleType - :param rate_limit_duration_in_minutes: Time window for resetting the rate - limit count. Default is 1 minute. - :type rate_limit_duration_in_minutes: int - :param rate_limit_threshold: Number of allowed requests per client within - the time window. - :type rate_limit_threshold: int - :param match_conditions: Required. List of match conditions. - :type match_conditions: list[~azure.mgmt.frontdoor.models.MatchCondition] - :param action: Required. Describes what action to be applied when rule - matches. Possible values include: 'Allow', 'Block', 'Log', 'Redirect' - :type action: str or ~azure.mgmt.frontdoor.models.ActionType - """ - - _validation = { - 'name': {'max_length': 128}, - 'priority': {'required': True}, - 'rule_type': {'required': True}, - 'rate_limit_duration_in_minutes': {'maximum': 5, 'minimum': 0}, - 'rate_limit_threshold': {'minimum': 0}, - 'match_conditions': {'required': True}, - 'action': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'enabled_state': {'key': 'enabledState', 'type': 'str'}, - 'rule_type': {'key': 'ruleType', 'type': 'str'}, - 'rate_limit_duration_in_minutes': {'key': 'rateLimitDurationInMinutes', 'type': 'int'}, - 'rate_limit_threshold': {'key': 'rateLimitThreshold', 'type': 'int'}, - 'match_conditions': {'key': 'matchConditions', 'type': '[MatchCondition]'}, - 'action': {'key': 'action', 'type': 'str'}, - } - - def __init__(self, *, priority: int, rule_type, match_conditions, action, name: str=None, enabled_state=None, rate_limit_duration_in_minutes: int=None, rate_limit_threshold: int=None, **kwargs) -> None: - super(CustomRule, self).__init__(**kwargs) - self.name = name - self.priority = priority - self.enabled_state = enabled_state - self.rule_type = rule_type - self.rate_limit_duration_in_minutes = rate_limit_duration_in_minutes - self.rate_limit_threshold = rate_limit_threshold - self.match_conditions = match_conditions - self.action = action diff --git a/src/front-door/azext_front_door/vendored_sdks/models/endpoint.py b/src/front-door/azext_front_door/vendored_sdks/models/endpoint.py deleted file mode 100644 index 5f26f0bcd8..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/endpoint.py +++ /dev/null @@ -1,32 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Endpoint(Model): - """Defines the endpoint properties. - - :param name: The name of the endpoint - :type name: str - :param endpoint: The endpoint URL - :type endpoint: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'endpoint': {'key': 'endpoint', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Endpoint, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.endpoint = kwargs.get('endpoint', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/endpoint_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/endpoint_py3.py deleted file mode 100644 index a1989c1b15..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/endpoint_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Endpoint(Model): - """Defines the endpoint properties. - - :param name: The name of the endpoint - :type name: str - :param endpoint: The endpoint URL - :type endpoint: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'endpoint': {'key': 'endpoint', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, endpoint: str=None, **kwargs) -> None: - super(Endpoint, self).__init__(**kwargs) - self.name = name - self.endpoint = endpoint diff --git a/src/front-door/azext_front_door/vendored_sdks/models/error.py b/src/front-door/azext_front_door/vendored_sdks/models/error.py deleted file mode 100644 index 567bee542a..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/error.py +++ /dev/null @@ -1,44 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Error(Model): - """Error. - - :param code: - :type code: str - :param message: - :type message: str - :param target: - :type target: str - :param details: - :type details: list[~azure.mgmt.frontdoor.models.ErrorDetails] - :param inner_error: - :type inner_error: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ErrorDetails]'}, - 'inner_error': {'key': 'innerError', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Error, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.message = kwargs.get('message', None) - self.target = kwargs.get('target', None) - self.details = kwargs.get('details', None) - self.inner_error = kwargs.get('inner_error', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/error_details.py b/src/front-door/azext_front_door/vendored_sdks/models/error_details.py deleted file mode 100644 index a8c4da6ba9..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/error_details.py +++ /dev/null @@ -1,36 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ErrorDetails(Model): - """ErrorDetails. - - :param code: - :type code: str - :param target: - :type target: str - :param message: - :type message: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ErrorDetails, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.target = kwargs.get('target', None) - self.message = kwargs.get('message', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/error_details_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/error_details_py3.py deleted file mode 100644 index d791f08953..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/error_details_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ErrorDetails(Model): - """ErrorDetails. - - :param code: - :type code: str - :param target: - :type target: str - :param message: - :type message: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, *, code: str=None, target: str=None, message: str=None, **kwargs) -> None: - super(ErrorDetails, self).__init__(**kwargs) - self.code = code - self.target = target - self.message = message diff --git a/src/front-door/azext_front_door/vendored_sdks/models/error_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/error_py3.py deleted file mode 100644 index 7b5bb62ce3..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/error_py3.py +++ /dev/null @@ -1,44 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Error(Model): - """Error. - - :param code: - :type code: str - :param message: - :type message: str - :param target: - :type target: str - :param details: - :type details: list[~azure.mgmt.frontdoor.models.ErrorDetails] - :param inner_error: - :type inner_error: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ErrorDetails]'}, - 'inner_error': {'key': 'innerError', 'type': 'str'}, - } - - def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, inner_error: str=None, **kwargs) -> None: - super(Error, self).__init__(**kwargs) - self.code = code - self.message = message - self.target = target - self.details = details - self.inner_error = inner_error diff --git a/src/front-door/azext_front_door/vendored_sdks/models/error_response.py b/src/front-door/azext_front_door/vendored_sdks/models/error_response.py deleted file mode 100644 index 6a4694c831..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/error_response.py +++ /dev/null @@ -1,54 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError - - -class ErrorResponse(Model): - """Error response indicates Front Door service is not able to process the - incoming request. The reason is provided in the error message. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar code: Error code. - :vartype code: str - :ivar message: Error message indicating why the operation failed. - :vartype message: str - """ - - _validation = { - 'code': {'readonly': True}, - 'message': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ErrorResponse, self).__init__(**kwargs) - self.code = None - self.message = None - - -class ErrorResponseException(HttpOperationError): - """Server responsed with exception of type: 'ErrorResponse'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/error_response_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/error_response_py3.py deleted file mode 100644 index f1b2dcd401..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/error_response_py3.py +++ /dev/null @@ -1,54 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError - - -class ErrorResponse(Model): - """Error response indicates Front Door service is not able to process the - incoming request. The reason is provided in the error message. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar code: Error code. - :vartype code: str - :ivar message: Error message indicating why the operation failed. - :vartype message: str - """ - - _validation = { - 'code': {'readonly': True}, - 'message': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(ErrorResponse, self).__init__(**kwargs) - self.code = None - self.message = None - - -class ErrorResponseException(HttpOperationError): - """Server responsed with exception of type: 'ErrorResponse'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/experiment.py b/src/front-door/azext_front_door/vendored_sdks/models/experiment.py deleted file mode 100644 index 112283b026..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/experiment.py +++ /dev/null @@ -1,82 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class Experiment(Resource): - """Defines the properties of an Experiment. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param description: The description of the details or intents of the - Experiment - :type description: str - :param endpoint_a: The endpoint A of an experiment - :type endpoint_a: ~azure.mgmt.frontdoor.models.Endpoint - :param endpoint_b: The endpoint B of an experiment - :type endpoint_b: ~azure.mgmt.frontdoor.models.Endpoint - :param enabled_state: The state of the Experiment. Possible values - include: 'Enabled', 'Disabled' - :type enabled_state: str or ~azure.mgmt.frontdoor.models.State - :param resource_state: Resource status. Possible values include: - 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' - :type resource_state: str or - ~azure.mgmt.frontdoor.models.NetworkExperimentResourceState - :ivar status: The description of Experiment status from the server side - :vartype status: str - :ivar script_file_uri: The uri to the Script used in the Experiment - :vartype script_file_uri: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'status': {'readonly': True}, - 'script_file_uri': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'endpoint_a': {'key': 'properties.endpointA', 'type': 'Endpoint'}, - 'endpoint_b': {'key': 'properties.endpointB', 'type': 'Endpoint'}, - 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'status': {'key': 'properties.status', 'type': 'str'}, - 'script_file_uri': {'key': 'properties.scriptFileUri', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Experiment, self).__init__(**kwargs) - self.description = kwargs.get('description', None) - self.endpoint_a = kwargs.get('endpoint_a', None) - self.endpoint_b = kwargs.get('endpoint_b', None) - self.enabled_state = kwargs.get('enabled_state', None) - self.resource_state = kwargs.get('resource_state', None) - self.status = None - self.script_file_uri = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/experiment_paged.py b/src/front-door/azext_front_door/vendored_sdks/models/experiment_paged.py deleted file mode 100644 index e746258816..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/experiment_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ExperimentPaged(Paged): - """ - A paging container for iterating over a list of :class:`Experiment ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Experiment]'} - } - - def __init__(self, *args, **kwargs): - - super(ExperimentPaged, self).__init__(*args, **kwargs) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/experiment_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/experiment_py3.py deleted file mode 100644 index 426c231182..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/experiment_py3.py +++ /dev/null @@ -1,82 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class Experiment(Resource): - """Defines the properties of an Experiment. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param description: The description of the details or intents of the - Experiment - :type description: str - :param endpoint_a: The endpoint A of an experiment - :type endpoint_a: ~azure.mgmt.frontdoor.models.Endpoint - :param endpoint_b: The endpoint B of an experiment - :type endpoint_b: ~azure.mgmt.frontdoor.models.Endpoint - :param enabled_state: The state of the Experiment. Possible values - include: 'Enabled', 'Disabled' - :type enabled_state: str or ~azure.mgmt.frontdoor.models.State - :param resource_state: Resource status. Possible values include: - 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' - :type resource_state: str or - ~azure.mgmt.frontdoor.models.NetworkExperimentResourceState - :ivar status: The description of Experiment status from the server side - :vartype status: str - :ivar script_file_uri: The uri to the Script used in the Experiment - :vartype script_file_uri: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'status': {'readonly': True}, - 'script_file_uri': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'endpoint_a': {'key': 'properties.endpointA', 'type': 'Endpoint'}, - 'endpoint_b': {'key': 'properties.endpointB', 'type': 'Endpoint'}, - 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'status': {'key': 'properties.status', 'type': 'str'}, - 'script_file_uri': {'key': 'properties.scriptFileUri', 'type': 'str'}, - } - - def __init__(self, *, location: str=None, tags=None, description: str=None, endpoint_a=None, endpoint_b=None, enabled_state=None, resource_state=None, **kwargs) -> None: - super(Experiment, self).__init__(location=location, tags=tags, **kwargs) - self.description = description - self.endpoint_a = endpoint_a - self.endpoint_b = endpoint_b - self.enabled_state = enabled_state - self.resource_state = resource_state - self.status = None - self.script_file_uri = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/experiment_update_model.py b/src/front-door/azext_front_door/vendored_sdks/models/experiment_update_model.py deleted file mode 100644 index eff4cb4fb1..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/experiment_update_model.py +++ /dev/null @@ -1,38 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExperimentUpdateModel(Model): - """Defines modifiable attributes of an Experiment. - - :param tags: Resource tags. - :type tags: dict[str, str] - :param description: The description of the intent or details of the - Experiment - :type description: str - :param enabled_state: The state of the Experiment. Possible values - include: 'Enabled', 'Disabled' - :type enabled_state: str or ~azure.mgmt.frontdoor.models.State - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExperimentUpdateModel, self).__init__(**kwargs) - self.tags = kwargs.get('tags', None) - self.description = kwargs.get('description', None) - self.enabled_state = kwargs.get('enabled_state', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/experiment_update_model_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/experiment_update_model_py3.py deleted file mode 100644 index 7d1ca0b4e3..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/experiment_update_model_py3.py +++ /dev/null @@ -1,38 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ExperimentUpdateModel(Model): - """Defines modifiable attributes of an Experiment. - - :param tags: Resource tags. - :type tags: dict[str, str] - :param description: The description of the intent or details of the - Experiment - :type description: str - :param enabled_state: The state of the Experiment. Possible values - include: 'Enabled', 'Disabled' - :type enabled_state: str or ~azure.mgmt.frontdoor.models.State - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, - } - - def __init__(self, *, tags=None, description: str=None, enabled_state=None, **kwargs) -> None: - super(ExperimentUpdateModel, self).__init__(**kwargs) - self.tags = tags - self.description = description - self.enabled_state = enabled_state diff --git a/src/front-door/azext_front_door/vendored_sdks/models/forwarding_configuration.py b/src/front-door/azext_front_door/vendored_sdks/models/forwarding_configuration.py deleted file mode 100644 index 435f708738..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/forwarding_configuration.py +++ /dev/null @@ -1,56 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .route_configuration import RouteConfiguration - - -class ForwardingConfiguration(RouteConfiguration): - """Describes Forwarding Route. - - All required parameters must be populated in order to send to Azure. - - :param odatatype: Required. Constant filled by server. - :type odatatype: str - :param custom_forwarding_path: A custom path used to rewrite resource - paths matched by this rule. Leave empty to use incoming path. - :type custom_forwarding_path: str - :param forwarding_protocol: Protocol this rule will use when forwarding - traffic to backends. Possible values include: 'HttpOnly', 'HttpsOnly', - 'MatchRequest' - :type forwarding_protocol: str or - ~azure.mgmt.frontdoor.models.FrontDoorForwardingProtocol - :param cache_configuration: The caching configuration associated with this - rule. - :type cache_configuration: ~azure.mgmt.frontdoor.models.CacheConfiguration - :param backend_pool: A reference to the BackendPool which this rule routes - to. - :type backend_pool: ~azure.mgmt.frontdoor.models.SubResource - """ - - _validation = { - 'odatatype': {'required': True}, - } - - _attribute_map = { - 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, - 'custom_forwarding_path': {'key': 'customForwardingPath', 'type': 'str'}, - 'forwarding_protocol': {'key': 'forwardingProtocol', 'type': 'str'}, - 'cache_configuration': {'key': 'cacheConfiguration', 'type': 'CacheConfiguration'}, - 'backend_pool': {'key': 'backendPool', 'type': 'SubResource'}, - } - - def __init__(self, **kwargs): - super(ForwardingConfiguration, self).__init__(**kwargs) - self.custom_forwarding_path = kwargs.get('custom_forwarding_path', None) - self.forwarding_protocol = kwargs.get('forwarding_protocol', None) - self.cache_configuration = kwargs.get('cache_configuration', None) - self.backend_pool = kwargs.get('backend_pool', None) - self.odatatype = '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration' diff --git a/src/front-door/azext_front_door/vendored_sdks/models/forwarding_configuration_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/forwarding_configuration_py3.py deleted file mode 100644 index cd85623364..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/forwarding_configuration_py3.py +++ /dev/null @@ -1,56 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .route_configuration_py3 import RouteConfiguration - - -class ForwardingConfiguration(RouteConfiguration): - """Describes Forwarding Route. - - All required parameters must be populated in order to send to Azure. - - :param odatatype: Required. Constant filled by server. - :type odatatype: str - :param custom_forwarding_path: A custom path used to rewrite resource - paths matched by this rule. Leave empty to use incoming path. - :type custom_forwarding_path: str - :param forwarding_protocol: Protocol this rule will use when forwarding - traffic to backends. Possible values include: 'HttpOnly', 'HttpsOnly', - 'MatchRequest' - :type forwarding_protocol: str or - ~azure.mgmt.frontdoor.models.FrontDoorForwardingProtocol - :param cache_configuration: The caching configuration associated with this - rule. - :type cache_configuration: ~azure.mgmt.frontdoor.models.CacheConfiguration - :param backend_pool: A reference to the BackendPool which this rule routes - to. - :type backend_pool: ~azure.mgmt.frontdoor.models.SubResource - """ - - _validation = { - 'odatatype': {'required': True}, - } - - _attribute_map = { - 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, - 'custom_forwarding_path': {'key': 'customForwardingPath', 'type': 'str'}, - 'forwarding_protocol': {'key': 'forwardingProtocol', 'type': 'str'}, - 'cache_configuration': {'key': 'cacheConfiguration', 'type': 'CacheConfiguration'}, - 'backend_pool': {'key': 'backendPool', 'type': 'SubResource'}, - } - - def __init__(self, *, custom_forwarding_path: str=None, forwarding_protocol=None, cache_configuration=None, backend_pool=None, **kwargs) -> None: - super(ForwardingConfiguration, self).__init__(**kwargs) - self.custom_forwarding_path = custom_forwarding_path - self.forwarding_protocol = forwarding_protocol - self.cache_configuration = cache_configuration - self.backend_pool = backend_pool - self.odatatype = '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration' diff --git a/src/front-door/azext_front_door/vendored_sdks/models/front_door.py b/src/front-door/azext_front_door/vendored_sdks/models/front_door.py deleted file mode 100644 index 513f01aea8..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/front_door.py +++ /dev/null @@ -1,107 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -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. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param friendly_name: A friendly name for the frontDoor - :type friendly_name: str - :param routing_rules: Routing rules associated with this Front Door. - :type routing_rules: list[~azure.mgmt.frontdoor.models.RoutingRule] - :param load_balancing_settings: Load balancing settings associated with - this Front Door instance. - :type load_balancing_settings: - list[~azure.mgmt.frontdoor.models.LoadBalancingSettingsModel] - :param health_probe_settings: Health probe settings associated with this - Front Door instance. - :type health_probe_settings: - list[~azure.mgmt.frontdoor.models.HealthProbeSettingsModel] - :param backend_pools: Backend pools available to routing rules. - :type backend_pools: list[~azure.mgmt.frontdoor.models.BackendPool] - :param frontend_endpoints: Frontend endpoints available to routing rules. - :type frontend_endpoints: - list[~azure.mgmt.frontdoor.models.FrontendEndpoint] - :param backend_pools_settings: Settings for all backendPools - :type backend_pools_settings: - ~azure.mgmt.frontdoor.models.BackendPoolsSettings - :param enabled_state: Operational status of the Front Door load balancer. - Permitted values are 'Enabled' or 'Disabled'. Possible values include: - 'Enabled', 'Disabled' - :type enabled_state: str or - ~azure.mgmt.frontdoor.models.FrontDoorEnabledState - :param resource_state: Resource status of the Front Door. Possible values - include: 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', - 'Deleting' - :type resource_state: str or - ~azure.mgmt.frontdoor.models.FrontDoorResourceState - :ivar provisioning_state: Provisioning state of the Front Door. - :vartype provisioning_state: str - :ivar cname: The host that each frontendEndpoint must CNAME to. - :vartype cname: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'cname': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, - 'routing_rules': {'key': 'properties.routingRules', 'type': '[RoutingRule]'}, - 'load_balancing_settings': {'key': 'properties.loadBalancingSettings', 'type': '[LoadBalancingSettingsModel]'}, - 'health_probe_settings': {'key': 'properties.healthProbeSettings', 'type': '[HealthProbeSettingsModel]'}, - 'backend_pools': {'key': 'properties.backendPools', 'type': '[BackendPool]'}, - 'frontend_endpoints': {'key': 'properties.frontendEndpoints', 'type': '[FrontendEndpoint]'}, - 'backend_pools_settings': {'key': 'properties.backendPoolsSettings', 'type': 'BackendPoolsSettings'}, - 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'cname': {'key': 'properties.cname', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(FrontDoor, self).__init__(**kwargs) - self.friendly_name = kwargs.get('friendly_name', None) - self.routing_rules = kwargs.get('routing_rules', None) - self.load_balancing_settings = kwargs.get('load_balancing_settings', None) - self.health_probe_settings = kwargs.get('health_probe_settings', None) - self.backend_pools = kwargs.get('backend_pools', None) - self.frontend_endpoints = kwargs.get('frontend_endpoints', None) - self.backend_pools_settings = kwargs.get('backend_pools_settings', None) - self.enabled_state = kwargs.get('enabled_state', None) - self.resource_state = kwargs.get('resource_state', None) - self.provisioning_state = None - self.cname = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/front_door_paged.py b/src/front-door/azext_front_door/vendored_sdks/models/front_door_paged.py deleted file mode 100644 index b7bf875fe8..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/front_door_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class FrontDoorPaged(Paged): - """ - A paging container for iterating over a list of :class:`FrontDoor ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[FrontDoor]'} - } - - def __init__(self, *args, **kwargs): - - super(FrontDoorPaged, self).__init__(*args, **kwargs) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/front_door_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/front_door_py3.py deleted file mode 100644 index 1fbac84552..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/front_door_py3.py +++ /dev/null @@ -1,107 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -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. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param friendly_name: A friendly name for the frontDoor - :type friendly_name: str - :param routing_rules: Routing rules associated with this Front Door. - :type routing_rules: list[~azure.mgmt.frontdoor.models.RoutingRule] - :param load_balancing_settings: Load balancing settings associated with - this Front Door instance. - :type load_balancing_settings: - list[~azure.mgmt.frontdoor.models.LoadBalancingSettingsModel] - :param health_probe_settings: Health probe settings associated with this - Front Door instance. - :type health_probe_settings: - list[~azure.mgmt.frontdoor.models.HealthProbeSettingsModel] - :param backend_pools: Backend pools available to routing rules. - :type backend_pools: list[~azure.mgmt.frontdoor.models.BackendPool] - :param frontend_endpoints: Frontend endpoints available to routing rules. - :type frontend_endpoints: - list[~azure.mgmt.frontdoor.models.FrontendEndpoint] - :param backend_pools_settings: Settings for all backendPools - :type backend_pools_settings: - ~azure.mgmt.frontdoor.models.BackendPoolsSettings - :param enabled_state: Operational status of the Front Door load balancer. - Permitted values are 'Enabled' or 'Disabled'. Possible values include: - 'Enabled', 'Disabled' - :type enabled_state: str or - ~azure.mgmt.frontdoor.models.FrontDoorEnabledState - :param resource_state: Resource status of the Front Door. Possible values - include: 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', - 'Deleting' - :type resource_state: str or - ~azure.mgmt.frontdoor.models.FrontDoorResourceState - :ivar provisioning_state: Provisioning state of the Front Door. - :vartype provisioning_state: str - :ivar cname: The host that each frontendEndpoint must CNAME to. - :vartype cname: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'cname': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, - 'routing_rules': {'key': 'properties.routingRules', 'type': '[RoutingRule]'}, - 'load_balancing_settings': {'key': 'properties.loadBalancingSettings', 'type': '[LoadBalancingSettingsModel]'}, - 'health_probe_settings': {'key': 'properties.healthProbeSettings', 'type': '[HealthProbeSettingsModel]'}, - 'backend_pools': {'key': 'properties.backendPools', 'type': '[BackendPool]'}, - 'frontend_endpoints': {'key': 'properties.frontendEndpoints', 'type': '[FrontendEndpoint]'}, - 'backend_pools_settings': {'key': 'properties.backendPoolsSettings', 'type': 'BackendPoolsSettings'}, - 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'cname': {'key': 'properties.cname', 'type': 'str'}, - } - - def __init__(self, *, location: str=None, tags=None, friendly_name: str=None, routing_rules=None, load_balancing_settings=None, health_probe_settings=None, backend_pools=None, frontend_endpoints=None, backend_pools_settings=None, enabled_state=None, resource_state=None, **kwargs) -> None: - super(FrontDoor, self).__init__(location=location, tags=tags, **kwargs) - self.friendly_name = friendly_name - self.routing_rules = routing_rules - self.load_balancing_settings = load_balancing_settings - self.health_probe_settings = health_probe_settings - self.backend_pools = backend_pools - self.frontend_endpoints = frontend_endpoints - self.backend_pools_settings = backend_pools_settings - self.enabled_state = enabled_state - self.resource_state = resource_state - self.provisioning_state = None - self.cname = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/front_door_update_parameters.py b/src/front-door/azext_front_door/vendored_sdks/models/front_door_update_parameters.py deleted file mode 100644 index f5e1816bd9..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/front_door_update_parameters.py +++ /dev/null @@ -1,65 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class FrontDoorUpdateParameters(Model): - """The properties needed to update a Front Door. - - :param friendly_name: A friendly name for the frontDoor - :type friendly_name: str - :param routing_rules: Routing rules associated with this Front Door. - :type routing_rules: list[~azure.mgmt.frontdoor.models.RoutingRule] - :param load_balancing_settings: Load balancing settings associated with - this Front Door instance. - :type load_balancing_settings: - list[~azure.mgmt.frontdoor.models.LoadBalancingSettingsModel] - :param health_probe_settings: Health probe settings associated with this - Front Door instance. - :type health_probe_settings: - list[~azure.mgmt.frontdoor.models.HealthProbeSettingsModel] - :param backend_pools: Backend pools available to routing rules. - :type backend_pools: list[~azure.mgmt.frontdoor.models.BackendPool] - :param frontend_endpoints: Frontend endpoints available to routing rules. - :type frontend_endpoints: - list[~azure.mgmt.frontdoor.models.FrontendEndpoint] - :param backend_pools_settings: Settings for all backendPools - :type backend_pools_settings: - ~azure.mgmt.frontdoor.models.BackendPoolsSettings - :param enabled_state: Operational status of the Front Door load balancer. - Permitted values are 'Enabled' or 'Disabled'. Possible values include: - 'Enabled', 'Disabled' - :type enabled_state: str or - ~azure.mgmt.frontdoor.models.FrontDoorEnabledState - """ - - _attribute_map = { - 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, - 'routing_rules': {'key': 'routingRules', 'type': '[RoutingRule]'}, - 'load_balancing_settings': {'key': 'loadBalancingSettings', 'type': '[LoadBalancingSettingsModel]'}, - 'health_probe_settings': {'key': 'healthProbeSettings', 'type': '[HealthProbeSettingsModel]'}, - 'backend_pools': {'key': 'backendPools', 'type': '[BackendPool]'}, - 'frontend_endpoints': {'key': 'frontendEndpoints', 'type': '[FrontendEndpoint]'}, - 'backend_pools_settings': {'key': 'backendPoolsSettings', 'type': 'BackendPoolsSettings'}, - 'enabled_state': {'key': 'enabledState', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(FrontDoorUpdateParameters, self).__init__(**kwargs) - self.friendly_name = kwargs.get('friendly_name', None) - self.routing_rules = kwargs.get('routing_rules', None) - self.load_balancing_settings = kwargs.get('load_balancing_settings', None) - self.health_probe_settings = kwargs.get('health_probe_settings', None) - self.backend_pools = kwargs.get('backend_pools', None) - self.frontend_endpoints = kwargs.get('frontend_endpoints', None) - self.backend_pools_settings = kwargs.get('backend_pools_settings', None) - self.enabled_state = kwargs.get('enabled_state', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/front_door_update_parameters_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/front_door_update_parameters_py3.py deleted file mode 100644 index 09b6cded26..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/front_door_update_parameters_py3.py +++ /dev/null @@ -1,65 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class FrontDoorUpdateParameters(Model): - """The properties needed to update a Front Door. - - :param friendly_name: A friendly name for the frontDoor - :type friendly_name: str - :param routing_rules: Routing rules associated with this Front Door. - :type routing_rules: list[~azure.mgmt.frontdoor.models.RoutingRule] - :param load_balancing_settings: Load balancing settings associated with - this Front Door instance. - :type load_balancing_settings: - list[~azure.mgmt.frontdoor.models.LoadBalancingSettingsModel] - :param health_probe_settings: Health probe settings associated with this - Front Door instance. - :type health_probe_settings: - list[~azure.mgmt.frontdoor.models.HealthProbeSettingsModel] - :param backend_pools: Backend pools available to routing rules. - :type backend_pools: list[~azure.mgmt.frontdoor.models.BackendPool] - :param frontend_endpoints: Frontend endpoints available to routing rules. - :type frontend_endpoints: - list[~azure.mgmt.frontdoor.models.FrontendEndpoint] - :param backend_pools_settings: Settings for all backendPools - :type backend_pools_settings: - ~azure.mgmt.frontdoor.models.BackendPoolsSettings - :param enabled_state: Operational status of the Front Door load balancer. - Permitted values are 'Enabled' or 'Disabled'. Possible values include: - 'Enabled', 'Disabled' - :type enabled_state: str or - ~azure.mgmt.frontdoor.models.FrontDoorEnabledState - """ - - _attribute_map = { - 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, - 'routing_rules': {'key': 'routingRules', 'type': '[RoutingRule]'}, - 'load_balancing_settings': {'key': 'loadBalancingSettings', 'type': '[LoadBalancingSettingsModel]'}, - 'health_probe_settings': {'key': 'healthProbeSettings', 'type': '[HealthProbeSettingsModel]'}, - 'backend_pools': {'key': 'backendPools', 'type': '[BackendPool]'}, - 'frontend_endpoints': {'key': 'frontendEndpoints', 'type': '[FrontendEndpoint]'}, - 'backend_pools_settings': {'key': 'backendPoolsSettings', 'type': 'BackendPoolsSettings'}, - 'enabled_state': {'key': 'enabledState', 'type': 'str'}, - } - - def __init__(self, *, friendly_name: str=None, routing_rules=None, load_balancing_settings=None, health_probe_settings=None, backend_pools=None, frontend_endpoints=None, backend_pools_settings=None, enabled_state=None, **kwargs) -> None: - super(FrontDoorUpdateParameters, self).__init__(**kwargs) - self.friendly_name = friendly_name - self.routing_rules = routing_rules - self.load_balancing_settings = load_balancing_settings - self.health_probe_settings = health_probe_settings - self.backend_pools = backend_pools - self.frontend_endpoints = frontend_endpoints - self.backend_pools_settings = backend_pools_settings - self.enabled_state = enabled_state diff --git a/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint.py b/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint.py deleted file mode 100644 index 09e5af405c..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint.py +++ /dev/null @@ -1,100 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class FrontendEndpoint(SubResource): - """A frontend endpoint used for routing. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param host_name: The host name of the frontendEndpoint. Must be a domain - name. - :type host_name: str - :param session_affinity_enabled_state: Whether to allow session affinity - on this host. Valid options are 'Enabled' or 'Disabled'. Possible values - include: 'Enabled', 'Disabled' - :type session_affinity_enabled_state: str or - ~azure.mgmt.frontdoor.models.SessionAffinityEnabledState - :param session_affinity_ttl_seconds: UNUSED. This field will be ignored. - The TTL to use in seconds for session affinity, if applicable. - :type session_affinity_ttl_seconds: int - :param web_application_firewall_policy_link: Defines the Web Application - Firewall policy for each host (if applicable) - :type web_application_firewall_policy_link: - ~azure.mgmt.frontdoor.models.FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink - :param resource_state: Resource status. Possible values include: - 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' - :type resource_state: str or - ~azure.mgmt.frontdoor.models.FrontDoorResourceState - :ivar custom_https_provisioning_state: Provisioning status of Custom Https - of the frontendEndpoint. Possible values include: 'Enabling', 'Enabled', - 'Disabling', 'Disabled', 'Failed' - :vartype custom_https_provisioning_state: str or - ~azure.mgmt.frontdoor.models.CustomHttpsProvisioningState - :ivar custom_https_provisioning_substate: Provisioning substate shows the - progress of custom HTTPS enabling/disabling process step by step. Possible - values include: 'SubmittingDomainControlValidationRequest', - 'PendingDomainControlValidationREquestApproval', - 'DomainControlValidationRequestApproved', - 'DomainControlValidationRequestRejected', - 'DomainControlValidationRequestTimedOut', 'IssuingCertificate', - 'DeployingCertificate', 'CertificateDeployed', 'DeletingCertificate', - 'CertificateDeleted' - :vartype custom_https_provisioning_substate: str or - ~azure.mgmt.frontdoor.models.CustomHttpsProvisioningSubstate - :ivar custom_https_configuration: The configuration specifying how to - enable HTTPS - :vartype custom_https_configuration: - ~azure.mgmt.frontdoor.models.CustomHttpsConfiguration - :param name: Resource name. - :type name: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'custom_https_provisioning_state': {'readonly': True}, - 'custom_https_provisioning_substate': {'readonly': True}, - 'custom_https_configuration': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'host_name': {'key': 'properties.hostName', 'type': 'str'}, - 'session_affinity_enabled_state': {'key': 'properties.sessionAffinityEnabledState', 'type': 'str'}, - 'session_affinity_ttl_seconds': {'key': 'properties.sessionAffinityTtlSeconds', 'type': 'int'}, - 'web_application_firewall_policy_link': {'key': 'properties.webApplicationFirewallPolicyLink', 'type': 'FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'custom_https_provisioning_state': {'key': 'properties.customHttpsProvisioningState', 'type': 'str'}, - 'custom_https_provisioning_substate': {'key': 'properties.customHttpsProvisioningSubstate', 'type': 'str'}, - 'custom_https_configuration': {'key': 'properties.customHttpsConfiguration', 'type': 'CustomHttpsConfiguration'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(FrontendEndpoint, self).__init__(**kwargs) - self.host_name = kwargs.get('host_name', None) - self.session_affinity_enabled_state = kwargs.get('session_affinity_enabled_state', None) - self.session_affinity_ttl_seconds = kwargs.get('session_affinity_ttl_seconds', None) - self.web_application_firewall_policy_link = kwargs.get('web_application_firewall_policy_link', None) - self.resource_state = kwargs.get('resource_state', None) - self.custom_https_provisioning_state = None - self.custom_https_provisioning_substate = None - self.custom_https_configuration = None - self.name = kwargs.get('name', None) - self.type = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_link.py b/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_link.py deleted file mode 100644 index f1497da992..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_link.py +++ /dev/null @@ -1,28 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class FrontendEndpointLink(Model): - """Defines the Resource ID for a Frontend Endpoint. - - :param id: Resource ID. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(FrontendEndpointLink, self).__init__(**kwargs) - self.id = kwargs.get('id', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_link_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_link_py3.py deleted file mode 100644 index 5493cb083a..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_link_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class FrontendEndpointLink(Model): - """Defines the Resource ID for a Frontend Endpoint. - - :param id: Resource ID. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(FrontendEndpointLink, self).__init__(**kwargs) - self.id = id diff --git a/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_paged.py b/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_paged.py deleted file mode 100644 index ed34b14ca8..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class FrontendEndpointPaged(Paged): - """ - A paging container for iterating over a list of :class:`FrontendEndpoint ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[FrontendEndpoint]'} - } - - def __init__(self, *args, **kwargs): - - super(FrontendEndpointPaged, self).__init__(*args, **kwargs) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_py3.py deleted file mode 100644 index 9bbb6d2a7f..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_py3.py +++ /dev/null @@ -1,100 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class FrontendEndpoint(SubResource): - """A frontend endpoint used for routing. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param host_name: The host name of the frontendEndpoint. Must be a domain - name. - :type host_name: str - :param session_affinity_enabled_state: Whether to allow session affinity - on this host. Valid options are 'Enabled' or 'Disabled'. Possible values - include: 'Enabled', 'Disabled' - :type session_affinity_enabled_state: str or - ~azure.mgmt.frontdoor.models.SessionAffinityEnabledState - :param session_affinity_ttl_seconds: UNUSED. This field will be ignored. - The TTL to use in seconds for session affinity, if applicable. - :type session_affinity_ttl_seconds: int - :param web_application_firewall_policy_link: Defines the Web Application - Firewall policy for each host (if applicable) - :type web_application_firewall_policy_link: - ~azure.mgmt.frontdoor.models.FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink - :param resource_state: Resource status. Possible values include: - 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' - :type resource_state: str or - ~azure.mgmt.frontdoor.models.FrontDoorResourceState - :ivar custom_https_provisioning_state: Provisioning status of Custom Https - of the frontendEndpoint. Possible values include: 'Enabling', 'Enabled', - 'Disabling', 'Disabled', 'Failed' - :vartype custom_https_provisioning_state: str or - ~azure.mgmt.frontdoor.models.CustomHttpsProvisioningState - :ivar custom_https_provisioning_substate: Provisioning substate shows the - progress of custom HTTPS enabling/disabling process step by step. Possible - values include: 'SubmittingDomainControlValidationRequest', - 'PendingDomainControlValidationREquestApproval', - 'DomainControlValidationRequestApproved', - 'DomainControlValidationRequestRejected', - 'DomainControlValidationRequestTimedOut', 'IssuingCertificate', - 'DeployingCertificate', 'CertificateDeployed', 'DeletingCertificate', - 'CertificateDeleted' - :vartype custom_https_provisioning_substate: str or - ~azure.mgmt.frontdoor.models.CustomHttpsProvisioningSubstate - :ivar custom_https_configuration: The configuration specifying how to - enable HTTPS - :vartype custom_https_configuration: - ~azure.mgmt.frontdoor.models.CustomHttpsConfiguration - :param name: Resource name. - :type name: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'custom_https_provisioning_state': {'readonly': True}, - 'custom_https_provisioning_substate': {'readonly': True}, - 'custom_https_configuration': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'host_name': {'key': 'properties.hostName', 'type': 'str'}, - 'session_affinity_enabled_state': {'key': 'properties.sessionAffinityEnabledState', 'type': 'str'}, - 'session_affinity_ttl_seconds': {'key': 'properties.sessionAffinityTtlSeconds', 'type': 'int'}, - 'web_application_firewall_policy_link': {'key': 'properties.webApplicationFirewallPolicyLink', 'type': 'FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'custom_https_provisioning_state': {'key': 'properties.customHttpsProvisioningState', 'type': 'str'}, - 'custom_https_provisioning_substate': {'key': 'properties.customHttpsProvisioningSubstate', 'type': 'str'}, - 'custom_https_configuration': {'key': 'properties.customHttpsConfiguration', 'type': 'CustomHttpsConfiguration'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, host_name: str=None, session_affinity_enabled_state=None, session_affinity_ttl_seconds: int=None, web_application_firewall_policy_link=None, resource_state=None, name: str=None, **kwargs) -> None: - super(FrontendEndpoint, self).__init__(id=id, **kwargs) - self.host_name = host_name - self.session_affinity_enabled_state = session_affinity_enabled_state - self.session_affinity_ttl_seconds = session_affinity_ttl_seconds - self.web_application_firewall_policy_link = web_application_firewall_policy_link - self.resource_state = resource_state - self.custom_https_provisioning_state = None - self.custom_https_provisioning_substate = None - self.custom_https_configuration = None - self.name = name - self.type = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_update_parameters.py b/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_update_parameters.py deleted file mode 100644 index e1ac88018f..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_update_parameters.py +++ /dev/null @@ -1,47 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class FrontendEndpointUpdateParameters(Model): - """Frontend endpoint used in routing rule. - - :param host_name: The host name of the frontendEndpoint. Must be a domain - name. - :type host_name: str - :param session_affinity_enabled_state: Whether to allow session affinity - on this host. Valid options are 'Enabled' or 'Disabled'. Possible values - include: 'Enabled', 'Disabled' - :type session_affinity_enabled_state: str or - ~azure.mgmt.frontdoor.models.SessionAffinityEnabledState - :param session_affinity_ttl_seconds: UNUSED. This field will be ignored. - The TTL to use in seconds for session affinity, if applicable. - :type session_affinity_ttl_seconds: int - :param web_application_firewall_policy_link: Defines the Web Application - Firewall policy for each host (if applicable) - :type web_application_firewall_policy_link: - ~azure.mgmt.frontdoor.models.FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink - """ - - _attribute_map = { - 'host_name': {'key': 'hostName', 'type': 'str'}, - 'session_affinity_enabled_state': {'key': 'sessionAffinityEnabledState', 'type': 'str'}, - 'session_affinity_ttl_seconds': {'key': 'sessionAffinityTtlSeconds', 'type': 'int'}, - 'web_application_firewall_policy_link': {'key': 'webApplicationFirewallPolicyLink', 'type': 'FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink'}, - } - - def __init__(self, **kwargs): - super(FrontendEndpointUpdateParameters, self).__init__(**kwargs) - self.host_name = kwargs.get('host_name', None) - self.session_affinity_enabled_state = kwargs.get('session_affinity_enabled_state', None) - self.session_affinity_ttl_seconds = kwargs.get('session_affinity_ttl_seconds', None) - self.web_application_firewall_policy_link = kwargs.get('web_application_firewall_policy_link', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_update_parameters_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_update_parameters_py3.py deleted file mode 100644 index 48e1c1c132..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_update_parameters_py3.py +++ /dev/null @@ -1,47 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class FrontendEndpointUpdateParameters(Model): - """Frontend endpoint used in routing rule. - - :param host_name: The host name of the frontendEndpoint. Must be a domain - name. - :type host_name: str - :param session_affinity_enabled_state: Whether to allow session affinity - on this host. Valid options are 'Enabled' or 'Disabled'. Possible values - include: 'Enabled', 'Disabled' - :type session_affinity_enabled_state: str or - ~azure.mgmt.frontdoor.models.SessionAffinityEnabledState - :param session_affinity_ttl_seconds: UNUSED. This field will be ignored. - The TTL to use in seconds for session affinity, if applicable. - :type session_affinity_ttl_seconds: int - :param web_application_firewall_policy_link: Defines the Web Application - Firewall policy for each host (if applicable) - :type web_application_firewall_policy_link: - ~azure.mgmt.frontdoor.models.FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink - """ - - _attribute_map = { - 'host_name': {'key': 'hostName', 'type': 'str'}, - 'session_affinity_enabled_state': {'key': 'sessionAffinityEnabledState', 'type': 'str'}, - 'session_affinity_ttl_seconds': {'key': 'sessionAffinityTtlSeconds', 'type': 'int'}, - 'web_application_firewall_policy_link': {'key': 'webApplicationFirewallPolicyLink', 'type': 'FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink'}, - } - - def __init__(self, *, host_name: str=None, session_affinity_enabled_state=None, session_affinity_ttl_seconds: int=None, web_application_firewall_policy_link=None, **kwargs) -> None: - super(FrontendEndpointUpdateParameters, self).__init__(**kwargs) - self.host_name = host_name - self.session_affinity_enabled_state = session_affinity_enabled_state - self.session_affinity_ttl_seconds = session_affinity_ttl_seconds - self.web_application_firewall_policy_link = web_application_firewall_policy_link diff --git a/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_update_parameters_web_application_firewall_policy_link.py b/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_update_parameters_web_application_firewall_policy_link.py deleted file mode 100644 index 2384750691..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_update_parameters_web_application_firewall_policy_link.py +++ /dev/null @@ -1,28 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink(Model): - """Defines the Web Application Firewall policy for each host (if applicable). - - :param id: Resource ID. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink, self).__init__(**kwargs) - self.id = kwargs.get('id', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_update_parameters_web_application_firewall_policy_link_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_update_parameters_web_application_firewall_policy_link_py3.py deleted file mode 100644 index ae132742e1..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/frontend_endpoint_update_parameters_web_application_firewall_policy_link_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink(Model): - """Defines the Web Application Firewall policy for each host (if applicable). - - :param id: Resource ID. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink, self).__init__(**kwargs) - self.id = id diff --git a/src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_list_result.py b/src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_list_result.py deleted file mode 100644 index 4128230da9..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_list_result.py +++ /dev/null @@ -1,42 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HealthProbeSettingsListResult(Model): - """Result of the request to list HealthProbeSettings. It contains a list of - HealthProbeSettings objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar value: List of HealthProbeSettings within a Front Door. - :vartype value: - list[~azure.mgmt.frontdoor.models.HealthProbeSettingsModel] - :param next_link: URL to get the next set of HealthProbeSettings objects - if there are any. - :type next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[HealthProbeSettingsModel]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(HealthProbeSettingsListResult, self).__init__(**kwargs) - self.value = None - self.next_link = kwargs.get('next_link', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_list_result_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_list_result_py3.py deleted file mode 100644 index 0bc4a24261..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_list_result_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HealthProbeSettingsListResult(Model): - """Result of the request to list HealthProbeSettings. It contains a list of - HealthProbeSettings objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar value: List of HealthProbeSettings within a Front Door. - :vartype value: - list[~azure.mgmt.frontdoor.models.HealthProbeSettingsModel] - :param next_link: URL to get the next set of HealthProbeSettings objects - if there are any. - :type next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[HealthProbeSettingsModel]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, next_link: str=None, **kwargs) -> None: - super(HealthProbeSettingsListResult, self).__init__(**kwargs) - self.value = None - self.next_link = next_link diff --git a/src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_model.py b/src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_model.py deleted file mode 100644 index 328782297e..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_model.py +++ /dev/null @@ -1,76 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class HealthProbeSettingsModel(SubResource): - """Load balancing settings for a backend pool. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param path: The path to use for the health probe. Default is / - :type path: str - :param protocol: Protocol scheme to use for this probe. Possible values - include: 'Http', 'Https' - :type protocol: str or ~azure.mgmt.frontdoor.models.FrontDoorProtocol - :param interval_in_seconds: The number of seconds between health probes. - :type interval_in_seconds: int - :param health_probe_method: Configures which HTTP method to use to probe - the backends defined under backendPools. Possible values include: 'GET', - 'HEAD'. Default value: "HEAD" . - :type health_probe_method: str or - ~azure.mgmt.frontdoor.models.FrontDoorHealthProbeMethod - :param enabled_state: 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. Possible - values include: 'Enabled', 'Disabled' - :type enabled_state: str or - ~azure.mgmt.frontdoor.models.HealthProbeEnabled - :param resource_state: Resource status. Possible values include: - 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' - :type resource_state: str or - ~azure.mgmt.frontdoor.models.FrontDoorResourceState - :param name: Resource name. - :type name: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'path': {'key': 'properties.path', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, - 'health_probe_method': {'key': 'properties.healthProbeMethod', 'type': 'str'}, - 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(HealthProbeSettingsModel, self).__init__(**kwargs) - self.path = kwargs.get('path', None) - self.protocol = kwargs.get('protocol', None) - self.interval_in_seconds = kwargs.get('interval_in_seconds', None) - self.health_probe_method = kwargs.get('health_probe_method', "HEAD") - self.enabled_state = kwargs.get('enabled_state', None) - self.resource_state = kwargs.get('resource_state', None) - self.name = kwargs.get('name', None) - self.type = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_model_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_model_py3.py deleted file mode 100644 index d379453e3b..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_model_py3.py +++ /dev/null @@ -1,76 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class HealthProbeSettingsModel(SubResource): - """Load balancing settings for a backend pool. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param path: The path to use for the health probe. Default is / - :type path: str - :param protocol: Protocol scheme to use for this probe. Possible values - include: 'Http', 'Https' - :type protocol: str or ~azure.mgmt.frontdoor.models.FrontDoorProtocol - :param interval_in_seconds: The number of seconds between health probes. - :type interval_in_seconds: int - :param health_probe_method: Configures which HTTP method to use to probe - the backends defined under backendPools. Possible values include: 'GET', - 'HEAD'. Default value: "HEAD" . - :type health_probe_method: str or - ~azure.mgmt.frontdoor.models.FrontDoorHealthProbeMethod - :param enabled_state: 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. Possible - values include: 'Enabled', 'Disabled' - :type enabled_state: str or - ~azure.mgmt.frontdoor.models.HealthProbeEnabled - :param resource_state: Resource status. Possible values include: - 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' - :type resource_state: str or - ~azure.mgmt.frontdoor.models.FrontDoorResourceState - :param name: Resource name. - :type name: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'path': {'key': 'properties.path', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, - 'health_probe_method': {'key': 'properties.healthProbeMethod', 'type': 'str'}, - 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, path: str=None, protocol=None, interval_in_seconds: int=None, health_probe_method="HEAD", enabled_state=None, resource_state=None, name: str=None, **kwargs) -> None: - super(HealthProbeSettingsModel, self).__init__(id=id, **kwargs) - self.path = path - self.protocol = protocol - self.interval_in_seconds = interval_in_seconds - self.health_probe_method = health_probe_method - self.enabled_state = enabled_state - self.resource_state = resource_state - self.name = name - self.type = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_update_parameters.py b/src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_update_parameters.py deleted file mode 100644 index be6cfd6173..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_update_parameters.py +++ /dev/null @@ -1,52 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HealthProbeSettingsUpdateParameters(Model): - """L7 health probe settings for a backend pool. - - :param path: The path to use for the health probe. Default is / - :type path: str - :param protocol: Protocol scheme to use for this probe. Possible values - include: 'Http', 'Https' - :type protocol: str or ~azure.mgmt.frontdoor.models.FrontDoorProtocol - :param interval_in_seconds: The number of seconds between health probes. - :type interval_in_seconds: int - :param health_probe_method: Configures which HTTP method to use to probe - the backends defined under backendPools. Possible values include: 'GET', - 'HEAD'. Default value: "HEAD" . - :type health_probe_method: str or - ~azure.mgmt.frontdoor.models.FrontDoorHealthProbeMethod - :param enabled_state: 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. Possible - values include: 'Enabled', 'Disabled' - :type enabled_state: str or - ~azure.mgmt.frontdoor.models.HealthProbeEnabled - """ - - _attribute_map = { - 'path': {'key': 'path', 'type': 'str'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'interval_in_seconds': {'key': 'intervalInSeconds', 'type': 'int'}, - 'health_probe_method': {'key': 'healthProbeMethod', 'type': 'str'}, - 'enabled_state': {'key': 'enabledState', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(HealthProbeSettingsUpdateParameters, self).__init__(**kwargs) - self.path = kwargs.get('path', None) - self.protocol = kwargs.get('protocol', None) - self.interval_in_seconds = kwargs.get('interval_in_seconds', None) - self.health_probe_method = kwargs.get('health_probe_method', "HEAD") - self.enabled_state = kwargs.get('enabled_state', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_update_parameters_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_update_parameters_py3.py deleted file mode 100644 index 8ea262f41c..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/health_probe_settings_update_parameters_py3.py +++ /dev/null @@ -1,52 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HealthProbeSettingsUpdateParameters(Model): - """L7 health probe settings for a backend pool. - - :param path: The path to use for the health probe. Default is / - :type path: str - :param protocol: Protocol scheme to use for this probe. Possible values - include: 'Http', 'Https' - :type protocol: str or ~azure.mgmt.frontdoor.models.FrontDoorProtocol - :param interval_in_seconds: The number of seconds between health probes. - :type interval_in_seconds: int - :param health_probe_method: Configures which HTTP method to use to probe - the backends defined under backendPools. Possible values include: 'GET', - 'HEAD'. Default value: "HEAD" . - :type health_probe_method: str or - ~azure.mgmt.frontdoor.models.FrontDoorHealthProbeMethod - :param enabled_state: 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. Possible - values include: 'Enabled', 'Disabled' - :type enabled_state: str or - ~azure.mgmt.frontdoor.models.HealthProbeEnabled - """ - - _attribute_map = { - 'path': {'key': 'path', 'type': 'str'}, - 'protocol': {'key': 'protocol', 'type': 'str'}, - 'interval_in_seconds': {'key': 'intervalInSeconds', 'type': 'int'}, - 'health_probe_method': {'key': 'healthProbeMethod', 'type': 'str'}, - 'enabled_state': {'key': 'enabledState', 'type': 'str'}, - } - - def __init__(self, *, path: str=None, protocol=None, interval_in_seconds: int=None, health_probe_method="HEAD", enabled_state=None, **kwargs) -> None: - super(HealthProbeSettingsUpdateParameters, self).__init__(**kwargs) - self.path = path - self.protocol = protocol - self.interval_in_seconds = interval_in_seconds - self.health_probe_method = health_probe_method - self.enabled_state = enabled_state diff --git a/src/front-door/azext_front_door/vendored_sdks/models/key_vault_certificate_source_parameters_vault.py b/src/front-door/azext_front_door/vendored_sdks/models/key_vault_certificate_source_parameters_vault.py deleted file mode 100644 index 2b16e73e4f..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/key_vault_certificate_source_parameters_vault.py +++ /dev/null @@ -1,28 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class KeyVaultCertificateSourceParametersVault(Model): - """The Key Vault containing the SSL certificate. - - :param id: Resource ID. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(KeyVaultCertificateSourceParametersVault, self).__init__(**kwargs) - self.id = kwargs.get('id', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/key_vault_certificate_source_parameters_vault_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/key_vault_certificate_source_parameters_vault_py3.py deleted file mode 100644 index d0fe4d0d8e..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/key_vault_certificate_source_parameters_vault_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class KeyVaultCertificateSourceParametersVault(Model): - """The Key Vault containing the SSL certificate. - - :param id: Resource ID. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(KeyVaultCertificateSourceParametersVault, self).__init__(**kwargs) - self.id = id diff --git a/src/front-door/azext_front_door/vendored_sdks/models/latency_metric.py b/src/front-door/azext_front_door/vendored_sdks/models/latency_metric.py deleted file mode 100644 index 76f7b7dd8d..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/latency_metric.py +++ /dev/null @@ -1,84 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class LatencyMetric(Model): - """Defines the properties of a latency metric used in the latency scorecard. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar name: The name of the Latency Metric - :vartype name: str - :ivar end_date_time_utc: The end time of the Latency Scorecard in UTC - :vartype end_date_time_utc: str - :ivar a_value: The metric value of the A endpoint - :vartype a_value: float - :ivar b_value: The metric value of the B endpoint - :vartype b_value: float - :ivar delta: The difference in value between endpoint A and B - :vartype delta: float - :ivar delta_percent: The percent difference between endpoint A and B - :vartype delta_percent: float - :ivar a_clower95_ci: The lower end of the 95% confidence interval for - endpoint A - :vartype a_clower95_ci: float - :ivar a_hupper95_ci: The upper end of the 95% confidence interval for - endpoint A - :vartype a_hupper95_ci: float - :ivar b_clower95_ci: The lower end of the 95% confidence interval for - endpoint B - :vartype b_clower95_ci: float - :ivar b_upper95_ci: The upper end of the 95% confidence interval for - endpoint B - :vartype b_upper95_ci: float - """ - - _validation = { - 'name': {'readonly': True}, - 'end_date_time_utc': {'readonly': True}, - 'a_value': {'readonly': True}, - 'b_value': {'readonly': True}, - 'delta': {'readonly': True}, - 'delta_percent': {'readonly': True}, - 'a_clower95_ci': {'readonly': True}, - 'a_hupper95_ci': {'readonly': True}, - 'b_clower95_ci': {'readonly': True}, - 'b_upper95_ci': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'end_date_time_utc': {'key': 'endDateTimeUTC', 'type': 'str'}, - 'a_value': {'key': 'aValue', 'type': 'float'}, - 'b_value': {'key': 'bValue', 'type': 'float'}, - 'delta': {'key': 'delta', 'type': 'float'}, - 'delta_percent': {'key': 'deltaPercent', 'type': 'float'}, - 'a_clower95_ci': {'key': 'aCLower95CI', 'type': 'float'}, - 'a_hupper95_ci': {'key': 'aHUpper95CI', 'type': 'float'}, - 'b_clower95_ci': {'key': 'bCLower95CI', 'type': 'float'}, - 'b_upper95_ci': {'key': 'bUpper95CI', 'type': 'float'}, - } - - def __init__(self, **kwargs): - super(LatencyMetric, self).__init__(**kwargs) - self.name = None - self.end_date_time_utc = None - self.a_value = None - self.b_value = None - self.delta = None - self.delta_percent = None - self.a_clower95_ci = None - self.a_hupper95_ci = None - self.b_clower95_ci = None - self.b_upper95_ci = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/latency_metric_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/latency_metric_py3.py deleted file mode 100644 index af9054007d..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/latency_metric_py3.py +++ /dev/null @@ -1,84 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class LatencyMetric(Model): - """Defines the properties of a latency metric used in the latency scorecard. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar name: The name of the Latency Metric - :vartype name: str - :ivar end_date_time_utc: The end time of the Latency Scorecard in UTC - :vartype end_date_time_utc: str - :ivar a_value: The metric value of the A endpoint - :vartype a_value: float - :ivar b_value: The metric value of the B endpoint - :vartype b_value: float - :ivar delta: The difference in value between endpoint A and B - :vartype delta: float - :ivar delta_percent: The percent difference between endpoint A and B - :vartype delta_percent: float - :ivar a_clower95_ci: The lower end of the 95% confidence interval for - endpoint A - :vartype a_clower95_ci: float - :ivar a_hupper95_ci: The upper end of the 95% confidence interval for - endpoint A - :vartype a_hupper95_ci: float - :ivar b_clower95_ci: The lower end of the 95% confidence interval for - endpoint B - :vartype b_clower95_ci: float - :ivar b_upper95_ci: The upper end of the 95% confidence interval for - endpoint B - :vartype b_upper95_ci: float - """ - - _validation = { - 'name': {'readonly': True}, - 'end_date_time_utc': {'readonly': True}, - 'a_value': {'readonly': True}, - 'b_value': {'readonly': True}, - 'delta': {'readonly': True}, - 'delta_percent': {'readonly': True}, - 'a_clower95_ci': {'readonly': True}, - 'a_hupper95_ci': {'readonly': True}, - 'b_clower95_ci': {'readonly': True}, - 'b_upper95_ci': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'end_date_time_utc': {'key': 'endDateTimeUTC', 'type': 'str'}, - 'a_value': {'key': 'aValue', 'type': 'float'}, - 'b_value': {'key': 'bValue', 'type': 'float'}, - 'delta': {'key': 'delta', 'type': 'float'}, - 'delta_percent': {'key': 'deltaPercent', 'type': 'float'}, - 'a_clower95_ci': {'key': 'aCLower95CI', 'type': 'float'}, - 'a_hupper95_ci': {'key': 'aHUpper95CI', 'type': 'float'}, - 'b_clower95_ci': {'key': 'bCLower95CI', 'type': 'float'}, - 'b_upper95_ci': {'key': 'bUpper95CI', 'type': 'float'}, - } - - def __init__(self, **kwargs) -> None: - super(LatencyMetric, self).__init__(**kwargs) - self.name = None - self.end_date_time_utc = None - self.a_value = None - self.b_value = None - self.delta = None - self.delta_percent = None - self.a_clower95_ci = None - self.a_hupper95_ci = None - self.b_clower95_ci = None - self.b_upper95_ci = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/latency_scorecard.py b/src/front-door/azext_front_door/vendored_sdks/models/latency_scorecard.py deleted file mode 100644 index 80f34332dd..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/latency_scorecard.py +++ /dev/null @@ -1,94 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class LatencyScorecard(Resource): - """Defines the LatencyScorecard. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar latency_scorecard_id: The unique identifier of the Latency Scorecard - :vartype latency_scorecard_id: str - :ivar latency_scorecard_name: The name of the Latency Scorecard - :vartype latency_scorecard_name: str - :ivar description: The description of the Latency Scorecard - :vartype description: str - :ivar endpoint_a: The A endpoint in the scorecard - :vartype endpoint_a: str - :ivar endpoint_b: The B endpoint in the scorecard - :vartype endpoint_b: str - :ivar start_date_time_utc: The start time of the Latency Scorecard in UTC - :vartype start_date_time_utc: datetime - :ivar end_date_time_utc: The end time of the Latency Scorecard in UTC - :vartype end_date_time_utc: datetime - :ivar country: The country associated with the Latency Scorecard. Values - are country ISO codes as specified here- - https://www.iso.org/iso-3166-country-codes.html - :vartype country: str - :param latency_metrics: The latency metrics of the Latency Scorecard - :type latency_metrics: list[~azure.mgmt.frontdoor.models.LatencyMetric] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'latency_scorecard_id': {'readonly': True}, - 'latency_scorecard_name': {'readonly': True}, - 'description': {'readonly': True}, - 'endpoint_a': {'readonly': True}, - 'endpoint_b': {'readonly': True}, - 'start_date_time_utc': {'readonly': True}, - 'end_date_time_utc': {'readonly': True}, - 'country': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'latency_scorecard_id': {'key': 'properties.id', 'type': 'str'}, - 'latency_scorecard_name': {'key': 'properties.name', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'endpoint_a': {'key': 'properties.endpointA', 'type': 'str'}, - 'endpoint_b': {'key': 'properties.endpointB', 'type': 'str'}, - 'start_date_time_utc': {'key': 'properties.startDateTimeUTC', 'type': 'iso-8601'}, - 'end_date_time_utc': {'key': 'properties.endDateTimeUTC', 'type': 'iso-8601'}, - 'country': {'key': 'properties.country', 'type': 'str'}, - 'latency_metrics': {'key': 'properties.latencyMetrics', 'type': '[LatencyMetric]'}, - } - - def __init__(self, **kwargs): - super(LatencyScorecard, self).__init__(**kwargs) - self.latency_scorecard_id = None - self.latency_scorecard_name = None - self.description = None - self.endpoint_a = None - self.endpoint_b = None - self.start_date_time_utc = None - self.end_date_time_utc = None - self.country = None - self.latency_metrics = kwargs.get('latency_metrics', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/latency_scorecard_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/latency_scorecard_py3.py deleted file mode 100644 index 5497af9c42..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/latency_scorecard_py3.py +++ /dev/null @@ -1,94 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class LatencyScorecard(Resource): - """Defines the LatencyScorecard. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar latency_scorecard_id: The unique identifier of the Latency Scorecard - :vartype latency_scorecard_id: str - :ivar latency_scorecard_name: The name of the Latency Scorecard - :vartype latency_scorecard_name: str - :ivar description: The description of the Latency Scorecard - :vartype description: str - :ivar endpoint_a: The A endpoint in the scorecard - :vartype endpoint_a: str - :ivar endpoint_b: The B endpoint in the scorecard - :vartype endpoint_b: str - :ivar start_date_time_utc: The start time of the Latency Scorecard in UTC - :vartype start_date_time_utc: datetime - :ivar end_date_time_utc: The end time of the Latency Scorecard in UTC - :vartype end_date_time_utc: datetime - :ivar country: The country associated with the Latency Scorecard. Values - are country ISO codes as specified here- - https://www.iso.org/iso-3166-country-codes.html - :vartype country: str - :param latency_metrics: The latency metrics of the Latency Scorecard - :type latency_metrics: list[~azure.mgmt.frontdoor.models.LatencyMetric] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'latency_scorecard_id': {'readonly': True}, - 'latency_scorecard_name': {'readonly': True}, - 'description': {'readonly': True}, - 'endpoint_a': {'readonly': True}, - 'endpoint_b': {'readonly': True}, - 'start_date_time_utc': {'readonly': True}, - 'end_date_time_utc': {'readonly': True}, - 'country': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'latency_scorecard_id': {'key': 'properties.id', 'type': 'str'}, - 'latency_scorecard_name': {'key': 'properties.name', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'endpoint_a': {'key': 'properties.endpointA', 'type': 'str'}, - 'endpoint_b': {'key': 'properties.endpointB', 'type': 'str'}, - 'start_date_time_utc': {'key': 'properties.startDateTimeUTC', 'type': 'iso-8601'}, - 'end_date_time_utc': {'key': 'properties.endDateTimeUTC', 'type': 'iso-8601'}, - 'country': {'key': 'properties.country', 'type': 'str'}, - 'latency_metrics': {'key': 'properties.latencyMetrics', 'type': '[LatencyMetric]'}, - } - - def __init__(self, *, location: str=None, tags=None, latency_metrics=None, **kwargs) -> None: - super(LatencyScorecard, self).__init__(location=location, tags=tags, **kwargs) - self.latency_scorecard_id = None - self.latency_scorecard_name = None - self.description = None - self.endpoint_a = None - self.endpoint_b = None - self.start_date_time_utc = None - self.end_date_time_utc = None - self.country = None - self.latency_metrics = latency_metrics diff --git a/src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_list_result.py b/src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_list_result.py deleted file mode 100644 index f88bd8da54..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_list_result.py +++ /dev/null @@ -1,43 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class LoadBalancingSettingsListResult(Model): - """Result of the request to list load balancing settings. It contains a list - of load balancing settings objects and a URL link to get the next set of - results. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar value: List of Backend Pools within a Front Door. - :vartype value: - list[~azure.mgmt.frontdoor.models.LoadBalancingSettingsModel] - :param next_link: URL to get the next set of LoadBalancingSettings objects - if there are any. - :type next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[LoadBalancingSettingsModel]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(LoadBalancingSettingsListResult, self).__init__(**kwargs) - self.value = None - self.next_link = kwargs.get('next_link', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_list_result_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_list_result_py3.py deleted file mode 100644 index 48cb4db4ee..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_list_result_py3.py +++ /dev/null @@ -1,43 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class LoadBalancingSettingsListResult(Model): - """Result of the request to list load balancing settings. It contains a list - of load balancing settings objects and a URL link to get the next set of - results. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar value: List of Backend Pools within a Front Door. - :vartype value: - list[~azure.mgmt.frontdoor.models.LoadBalancingSettingsModel] - :param next_link: URL to get the next set of LoadBalancingSettings objects - if there are any. - :type next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[LoadBalancingSettingsModel]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, next_link: str=None, **kwargs) -> None: - super(LoadBalancingSettingsListResult, self).__init__(**kwargs) - self.value = None - self.next_link = next_link diff --git a/src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_model.py b/src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_model.py deleted file mode 100644 index e0c8c97b65..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_model.py +++ /dev/null @@ -1,63 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class LoadBalancingSettingsModel(SubResource): - """Load balancing settings for a backend pool. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param sample_size: The number of samples to consider for load balancing - decisions - :type sample_size: int - :param successful_samples_required: The number of samples within the - sample period that must succeed - :type successful_samples_required: int - :param additional_latency_milliseconds: The additional latency in - milliseconds for probes to fall into the lowest latency bucket - :type additional_latency_milliseconds: int - :param resource_state: Resource status. Possible values include: - 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' - :type resource_state: str or - ~azure.mgmt.frontdoor.models.FrontDoorResourceState - :param name: Resource name. - :type name: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'sample_size': {'key': 'properties.sampleSize', 'type': 'int'}, - 'successful_samples_required': {'key': 'properties.successfulSamplesRequired', 'type': 'int'}, - 'additional_latency_milliseconds': {'key': 'properties.additionalLatencyMilliseconds', 'type': 'int'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(LoadBalancingSettingsModel, self).__init__(**kwargs) - self.sample_size = kwargs.get('sample_size', None) - self.successful_samples_required = kwargs.get('successful_samples_required', None) - self.additional_latency_milliseconds = kwargs.get('additional_latency_milliseconds', None) - self.resource_state = kwargs.get('resource_state', None) - self.name = kwargs.get('name', None) - self.type = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_model_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_model_py3.py deleted file mode 100644 index 2649e0c4f5..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_model_py3.py +++ /dev/null @@ -1,63 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class LoadBalancingSettingsModel(SubResource): - """Load balancing settings for a backend pool. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param sample_size: The number of samples to consider for load balancing - decisions - :type sample_size: int - :param successful_samples_required: The number of samples within the - sample period that must succeed - :type successful_samples_required: int - :param additional_latency_milliseconds: The additional latency in - milliseconds for probes to fall into the lowest latency bucket - :type additional_latency_milliseconds: int - :param resource_state: Resource status. Possible values include: - 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' - :type resource_state: str or - ~azure.mgmt.frontdoor.models.FrontDoorResourceState - :param name: Resource name. - :type name: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'sample_size': {'key': 'properties.sampleSize', 'type': 'int'}, - 'successful_samples_required': {'key': 'properties.successfulSamplesRequired', 'type': 'int'}, - 'additional_latency_milliseconds': {'key': 'properties.additionalLatencyMilliseconds', 'type': 'int'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, sample_size: int=None, successful_samples_required: int=None, additional_latency_milliseconds: int=None, resource_state=None, name: str=None, **kwargs) -> None: - super(LoadBalancingSettingsModel, self).__init__(id=id, **kwargs) - self.sample_size = sample_size - self.successful_samples_required = successful_samples_required - self.additional_latency_milliseconds = additional_latency_milliseconds - self.resource_state = resource_state - self.name = name - self.type = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_update_parameters.py b/src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_update_parameters.py deleted file mode 100644 index dd564be117..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_update_parameters.py +++ /dev/null @@ -1,39 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class LoadBalancingSettingsUpdateParameters(Model): - """Round-Robin load balancing settings for a backend pool. - - :param sample_size: The number of samples to consider for load balancing - decisions - :type sample_size: int - :param successful_samples_required: The number of samples within the - sample period that must succeed - :type successful_samples_required: int - :param additional_latency_milliseconds: The additional latency in - milliseconds for probes to fall into the lowest latency bucket - :type additional_latency_milliseconds: int - """ - - _attribute_map = { - 'sample_size': {'key': 'sampleSize', 'type': 'int'}, - 'successful_samples_required': {'key': 'successfulSamplesRequired', 'type': 'int'}, - 'additional_latency_milliseconds': {'key': 'additionalLatencyMilliseconds', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(LoadBalancingSettingsUpdateParameters, self).__init__(**kwargs) - self.sample_size = kwargs.get('sample_size', None) - self.successful_samples_required = kwargs.get('successful_samples_required', None) - self.additional_latency_milliseconds = kwargs.get('additional_latency_milliseconds', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_update_parameters_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_update_parameters_py3.py deleted file mode 100644 index 358090b081..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/load_balancing_settings_update_parameters_py3.py +++ /dev/null @@ -1,39 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class LoadBalancingSettingsUpdateParameters(Model): - """Round-Robin load balancing settings for a backend pool. - - :param sample_size: The number of samples to consider for load balancing - decisions - :type sample_size: int - :param successful_samples_required: The number of samples within the - sample period that must succeed - :type successful_samples_required: int - :param additional_latency_milliseconds: The additional latency in - milliseconds for probes to fall into the lowest latency bucket - :type additional_latency_milliseconds: int - """ - - _attribute_map = { - 'sample_size': {'key': 'sampleSize', 'type': 'int'}, - 'successful_samples_required': {'key': 'successfulSamplesRequired', 'type': 'int'}, - 'additional_latency_milliseconds': {'key': 'additionalLatencyMilliseconds', 'type': 'int'}, - } - - def __init__(self, *, sample_size: int=None, successful_samples_required: int=None, additional_latency_milliseconds: int=None, **kwargs) -> None: - super(LoadBalancingSettingsUpdateParameters, self).__init__(**kwargs) - self.sample_size = sample_size - self.successful_samples_required = successful_samples_required - self.additional_latency_milliseconds = additional_latency_milliseconds diff --git a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_definition.py b/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_definition.py deleted file mode 100644 index 77ebcf2299..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_definition.py +++ /dev/null @@ -1,54 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedRuleDefinition(Model): - """Describes a managed rule definition. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar rule_id: Identifier for the managed rule. - :vartype rule_id: str - :ivar default_state: Describes the default state for the managed rule. - Possible values include: 'Disabled', 'Enabled' - :vartype default_state: str or - ~azure.mgmt.frontdoor.models.ManagedRuleEnabledState - :ivar default_action: Describes the default action to be applied when the - managed rule matches. Possible values include: 'Allow', 'Block', 'Log', - 'Redirect' - :vartype default_action: str or ~azure.mgmt.frontdoor.models.ActionType - :ivar description: Describes the functionality of the managed rule. - :vartype description: str - """ - - _validation = { - 'rule_id': {'readonly': True}, - 'default_state': {'readonly': True}, - 'default_action': {'readonly': True}, - 'description': {'readonly': True}, - } - - _attribute_map = { - 'rule_id': {'key': 'ruleId', 'type': 'str'}, - 'default_state': {'key': 'defaultState', 'type': 'str'}, - 'default_action': {'key': 'defaultAction', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ManagedRuleDefinition, self).__init__(**kwargs) - self.rule_id = None - self.default_state = None - self.default_action = None - self.description = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_definition_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_definition_py3.py deleted file mode 100644 index 1ba86cdae0..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_definition_py3.py +++ /dev/null @@ -1,54 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedRuleDefinition(Model): - """Describes a managed rule definition. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar rule_id: Identifier for the managed rule. - :vartype rule_id: str - :ivar default_state: Describes the default state for the managed rule. - Possible values include: 'Disabled', 'Enabled' - :vartype default_state: str or - ~azure.mgmt.frontdoor.models.ManagedRuleEnabledState - :ivar default_action: Describes the default action to be applied when the - managed rule matches. Possible values include: 'Allow', 'Block', 'Log', - 'Redirect' - :vartype default_action: str or ~azure.mgmt.frontdoor.models.ActionType - :ivar description: Describes the functionality of the managed rule. - :vartype description: str - """ - - _validation = { - 'rule_id': {'readonly': True}, - 'default_state': {'readonly': True}, - 'default_action': {'readonly': True}, - 'description': {'readonly': True}, - } - - _attribute_map = { - 'rule_id': {'key': 'ruleId', 'type': 'str'}, - 'default_state': {'key': 'defaultState', 'type': 'str'}, - 'default_action': {'key': 'defaultAction', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(ManagedRuleDefinition, self).__init__(**kwargs) - self.rule_id = None - self.default_state = None - self.default_action = None - self.description = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_exclusion.py b/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_exclusion.py deleted file mode 100644 index 4f92404a89..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_exclusion.py +++ /dev/null @@ -1,52 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedRuleExclusion(Model): - """Exclude variables from managed rule evaluation. - - All required parameters must be populated in order to send to Azure. - - :param match_variable: Required. The variable type to be excluded. - Possible values include: 'RequestHeaderNames', 'RequestCookieNames', - 'QueryStringArgNames', 'RequestBodyPostArgNames' - :type match_variable: str or - ~azure.mgmt.frontdoor.models.ManagedRuleExclusionMatchVariable - :param selector_match_operator: Required. Comparison operator to apply to - the selector when specifying which elements in the collection this - exclusion applies to. Possible values include: 'Equals', 'Contains', - 'StartsWith', 'EndsWith', 'EqualsAny' - :type selector_match_operator: str or - ~azure.mgmt.frontdoor.models.ManagedRuleExclusionSelectorMatchOperator - :param selector: Required. Selector value for which elements in the - collection this exclusion applies to. - :type selector: str - """ - - _validation = { - 'match_variable': {'required': True}, - 'selector_match_operator': {'required': True}, - 'selector': {'required': True}, - } - - _attribute_map = { - 'match_variable': {'key': 'matchVariable', 'type': 'str'}, - 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, - 'selector': {'key': 'selector', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ManagedRuleExclusion, self).__init__(**kwargs) - self.match_variable = kwargs.get('match_variable', None) - self.selector_match_operator = kwargs.get('selector_match_operator', None) - self.selector = kwargs.get('selector', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_exclusion_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_exclusion_py3.py deleted file mode 100644 index 0ce39d22f9..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_exclusion_py3.py +++ /dev/null @@ -1,52 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedRuleExclusion(Model): - """Exclude variables from managed rule evaluation. - - All required parameters must be populated in order to send to Azure. - - :param match_variable: Required. The variable type to be excluded. - Possible values include: 'RequestHeaderNames', 'RequestCookieNames', - 'QueryStringArgNames', 'RequestBodyPostArgNames' - :type match_variable: str or - ~azure.mgmt.frontdoor.models.ManagedRuleExclusionMatchVariable - :param selector_match_operator: Required. Comparison operator to apply to - the selector when specifying which elements in the collection this - exclusion applies to. Possible values include: 'Equals', 'Contains', - 'StartsWith', 'EndsWith', 'EqualsAny' - :type selector_match_operator: str or - ~azure.mgmt.frontdoor.models.ManagedRuleExclusionSelectorMatchOperator - :param selector: Required. Selector value for which elements in the - collection this exclusion applies to. - :type selector: str - """ - - _validation = { - 'match_variable': {'required': True}, - 'selector_match_operator': {'required': True}, - 'selector': {'required': True}, - } - - _attribute_map = { - 'match_variable': {'key': 'matchVariable', 'type': 'str'}, - 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, - 'selector': {'key': 'selector', 'type': 'str'}, - } - - def __init__(self, *, match_variable, selector_match_operator, selector: str, **kwargs) -> None: - super(ManagedRuleExclusion, self).__init__(**kwargs) - self.match_variable = match_variable - self.selector_match_operator = selector_match_operator - self.selector = selector diff --git a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_group_definition.py b/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_group_definition.py deleted file mode 100644 index c9670337c7..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_group_definition.py +++ /dev/null @@ -1,45 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedRuleGroupDefinition(Model): - """Describes a managed rule group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar rule_group_name: Name of the managed rule group. - :vartype rule_group_name: str - :ivar description: Description of the managed rule group. - :vartype description: str - :ivar rules: List of rules within the managed rule group. - :vartype rules: list[~azure.mgmt.frontdoor.models.ManagedRuleDefinition] - """ - - _validation = { - 'rule_group_name': {'readonly': True}, - 'description': {'readonly': True}, - 'rules': {'readonly': True}, - } - - _attribute_map = { - 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'rules': {'key': 'rules', 'type': '[ManagedRuleDefinition]'}, - } - - def __init__(self, **kwargs): - super(ManagedRuleGroupDefinition, self).__init__(**kwargs) - self.rule_group_name = None - self.description = None - self.rules = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_group_definition_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_group_definition_py3.py deleted file mode 100644 index 95d1e3f303..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_group_definition_py3.py +++ /dev/null @@ -1,45 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedRuleGroupDefinition(Model): - """Describes a managed rule group. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar rule_group_name: Name of the managed rule group. - :vartype rule_group_name: str - :ivar description: Description of the managed rule group. - :vartype description: str - :ivar rules: List of rules within the managed rule group. - :vartype rules: list[~azure.mgmt.frontdoor.models.ManagedRuleDefinition] - """ - - _validation = { - 'rule_group_name': {'readonly': True}, - 'description': {'readonly': True}, - 'rules': {'readonly': True}, - } - - _attribute_map = { - 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'rules': {'key': 'rules', 'type': '[ManagedRuleDefinition]'}, - } - - def __init__(self, **kwargs) -> None: - super(ManagedRuleGroupDefinition, self).__init__(**kwargs) - self.rule_group_name = None - self.description = None - self.rules = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_group_override.py b/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_group_override.py deleted file mode 100644 index 006ead2e4b..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_group_override.py +++ /dev/null @@ -1,45 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedRuleGroupOverride(Model): - """Defines a managed rule group override setting. - - All required parameters must be populated in order to send to Azure. - - :param rule_group_name: Required. Describes the managed rule group to - override. - :type rule_group_name: str - :param exclusions: Describes the exclusions that are applied to all rules - in the group. - :type exclusions: list[~azure.mgmt.frontdoor.models.ManagedRuleExclusion] - :param rules: List of rules that will be disabled. If none specified, all - rules in the group will be disabled. - :type rules: list[~azure.mgmt.frontdoor.models.ManagedRuleOverride] - """ - - _validation = { - 'rule_group_name': {'required': True}, - } - - _attribute_map = { - 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, - 'exclusions': {'key': 'exclusions', 'type': '[ManagedRuleExclusion]'}, - 'rules': {'key': 'rules', 'type': '[ManagedRuleOverride]'}, - } - - def __init__(self, **kwargs): - super(ManagedRuleGroupOverride, self).__init__(**kwargs) - self.rule_group_name = kwargs.get('rule_group_name', None) - self.exclusions = kwargs.get('exclusions', None) - self.rules = kwargs.get('rules', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_group_override_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_group_override_py3.py deleted file mode 100644 index 9218d91256..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_group_override_py3.py +++ /dev/null @@ -1,45 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedRuleGroupOverride(Model): - """Defines a managed rule group override setting. - - All required parameters must be populated in order to send to Azure. - - :param rule_group_name: Required. Describes the managed rule group to - override. - :type rule_group_name: str - :param exclusions: Describes the exclusions that are applied to all rules - in the group. - :type exclusions: list[~azure.mgmt.frontdoor.models.ManagedRuleExclusion] - :param rules: List of rules that will be disabled. If none specified, all - rules in the group will be disabled. - :type rules: list[~azure.mgmt.frontdoor.models.ManagedRuleOverride] - """ - - _validation = { - 'rule_group_name': {'required': True}, - } - - _attribute_map = { - 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, - 'exclusions': {'key': 'exclusions', 'type': '[ManagedRuleExclusion]'}, - 'rules': {'key': 'rules', 'type': '[ManagedRuleOverride]'}, - } - - def __init__(self, *, rule_group_name: str, exclusions=None, rules=None, **kwargs) -> None: - super(ManagedRuleGroupOverride, self).__init__(**kwargs) - self.rule_group_name = rule_group_name - self.exclusions = exclusions - self.rules = rules diff --git a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_override.py b/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_override.py deleted file mode 100644 index f716795d8f..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_override.py +++ /dev/null @@ -1,51 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedRuleOverride(Model): - """Defines a managed rule group override setting. - - All required parameters must be populated in order to send to Azure. - - :param rule_id: Required. Identifier for the managed rule. - :type rule_id: str - :param enabled_state: Describes if the managed rule is in enabled or - disabled state. Defaults to Disabled if not specified. Possible values - include: 'Disabled', 'Enabled' - :type enabled_state: str or - ~azure.mgmt.frontdoor.models.ManagedRuleEnabledState - :param action: Describes the override action to be applied when rule - matches. Possible values include: 'Allow', 'Block', 'Log', 'Redirect' - :type action: str or ~azure.mgmt.frontdoor.models.ActionType - :param exclusions: Describes the exclusions that are applied to this - specific rule. - :type exclusions: list[~azure.mgmt.frontdoor.models.ManagedRuleExclusion] - """ - - _validation = { - 'rule_id': {'required': True}, - } - - _attribute_map = { - 'rule_id': {'key': 'ruleId', 'type': 'str'}, - 'enabled_state': {'key': 'enabledState', 'type': 'str'}, - 'action': {'key': 'action', 'type': 'str'}, - 'exclusions': {'key': 'exclusions', 'type': '[ManagedRuleExclusion]'}, - } - - def __init__(self, **kwargs): - super(ManagedRuleOverride, self).__init__(**kwargs) - self.rule_id = kwargs.get('rule_id', None) - self.enabled_state = kwargs.get('enabled_state', None) - self.action = kwargs.get('action', None) - self.exclusions = kwargs.get('exclusions', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_override_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_override_py3.py deleted file mode 100644 index 502a60766d..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_override_py3.py +++ /dev/null @@ -1,51 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedRuleOverride(Model): - """Defines a managed rule group override setting. - - All required parameters must be populated in order to send to Azure. - - :param rule_id: Required. Identifier for the managed rule. - :type rule_id: str - :param enabled_state: Describes if the managed rule is in enabled or - disabled state. Defaults to Disabled if not specified. Possible values - include: 'Disabled', 'Enabled' - :type enabled_state: str or - ~azure.mgmt.frontdoor.models.ManagedRuleEnabledState - :param action: Describes the override action to be applied when rule - matches. Possible values include: 'Allow', 'Block', 'Log', 'Redirect' - :type action: str or ~azure.mgmt.frontdoor.models.ActionType - :param exclusions: Describes the exclusions that are applied to this - specific rule. - :type exclusions: list[~azure.mgmt.frontdoor.models.ManagedRuleExclusion] - """ - - _validation = { - 'rule_id': {'required': True}, - } - - _attribute_map = { - 'rule_id': {'key': 'ruleId', 'type': 'str'}, - 'enabled_state': {'key': 'enabledState', 'type': 'str'}, - 'action': {'key': 'action', 'type': 'str'}, - 'exclusions': {'key': 'exclusions', 'type': '[ManagedRuleExclusion]'}, - } - - def __init__(self, *, rule_id: str, enabled_state=None, action=None, exclusions=None, **kwargs) -> None: - super(ManagedRuleOverride, self).__init__(**kwargs) - self.rule_id = rule_id - self.enabled_state = enabled_state - self.action = action - self.exclusions = exclusions diff --git a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set.py b/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set.py deleted file mode 100644 index f66ce14039..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set.py +++ /dev/null @@ -1,51 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedRuleSet(Model): - """Defines a managed rule set. - - All required parameters must be populated in order to send to Azure. - - :param rule_set_type: Required. Defines the rule set type to use. - :type rule_set_type: str - :param rule_set_version: Required. Defines the version of the rule set to - use. - :type rule_set_version: str - :param exclusions: Describes the exclusions that are applied to all rules - in the set. - :type exclusions: list[~azure.mgmt.frontdoor.models.ManagedRuleExclusion] - :param rule_group_overrides: Defines the rule group overrides to apply to - the rule set. - :type rule_group_overrides: - list[~azure.mgmt.frontdoor.models.ManagedRuleGroupOverride] - """ - - _validation = { - 'rule_set_type': {'required': True}, - 'rule_set_version': {'required': True}, - } - - _attribute_map = { - 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, - 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, - 'exclusions': {'key': 'exclusions', 'type': '[ManagedRuleExclusion]'}, - 'rule_group_overrides': {'key': 'ruleGroupOverrides', 'type': '[ManagedRuleGroupOverride]'}, - } - - def __init__(self, **kwargs): - super(ManagedRuleSet, self).__init__(**kwargs) - self.rule_set_type = kwargs.get('rule_set_type', None) - self.rule_set_version = kwargs.get('rule_set_version', None) - self.exclusions = kwargs.get('exclusions', None) - self.rule_group_overrides = kwargs.get('rule_group_overrides', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_definition.py b/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_definition.py deleted file mode 100644 index 0864cd16bf..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_definition.py +++ /dev/null @@ -1,69 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class ManagedRuleSetDefinition(Resource): - """Describes the a managed rule set definition. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar provisioning_state: Provisioning state of the managed rule set. - :vartype provisioning_state: str - :ivar rule_set_type: Type of the managed rule set. - :vartype rule_set_type: str - :ivar rule_set_version: Version of the managed rule set type. - :vartype rule_set_version: str - :ivar rule_groups: Rule groups of the managed rule set. - :vartype rule_groups: - list[~azure.mgmt.frontdoor.models.ManagedRuleGroupDefinition] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'rule_set_type': {'readonly': True}, - 'rule_set_version': {'readonly': True}, - 'rule_groups': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, - 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, - 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ManagedRuleGroupDefinition]'}, - } - - def __init__(self, **kwargs): - super(ManagedRuleSetDefinition, self).__init__(**kwargs) - self.provisioning_state = None - self.rule_set_type = None - self.rule_set_version = None - self.rule_groups = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_definition_paged.py b/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_definition_paged.py deleted file mode 100644 index cdec085e91..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_definition_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ManagedRuleSetDefinitionPaged(Paged): - """ - A paging container for iterating over a list of :class:`ManagedRuleSetDefinition ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ManagedRuleSetDefinition]'} - } - - def __init__(self, *args, **kwargs): - - super(ManagedRuleSetDefinitionPaged, self).__init__(*args, **kwargs) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_definition_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_definition_py3.py deleted file mode 100644 index 763cc21194..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_definition_py3.py +++ /dev/null @@ -1,69 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class ManagedRuleSetDefinition(Resource): - """Describes the a managed rule set definition. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar provisioning_state: Provisioning state of the managed rule set. - :vartype provisioning_state: str - :ivar rule_set_type: Type of the managed rule set. - :vartype rule_set_type: str - :ivar rule_set_version: Version of the managed rule set type. - :vartype rule_set_version: str - :ivar rule_groups: Rule groups of the managed rule set. - :vartype rule_groups: - list[~azure.mgmt.frontdoor.models.ManagedRuleGroupDefinition] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'rule_set_type': {'readonly': True}, - 'rule_set_version': {'readonly': True}, - 'rule_groups': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, - 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, - 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ManagedRuleGroupDefinition]'}, - } - - def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: - super(ManagedRuleSetDefinition, self).__init__(location=location, tags=tags, **kwargs) - self.provisioning_state = None - self.rule_set_type = None - self.rule_set_version = None - self.rule_groups = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_list.py b/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_list.py deleted file mode 100644 index ef51205649..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_list.py +++ /dev/null @@ -1,28 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedRuleSetList(Model): - """Defines the list of managed rule sets for the policy. - - :param managed_rule_sets: List of rule sets. - :type managed_rule_sets: list[~azure.mgmt.frontdoor.models.ManagedRuleSet] - """ - - _attribute_map = { - 'managed_rule_sets': {'key': 'managedRuleSets', 'type': '[ManagedRuleSet]'}, - } - - def __init__(self, **kwargs): - super(ManagedRuleSetList, self).__init__(**kwargs) - self.managed_rule_sets = kwargs.get('managed_rule_sets', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_list_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_list_py3.py deleted file mode 100644 index e75eb870a4..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_list_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedRuleSetList(Model): - """Defines the list of managed rule sets for the policy. - - :param managed_rule_sets: List of rule sets. - :type managed_rule_sets: list[~azure.mgmt.frontdoor.models.ManagedRuleSet] - """ - - _attribute_map = { - 'managed_rule_sets': {'key': 'managedRuleSets', 'type': '[ManagedRuleSet]'}, - } - - def __init__(self, *, managed_rule_sets=None, **kwargs) -> None: - super(ManagedRuleSetList, self).__init__(**kwargs) - self.managed_rule_sets = managed_rule_sets diff --git a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_py3.py deleted file mode 100644 index cc77e48291..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/managed_rule_set_py3.py +++ /dev/null @@ -1,51 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedRuleSet(Model): - """Defines a managed rule set. - - All required parameters must be populated in order to send to Azure. - - :param rule_set_type: Required. Defines the rule set type to use. - :type rule_set_type: str - :param rule_set_version: Required. Defines the version of the rule set to - use. - :type rule_set_version: str - :param exclusions: Describes the exclusions that are applied to all rules - in the set. - :type exclusions: list[~azure.mgmt.frontdoor.models.ManagedRuleExclusion] - :param rule_group_overrides: Defines the rule group overrides to apply to - the rule set. - :type rule_group_overrides: - list[~azure.mgmt.frontdoor.models.ManagedRuleGroupOverride] - """ - - _validation = { - 'rule_set_type': {'required': True}, - 'rule_set_version': {'required': True}, - } - - _attribute_map = { - 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, - 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, - 'exclusions': {'key': 'exclusions', 'type': '[ManagedRuleExclusion]'}, - 'rule_group_overrides': {'key': 'ruleGroupOverrides', 'type': '[ManagedRuleGroupOverride]'}, - } - - def __init__(self, *, rule_set_type: str, rule_set_version: str, exclusions=None, rule_group_overrides=None, **kwargs) -> None: - super(ManagedRuleSet, self).__init__(**kwargs) - self.rule_set_type = rule_set_type - self.rule_set_version = rule_set_version - self.exclusions = exclusions - self.rule_group_overrides = rule_group_overrides diff --git a/src/front-door/azext_front_door/vendored_sdks/models/match_condition.py b/src/front-door/azext_front_door/vendored_sdks/models/match_condition.py deleted file mode 100644 index 1b44b3e1c9..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/match_condition.py +++ /dev/null @@ -1,64 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MatchCondition(Model): - """Define a match condition. - - All required parameters must be populated in order to send to Azure. - - :param match_variable: Required. Request variable to compare with. - Possible values include: 'RemoteAddr', 'RequestMethod', 'QueryString', - 'PostArgs', 'RequestUri', 'RequestHeader', 'RequestBody', 'Cookies', - 'SocketAddr' - :type match_variable: str or ~azure.mgmt.frontdoor.models.MatchVariable - :param selector: Match against a specific key from the QueryString, - PostArgs, RequestHeader or Cookies variables. Default is null. - :type selector: str - :param operator: Required. Comparison type to use for matching with the - variable value. Possible values include: 'Any', 'IPMatch', 'GeoMatch', - 'Equal', 'Contains', 'LessThan', 'GreaterThan', 'LessThanOrEqual', - 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith', 'RegEx' - :type operator: str or ~azure.mgmt.frontdoor.models.Operator - :param negate_condition: Describes if the result of this condition should - be negated. - :type negate_condition: bool - :param match_value: Required. List of possible match values. - :type match_value: list[str] - :param transforms: List of transforms. - :type transforms: list[str or ~azure.mgmt.frontdoor.models.TransformType] - """ - - _validation = { - 'match_variable': {'required': True}, - 'operator': {'required': True}, - 'match_value': {'required': True}, - } - - _attribute_map = { - 'match_variable': {'key': 'matchVariable', 'type': 'str'}, - 'selector': {'key': 'selector', 'type': 'str'}, - 'operator': {'key': 'operator', 'type': 'str'}, - 'negate_condition': {'key': 'negateCondition', 'type': 'bool'}, - 'match_value': {'key': 'matchValue', 'type': '[str]'}, - 'transforms': {'key': 'transforms', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(MatchCondition, self).__init__(**kwargs) - self.match_variable = kwargs.get('match_variable', None) - self.selector = kwargs.get('selector', None) - self.operator = kwargs.get('operator', None) - self.negate_condition = kwargs.get('negate_condition', None) - self.match_value = kwargs.get('match_value', None) - self.transforms = kwargs.get('transforms', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/match_condition_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/match_condition_py3.py deleted file mode 100644 index ea65422bff..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/match_condition_py3.py +++ /dev/null @@ -1,64 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MatchCondition(Model): - """Define a match condition. - - All required parameters must be populated in order to send to Azure. - - :param match_variable: Required. Request variable to compare with. - Possible values include: 'RemoteAddr', 'RequestMethod', 'QueryString', - 'PostArgs', 'RequestUri', 'RequestHeader', 'RequestBody', 'Cookies', - 'SocketAddr' - :type match_variable: str or ~azure.mgmt.frontdoor.models.MatchVariable - :param selector: Match against a specific key from the QueryString, - PostArgs, RequestHeader or Cookies variables. Default is null. - :type selector: str - :param operator: Required. Comparison type to use for matching with the - variable value. Possible values include: 'Any', 'IPMatch', 'GeoMatch', - 'Equal', 'Contains', 'LessThan', 'GreaterThan', 'LessThanOrEqual', - 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith', 'RegEx' - :type operator: str or ~azure.mgmt.frontdoor.models.Operator - :param negate_condition: Describes if the result of this condition should - be negated. - :type negate_condition: bool - :param match_value: Required. List of possible match values. - :type match_value: list[str] - :param transforms: List of transforms. - :type transforms: list[str or ~azure.mgmt.frontdoor.models.TransformType] - """ - - _validation = { - 'match_variable': {'required': True}, - 'operator': {'required': True}, - 'match_value': {'required': True}, - } - - _attribute_map = { - 'match_variable': {'key': 'matchVariable', 'type': 'str'}, - 'selector': {'key': 'selector', 'type': 'str'}, - 'operator': {'key': 'operator', 'type': 'str'}, - 'negate_condition': {'key': 'negateCondition', 'type': 'bool'}, - 'match_value': {'key': 'matchValue', 'type': '[str]'}, - 'transforms': {'key': 'transforms', 'type': '[str]'}, - } - - def __init__(self, *, match_variable, operator, match_value, selector: str=None, negate_condition: bool=None, transforms=None, **kwargs) -> None: - super(MatchCondition, self).__init__(**kwargs) - self.match_variable = match_variable - self.selector = selector - self.operator = operator - self.negate_condition = negate_condition - self.match_value = match_value - self.transforms = transforms diff --git a/src/front-door/azext_front_door/vendored_sdks/models/policy_settings.py b/src/front-door/azext_front_door/vendored_sdks/models/policy_settings.py deleted file mode 100644 index 498f0afd6f..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/policy_settings.py +++ /dev/null @@ -1,56 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PolicySettings(Model): - """Defines top-level WebApplicationFirewallPolicy configuration settings. - - :param enabled_state: Describes if the policy is in enabled or disabled - state. Defaults to Enabled if not specified. Possible values include: - 'Disabled', 'Enabled' - :type enabled_state: str or - ~azure.mgmt.frontdoor.models.PolicyEnabledState - :param mode: Describes if it is in detection mode or prevention mode at - policy level. Possible values include: 'Prevention', 'Detection' - :type mode: str or ~azure.mgmt.frontdoor.models.PolicyMode - :param redirect_url: If action type is redirect, this field represents - redirect URL for the client. - :type redirect_url: str - :param custom_block_response_status_code: If the action type is block, - customer can override the response status code. - :type custom_block_response_status_code: int - :param custom_block_response_body: If the action type is block, customer - can override the response body. The body must be specified in base64 - encoding. - :type custom_block_response_body: str - """ - - _validation = { - 'custom_block_response_body': {'pattern': r'^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$'}, - } - - _attribute_map = { - 'enabled_state': {'key': 'enabledState', 'type': 'str'}, - 'mode': {'key': 'mode', 'type': 'str'}, - 'redirect_url': {'key': 'redirectUrl', 'type': 'str'}, - 'custom_block_response_status_code': {'key': 'customBlockResponseStatusCode', 'type': 'int'}, - 'custom_block_response_body': {'key': 'customBlockResponseBody', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PolicySettings, self).__init__(**kwargs) - self.enabled_state = kwargs.get('enabled_state', None) - self.mode = kwargs.get('mode', None) - self.redirect_url = kwargs.get('redirect_url', None) - self.custom_block_response_status_code = kwargs.get('custom_block_response_status_code', None) - self.custom_block_response_body = kwargs.get('custom_block_response_body', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/policy_settings_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/policy_settings_py3.py deleted file mode 100644 index f538e85e07..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/policy_settings_py3.py +++ /dev/null @@ -1,56 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PolicySettings(Model): - """Defines top-level WebApplicationFirewallPolicy configuration settings. - - :param enabled_state: Describes if the policy is in enabled or disabled - state. Defaults to Enabled if not specified. Possible values include: - 'Disabled', 'Enabled' - :type enabled_state: str or - ~azure.mgmt.frontdoor.models.PolicyEnabledState - :param mode: Describes if it is in detection mode or prevention mode at - policy level. Possible values include: 'Prevention', 'Detection' - :type mode: str or ~azure.mgmt.frontdoor.models.PolicyMode - :param redirect_url: If action type is redirect, this field represents - redirect URL for the client. - :type redirect_url: str - :param custom_block_response_status_code: If the action type is block, - customer can override the response status code. - :type custom_block_response_status_code: int - :param custom_block_response_body: If the action type is block, customer - can override the response body. The body must be specified in base64 - encoding. - :type custom_block_response_body: str - """ - - _validation = { - 'custom_block_response_body': {'pattern': r'^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$'}, - } - - _attribute_map = { - 'enabled_state': {'key': 'enabledState', 'type': 'str'}, - 'mode': {'key': 'mode', 'type': 'str'}, - 'redirect_url': {'key': 'redirectUrl', 'type': 'str'}, - 'custom_block_response_status_code': {'key': 'customBlockResponseStatusCode', 'type': 'int'}, - 'custom_block_response_body': {'key': 'customBlockResponseBody', 'type': 'str'}, - } - - def __init__(self, *, enabled_state=None, mode=None, redirect_url: str=None, custom_block_response_status_code: int=None, custom_block_response_body: str=None, **kwargs) -> None: - super(PolicySettings, self).__init__(**kwargs) - self.enabled_state = enabled_state - self.mode = mode - self.redirect_url = redirect_url - self.custom_block_response_status_code = custom_block_response_status_code - self.custom_block_response_body = custom_block_response_body diff --git a/src/front-door/azext_front_door/vendored_sdks/models/preconfigured_endpoint.py b/src/front-door/azext_front_door/vendored_sdks/models/preconfigured_endpoint.py deleted file mode 100644 index ea318fa60f..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/preconfigured_endpoint.py +++ /dev/null @@ -1,65 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class PreconfiguredEndpoint(Resource): - """Defines the properties of a preconfigured endpoint. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param description: The description of the endpoint - :type description: str - :param endpoint: The endpoint that is preconfigured - :type endpoint: str - :param endpoint_type: The type of endpoint. Possible values include: - 'AFD', 'AzureRegion', 'CDN', 'ATM' - :type endpoint_type: str or ~azure.mgmt.frontdoor.models.EndpointType - :param backend: The preconfigured endpoint backend - :type backend: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'endpoint': {'key': 'properties.endpoint', 'type': 'str'}, - 'endpoint_type': {'key': 'properties.endpointType', 'type': 'str'}, - 'backend': {'key': 'properties.backend', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PreconfiguredEndpoint, self).__init__(**kwargs) - self.description = kwargs.get('description', None) - self.endpoint = kwargs.get('endpoint', None) - self.endpoint_type = kwargs.get('endpoint_type', None) - self.backend = kwargs.get('backend', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/preconfigured_endpoint_paged.py b/src/front-door/azext_front_door/vendored_sdks/models/preconfigured_endpoint_paged.py deleted file mode 100644 index 98eb0184a3..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/preconfigured_endpoint_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class PreconfiguredEndpointPaged(Paged): - """ - A paging container for iterating over a list of :class:`PreconfiguredEndpoint ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PreconfiguredEndpoint]'} - } - - def __init__(self, *args, **kwargs): - - super(PreconfiguredEndpointPaged, self).__init__(*args, **kwargs) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/preconfigured_endpoint_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/preconfigured_endpoint_py3.py deleted file mode 100644 index 9c281b05d1..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/preconfigured_endpoint_py3.py +++ /dev/null @@ -1,65 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class PreconfiguredEndpoint(Resource): - """Defines the properties of a preconfigured endpoint. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param description: The description of the endpoint - :type description: str - :param endpoint: The endpoint that is preconfigured - :type endpoint: str - :param endpoint_type: The type of endpoint. Possible values include: - 'AFD', 'AzureRegion', 'CDN', 'ATM' - :type endpoint_type: str or ~azure.mgmt.frontdoor.models.EndpointType - :param backend: The preconfigured endpoint backend - :type backend: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'endpoint': {'key': 'properties.endpoint', 'type': 'str'}, - 'endpoint_type': {'key': 'properties.endpointType', 'type': 'str'}, - 'backend': {'key': 'properties.backend', 'type': 'str'}, - } - - def __init__(self, *, location: str=None, tags=None, description: str=None, endpoint: str=None, endpoint_type=None, backend: str=None, **kwargs) -> None: - super(PreconfiguredEndpoint, self).__init__(location=location, tags=tags, **kwargs) - self.description = description - self.endpoint = endpoint - self.endpoint_type = endpoint_type - self.backend = backend diff --git a/src/front-door/azext_front_door/vendored_sdks/models/profile.py b/src/front-door/azext_front_door/vendored_sdks/models/profile.py deleted file mode 100644 index 7664ddebf8..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/profile.py +++ /dev/null @@ -1,64 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class Profile(Resource): - """Defines an Network Experiment Profile and lists of Experiments. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param resource_state: Resource status. Possible values include: - 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' - :type resource_state: str or - ~azure.mgmt.frontdoor.models.NetworkExperimentResourceState - :param enabled_state: The state of the Experiment. Possible values - include: 'Enabled', 'Disabled' - :type enabled_state: str or ~azure.mgmt.frontdoor.models.State - :param etag: Gets a unique read-only string that changes whenever the - resource is updated. - :type etag: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Profile, self).__init__(**kwargs) - self.resource_state = kwargs.get('resource_state', None) - self.enabled_state = kwargs.get('enabled_state', None) - self.etag = kwargs.get('etag', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/profile_paged.py b/src/front-door/azext_front_door/vendored_sdks/models/profile_paged.py deleted file mode 100644 index 4c537e0b00..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/profile_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ProfilePaged(Paged): - """ - A paging container for iterating over a list of :class:`Profile ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Profile]'} - } - - def __init__(self, *args, **kwargs): - - super(ProfilePaged, self).__init__(*args, **kwargs) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/profile_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/profile_py3.py deleted file mode 100644 index 9c75307525..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/profile_py3.py +++ /dev/null @@ -1,64 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class Profile(Resource): - """Defines an Network Experiment Profile and lists of Experiments. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param resource_state: Resource status. Possible values include: - 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' - :type resource_state: str or - ~azure.mgmt.frontdoor.models.NetworkExperimentResourceState - :param enabled_state: The state of the Experiment. Possible values - include: 'Enabled', 'Disabled' - :type enabled_state: str or ~azure.mgmt.frontdoor.models.State - :param etag: Gets a unique read-only string that changes whenever the - resource is updated. - :type etag: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, location: str=None, tags=None, resource_state=None, enabled_state=None, etag: str=None, **kwargs) -> None: - super(Profile, self).__init__(location=location, tags=tags, **kwargs) - self.resource_state = resource_state - self.enabled_state = enabled_state - self.etag = etag diff --git a/src/front-door/azext_front_door/vendored_sdks/models/profile_update_model.py b/src/front-door/azext_front_door/vendored_sdks/models/profile_update_model.py deleted file mode 100644 index 3e17d6d6a5..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/profile_update_model.py +++ /dev/null @@ -1,33 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ProfileUpdateModel(Model): - """Defines modifiable attributes of a Profile. - - :param enabled_state: The enabled state of the Profile. Possible values - include: 'Enabled', 'Disabled' - :type enabled_state: str or ~azure.mgmt.frontdoor.models.State - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _attribute_map = { - 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(ProfileUpdateModel, self).__init__(**kwargs) - self.enabled_state = kwargs.get('enabled_state', None) - self.tags = kwargs.get('tags', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/profile_update_model_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/profile_update_model_py3.py deleted file mode 100644 index 28f4cc9956..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/profile_update_model_py3.py +++ /dev/null @@ -1,33 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ProfileUpdateModel(Model): - """Defines modifiable attributes of a Profile. - - :param enabled_state: The enabled state of the Profile. Possible values - include: 'Enabled', 'Disabled' - :type enabled_state: str or ~azure.mgmt.frontdoor.models.State - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _attribute_map = { - 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, *, enabled_state=None, tags=None, **kwargs) -> None: - super(ProfileUpdateModel, self).__init__(**kwargs) - self.enabled_state = enabled_state - self.tags = tags diff --git a/src/front-door/azext_front_door/vendored_sdks/models/purge_parameters.py b/src/front-door/azext_front_door/vendored_sdks/models/purge_parameters.py deleted file mode 100644 index 4731664fed..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/purge_parameters.py +++ /dev/null @@ -1,35 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PurgeParameters(Model): - """Parameters required for content purge. - - All required parameters must be populated in order to send to Azure. - - :param content_paths: Required. The path to the content to be purged. Can - describe a file path or a wild card directory. - :type content_paths: list[str] - """ - - _validation = { - 'content_paths': {'required': True}, - } - - _attribute_map = { - 'content_paths': {'key': 'contentPaths', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(PurgeParameters, self).__init__(**kwargs) - self.content_paths = kwargs.get('content_paths', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/purge_parameters_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/purge_parameters_py3.py deleted file mode 100644 index 31cdefb06e..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/purge_parameters_py3.py +++ /dev/null @@ -1,35 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PurgeParameters(Model): - """Parameters required for content purge. - - All required parameters must be populated in order to send to Azure. - - :param content_paths: Required. The path to the content to be purged. Can - describe a file path or a wild card directory. - :type content_paths: list[str] - """ - - _validation = { - 'content_paths': {'required': True}, - } - - _attribute_map = { - 'content_paths': {'key': 'contentPaths', 'type': '[str]'}, - } - - def __init__(self, *, content_paths, **kwargs) -> None: - super(PurgeParameters, self).__init__(**kwargs) - self.content_paths = content_paths diff --git a/src/front-door/azext_front_door/vendored_sdks/models/redirect_configuration.py b/src/front-door/azext_front_door/vendored_sdks/models/redirect_configuration.py deleted file mode 100644 index 47b90831e8..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/redirect_configuration.py +++ /dev/null @@ -1,73 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .route_configuration import RouteConfiguration - - -class RedirectConfiguration(RouteConfiguration): - """Describes Redirect Route. - - All required parameters must be populated in order to send to Azure. - - :param odatatype: Required. Constant filled by server. - :type odatatype: str - :param redirect_type: The redirect type the rule will use when redirecting - traffic. Possible values include: 'Moved', 'Found', 'TemporaryRedirect', - 'PermanentRedirect' - :type redirect_type: str or - ~azure.mgmt.frontdoor.models.FrontDoorRedirectType - :param redirect_protocol: The protocol of the destination to where the - traffic is redirected. Possible values include: 'HttpOnly', 'HttpsOnly', - 'MatchRequest' - :type redirect_protocol: str or - ~azure.mgmt.frontdoor.models.FrontDoorRedirectProtocol - :param custom_host: Host to redirect. Leave empty to use the incoming host - as the destination host. - :type custom_host: str - :param custom_path: The full path to redirect. Path cannot be empty and - must start with /. Leave empty to use the incoming path as destination - path. - :type custom_path: str - :param custom_fragment: Fragment to add to the redirect URL. Fragment is - the part of the URL that comes after #. Do not include the #. - :type custom_fragment: str - :param custom_query_string: 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 - &. - :type custom_query_string: str - """ - - _validation = { - 'odatatype': {'required': True}, - } - - _attribute_map = { - 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, - 'redirect_type': {'key': 'redirectType', 'type': 'str'}, - 'redirect_protocol': {'key': 'redirectProtocol', 'type': 'str'}, - 'custom_host': {'key': 'customHost', 'type': 'str'}, - 'custom_path': {'key': 'customPath', 'type': 'str'}, - 'custom_fragment': {'key': 'customFragment', 'type': 'str'}, - 'custom_query_string': {'key': 'customQueryString', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(RedirectConfiguration, self).__init__(**kwargs) - self.redirect_type = kwargs.get('redirect_type', None) - self.redirect_protocol = kwargs.get('redirect_protocol', None) - self.custom_host = kwargs.get('custom_host', None) - self.custom_path = kwargs.get('custom_path', None) - self.custom_fragment = kwargs.get('custom_fragment', None) - self.custom_query_string = kwargs.get('custom_query_string', None) - self.odatatype = '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration' diff --git a/src/front-door/azext_front_door/vendored_sdks/models/redirect_configuration_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/redirect_configuration_py3.py deleted file mode 100644 index 28641951bd..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/redirect_configuration_py3.py +++ /dev/null @@ -1,73 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .route_configuration_py3 import RouteConfiguration - - -class RedirectConfiguration(RouteConfiguration): - """Describes Redirect Route. - - All required parameters must be populated in order to send to Azure. - - :param odatatype: Required. Constant filled by server. - :type odatatype: str - :param redirect_type: The redirect type the rule will use when redirecting - traffic. Possible values include: 'Moved', 'Found', 'TemporaryRedirect', - 'PermanentRedirect' - :type redirect_type: str or - ~azure.mgmt.frontdoor.models.FrontDoorRedirectType - :param redirect_protocol: The protocol of the destination to where the - traffic is redirected. Possible values include: 'HttpOnly', 'HttpsOnly', - 'MatchRequest' - :type redirect_protocol: str or - ~azure.mgmt.frontdoor.models.FrontDoorRedirectProtocol - :param custom_host: Host to redirect. Leave empty to use the incoming host - as the destination host. - :type custom_host: str - :param custom_path: The full path to redirect. Path cannot be empty and - must start with /. Leave empty to use the incoming path as destination - path. - :type custom_path: str - :param custom_fragment: Fragment to add to the redirect URL. Fragment is - the part of the URL that comes after #. Do not include the #. - :type custom_fragment: str - :param custom_query_string: 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 - &. - :type custom_query_string: str - """ - - _validation = { - 'odatatype': {'required': True}, - } - - _attribute_map = { - 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, - 'redirect_type': {'key': 'redirectType', 'type': 'str'}, - 'redirect_protocol': {'key': 'redirectProtocol', 'type': 'str'}, - 'custom_host': {'key': 'customHost', 'type': 'str'}, - 'custom_path': {'key': 'customPath', 'type': 'str'}, - 'custom_fragment': {'key': 'customFragment', 'type': 'str'}, - 'custom_query_string': {'key': 'customQueryString', 'type': 'str'}, - } - - def __init__(self, *, redirect_type=None, redirect_protocol=None, custom_host: str=None, custom_path: str=None, custom_fragment: str=None, custom_query_string: str=None, **kwargs) -> None: - super(RedirectConfiguration, self).__init__(**kwargs) - self.redirect_type = redirect_type - self.redirect_protocol = redirect_protocol - self.custom_host = custom_host - self.custom_path = custom_path - self.custom_fragment = custom_fragment - self.custom_query_string = custom_query_string - self.odatatype = '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration' diff --git a/src/front-door/azext_front_door/vendored_sdks/models/resource.py b/src/front-door/azext_front_door/vendored_sdks/models/resource.py deleted file mode 100644 index 17bd2e2618..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/resource.py +++ /dev/null @@ -1,53 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Resource(Model): - """Common resource representation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/resource_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/resource_py3.py deleted file mode 100644 index aa539104c2..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/resource_py3.py +++ /dev/null @@ -1,53 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Resource(Model): - """Common resource representation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.location = location - self.tags = tags diff --git a/src/front-door/azext_front_door/vendored_sdks/models/route_configuration.py b/src/front-door/azext_front_door/vendored_sdks/models/route_configuration.py deleted file mode 100644 index c3f93b30b8..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/route_configuration.py +++ /dev/null @@ -1,41 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class RouteConfiguration(Model): - """Base class for all types of Route. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: ForwardingConfiguration, RedirectConfiguration - - All required parameters must be populated in order to send to Azure. - - :param odatatype: Required. Constant filled by server. - :type odatatype: str - """ - - _validation = { - 'odatatype': {'required': True}, - } - - _attribute_map = { - 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, - } - - _subtype_map = { - 'odatatype': {'#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration': 'ForwardingConfiguration', '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration': 'RedirectConfiguration'} - } - - def __init__(self, **kwargs): - super(RouteConfiguration, self).__init__(**kwargs) - self.odatatype = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/route_configuration_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/route_configuration_py3.py deleted file mode 100644 index 19badfcf9a..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/route_configuration_py3.py +++ /dev/null @@ -1,41 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class RouteConfiguration(Model): - """Base class for all types of Route. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: ForwardingConfiguration, RedirectConfiguration - - All required parameters must be populated in order to send to Azure. - - :param odatatype: Required. Constant filled by server. - :type odatatype: str - """ - - _validation = { - 'odatatype': {'required': True}, - } - - _attribute_map = { - 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, - } - - _subtype_map = { - 'odatatype': {'#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration': 'ForwardingConfiguration', '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration': 'RedirectConfiguration'} - } - - def __init__(self, **kwargs) -> None: - super(RouteConfiguration, self).__init__(**kwargs) - self.odatatype = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/routing_rule.py b/src/front-door/azext_front_door/vendored_sdks/models/routing_rule.py deleted file mode 100644 index e5302a8a88..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/routing_rule.py +++ /dev/null @@ -1,73 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource import SubResource - - -class RoutingRule(SubResource): - """A routing rule represents a specification for traffic to treat and where to - send it, along with health probe information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param frontend_endpoints: Frontend endpoints associated with this rule - :type frontend_endpoints: list[~azure.mgmt.frontdoor.models.SubResource] - :param accepted_protocols: Protocol schemes to match for this rule - :type accepted_protocols: list[str or - ~azure.mgmt.frontdoor.models.FrontDoorProtocol] - :param patterns_to_match: The route patterns of the rule. - :type patterns_to_match: list[str] - :param enabled_state: Whether to enable use of this rule. Permitted values - are 'Enabled' or 'Disabled'. Possible values include: 'Enabled', - 'Disabled' - :type enabled_state: str or - ~azure.mgmt.frontdoor.models.RoutingRuleEnabledState - :param route_configuration: A reference to the routing configuration. - :type route_configuration: ~azure.mgmt.frontdoor.models.RouteConfiguration - :param resource_state: Resource status. Possible values include: - 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' - :type resource_state: str or - ~azure.mgmt.frontdoor.models.FrontDoorResourceState - :param name: Resource name. - :type name: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_endpoints': {'key': 'properties.frontendEndpoints', 'type': '[SubResource]'}, - 'accepted_protocols': {'key': 'properties.acceptedProtocols', 'type': '[str]'}, - 'patterns_to_match': {'key': 'properties.patternsToMatch', 'type': '[str]'}, - 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, - 'route_configuration': {'key': 'properties.routeConfiguration', 'type': 'RouteConfiguration'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(RoutingRule, self).__init__(**kwargs) - self.frontend_endpoints = kwargs.get('frontend_endpoints', None) - self.accepted_protocols = kwargs.get('accepted_protocols', None) - self.patterns_to_match = kwargs.get('patterns_to_match', None) - self.enabled_state = kwargs.get('enabled_state', None) - self.route_configuration = kwargs.get('route_configuration', None) - self.resource_state = kwargs.get('resource_state', None) - self.name = kwargs.get('name', None) - self.type = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/routing_rule_list_result.py b/src/front-door/azext_front_door/vendored_sdks/models/routing_rule_list_result.py deleted file mode 100644 index b5ea266e71..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/routing_rule_list_result.py +++ /dev/null @@ -1,41 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class RoutingRuleListResult(Model): - """Result of the request to list Routing Rules. It contains a list of Routing - Rule objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar value: List of Routing Rules within a Front Door. - :vartype value: list[~azure.mgmt.frontdoor.models.RoutingRule] - :param next_link: URL to get the next set of RoutingRule objects if there - are any. - :type next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[RoutingRule]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(RoutingRuleListResult, self).__init__(**kwargs) - self.value = None - self.next_link = kwargs.get('next_link', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/routing_rule_list_result_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/routing_rule_list_result_py3.py deleted file mode 100644 index 15dd669d00..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/routing_rule_list_result_py3.py +++ /dev/null @@ -1,41 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class RoutingRuleListResult(Model): - """Result of the request to list Routing Rules. It contains a list of Routing - Rule objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar value: List of Routing Rules within a Front Door. - :vartype value: list[~azure.mgmt.frontdoor.models.RoutingRule] - :param next_link: URL to get the next set of RoutingRule objects if there - are any. - :type next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[RoutingRule]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, next_link: str=None, **kwargs) -> None: - super(RoutingRuleListResult, self).__init__(**kwargs) - self.value = None - self.next_link = next_link diff --git a/src/front-door/azext_front_door/vendored_sdks/models/routing_rule_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/routing_rule_py3.py deleted file mode 100644 index e104ced5e0..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/routing_rule_py3.py +++ /dev/null @@ -1,73 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .sub_resource_py3 import SubResource - - -class RoutingRule(SubResource): - """A routing rule represents a specification for traffic to treat and where to - send it, along with health probe information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID. - :type id: str - :param frontend_endpoints: Frontend endpoints associated with this rule - :type frontend_endpoints: list[~azure.mgmt.frontdoor.models.SubResource] - :param accepted_protocols: Protocol schemes to match for this rule - :type accepted_protocols: list[str or - ~azure.mgmt.frontdoor.models.FrontDoorProtocol] - :param patterns_to_match: The route patterns of the rule. - :type patterns_to_match: list[str] - :param enabled_state: Whether to enable use of this rule. Permitted values - are 'Enabled' or 'Disabled'. Possible values include: 'Enabled', - 'Disabled' - :type enabled_state: str or - ~azure.mgmt.frontdoor.models.RoutingRuleEnabledState - :param route_configuration: A reference to the routing configuration. - :type route_configuration: ~azure.mgmt.frontdoor.models.RouteConfiguration - :param resource_state: Resource status. Possible values include: - 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' - :type resource_state: str or - ~azure.mgmt.frontdoor.models.FrontDoorResourceState - :param name: Resource name. - :type name: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'frontend_endpoints': {'key': 'properties.frontendEndpoints', 'type': '[SubResource]'}, - 'accepted_protocols': {'key': 'properties.acceptedProtocols', 'type': '[str]'}, - 'patterns_to_match': {'key': 'properties.patternsToMatch', 'type': '[str]'}, - 'enabled_state': {'key': 'properties.enabledState', 'type': 'str'}, - 'route_configuration': {'key': 'properties.routeConfiguration', 'type': 'RouteConfiguration'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, frontend_endpoints=None, accepted_protocols=None, patterns_to_match=None, enabled_state=None, route_configuration=None, resource_state=None, name: str=None, **kwargs) -> None: - super(RoutingRule, self).__init__(id=id, **kwargs) - self.frontend_endpoints = frontend_endpoints - self.accepted_protocols = accepted_protocols - self.patterns_to_match = patterns_to_match - self.enabled_state = enabled_state - self.route_configuration = route_configuration - self.resource_state = resource_state - self.name = name - self.type = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/routing_rule_update_parameters.py b/src/front-door/azext_front_door/vendored_sdks/models/routing_rule_update_parameters.py deleted file mode 100644 index 5d06877b46..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/routing_rule_update_parameters.py +++ /dev/null @@ -1,48 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class RoutingRuleUpdateParameters(Model): - """Routing rules to apply to an endpoint. - - :param frontend_endpoints: Frontend endpoints associated with this rule - :type frontend_endpoints: list[~azure.mgmt.frontdoor.models.SubResource] - :param accepted_protocols: Protocol schemes to match for this rule - :type accepted_protocols: list[str or - ~azure.mgmt.frontdoor.models.FrontDoorProtocol] - :param patterns_to_match: The route patterns of the rule. - :type patterns_to_match: list[str] - :param enabled_state: Whether to enable use of this rule. Permitted values - are 'Enabled' or 'Disabled'. Possible values include: 'Enabled', - 'Disabled' - :type enabled_state: str or - ~azure.mgmt.frontdoor.models.RoutingRuleEnabledState - :param route_configuration: A reference to the routing configuration. - :type route_configuration: ~azure.mgmt.frontdoor.models.RouteConfiguration - """ - - _attribute_map = { - 'frontend_endpoints': {'key': 'frontendEndpoints', 'type': '[SubResource]'}, - 'accepted_protocols': {'key': 'acceptedProtocols', 'type': '[str]'}, - 'patterns_to_match': {'key': 'patternsToMatch', 'type': '[str]'}, - 'enabled_state': {'key': 'enabledState', 'type': 'str'}, - 'route_configuration': {'key': 'routeConfiguration', 'type': 'RouteConfiguration'}, - } - - def __init__(self, **kwargs): - super(RoutingRuleUpdateParameters, self).__init__(**kwargs) - self.frontend_endpoints = kwargs.get('frontend_endpoints', None) - self.accepted_protocols = kwargs.get('accepted_protocols', None) - self.patterns_to_match = kwargs.get('patterns_to_match', None) - self.enabled_state = kwargs.get('enabled_state', None) - self.route_configuration = kwargs.get('route_configuration', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/routing_rule_update_parameters_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/routing_rule_update_parameters_py3.py deleted file mode 100644 index 098f755265..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/routing_rule_update_parameters_py3.py +++ /dev/null @@ -1,48 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class RoutingRuleUpdateParameters(Model): - """Routing rules to apply to an endpoint. - - :param frontend_endpoints: Frontend endpoints associated with this rule - :type frontend_endpoints: list[~azure.mgmt.frontdoor.models.SubResource] - :param accepted_protocols: Protocol schemes to match for this rule - :type accepted_protocols: list[str or - ~azure.mgmt.frontdoor.models.FrontDoorProtocol] - :param patterns_to_match: The route patterns of the rule. - :type patterns_to_match: list[str] - :param enabled_state: Whether to enable use of this rule. Permitted values - are 'Enabled' or 'Disabled'. Possible values include: 'Enabled', - 'Disabled' - :type enabled_state: str or - ~azure.mgmt.frontdoor.models.RoutingRuleEnabledState - :param route_configuration: A reference to the routing configuration. - :type route_configuration: ~azure.mgmt.frontdoor.models.RouteConfiguration - """ - - _attribute_map = { - 'frontend_endpoints': {'key': 'frontendEndpoints', 'type': '[SubResource]'}, - 'accepted_protocols': {'key': 'acceptedProtocols', 'type': '[str]'}, - 'patterns_to_match': {'key': 'patternsToMatch', 'type': '[str]'}, - 'enabled_state': {'key': 'enabledState', 'type': 'str'}, - 'route_configuration': {'key': 'routeConfiguration', 'type': 'RouteConfiguration'}, - } - - def __init__(self, *, frontend_endpoints=None, accepted_protocols=None, patterns_to_match=None, enabled_state=None, route_configuration=None, **kwargs) -> None: - super(RoutingRuleUpdateParameters, self).__init__(**kwargs) - self.frontend_endpoints = frontend_endpoints - self.accepted_protocols = accepted_protocols - self.patterns_to_match = patterns_to_match - self.enabled_state = enabled_state - self.route_configuration = route_configuration diff --git a/src/front-door/azext_front_door/vendored_sdks/models/sub_resource.py b/src/front-door/azext_front_door/vendored_sdks/models/sub_resource.py deleted file mode 100644 index 6ab81f55f2..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/sub_resource.py +++ /dev/null @@ -1,28 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SubResource(Model): - """Reference to another subresource. - - :param id: Resource ID. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SubResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/sub_resource_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/sub_resource_py3.py deleted file mode 100644 index 8f4c4c8160..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/sub_resource_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SubResource(Model): - """Reference to another subresource. - - :param id: Resource ID. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(SubResource, self).__init__(**kwargs) - self.id = id diff --git a/src/front-door/azext_front_door/vendored_sdks/models/tags_object.py b/src/front-door/azext_front_door/vendored_sdks/models/tags_object.py deleted file mode 100644 index 2966ec220f..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/tags_object.py +++ /dev/null @@ -1,28 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TagsObject(Model): - """Tags object for patch operations. - - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(TagsObject, self).__init__(**kwargs) - self.tags = kwargs.get('tags', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/tags_object_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/tags_object_py3.py deleted file mode 100644 index 8be0bb4a15..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/tags_object_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TagsObject(Model): - """Tags object for patch operations. - - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, *, tags=None, **kwargs) -> None: - super(TagsObject, self).__init__(**kwargs) - self.tags = tags diff --git a/src/front-door/azext_front_door/vendored_sdks/models/timeseries.py b/src/front-door/azext_front_door/vendored_sdks/models/timeseries.py deleted file mode 100644 index 4a31d49c72..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/timeseries.py +++ /dev/null @@ -1,82 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class Timeseries(Resource): - """Defines the Timeseries. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param endpoint: The endpoint associated with the Timeseries data point - :type endpoint: str - :param start_date_time_utc: The start DateTime of the Timeseries in UTC - :type start_date_time_utc: str - :param end_date_time_utc: The end DateTime of the Timeseries in UTC - :type end_date_time_utc: str - :param aggregation_interval: The aggregation interval of the Timeseries. - Possible values include: 'Hourly', 'Daily' - :type aggregation_interval: str or - ~azure.mgmt.frontdoor.models.AggregationInterval - :param timeseries_type: The type of Timeseries. Possible values include: - 'MeasurementCounts', 'LatencyP50', 'LatencyP75', 'LatencyP95' - :type timeseries_type: str or ~azure.mgmt.frontdoor.models.TimeseriesType - :param country: The country associated with the Timeseries. Values are - country ISO codes as specified here- - https://www.iso.org/iso-3166-country-codes.html - :type country: str - :param timeseries_data: The set of data points for the timeseries - :type timeseries_data: - list[~azure.mgmt.frontdoor.models.TimeseriesDataPoint] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'endpoint': {'key': 'properties.endpoint', 'type': 'str'}, - 'start_date_time_utc': {'key': 'properties.startDateTimeUTC', 'type': 'str'}, - 'end_date_time_utc': {'key': 'properties.endDateTimeUTC', 'type': 'str'}, - 'aggregation_interval': {'key': 'properties.aggregationInterval', 'type': 'str'}, - 'timeseries_type': {'key': 'properties.timeseriesType', 'type': 'str'}, - 'country': {'key': 'properties.country', 'type': 'str'}, - 'timeseries_data': {'key': 'properties.timeseriesData', 'type': '[TimeseriesDataPoint]'}, - } - - def __init__(self, **kwargs): - super(Timeseries, self).__init__(**kwargs) - self.endpoint = kwargs.get('endpoint', None) - self.start_date_time_utc = kwargs.get('start_date_time_utc', None) - self.end_date_time_utc = kwargs.get('end_date_time_utc', None) - self.aggregation_interval = kwargs.get('aggregation_interval', None) - self.timeseries_type = kwargs.get('timeseries_type', None) - self.country = kwargs.get('country', None) - self.timeseries_data = kwargs.get('timeseries_data', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/timeseries_data_point.py b/src/front-door/azext_front_door/vendored_sdks/models/timeseries_data_point.py deleted file mode 100644 index 5d69e3bd62..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/timeseries_data_point.py +++ /dev/null @@ -1,32 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TimeseriesDataPoint(Model): - """Defines a timeseries datapoint used in a timeseries. - - :param date_time_utc: The DateTime of the Timeseries data point in UTC - :type date_time_utc: str - :param value: The Value of the Timeseries data point - :type value: float - """ - - _attribute_map = { - 'date_time_utc': {'key': 'dateTimeUTC', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'float'}, - } - - def __init__(self, **kwargs): - super(TimeseriesDataPoint, self).__init__(**kwargs) - self.date_time_utc = kwargs.get('date_time_utc', None) - self.value = kwargs.get('value', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/timeseries_data_point_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/timeseries_data_point_py3.py deleted file mode 100644 index a4b2a347c5..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/timeseries_data_point_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TimeseriesDataPoint(Model): - """Defines a timeseries datapoint used in a timeseries. - - :param date_time_utc: The DateTime of the Timeseries data point in UTC - :type date_time_utc: str - :param value: The Value of the Timeseries data point - :type value: float - """ - - _attribute_map = { - 'date_time_utc': {'key': 'dateTimeUTC', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'float'}, - } - - def __init__(self, *, date_time_utc: str=None, value: float=None, **kwargs) -> None: - super(TimeseriesDataPoint, self).__init__(**kwargs) - self.date_time_utc = date_time_utc - self.value = value diff --git a/src/front-door/azext_front_door/vendored_sdks/models/timeseries_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/timeseries_py3.py deleted file mode 100644 index 0bf2f85ff8..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/timeseries_py3.py +++ /dev/null @@ -1,82 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class Timeseries(Resource): - """Defines the Timeseries. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param endpoint: The endpoint associated with the Timeseries data point - :type endpoint: str - :param start_date_time_utc: The start DateTime of the Timeseries in UTC - :type start_date_time_utc: str - :param end_date_time_utc: The end DateTime of the Timeseries in UTC - :type end_date_time_utc: str - :param aggregation_interval: The aggregation interval of the Timeseries. - Possible values include: 'Hourly', 'Daily' - :type aggregation_interval: str or - ~azure.mgmt.frontdoor.models.AggregationInterval - :param timeseries_type: The type of Timeseries. Possible values include: - 'MeasurementCounts', 'LatencyP50', 'LatencyP75', 'LatencyP95' - :type timeseries_type: str or ~azure.mgmt.frontdoor.models.TimeseriesType - :param country: The country associated with the Timeseries. Values are - country ISO codes as specified here- - https://www.iso.org/iso-3166-country-codes.html - :type country: str - :param timeseries_data: The set of data points for the timeseries - :type timeseries_data: - list[~azure.mgmt.frontdoor.models.TimeseriesDataPoint] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'endpoint': {'key': 'properties.endpoint', 'type': 'str'}, - 'start_date_time_utc': {'key': 'properties.startDateTimeUTC', 'type': 'str'}, - 'end_date_time_utc': {'key': 'properties.endDateTimeUTC', 'type': 'str'}, - 'aggregation_interval': {'key': 'properties.aggregationInterval', 'type': 'str'}, - 'timeseries_type': {'key': 'properties.timeseriesType', 'type': 'str'}, - 'country': {'key': 'properties.country', 'type': 'str'}, - 'timeseries_data': {'key': 'properties.timeseriesData', 'type': '[TimeseriesDataPoint]'}, - } - - def __init__(self, *, location: str=None, tags=None, endpoint: str=None, start_date_time_utc: str=None, end_date_time_utc: str=None, aggregation_interval=None, timeseries_type=None, country: str=None, timeseries_data=None, **kwargs) -> None: - super(Timeseries, self).__init__(location=location, tags=tags, **kwargs) - self.endpoint = endpoint - self.start_date_time_utc = start_date_time_utc - self.end_date_time_utc = end_date_time_utc - self.aggregation_interval = aggregation_interval - self.timeseries_type = timeseries_type - self.country = country - self.timeseries_data = timeseries_data diff --git a/src/front-door/azext_front_door/vendored_sdks/models/validate_custom_domain_input.py b/src/front-door/azext_front_door/vendored_sdks/models/validate_custom_domain_input.py deleted file mode 100644 index 5ccf729396..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/validate_custom_domain_input.py +++ /dev/null @@ -1,35 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ValidateCustomDomainInput(Model): - """Input of the custom domain to be validated for DNS mapping. - - All required parameters must be populated in order to send to Azure. - - :param host_name: Required. The host name of the custom domain. Must be a - domain name. - :type host_name: str - """ - - _validation = { - 'host_name': {'required': True}, - } - - _attribute_map = { - 'host_name': {'key': 'hostName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ValidateCustomDomainInput, self).__init__(**kwargs) - self.host_name = kwargs.get('host_name', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/validate_custom_domain_input_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/validate_custom_domain_input_py3.py deleted file mode 100644 index ad915548db..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/validate_custom_domain_input_py3.py +++ /dev/null @@ -1,35 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ValidateCustomDomainInput(Model): - """Input of the custom domain to be validated for DNS mapping. - - All required parameters must be populated in order to send to Azure. - - :param host_name: Required. The host name of the custom domain. Must be a - domain name. - :type host_name: str - """ - - _validation = { - 'host_name': {'required': True}, - } - - _attribute_map = { - 'host_name': {'key': 'hostName', 'type': 'str'}, - } - - def __init__(self, *, host_name: str, **kwargs) -> None: - super(ValidateCustomDomainInput, self).__init__(**kwargs) - self.host_name = host_name diff --git a/src/front-door/azext_front_door/vendored_sdks/models/validate_custom_domain_output.py b/src/front-door/azext_front_door/vendored_sdks/models/validate_custom_domain_output.py deleted file mode 100644 index d330e0f935..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/validate_custom_domain_output.py +++ /dev/null @@ -1,47 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ValidateCustomDomainOutput(Model): - """Output of custom domain validation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar custom_domain_validated: Indicates whether the custom domain is - valid or not. - :vartype custom_domain_validated: bool - :ivar reason: The reason why the custom domain is not valid. - :vartype reason: str - :ivar message: Error message describing why the custom domain is not - valid. - :vartype message: str - """ - - _validation = { - 'custom_domain_validated': {'readonly': True}, - 'reason': {'readonly': True}, - 'message': {'readonly': True}, - } - - _attribute_map = { - 'custom_domain_validated': {'key': 'customDomainValidated', 'type': 'bool'}, - 'reason': {'key': 'reason', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ValidateCustomDomainOutput, self).__init__(**kwargs) - self.custom_domain_validated = None - self.reason = None - self.message = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/validate_custom_domain_output_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/validate_custom_domain_output_py3.py deleted file mode 100644 index a3d2b9339b..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/validate_custom_domain_output_py3.py +++ /dev/null @@ -1,47 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ValidateCustomDomainOutput(Model): - """Output of custom domain validation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar custom_domain_validated: Indicates whether the custom domain is - valid or not. - :vartype custom_domain_validated: bool - :ivar reason: The reason why the custom domain is not valid. - :vartype reason: str - :ivar message: Error message describing why the custom domain is not - valid. - :vartype message: str - """ - - _validation = { - 'custom_domain_validated': {'readonly': True}, - 'reason': {'readonly': True}, - 'message': {'readonly': True}, - } - - _attribute_map = { - 'custom_domain_validated': {'key': 'customDomainValidated', 'type': 'bool'}, - 'reason': {'key': 'reason', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(ValidateCustomDomainOutput, self).__init__(**kwargs) - self.custom_domain_validated = None - self.reason = None - self.message = None diff --git a/src/front-door/azext_front_door/vendored_sdks/models/web_application_firewall_policy.py b/src/front-door/azext_front_door/vendored_sdks/models/web_application_firewall_policy.py deleted file mode 100644 index a0687bd3f1..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/web_application_firewall_policy.py +++ /dev/null @@ -1,85 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class WebApplicationFirewallPolicy(Resource): - """Defines web application firewall policy. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param policy_settings: Describes settings for the policy. - :type policy_settings: ~azure.mgmt.frontdoor.models.PolicySettings - :param custom_rules: Describes custom rules inside the policy. - :type custom_rules: ~azure.mgmt.frontdoor.models.CustomRuleList - :param managed_rules: Describes managed rules inside the policy. - :type managed_rules: ~azure.mgmt.frontdoor.models.ManagedRuleSetList - :ivar frontend_endpoint_links: Describes Frontend Endpoints associated - with this Web Application Firewall policy. - :vartype frontend_endpoint_links: - list[~azure.mgmt.frontdoor.models.FrontendEndpointLink] - :ivar provisioning_state: Provisioning state of the policy. - :vartype provisioning_state: str - :ivar resource_state: Resource status of the policy. Possible values - include: 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', - 'Deleting' - :vartype resource_state: str or - ~azure.mgmt.frontdoor.models.PolicyResourceState - :param etag: Gets a unique read-only string that changes whenever the - resource is updated. - :type etag: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'frontend_endpoint_links': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'resource_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'policy_settings': {'key': 'properties.policySettings', 'type': 'PolicySettings'}, - 'custom_rules': {'key': 'properties.customRules', 'type': 'CustomRuleList'}, - 'managed_rules': {'key': 'properties.managedRules', 'type': 'ManagedRuleSetList'}, - 'frontend_endpoint_links': {'key': 'properties.frontendEndpointLinks', 'type': '[FrontendEndpointLink]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(WebApplicationFirewallPolicy, self).__init__(**kwargs) - self.policy_settings = kwargs.get('policy_settings', None) - self.custom_rules = kwargs.get('custom_rules', None) - self.managed_rules = kwargs.get('managed_rules', None) - self.frontend_endpoint_links = None - self.provisioning_state = None - self.resource_state = None - self.etag = kwargs.get('etag', None) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/web_application_firewall_policy_paged.py b/src/front-door/azext_front_door/vendored_sdks/models/web_application_firewall_policy_paged.py deleted file mode 100644 index 3f4e59c1dd..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/web_application_firewall_policy_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class WebApplicationFirewallPolicyPaged(Paged): - """ - A paging container for iterating over a list of :class:`WebApplicationFirewallPolicy ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[WebApplicationFirewallPolicy]'} - } - - def __init__(self, *args, **kwargs): - - super(WebApplicationFirewallPolicyPaged, self).__init__(*args, **kwargs) diff --git a/src/front-door/azext_front_door/vendored_sdks/models/web_application_firewall_policy_py3.py b/src/front-door/azext_front_door/vendored_sdks/models/web_application_firewall_policy_py3.py deleted file mode 100644 index 4cc4cbf0c5..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/models/web_application_firewall_policy_py3.py +++ /dev/null @@ -1,85 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class WebApplicationFirewallPolicy(Resource): - """Defines web application firewall policy. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param policy_settings: Describes settings for the policy. - :type policy_settings: ~azure.mgmt.frontdoor.models.PolicySettings - :param custom_rules: Describes custom rules inside the policy. - :type custom_rules: ~azure.mgmt.frontdoor.models.CustomRuleList - :param managed_rules: Describes managed rules inside the policy. - :type managed_rules: ~azure.mgmt.frontdoor.models.ManagedRuleSetList - :ivar frontend_endpoint_links: Describes Frontend Endpoints associated - with this Web Application Firewall policy. - :vartype frontend_endpoint_links: - list[~azure.mgmt.frontdoor.models.FrontendEndpointLink] - :ivar provisioning_state: Provisioning state of the policy. - :vartype provisioning_state: str - :ivar resource_state: Resource status of the policy. Possible values - include: 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', - 'Deleting' - :vartype resource_state: str or - ~azure.mgmt.frontdoor.models.PolicyResourceState - :param etag: Gets a unique read-only string that changes whenever the - resource is updated. - :type etag: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'frontend_endpoint_links': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'resource_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'policy_settings': {'key': 'properties.policySettings', 'type': 'PolicySettings'}, - 'custom_rules': {'key': 'properties.customRules', 'type': 'CustomRuleList'}, - 'managed_rules': {'key': 'properties.managedRules', 'type': 'ManagedRuleSetList'}, - 'frontend_endpoint_links': {'key': 'properties.frontendEndpointLinks', 'type': '[FrontendEndpointLink]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - } - - def __init__(self, *, location: str=None, tags=None, policy_settings=None, custom_rules=None, managed_rules=None, etag: str=None, **kwargs) -> None: - super(WebApplicationFirewallPolicy, self).__init__(location=location, tags=tags, **kwargs) - self.policy_settings = policy_settings - self.custom_rules = custom_rules - self.managed_rules = managed_rules - self.frontend_endpoint_links = None - self.provisioning_state = None - self.resource_state = None - self.etag = etag diff --git a/src/front-door/azext_front_door/vendored_sdks/operations/__init__.py b/src/front-door/azext_front_door/vendored_sdks/operations/__init__.py index 29cd448203..25b6b5eb67 100644 --- a/src/front-door/azext_front_door/vendored_sdks/operations/__init__.py +++ b/src/front-door/azext_front_door/vendored_sdks/operations/__init__.py @@ -9,16 +9,28 @@ # regenerated. # -------------------------------------------------------------------------- -from .front_doors_operations import FrontDoorsOperations -from .frontend_endpoints_operations import FrontendEndpointsOperations -from .endpoints_operations import EndpointsOperations -from .policies_operations import PoliciesOperations -from .managed_rule_sets_operations import ManagedRuleSetsOperations +from ._network_experiment_profiles_operations import NetworkExperimentProfilesOperations +from ._preconfigured_endpoints_operations import PreconfiguredEndpointsOperations +from ._experiments_operations import ExperimentsOperations +from ._reports_operations import ReportsOperations +from ._front_doors_operations import FrontDoorsOperations +from ._frontend_endpoints_operations import FrontendEndpointsOperations +from ._endpoints_operations import EndpointsOperations +from ._rules_engines_operations import RulesEnginesOperations +from ._policies_operations import PoliciesOperations +from ._managed_rule_sets_operations import ManagedRuleSetsOperations +from ._front_door_management_client_operations import FrontDoorManagementClientOperationsMixin __all__ = [ + 'NetworkExperimentProfilesOperations', + 'PreconfiguredEndpointsOperations', + 'ExperimentsOperations', + 'ReportsOperations', 'FrontDoorsOperations', 'FrontendEndpointsOperations', 'EndpointsOperations', + 'RulesEnginesOperations', 'PoliciesOperations', 'ManagedRuleSetsOperations', + 'FrontDoorManagementClientOperationsMixin', ] diff --git a/src/front-door/azext_front_door/vendored_sdks/operations/endpoints_operations.py b/src/front-door/azext_front_door/vendored_sdks/operations/_endpoints_operations.py similarity index 94% rename from src/front-door/azext_front_door/vendored_sdks/operations/endpoints_operations.py rename to src/front-door/azext_front_door/vendored_sdks/operations/_endpoints_operations.py index 54cb258ca9..8280359cfa 100644 --- a/src/front-door/azext_front_door/vendored_sdks/operations/endpoints_operations.py +++ b/src/front-door/azext_front_door/vendored_sdks/operations/_endpoints_operations.py @@ -20,11 +20,13 @@ from .. import models class EndpointsOperations(object): """EndpointsOperations operations. + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-05-01". + :ivar api_version: Client API version. Constant value: "2020-01-01". """ models = models @@ -34,7 +36,7 @@ class EndpointsOperations(object): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2019-05-01" + self.api_version = "2020-01-01" self.config = config @@ -122,7 +124,7 @@ class EndpointsOperations(object): lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **operation_config) elif polling is False: polling_method = NoPolling() else: polling_method = polling return LROPoller(self._client, raw_result, get_long_running_output, polling_method) diff --git a/src/front-door/azext_front_door/vendored_sdks/operations/health_probe_settings_operations.py b/src/front-door/azext_front_door/vendored_sdks/operations/_experiments_operations.py similarity index 55% rename from src/front-door/azext_front_door/vendored_sdks/operations/health_probe_settings_operations.py rename to src/front-door/azext_front_door/vendored_sdks/operations/_experiments_operations.py index 697c2cf0cb..5a6ac2b63d 100644 --- a/src/front-door/azext_front_door/vendored_sdks/operations/health_probe_settings_operations.py +++ b/src/front-door/azext_front_door/vendored_sdks/operations/_experiments_operations.py @@ -17,14 +17,16 @@ from msrestazure.polling.arm_polling import ARMPolling from .. import models -class HealthProbeSettingsOperations(object): - """HealthProbeSettingsOperations operations. +class ExperimentsOperations(object): + """ExperimentsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-04-01". + :ivar api_version: Client API version. Constant value: "2019-11-01". """ models = models @@ -34,40 +36,39 @@ class HealthProbeSettingsOperations(object): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2019-04-01" + self.api_version = "2019-11-01" self.config = config - def list_by_front_door( - self, resource_group_name, front_door_name, custom_headers=None, raw=False, **operation_config): - """Lists all of the HealthProbeSettings within a Front Door. + def list_by_profile( + self, resource_group_name, profile_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of Experiments. :param resource_group_name: Name of the Resource group within the Azure subscription. :type resource_group_name: str - :param front_door_name: Name of the Front Door which is globally - unique. - :type front_door_name: str + :param profile_name: The Profile identifier associated with the Tenant + and Partner + :type profile_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response :param operation_config: :ref:`Operation configuration overrides`. - :return: An iterator like instance of HealthProbeSettingsModel + :return: An iterator like instance of Experiment :rtype: - ~azure.mgmt.frontdoor.models.HealthProbeSettingsModelPaged[~azure.mgmt.frontdoor.models.HealthProbeSettingsModel] + ~azure.mgmt.frontdoor.models.ExperimentPaged[~azure.mgmt.frontdoor.models.Experiment] :raises: :class:`ErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL - url = self.list_by_front_door.metadata['url'] + url = self.list_by_profile.metadata['url'] path_format_arguments = { 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), - 'frontDoorName': self._serialize.url("front_door_name", front_door_name, 'str', max_length=64, min_length=5, pattern=r'^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$') + 'profileName': self._serialize.url("profile_name", profile_name, 'str', pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$') } url = self._client.format_url(url, **path_format_arguments) @@ -91,6 +92,11 @@ class HealthProbeSettingsOperations(object): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -99,37 +105,34 @@ class HealthProbeSettingsOperations(object): return response # Deserialize response - deserialized = models.HealthProbeSettingsModelPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.HealthProbeSettingsModelPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ExperimentPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized - list_by_front_door.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings'} + list_by_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments'} def get( - self, resource_group_name, front_door_name, health_probe_settings_name, custom_headers=None, raw=False, **operation_config): - """Gets a HealthProbeSettings with the specified Rule name within the - specified Front Door. + self, resource_group_name, profile_name, experiment_name, custom_headers=None, raw=False, **operation_config): + """Gets an Experiment by ExperimentName. :param resource_group_name: Name of the Resource group within the Azure subscription. :type resource_group_name: str - :param front_door_name: Name of the Front Door which is globally - unique. - :type front_door_name: str - :param health_probe_settings_name: Name of the health probe settings - which is unique within the Front Door. - :type health_probe_settings_name: str + :param profile_name: The Profile identifier associated with the Tenant + and Partner + :type profile_name: str + :param experiment_name: The Experiment identifier associated with the + Experiment + :type experiment_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response :param operation_config: :ref:`Operation configuration overrides`. - :return: HealthProbeSettingsModel or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.frontdoor.models.HealthProbeSettingsModel or + :return: Experiment or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.frontdoor.models.Experiment or ~msrest.pipeline.ClientRawResponse :raises: :class:`ErrorResponseException` @@ -139,8 +142,8 @@ class HealthProbeSettingsOperations(object): path_format_arguments = { 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), - 'frontDoorName': self._serialize.url("front_door_name", front_door_name, 'str', max_length=64, min_length=5, pattern=r'^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$'), - 'healthProbeSettingsName': self._serialize.url("health_probe_settings_name", health_probe_settings_name, 'str', max_length=90, min_length=1, pattern=r'^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$') + 'profileName': self._serialize.url("profile_name", profile_name, 'str', pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), + 'experimentName': self._serialize.url("experiment_name", experiment_name, 'str', pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$') } url = self._client.format_url(url, **path_format_arguments) @@ -166,27 +169,26 @@ class HealthProbeSettingsOperations(object): raise models.ErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('HealthProbeSettingsModel', response) + deserialized = self._deserialize('Experiment', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) return client_raw_response return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}'} def _create_or_update_initial( - self, resource_group_name, front_door_name, health_probe_settings_name, health_probe_settings_parameters, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, profile_name, experiment_name, parameters, custom_headers=None, raw=False, **operation_config): # Construct URL url = self.create_or_update.metadata['url'] path_format_arguments = { 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), - 'frontDoorName': self._serialize.url("front_door_name", front_door_name, 'str', max_length=64, min_length=5, pattern=r'^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$'), - 'healthProbeSettingsName': self._serialize.url("health_probe_settings_name", health_probe_settings_name, 'str', max_length=90, min_length=1, pattern=r'^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$') + 'profileName': self._serialize.url("profile_name", profile_name, 'str', pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), + 'experimentName': self._serialize.url("experiment_name", experiment_name, 'str', pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$') } url = self._client.format_url(url, **path_format_arguments) @@ -206,7 +208,7 @@ class HealthProbeSettingsOperations(object): header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct body - body_content = self._serialize.body(health_probe_settings_parameters, 'HealthProbeSettingsModel') + body_content = self._serialize.body(parameters, 'Experiment') # Construct and send request request = self._client.put(url, query_parameters, header_parameters, body_content) @@ -218,11 +220,11 @@ class HealthProbeSettingsOperations(object): deserialized = None if response.status_code == 200: - deserialized = self._deserialize('HealthProbeSettingsModel', response) + deserialized = self._deserialize('Experiment', response) if response.status_code == 201: - deserialized = self._deserialize('HealthProbeSettingsModel', response) + deserialized = self._deserialize('Experiment', response) if response.status_code == 202: - deserialized = self._deserialize('HealthProbeSettingsModel', response) + deserialized = self._deserialize('Experiment', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -231,50 +233,46 @@ class HealthProbeSettingsOperations(object): return deserialized def create_or_update( - self, resource_group_name, front_door_name, health_probe_settings_name, health_probe_settings_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a new HealthProbeSettings with the specified Rule name within - the specified Front Door. + self, resource_group_name, profile_name, experiment_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an Experiment. :param resource_group_name: Name of the Resource group within the Azure subscription. :type resource_group_name: str - :param front_door_name: Name of the Front Door which is globally - unique. - :type front_door_name: str - :param health_probe_settings_name: Name of the health probe settings - which is unique within the Front Door. - :type health_probe_settings_name: str - :param health_probe_settings_parameters: HealthProbeSettings - properties needed to create a new Front Door. - :type health_probe_settings_parameters: - ~azure.mgmt.frontdoor.models.HealthProbeSettingsModel + :param profile_name: The Profile identifier associated with the Tenant + and Partner + :type profile_name: str + :param experiment_name: The Experiment identifier associated with the + Experiment + :type experiment_name: str + :param parameters: The Experiment resource + :type parameters: ~azure.mgmt.frontdoor.models.Experiment :param dict custom_headers: headers that will be added to the request :param bool raw: The poller return type is ClientRawResponse, the direct response alongside the deserialized response :param polling: True for ARMPolling, False for no polling, or a polling object for personal polling strategy - :return: An instance of LROPoller that returns - HealthProbeSettingsModel or - ClientRawResponse if raw==True + :return: An instance of LROPoller that returns Experiment or + ClientRawResponse if raw==True :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.frontdoor.models.HealthProbeSettingsModel] + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.frontdoor.models.Experiment] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.frontdoor.models.HealthProbeSettingsModel]] + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.frontdoor.models.Experiment]] :raises: :class:`ErrorResponseException` """ raw_result = self._create_or_update_initial( resource_group_name=resource_group_name, - front_door_name=front_door_name, - health_probe_settings_name=health_probe_settings_name, - health_probe_settings_parameters=health_probe_settings_parameters, + profile_name=profile_name, + experiment_name=experiment_name, + parameters=parameters, custom_headers=custom_headers, raw=True, **operation_config ) def get_long_running_output(response): - deserialized = self._deserialize('HealthProbeSettingsModel', response) + deserialized = self._deserialize('Experiment', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -289,18 +287,128 @@ class HealthProbeSettingsOperations(object): elif polling is False: polling_method = NoPolling() else: polling_method = polling return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}'} + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}'} + + + def _update_initial( + self, resource_group_name, profile_name, experiment_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), + 'profileName': self._serialize.url("profile_name", profile_name, 'str', pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), + 'experimentName': self._serialize.url("experiment_name", experiment_name, 'str', pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ExperimentUpdateModel') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Experiment', response) + if response.status_code == 202: + deserialized = self._deserialize('Experiment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, profile_name, experiment_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates an Experiment by Experiment id. + + Updates an Experiment. + + :param resource_group_name: Name of the Resource group within the + Azure subscription. + :type resource_group_name: str + :param profile_name: The Profile identifier associated with the Tenant + and Partner + :type profile_name: str + :param experiment_name: The Experiment identifier associated with the + Experiment + :type experiment_name: str + :param parameters: The Experiment Update Model + :type parameters: ~azure.mgmt.frontdoor.models.ExperimentUpdateModel + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Experiment or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.frontdoor.models.Experiment] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.frontdoor.models.Experiment]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + profile_name=profile_name, + experiment_name=experiment_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Experiment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}'} def _delete_initial( - self, resource_group_name, front_door_name, health_probe_settings_name, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, profile_name, experiment_name, custom_headers=None, raw=False, **operation_config): # Construct URL url = self.delete.metadata['url'] path_format_arguments = { 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), - 'frontDoorName': self._serialize.url("front_door_name", front_door_name, 'str', max_length=64, min_length=5, pattern=r'^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$'), - 'healthProbeSettingsName': self._serialize.url("health_probe_settings_name", health_probe_settings_name, 'str', max_length=90, min_length=1, pattern=r'^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$') + 'profileName': self._serialize.url("profile_name", profile_name, 'str', pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), + 'experimentName': self._serialize.url("experiment_name", experiment_name, 'str', pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$') } url = self._client.format_url(url, **path_format_arguments) @@ -321,7 +429,7 @@ class HealthProbeSettingsOperations(object): request = self._client.delete(url, query_parameters, header_parameters) response = self._client.send(request, stream=False, **operation_config) - if response.status_code not in [202, 204]: + if response.status_code not in [200, 202, 204]: raise models.ErrorResponseException(self._deserialize, response) if raw: @@ -329,18 +437,18 @@ class HealthProbeSettingsOperations(object): return client_raw_response def delete( - self, resource_group_name, front_door_name, health_probe_settings_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes an existing HealthProbeSettings with the specified parameters. + self, resource_group_name, profile_name, experiment_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes an Experiment. :param resource_group_name: Name of the Resource group within the Azure subscription. :type resource_group_name: str - :param front_door_name: Name of the Front Door which is globally - unique. - :type front_door_name: str - :param health_probe_settings_name: Name of the health probe settings - which is unique within the Front Door. - :type health_probe_settings_name: str + :param profile_name: The Profile identifier associated with the Tenant + and Partner + :type profile_name: str + :param experiment_name: The Experiment identifier associated with the + Experiment + :type experiment_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: The poller return type is ClientRawResponse, the direct response alongside the deserialized response @@ -355,8 +463,8 @@ class HealthProbeSettingsOperations(object): """ raw_result = self._delete_initial( resource_group_name=resource_group_name, - front_door_name=front_door_name, - health_probe_settings_name=health_probe_settings_name, + profile_name=profile_name, + experiment_name=experiment_name, custom_headers=custom_headers, raw=True, **operation_config @@ -374,4 +482,4 @@ class HealthProbeSettingsOperations(object): elif polling is False: polling_method = NoPolling() else: polling_method = polling return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}'} + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}'} diff --git a/src/front-door/azext_front_door/vendored_sdks/front_door_management_client.py b/src/front-door/azext_front_door/vendored_sdks/operations/_front_door_management_client_operations.py similarity index 61% rename from src/front-door/azext_front_door/vendored_sdks/front_door_management_client.py rename to src/front-door/azext_front_door/vendored_sdks/operations/_front_door_management_client_operations.py index 5134686e57..fa9902b234 100644 --- a/src/front-door/azext_front_door/vendored_sdks/front_door_management_client.py +++ b/src/front-door/azext_front_door/vendored_sdks/operations/_front_door_management_client_operations.py @@ -9,104 +9,15 @@ # regenerated. # -------------------------------------------------------------------------- -from msrest.service_client import SDKClient -from msrest import Serializer, Deserializer -from msrestazure import AzureConfiguration -from .version import VERSION from msrest.pipeline import ClientRawResponse from msrestazure.azure_exceptions import CloudError from msrest.polling import LROPoller, NoPolling from msrestazure.polling.arm_polling import ARMPolling +from .. import models import uuid -from .operations.front_doors_operations import FrontDoorsOperations -from .operations.frontend_endpoints_operations import FrontendEndpointsOperations -from .operations.endpoints_operations import EndpointsOperations -from .operations.policies_operations import PoliciesOperations -from .operations.managed_rule_sets_operations import ManagedRuleSetsOperations -from . import models -class FrontDoorManagementClientConfiguration(AzureConfiguration): - """Configuration for FrontDoorManagementClient - Note that all parameters used to create this instance are saved as instance - attributes. - - :param credentials: Credentials needed for the client to connect to Azure. - :type credentials: :mod:`A msrestazure Credentials - object` - :param subscription_id: The subscription credentials which uniquely - identify the Microsoft Azure subscription. The subscription ID forms part - of the URI for every service call. - :type subscription_id: str - :param str base_url: Service URL - """ - - def __init__( - self, credentials, subscription_id, base_url=None): - - if credentials is None: - raise ValueError("Parameter 'credentials' must not be None.") - if subscription_id is None: - raise ValueError("Parameter 'subscription_id' must not be None.") - if not base_url: - base_url = 'https://management.azure.com' - - super(FrontDoorManagementClientConfiguration, self).__init__(base_url) - - self.add_user_agent('azure-mgmt-frontdoor/{}'.format(VERSION)) - self.add_user_agent('Azure-SDK-For-Python') - - self.credentials = credentials - self.subscription_id = subscription_id - - -class FrontDoorManagementClient(SDKClient): - """FrontDoor Client - - :ivar config: Configuration for client. - :vartype config: FrontDoorManagementClientConfiguration - - :ivar front_doors: FrontDoors operations - :vartype front_doors: azure.mgmt.frontdoor.operations.FrontDoorsOperations - :ivar frontend_endpoints: FrontendEndpoints operations - :vartype frontend_endpoints: azure.mgmt.frontdoor.operations.FrontendEndpointsOperations - :ivar endpoints: Endpoints operations - :vartype endpoints: azure.mgmt.frontdoor.operations.EndpointsOperations - :ivar policies: Policies operations - :vartype policies: azure.mgmt.frontdoor.operations.PoliciesOperations - :ivar managed_rule_sets: ManagedRuleSets operations - :vartype managed_rule_sets: azure.mgmt.frontdoor.operations.ManagedRuleSetsOperations - - :param credentials: Credentials needed for the client to connect to Azure. - :type credentials: :mod:`A msrestazure Credentials - object` - :param subscription_id: The subscription credentials which uniquely - identify the Microsoft Azure subscription. The subscription ID forms part - of the URI for every service call. - :type subscription_id: str - :param str base_url: Service URL - """ - - def __init__( - self, credentials, subscription_id, base_url=None): - - self.config = FrontDoorManagementClientConfiguration(credentials, subscription_id, base_url) - super(FrontDoorManagementClient, self).__init__(self.config.credentials, self.config) - - client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self._serialize = Serializer(client_models) - self._deserialize = Deserializer(client_models) - - self.front_doors = FrontDoorsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.frontend_endpoints = FrontendEndpointsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.endpoints = EndpointsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.policies = PoliciesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.managed_rule_sets = ManagedRuleSetsOperations( - self._client, self.config, self._serialize, self._deserialize) +class FrontDoorManagementClientOperationsMixin(object): def check_front_door_name_availability( self, name, type, custom_headers=None, raw=False, **operation_config): @@ -131,7 +42,7 @@ class FrontDoorManagementClient(SDKClient): """ check_front_door_name_availability_input = models.CheckNameAvailabilityInput(name=name, type=type) - api_version = "2019-05-01" + api_version = "2020-01-01" # Construct URL url = self.check_front_door_name_availability.metadata['url'] @@ -162,7 +73,6 @@ class FrontDoorManagementClient(SDKClient): raise models.ErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('CheckNameAvailabilityOutput', response) @@ -196,7 +106,7 @@ class FrontDoorManagementClient(SDKClient): """ check_front_door_name_availability_input = models.CheckNameAvailabilityInput(name=name, type=type) - api_version = "2019-05-01" + api_version = "2020-01-01" # Construct URL url = self.check_front_door_name_availability_with_subscription.metadata['url'] @@ -231,7 +141,6 @@ class FrontDoorManagementClient(SDKClient): raise models.ErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('CheckNameAvailabilityOutput', response) diff --git a/src/front-door/azext_front_door/vendored_sdks/operations/front_doors_operations.py b/src/front-door/azext_front_door/vendored_sdks/operations/_front_doors_operations.py similarity index 96% rename from src/front-door/azext_front_door/vendored_sdks/operations/front_doors_operations.py rename to src/front-door/azext_front_door/vendored_sdks/operations/_front_doors_operations.py index 1ae400044c..f7eac8409c 100644 --- a/src/front-door/azext_front_door/vendored_sdks/operations/front_doors_operations.py +++ b/src/front-door/azext_front_door/vendored_sdks/operations/_front_doors_operations.py @@ -20,11 +20,13 @@ from .. import models class FrontDoorsOperations(object): """FrontDoorsOperations operations. + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-05-01". + :ivar api_version: Client API version. Constant value: "2020-01-01". """ models = models @@ -34,7 +36,7 @@ class FrontDoorsOperations(object): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2019-05-01" + self.api_version = "2020-01-01" self.config = config @@ -53,8 +55,7 @@ class FrontDoorsOperations(object): :raises: :class:`ErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list.metadata['url'] @@ -83,6 +84,11 @@ class FrontDoorsOperations(object): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -91,12 +97,10 @@ class FrontDoorsOperations(object): return response # Deserialize response - deserialized = models.FrontDoorPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.FrontDoorPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.FrontDoorPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/frontDoors'} @@ -120,8 +124,7 @@ class FrontDoorsOperations(object): :raises: :class:`ErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_by_resource_group.metadata['url'] @@ -151,6 +154,11 @@ class FrontDoorsOperations(object): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -159,12 +167,10 @@ class FrontDoorsOperations(object): return response # Deserialize response - deserialized = models.FrontDoorPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.FrontDoorPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.FrontDoorPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors'} @@ -222,7 +228,6 @@ class FrontDoorsOperations(object): raise models.ErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('FrontDoor', response) @@ -482,7 +487,6 @@ class FrontDoorsOperations(object): raise models.ErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ValidateCustomDomainOutput', response) diff --git a/src/front-door/azext_front_door/vendored_sdks/operations/frontend_endpoints_operations.py b/src/front-door/azext_front_door/vendored_sdks/operations/_frontend_endpoints_operations.py similarity index 96% rename from src/front-door/azext_front_door/vendored_sdks/operations/frontend_endpoints_operations.py rename to src/front-door/azext_front_door/vendored_sdks/operations/_frontend_endpoints_operations.py index 9116cd70f0..33a783f006 100644 --- a/src/front-door/azext_front_door/vendored_sdks/operations/frontend_endpoints_operations.py +++ b/src/front-door/azext_front_door/vendored_sdks/operations/_frontend_endpoints_operations.py @@ -20,11 +20,13 @@ from .. import models class FrontendEndpointsOperations(object): """FrontendEndpointsOperations operations. + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-05-01". + :ivar api_version: Client API version. Constant value: "2020-01-01". """ models = models @@ -34,7 +36,7 @@ class FrontendEndpointsOperations(object): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2019-05-01" + self.api_version = "2020-01-01" self.config = config @@ -59,8 +61,7 @@ class FrontendEndpointsOperations(object): :raises: :class:`ErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_by_front_door.metadata['url'] @@ -91,6 +92,11 @@ class FrontendEndpointsOperations(object): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -99,12 +105,10 @@ class FrontendEndpointsOperations(object): return response # Deserialize response - deserialized = models.FrontendEndpointPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.FrontendEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.FrontendEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_by_front_door.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints'} @@ -166,7 +170,6 @@ class FrontendEndpointsOperations(object): raise models.ErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('FrontendEndpoint', response) @@ -265,7 +268,7 @@ class FrontendEndpointsOperations(object): lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **operation_config) elif polling is False: polling_method = NoPolling() else: polling_method = polling return LROPoller(self._client, raw_result, get_long_running_output, polling_method) @@ -350,7 +353,7 @@ class FrontendEndpointsOperations(object): lro_delay = operation_config.get( 'long_running_operation_timeout', self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **operation_config) elif polling is False: polling_method = NoPolling() else: polling_method = polling return LROPoller(self._client, raw_result, get_long_running_output, polling_method) diff --git a/src/front-door/azext_front_door/vendored_sdks/operations/managed_rule_sets_operations.py b/src/front-door/azext_front_door/vendored_sdks/operations/_managed_rule_sets_operations.py similarity index 90% rename from src/front-door/azext_front_door/vendored_sdks/operations/managed_rule_sets_operations.py rename to src/front-door/azext_front_door/vendored_sdks/operations/_managed_rule_sets_operations.py index 5c804ff1f8..cf28d3b724 100644 --- a/src/front-door/azext_front_door/vendored_sdks/operations/managed_rule_sets_operations.py +++ b/src/front-door/azext_front_door/vendored_sdks/operations/_managed_rule_sets_operations.py @@ -18,6 +18,8 @@ from .. import models class ManagedRuleSetsOperations(object): """ManagedRuleSetsOperations operations. + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -51,8 +53,7 @@ class ManagedRuleSetsOperations(object): :raises: :class:`ErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list.metadata['url'] @@ -81,6 +82,11 @@ class ManagedRuleSetsOperations(object): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -89,12 +95,10 @@ class ManagedRuleSetsOperations(object): return response # Deserialize response - deserialized = models.ManagedRuleSetDefinitionPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ManagedRuleSetDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ManagedRuleSetDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallManagedRuleSets'} diff --git a/src/front-door/azext_front_door/vendored_sdks/operations/load_balancing_settings_operations.py b/src/front-door/azext_front_door/vendored_sdks/operations/_network_experiment_profiles_operations.py similarity index 51% rename from src/front-door/azext_front_door/vendored_sdks/operations/load_balancing_settings_operations.py rename to src/front-door/azext_front_door/vendored_sdks/operations/_network_experiment_profiles_operations.py index 7437f51958..f327e312a3 100644 --- a/src/front-door/azext_front_door/vendored_sdks/operations/load_balancing_settings_operations.py +++ b/src/front-door/azext_front_door/vendored_sdks/operations/_network_experiment_profiles_operations.py @@ -17,14 +17,16 @@ from msrestazure.polling.arm_polling import ARMPolling from .. import models -class LoadBalancingSettingsOperations(object): - """LoadBalancingSettingsOperations operations. +class NetworkExperimentProfilesOperations(object): + """NetworkExperimentProfilesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-04-01". + :ivar api_version: Client API version. Constant value: "2019-11-01". """ models = models @@ -34,40 +36,31 @@ class LoadBalancingSettingsOperations(object): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2019-04-01" + self.api_version = "2019-11-01" self.config = config - def list_by_front_door( - self, resource_group_name, front_door_name, custom_headers=None, raw=False, **operation_config): - """Lists all of the LoadBalancingSettings within a Front Door. + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets a list of Network Experiment Profiles under a subscription. - :param resource_group_name: Name of the Resource group within the - Azure subscription. - :type resource_group_name: str - :param front_door_name: Name of the Front Door which is globally - unique. - :type front_door_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response :param operation_config: :ref:`Operation configuration overrides`. - :return: An iterator like instance of LoadBalancingSettingsModel + :return: An iterator like instance of Profile :rtype: - ~azure.mgmt.frontdoor.models.LoadBalancingSettingsModelPaged[~azure.mgmt.frontdoor.models.LoadBalancingSettingsModel] + ~azure.mgmt.frontdoor.models.ProfilePaged[~azure.mgmt.frontdoor.models.Profile] :raises: :class:`ErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL - url = self.list_by_front_door.metadata['url'] + url = self.list.metadata['url'] path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), - 'frontDoorName': self._serialize.url("front_door_name", front_door_name, 'str', max_length=64, min_length=5, pattern=r'^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$') + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') } url = self._client.format_url(url, **path_format_arguments) @@ -91,6 +84,11 @@ class LoadBalancingSettingsOperations(object): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -99,37 +97,101 @@ class LoadBalancingSettingsOperations(object): return response # Deserialize response - deserialized = models.LoadBalancingSettingsModelPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.LoadBalancingSettingsModelPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ProfilePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized - list_by_front_door.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings'} + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/NetworkExperimentProfiles'} - def get( - self, resource_group_name, front_door_name, load_balancing_settings_name, custom_headers=None, raw=False, **operation_config): - """Gets a LoadBalancingSettings with the specified Rule name within the - specified Front Door. + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of Network Experiment Profiles within a resource group + under a subscription. :param resource_group_name: Name of the Resource group within the Azure subscription. :type resource_group_name: str - :param front_door_name: Name of the Front Door which is globally - unique. - :type front_door_name: str - :param load_balancing_settings_name: Name of the load balancing - settings which is unique within the Front Door. - :type load_balancing_settings_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response :param operation_config: :ref:`Operation configuration overrides`. - :return: LoadBalancingSettingsModel or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.frontdoor.models.LoadBalancingSettingsModel or + :return: An iterator like instance of Profile + :rtype: + ~azure.mgmt.frontdoor.models.ProfilePaged[~azure.mgmt.frontdoor.models.Profile] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ProfilePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles'} + + def get( + self, resource_group_name, profile_name, custom_headers=None, raw=False, **operation_config): + """Gets an NetworkExperiment Profile by ProfileName. + + :param resource_group_name: Name of the Resource group within the + Azure subscription. + :type resource_group_name: str + :param profile_name: The Profile identifier associated with the Tenant + and Partner + :type profile_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Profile or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.frontdoor.models.Profile or ~msrest.pipeline.ClientRawResponse :raises: :class:`ErrorResponseException` @@ -139,8 +201,7 @@ class LoadBalancingSettingsOperations(object): path_format_arguments = { 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), - 'frontDoorName': self._serialize.url("front_door_name", front_door_name, 'str', max_length=64, min_length=5, pattern=r'^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$'), - 'loadBalancingSettingsName': self._serialize.url("load_balancing_settings_name", load_balancing_settings_name, 'str', max_length=90, min_length=1, pattern=r'^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$') + 'profileName': self._serialize.url("profile_name", profile_name, 'str', pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$') } url = self._client.format_url(url, **path_format_arguments) @@ -166,27 +227,25 @@ class LoadBalancingSettingsOperations(object): raise models.ErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('LoadBalancingSettingsModel', response) + deserialized = self._deserialize('Profile', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) return client_raw_response return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}'} def _create_or_update_initial( - self, resource_group_name, front_door_name, load_balancing_settings_name, load_balancing_settings_parameters, custom_headers=None, raw=False, **operation_config): + self, profile_name, resource_group_name, parameters, custom_headers=None, raw=False, **operation_config): # Construct URL url = self.create_or_update.metadata['url'] path_format_arguments = { + 'profileName': self._serialize.url("profile_name", profile_name, 'str', pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), - 'frontDoorName': self._serialize.url("front_door_name", front_door_name, 'str', max_length=64, min_length=5, pattern=r'^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$'), - 'loadBalancingSettingsName': self._serialize.url("load_balancing_settings_name", load_balancing_settings_name, 'str', max_length=90, min_length=1, pattern=r'^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$') + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$') } url = self._client.format_url(url, **path_format_arguments) @@ -206,7 +265,7 @@ class LoadBalancingSettingsOperations(object): header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct body - body_content = self._serialize.body(load_balancing_settings_parameters, 'LoadBalancingSettingsModel') + body_content = self._serialize.body(parameters, 'Profile') # Construct and send request request = self._client.put(url, query_parameters, header_parameters, body_content) @@ -218,11 +277,11 @@ class LoadBalancingSettingsOperations(object): deserialized = None if response.status_code == 200: - deserialized = self._deserialize('LoadBalancingSettingsModel', response) + deserialized = self._deserialize('Profile', response) if response.status_code == 201: - deserialized = self._deserialize('LoadBalancingSettingsModel', response) + deserialized = self._deserialize('Profile', response) if response.status_code == 202: - deserialized = self._deserialize('LoadBalancingSettingsModel', response) + deserialized = self._deserialize('Profile', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -231,50 +290,42 @@ class LoadBalancingSettingsOperations(object): return deserialized def create_or_update( - self, resource_group_name, front_door_name, load_balancing_settings_name, load_balancing_settings_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a new LoadBalancingSettings with the specified Rule name within - the specified Front Door. + self, profile_name, resource_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates an NetworkExperiment Profile. + :param profile_name: The Profile identifier associated with the Tenant + and Partner + :type profile_name: str :param resource_group_name: Name of the Resource group within the Azure subscription. :type resource_group_name: str - :param front_door_name: Name of the Front Door which is globally - unique. - :type front_door_name: str - :param load_balancing_settings_name: Name of the load balancing - settings which is unique within the Front Door. - :type load_balancing_settings_name: str - :param load_balancing_settings_parameters: LoadBalancingSettings - properties needed to create a new Front Door. - :type load_balancing_settings_parameters: - ~azure.mgmt.frontdoor.models.LoadBalancingSettingsModel + :param parameters: An Network Experiment Profile + :type parameters: ~azure.mgmt.frontdoor.models.Profile :param dict custom_headers: headers that will be added to the request :param bool raw: The poller return type is ClientRawResponse, the direct response alongside the deserialized response :param polling: True for ARMPolling, False for no polling, or a polling object for personal polling strategy - :return: An instance of LROPoller that returns - LoadBalancingSettingsModel or - ClientRawResponse if raw==True + :return: An instance of LROPoller that returns Profile or + ClientRawResponse if raw==True :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.frontdoor.models.LoadBalancingSettingsModel] + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.frontdoor.models.Profile] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.frontdoor.models.LoadBalancingSettingsModel]] + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.frontdoor.models.Profile]] :raises: :class:`ErrorResponseException` """ raw_result = self._create_or_update_initial( + profile_name=profile_name, resource_group_name=resource_group_name, - front_door_name=front_door_name, - load_balancing_settings_name=load_balancing_settings_name, - load_balancing_settings_parameters=load_balancing_settings_parameters, + parameters=parameters, custom_headers=custom_headers, raw=True, **operation_config ) def get_long_running_output(response): - deserialized = self._deserialize('LoadBalancingSettingsModel', response) + deserialized = self._deserialize('Profile', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -289,18 +340,128 @@ class LoadBalancingSettingsOperations(object): elif polling is False: polling_method = NoPolling() else: polling_method = polling return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}'} + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}'} + + + def _update_initial( + self, resource_group_name, profile_name, enabled_state=None, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.ProfileUpdateModel(enabled_state=enabled_state, tags=tags) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), + 'profileName': self._serialize.url("profile_name", profile_name, 'str', pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ProfileUpdateModel') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Profile', response) + if response.status_code == 202: + deserialized = self._deserialize('Profile', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, profile_name, enabled_state=None, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates an NetworkExperimentProfiles by NetworkExperimentProfile name. + + Updates an NetworkExperimentProfiles. + + :param resource_group_name: Name of the Resource group within the + Azure subscription. + :type resource_group_name: str + :param profile_name: The Profile identifier associated with the Tenant + and Partner + :type profile_name: str + :param enabled_state: The enabled state of the Profile. Possible + values include: 'Enabled', 'Disabled' + :type enabled_state: str or ~azure.mgmt.frontdoor.models.State + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Profile or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.frontdoor.models.Profile] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.frontdoor.models.Profile]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + profile_name=profile_name, + enabled_state=enabled_state, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Profile', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}'} def _delete_initial( - self, resource_group_name, front_door_name, load_balancing_settings_name, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, profile_name, custom_headers=None, raw=False, **operation_config): # Construct URL url = self.delete.metadata['url'] path_format_arguments = { 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), - 'frontDoorName': self._serialize.url("front_door_name", front_door_name, 'str', max_length=64, min_length=5, pattern=r'^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$'), - 'loadBalancingSettingsName': self._serialize.url("load_balancing_settings_name", load_balancing_settings_name, 'str', max_length=90, min_length=1, pattern=r'^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$') + 'profileName': self._serialize.url("profile_name", profile_name, 'str', pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$') } url = self._client.format_url(url, **path_format_arguments) @@ -321,7 +482,7 @@ class LoadBalancingSettingsOperations(object): request = self._client.delete(url, query_parameters, header_parameters) response = self._client.send(request, stream=False, **operation_config) - if response.status_code not in [202, 204]: + if response.status_code not in [200, 202, 204]: raise models.ErrorResponseException(self._deserialize, response) if raw: @@ -329,19 +490,15 @@ class LoadBalancingSettingsOperations(object): return client_raw_response def delete( - self, resource_group_name, front_door_name, load_balancing_settings_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes an existing LoadBalancingSettings with the specified - parameters. + self, resource_group_name, profile_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes an NetworkExperiment Profile by ProfileName. :param resource_group_name: Name of the Resource group within the Azure subscription. :type resource_group_name: str - :param front_door_name: Name of the Front Door which is globally - unique. - :type front_door_name: str - :param load_balancing_settings_name: Name of the load balancing - settings which is unique within the Front Door. - :type load_balancing_settings_name: str + :param profile_name: The Profile identifier associated with the Tenant + and Partner + :type profile_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: The poller return type is ClientRawResponse, the direct response alongside the deserialized response @@ -356,8 +513,7 @@ class LoadBalancingSettingsOperations(object): """ raw_result = self._delete_initial( resource_group_name=resource_group_name, - front_door_name=front_door_name, - load_balancing_settings_name=load_balancing_settings_name, + profile_name=profile_name, custom_headers=custom_headers, raw=True, **operation_config @@ -375,4 +531,4 @@ class LoadBalancingSettingsOperations(object): elif polling is False: polling_method = NoPolling() else: polling_method = polling return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}'} + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}'} diff --git a/src/front-door/azext_front_door/vendored_sdks/operations/policies_operations.py b/src/front-door/azext_front_door/vendored_sdks/operations/_policies_operations.py similarity index 97% rename from src/front-door/azext_front_door/vendored_sdks/operations/policies_operations.py rename to src/front-door/azext_front_door/vendored_sdks/operations/_policies_operations.py index 49eb097d5b..d709da5a56 100644 --- a/src/front-door/azext_front_door/vendored_sdks/operations/policies_operations.py +++ b/src/front-door/azext_front_door/vendored_sdks/operations/_policies_operations.py @@ -21,6 +21,8 @@ from .. import models class PoliciesOperations(object): """PoliciesOperations operations. + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -57,8 +59,7 @@ class PoliciesOperations(object): :raises: :class:`ErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list.metadata['url'] @@ -88,6 +89,11 @@ class PoliciesOperations(object): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -96,12 +102,10 @@ class PoliciesOperations(object): return response # Deserialize response - deserialized = models.WebApplicationFirewallPolicyPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.WebApplicationFirewallPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.WebApplicationFirewallPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies'} @@ -157,7 +161,6 @@ class PoliciesOperations(object): raise models.ErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('WebApplicationFirewallPolicy', response) diff --git a/src/front-door/azext_front_door/vendored_sdks/operations/_preconfigured_endpoints_operations.py b/src/front-door/azext_front_door/vendored_sdks/operations/_preconfigured_endpoints_operations.py new file mode 100644 index 0000000000..cff8cab32c --- /dev/null +++ b/src/front-door/azext_front_door/vendored_sdks/operations/_preconfigured_endpoints_operations.py @@ -0,0 +1,112 @@ +# 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) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class PreconfiguredEndpointsOperations(object): + """PreconfiguredEndpointsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2019-11-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-11-01" + + self.config = config + + def list( + self, resource_group_name, profile_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of Preconfigured Endpoints. + + :param resource_group_name: Name of the Resource group within the + Azure subscription. + :type resource_group_name: str + :param profile_name: The Profile identifier associated with the Tenant + and Partner + :type profile_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PreconfiguredEndpoint + :rtype: + ~azure.mgmt.frontdoor.models.PreconfiguredEndpointPaged[~azure.mgmt.frontdoor.models.PreconfiguredEndpoint] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), + 'profileName': self._serialize.url("profile_name", profile_name, 'str', pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PreconfiguredEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/PreconfiguredEndpoints'} diff --git a/src/front-door/azext_front_door/vendored_sdks/operations/_reports_operations.py b/src/front-door/azext_front_door/vendored_sdks/operations/_reports_operations.py new file mode 100644 index 0000000000..70c135c51d --- /dev/null +++ b/src/front-door/azext_front_door/vendored_sdks/operations/_reports_operations.py @@ -0,0 +1,214 @@ +# 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) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class ReportsOperations(object): + """ReportsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2019-11-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-11-01" + + self.config = config + + def get_latency_scorecards( + self, resource_group_name, profile_name, experiment_name, aggregation_interval, end_date_time_utc=None, country=None, custom_headers=None, raw=False, **operation_config): + """Gets a Latency Scorecard for a given Experiment. + + :param resource_group_name: Name of the Resource group within the + Azure subscription. + :type resource_group_name: str + :param profile_name: The Profile identifier associated with the Tenant + and Partner + :type profile_name: str + :param experiment_name: The Experiment identifier associated with the + Experiment + :type experiment_name: str + :param aggregation_interval: The aggregation interval of the Latency + Scorecard. Possible values include: 'Daily', 'Weekly', 'Monthly' + :type aggregation_interval: str or + ~azure.mgmt.frontdoor.models.LatencyScorecardAggregationInterval + :param end_date_time_utc: The end DateTime of the Latency Scorecard in + UTC + :type end_date_time_utc: str + :param country: The country associated with the Latency Scorecard. + Values are country ISO codes as specified here- + https://www.iso.org/iso-3166-country-codes.html + :type country: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LatencyScorecard or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.frontdoor.models.LatencyScorecard or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get_latency_scorecards.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), + 'profileName': self._serialize.url("profile_name", profile_name, 'str', pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), + 'experimentName': self._serialize.url("experiment_name", experiment_name, 'str', pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + if end_date_time_utc is not None: + query_parameters['endDateTimeUTC'] = self._serialize.query("end_date_time_utc", end_date_time_utc, 'str') + if country is not None: + query_parameters['country'] = self._serialize.query("country", country, 'str') + query_parameters['aggregationInterval'] = self._serialize.query("aggregation_interval", aggregation_interval, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('LatencyScorecard', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_latency_scorecards.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}/LatencyScorecard'} + + def get_timeseries( + self, resource_group_name, profile_name, experiment_name, start_date_time_utc, end_date_time_utc, aggregation_interval, timeseries_type, endpoint=None, country=None, custom_headers=None, raw=False, **operation_config): + """Gets a Timeseries for a given Experiment. + + :param resource_group_name: Name of the Resource group within the + Azure subscription. + :type resource_group_name: str + :param profile_name: The Profile identifier associated with the Tenant + and Partner + :type profile_name: str + :param experiment_name: The Experiment identifier associated with the + Experiment + :type experiment_name: str + :param start_date_time_utc: The start DateTime of the Timeseries in + UTC + :type start_date_time_utc: datetime + :param end_date_time_utc: The end DateTime of the Timeseries in UTC + :type end_date_time_utc: datetime + :param aggregation_interval: The aggregation interval of the + Timeseries. Possible values include: 'Hourly', 'Daily' + :type aggregation_interval: str or + ~azure.mgmt.frontdoor.models.TimeseriesAggregationInterval + :param timeseries_type: The type of Timeseries. Possible values + include: 'MeasurementCounts', 'LatencyP50', 'LatencyP75', 'LatencyP95' + :type timeseries_type: str or + ~azure.mgmt.frontdoor.models.TimeseriesType + :param endpoint: The specific endpoint + :type endpoint: str + :param country: The country associated with the Timeseries. Values are + country ISO codes as specified here- + https://www.iso.org/iso-3166-country-codes.html + :type country: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Timeseries or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.frontdoor.models.Timeseries or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get_timeseries.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), + 'profileName': self._serialize.url("profile_name", profile_name, 'str', pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), + 'experimentName': self._serialize.url("experiment_name", experiment_name, 'str', pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + query_parameters['startDateTimeUTC'] = self._serialize.query("start_date_time_utc", start_date_time_utc, 'iso-8601') + query_parameters['endDateTimeUTC'] = self._serialize.query("end_date_time_utc", end_date_time_utc, 'iso-8601') + query_parameters['aggregationInterval'] = self._serialize.query("aggregation_interval", aggregation_interval, 'str') + query_parameters['timeseriesType'] = self._serialize.query("timeseries_type", timeseries_type, 'str') + if endpoint is not None: + query_parameters['endpoint'] = self._serialize.query("endpoint", endpoint, 'str') + if country is not None: + query_parameters['country'] = self._serialize.query("country", country, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Timeseries', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_timeseries.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}/Timeseries'} diff --git a/src/front-door/azext_front_door/vendored_sdks/operations/backend_pools_operations.py b/src/front-door/azext_front_door/vendored_sdks/operations/_rules_engines_operations.py similarity index 78% rename from src/front-door/azext_front_door/vendored_sdks/operations/backend_pools_operations.py rename to src/front-door/azext_front_door/vendored_sdks/operations/_rules_engines_operations.py index cfc046574d..9ed77ab7a1 100644 --- a/src/front-door/azext_front_door/vendored_sdks/operations/backend_pools_operations.py +++ b/src/front-door/azext_front_door/vendored_sdks/operations/_rules_engines_operations.py @@ -17,14 +17,16 @@ from msrestazure.polling.arm_polling import ARMPolling from .. import models -class BackendPoolsOperations(object): - """BackendPoolsOperations operations. +class RulesEnginesOperations(object): + """RulesEnginesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-04-01". + :ivar api_version: Client API version. Constant value: "2020-01-01". """ models = models @@ -34,13 +36,13 @@ class BackendPoolsOperations(object): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2019-04-01" + self.api_version = "2020-01-01" self.config = config def list_by_front_door( self, resource_group_name, front_door_name, custom_headers=None, raw=False, **operation_config): - """Lists all of the Backend Pools within a Front Door. + """Lists all of the Rules Engine Configurations within a Front Door. :param resource_group_name: Name of the Resource group within the Azure subscription. @@ -53,14 +55,13 @@ class BackendPoolsOperations(object): deserialized response :param operation_config: :ref:`Operation configuration overrides`. - :return: An iterator like instance of BackendPool + :return: An iterator like instance of RulesEngine :rtype: - ~azure.mgmt.frontdoor.models.BackendPoolPaged[~azure.mgmt.frontdoor.models.BackendPool] + ~azure.mgmt.frontdoor.models.RulesEnginePaged[~azure.mgmt.frontdoor.models.RulesEngine] :raises: :class:`ErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_by_front_door.metadata['url'] @@ -91,6 +92,11 @@ class BackendPoolsOperations(object): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -99,20 +105,18 @@ class BackendPoolsOperations(object): return response # Deserialize response - deserialized = models.BackendPoolPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.BackendPoolPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.RulesEnginePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized - list_by_front_door.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools'} + list_by_front_door.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/rulesEngines'} def get( - self, resource_group_name, front_door_name, backend_pool_name, custom_headers=None, raw=False, **operation_config): - """Gets a Backend Pool with the specified Pool name within the specified - Front Door. + self, resource_group_name, front_door_name, rules_engine_name, custom_headers=None, raw=False, **operation_config): + """Gets a Rules Engine Configuration with the specified name within the + specified Front Door. :param resource_group_name: Name of the Resource group within the Azure subscription. @@ -120,16 +124,16 @@ class BackendPoolsOperations(object): :param front_door_name: Name of the Front Door which is globally unique. :type front_door_name: str - :param backend_pool_name: Name of the Backend Pool which is unique + :param rules_engine_name: Name of the Rules Engine which is unique within the Front Door. - :type backend_pool_name: str + :type rules_engine_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response :param operation_config: :ref:`Operation configuration overrides`. - :return: BackendPool or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.frontdoor.models.BackendPool or + :return: RulesEngine or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.frontdoor.models.RulesEngine or ~msrest.pipeline.ClientRawResponse :raises: :class:`ErrorResponseException` @@ -140,7 +144,7 @@ class BackendPoolsOperations(object): 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), 'frontDoorName': self._serialize.url("front_door_name", front_door_name, 'str', max_length=64, min_length=5, pattern=r'^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$'), - 'backendPoolName': self._serialize.url("backend_pool_name", backend_pool_name, 'str', max_length=90, min_length=1, pattern=r'^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$') + 'rulesEngineName': self._serialize.url("rules_engine_name", rules_engine_name, 'str', max_length=90, min_length=1, pattern=r'^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$') } url = self._client.format_url(url, **path_format_arguments) @@ -166,27 +170,28 @@ class BackendPoolsOperations(object): raise models.ErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('BackendPool', response) + deserialized = self._deserialize('RulesEngine', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) return client_raw_response return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/rulesEngines/{rulesEngineName}'} def _create_or_update_initial( - self, resource_group_name, front_door_name, backend_pool_name, backend_pool_parameters, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, front_door_name, rules_engine_name, rules=None, resource_state=None, custom_headers=None, raw=False, **operation_config): + rules_engine_parameters = models.RulesEngine(rules=rules, resource_state=resource_state) + # Construct URL url = self.create_or_update.metadata['url'] path_format_arguments = { 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), 'frontDoorName': self._serialize.url("front_door_name", front_door_name, 'str', max_length=64, min_length=5, pattern=r'^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$'), - 'backendPoolName': self._serialize.url("backend_pool_name", backend_pool_name, 'str', max_length=90, min_length=1, pattern=r'^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$') + 'rulesEngineName': self._serialize.url("rules_engine_name", rules_engine_name, 'str', max_length=90, min_length=1, pattern=r'^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$') } url = self._client.format_url(url, **path_format_arguments) @@ -206,7 +211,7 @@ class BackendPoolsOperations(object): header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') # Construct body - body_content = self._serialize.body(backend_pool_parameters, 'BackendPool') + body_content = self._serialize.body(rules_engine_parameters, 'RulesEngine') # Construct and send request request = self._client.put(url, query_parameters, header_parameters, body_content) @@ -218,11 +223,11 @@ class BackendPoolsOperations(object): deserialized = None if response.status_code == 200: - deserialized = self._deserialize('BackendPool', response) + deserialized = self._deserialize('RulesEngine', response) if response.status_code == 201: - deserialized = self._deserialize('BackendPool', response) + deserialized = self._deserialize('RulesEngine', response) if response.status_code == 202: - deserialized = self._deserialize('BackendPool', response) + deserialized = self._deserialize('RulesEngine', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -231,9 +236,9 @@ class BackendPoolsOperations(object): return deserialized def create_or_update( - self, resource_group_name, front_door_name, backend_pool_name, backend_pool_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a new Backend Pool with the specified Pool name within the - specified Front Door. + self, resource_group_name, front_door_name, rules_engine_name, rules=None, resource_state=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a new Rules Engine Configuration with the specified name within + the specified Front Door. :param resource_group_name: Name of the Resource group within the Azure subscription. @@ -241,39 +246,43 @@ class BackendPoolsOperations(object): :param front_door_name: Name of the Front Door which is globally unique. :type front_door_name: str - :param backend_pool_name: Name of the Backend Pool which is unique + :param rules_engine_name: Name of the Rules Engine which is unique within the Front Door. - :type backend_pool_name: str - :param backend_pool_parameters: Backend Pool properties needed to - create a new Pool. - :type backend_pool_parameters: - ~azure.mgmt.frontdoor.models.BackendPool + :type rules_engine_name: str + :param rules: A list of rules that define a particular Rules Engine + Configuration. + :type rules: list[~azure.mgmt.frontdoor.models.RulesEngineRule] + :param resource_state: Resource status. Possible values include: + 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting' + :type resource_state: str or + ~azure.mgmt.frontdoor.models.FrontDoorResourceState :param dict custom_headers: headers that will be added to the request :param bool raw: The poller return type is ClientRawResponse, the direct response alongside the deserialized response :param polling: True for ARMPolling, False for no polling, or a polling object for personal polling strategy - :return: An instance of LROPoller that returns BackendPool or - ClientRawResponse if raw==True + :return: An instance of LROPoller that returns RulesEngine or + ClientRawResponse if raw==True :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.frontdoor.models.BackendPool] + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.frontdoor.models.RulesEngine] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.frontdoor.models.BackendPool]] + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.frontdoor.models.RulesEngine]] :raises: :class:`ErrorResponseException` """ raw_result = self._create_or_update_initial( resource_group_name=resource_group_name, front_door_name=front_door_name, - backend_pool_name=backend_pool_name, - backend_pool_parameters=backend_pool_parameters, + rules_engine_name=rules_engine_name, + rules=rules, + resource_state=resource_state, custom_headers=custom_headers, raw=True, **operation_config ) def get_long_running_output(response): - deserialized = self._deserialize('BackendPool', response) + deserialized = self._deserialize('RulesEngine', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -288,18 +297,18 @@ class BackendPoolsOperations(object): elif polling is False: polling_method = NoPolling() else: polling_method = polling return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}'} + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/rulesEngines/{rulesEngineName}'} def _delete_initial( - self, resource_group_name, front_door_name, backend_pool_name, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, front_door_name, rules_engine_name, custom_headers=None, raw=False, **operation_config): # Construct URL url = self.delete.metadata['url'] path_format_arguments = { 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), 'frontDoorName': self._serialize.url("front_door_name", front_door_name, 'str', max_length=64, min_length=5, pattern=r'^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$'), - 'backendPoolName': self._serialize.url("backend_pool_name", backend_pool_name, 'str', max_length=90, min_length=1, pattern=r'^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$') + 'rulesEngineName': self._serialize.url("rules_engine_name", rules_engine_name, 'str', max_length=90, min_length=1, pattern=r'^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$') } url = self._client.format_url(url, **path_format_arguments) @@ -328,8 +337,9 @@ class BackendPoolsOperations(object): return client_raw_response def delete( - self, resource_group_name, front_door_name, backend_pool_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes an existing Backend Pool with the specified parameters. + self, resource_group_name, front_door_name, rules_engine_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes an existing Rules Engine Configuration with the specified + parameters. :param resource_group_name: Name of the Resource group within the Azure subscription. @@ -337,9 +347,9 @@ class BackendPoolsOperations(object): :param front_door_name: Name of the Front Door which is globally unique. :type front_door_name: str - :param backend_pool_name: Name of the Backend Pool which is unique + :param rules_engine_name: Name of the Rules Engine which is unique within the Front Door. - :type backend_pool_name: str + :type rules_engine_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: The poller return type is ClientRawResponse, the direct response alongside the deserialized response @@ -355,7 +365,7 @@ class BackendPoolsOperations(object): raw_result = self._delete_initial( resource_group_name=resource_group_name, front_door_name=front_door_name, - backend_pool_name=backend_pool_name, + rules_engine_name=rules_engine_name, custom_headers=custom_headers, raw=True, **operation_config @@ -373,4 +383,4 @@ class BackendPoolsOperations(object): elif polling is False: polling_method = NoPolling() else: polling_method = polling return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}'} + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/rulesEngines/{rulesEngineName}'} diff --git a/src/front-door/azext_front_door/vendored_sdks/operations/routing_rules_operations.py b/src/front-door/azext_front_door/vendored_sdks/operations/routing_rules_operations.py deleted file mode 100644 index bf9129a43d..0000000000 --- a/src/front-door/azext_front_door/vendored_sdks/operations/routing_rules_operations.py +++ /dev/null @@ -1,376 +0,0 @@ -# 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) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class RoutingRulesOperations(object): - """RoutingRulesOperations operations. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-04-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-04-01" - - self.config = config - - def list_by_front_door( - self, resource_group_name, front_door_name, custom_headers=None, raw=False, **operation_config): - """Lists all of the Routing Rules within a Front Door. - - :param resource_group_name: Name of the Resource group within the - Azure subscription. - :type resource_group_name: str - :param front_door_name: Name of the Front Door which is globally - unique. - :type front_door_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of RoutingRule - :rtype: - ~azure.mgmt.frontdoor.models.RoutingRulePaged[~azure.mgmt.frontdoor.models.RoutingRule] - :raises: - :class:`ErrorResponseException` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.list_by_front_door.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), - 'frontDoorName': self._serialize.url("front_door_name", front_door_name, 'str', max_length=64, min_length=5, pattern=r'^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.RoutingRulePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.RoutingRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_by_front_door.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules'} - - def get( - self, resource_group_name, front_door_name, routing_rule_name, custom_headers=None, raw=False, **operation_config): - """Gets a Routing Rule with the specified Rule name within the specified - Front Door. - - :param resource_group_name: Name of the Resource group within the - Azure subscription. - :type resource_group_name: str - :param front_door_name: Name of the Front Door which is globally - unique. - :type front_door_name: str - :param routing_rule_name: Name of the Routing Rule which is unique - within the Front Door. - :type routing_rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: RoutingRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.frontdoor.models.RoutingRule or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), - 'frontDoorName': self._serialize.url("front_door_name", front_door_name, 'str', max_length=64, min_length=5, pattern=r'^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$'), - 'routingRuleName': self._serialize.url("routing_rule_name", routing_rule_name, 'str', max_length=90, min_length=1, pattern=r'^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('RoutingRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}'} - - - def _create_or_update_initial( - self, resource_group_name, front_door_name, routing_rule_name, routing_rule_parameters, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), - 'frontDoorName': self._serialize.url("front_door_name", front_door_name, 'str', max_length=64, min_length=5, pattern=r'^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$'), - 'routingRuleName': self._serialize.url("routing_rule_name", routing_rule_name, 'str', max_length=90, min_length=1, pattern=r'^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct body - body_content = self._serialize.body(routing_rule_parameters, 'RoutingRule') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201, 202]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('RoutingRule', response) - if response.status_code == 201: - deserialized = self._deserialize('RoutingRule', response) - if response.status_code == 202: - deserialized = self._deserialize('RoutingRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, front_door_name, routing_rule_name, routing_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a new Routing Rule with the specified Rule name within the - specified Front Door. - - :param resource_group_name: Name of the Resource group within the - Azure subscription. - :type resource_group_name: str - :param front_door_name: Name of the Front Door which is globally - unique. - :type front_door_name: str - :param routing_rule_name: Name of the Routing Rule which is unique - within the Front Door. - :type routing_rule_name: str - :param routing_rule_parameters: Routing Rule properties needed to - create a new Front Door. - :type routing_rule_parameters: - ~azure.mgmt.frontdoor.models.RoutingRule - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RoutingRule or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.frontdoor.models.RoutingRule] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.frontdoor.models.RoutingRule]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - front_door_name=front_door_name, - routing_rule_name=routing_rule_name, - routing_rule_parameters=routing_rule_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RoutingRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}'} - - - def _delete_initial( - self, resource_group_name, front_door_name, routing_rule_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=80, min_length=1, pattern=r'^[a-zA-Z0-9_\-\(\)\.]*[^\.]$'), - 'frontDoorName': self._serialize.url("front_door_name", front_door_name, 'str', max_length=64, min_length=5, pattern=r'^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$'), - 'routingRuleName': self._serialize.url("routing_rule_name", routing_rule_name, 'str', max_length=90, min_length=1, pattern=r'^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [202, 204]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, front_door_name, routing_rule_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes an existing Routing Rule with the specified parameters. - - :param resource_group_name: Name of the Resource group within the - Azure subscription. - :type resource_group_name: str - :param front_door_name: Name of the Front Door which is globally - unique. - :type front_door_name: str - :param routing_rule_name: Name of the Routing Rule which is unique - within the Front Door. - :type routing_rule_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - front_door_name=front_door_name, - routing_rule_name=routing_rule_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}'} diff --git a/src/front-door/azext_front_door/vendored_sdks/version.py b/src/front-door/azext_front_door/vendored_sdks/version.py index e0ec669828..3e682bbd5f 100644 --- a/src/front-door/azext_front_door/vendored_sdks/version.py +++ b/src/front-door/azext_front_door/vendored_sdks/version.py @@ -9,5 +9,5 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "0.1.0" +VERSION = "0.3.0" diff --git a/src/front-door/setup.cfg b/src/front-door/setup.cfg index 3c6e79cf31..e69de29bb2 100644 --- a/src/front-door/setup.cfg +++ b/src/front-door/setup.cfg @@ -1,2 +0,0 @@ -[bdist_wheel] -universal=1 diff --git a/src/front-door/setup.py b/src/front-door/setup.py index c2d39cf3b5..39f2185033 100644 --- a/src/front-door/setup.py +++ b/src/front-door/setup.py @@ -8,19 +8,17 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "1.0.4" +VERSION = "1.0.5" CLASSIFIERS = [ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', 'Intended Audience :: System Administrators', 'Programming Language :: Python', - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.4', - 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', 'License :: OSI Approved :: MIT License', ]