Add ability to add redirect route and backend pools setting (#611)

* Add ability to add redirect route and backend pools setting

* Incorporated review comments
This commit is contained in:
pichandwork 2019-04-02 12:18:47 -07:00 коммит произвёл Travis Prescott
Родитель 5a25c8120e
Коммит a9806ebcbd
32 изменённых файлов: 646 добавлений и 151 удалений

Просмотреть файл

@ -2484,6 +2484,8 @@
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\azure_managed_rule_set_py3.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\backend.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\backend_pool.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\backend_pools_settings.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\backend_pools_settings_py3.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\backend_pool_paged.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\backend_pool_py3.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\backend_pool_update_parameters.py" />
@ -2507,6 +2509,8 @@
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\error_py3.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\error_response.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\error_response_py3.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\forwarding_configuration.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\forwarding_configuration_py3.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\frontend_endpoint.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\frontend_endpoint_paged.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\frontend_endpoint_py3.py" />
@ -2542,8 +2546,12 @@
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\policy_settings_py3.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\purge_parameters.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\purge_parameters_py3.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\redirect_configuration.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\redirect_configuration_py3.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\resource.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\resource_py3.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\route_configuration.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\route_configuration_py3.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\routing_rule.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\routing_rule_paged.py" />
<Compile Include="src\front-door\azext_front_door\vendored_sdks\models\routing_rule_py3.py" />

Просмотреть файл

@ -120,15 +120,17 @@ helps['network front-door frontend-endpoint delete'] = """
helps['network front-door frontend-endpoint enable-https'] = """
type: command
short-summary: Enable HTTPS protocol for a custom domain using Front Door managed certificate or using your own certificate in Azure Key Vault.
short-summary: Enable HTTPS protocol for a custom domain.
long-summary: >
HTTPS protocol for a custom domain can be enabled using Front Door managed certificate
or using your own certificate in Azure Key Vault. For Azure Key Vault, right permissions
need to be set for Front Door to access the Key vault. Learn more at https://aka.ms/FrontDoorCustomDomain.
"""
helps['network front-door frontend-endpoint disable-https'] = """
type: command
short-summary: Disable HTTPS protocol for a custom domain.
"""
# endregion
# region FrontDoor LoadBalancingSettings
@ -193,6 +195,19 @@ helps['network front-door routing-rule'] = """
helps['network front-door routing-rule create'] = """
type: command
short-summary: Create a Front Door routing rule.
long-summary: >
Create a Front Door routing rule to either forward
the requests to a backend or redirect the users to a different URL.
Example 1: az network front-door routing-rule create -f frontdoor1 -g rg1 --frontend-endpoints
DefaultFrontendEndpoint --route-type Forward --backend-pool DefaultBackendPool
-n forwardRoutingrule1 --patterns /forward1
Example 2: az network front-door routing-rule create -f frontdoor1 -g rg1 --frontend-endpoints
DefaultFrontendEndpoint --route-type Redirect --custom-host redirecthost.com
-n redirectRouteRule1 --patterns /redirect1 --custom-query-string querystring
"""
helps['network front-door routing-rule list'] = """

Просмотреть файл

@ -4,6 +4,8 @@
# --------------------------------------------------------------------------------------------
# pylint: disable=line-too-long
from enum import Enum
from knack.arguments import CLIArgumentType
from azure.cli.core.commands.parameters import (
@ -16,11 +18,18 @@ from ._validators import (
validate_frontend_endpoints, validate_backend_pool, MatchConditionAction)
class RouteType(str, Enum):
forward = "Forward"
redirect = "Redirect"
# pylint: disable=too-many-locals, too-many-branches, too-many-statements
def load_arguments(self, _):
from azext_front_door.vendored_sdks.models import (
Mode, FrontDoorProtocol, FrontDoorCertificateSource, FrontDoorQuery, RuleGroupOverride, Action, RuleType, Transform)
Mode, FrontDoorProtocol, FrontDoorCertificateSource, FrontDoorQuery, RuleGroupOverride, Action, RuleType, Transform,
FrontDoorRedirectType, FrontDoorRedirectProtocol
)
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')
@ -50,11 +59,14 @@ def load_arguments(self, _):
c.argument('frontend_host_name', help='Domain name of the frontend endpoint.')
with self.argument_context('network front-door', arg_group='HTTPS') as c:
c.argument('certificate_source', arg_type=get_enum_type(FrontDoorCertificateSource), help='Certificate source to enable HTTPS. Allowed values: FrontDoor, AzureKeyVault. For Azure Key Vault, right permissions need to be set for Front Door to to access the Key vault. Learn more at https://aka.ms/FrontDoorCustomDomain.')
c.argument('certificate_source', arg_type=get_enum_type(FrontDoorCertificateSource), help='Certificate source to enable HTTPS.')
c.argument('secret_name', help='The name of the Key Vault secret representing the full certificate PFX')
c.argument('secret_version', help='The version of the Key Vault secret representing the full certificate PFX')
c.argument('vault_id', help='The resource id of the Key Vault containing the SSL certificate')
with self.argument_context('network front-door', arg_group='BackendPools Settings') as c:
c.argument('enforce_certificate_name_check', arg_type=get_three_state_flag(positive_label='Enabled', negative_label='Disabled', return_label=True), help='Whether to disable certificate name check on HTTPS requests to all backend pools. No effect on non-HTTPS requests.')
with self.argument_context('network front-door', arg_group='Backend') as c:
c.argument('backend_address', help='FQDN of the backend endpoint.')
c.argument('backend_host_header', help='Host header sent to the backend.')
@ -68,6 +80,7 @@ def load_arguments(self, _):
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('route_type', arg_type=get_enum_type(RouteType), help='Route type to define how Front Door should handle requests for this route i.e. forward them to a backend or redirect the users to a different URL.')
with self.argument_context('network front-door purge-endpoint') as c:
c.argument('content_paths', nargs='+')
@ -114,6 +127,12 @@ def load_arguments(self, _):
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('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('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 <key>=<value> format. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &.')
# endregion
# region WafPolicy

Просмотреть файл

@ -134,10 +134,11 @@ def create_front_door(cmd, resource_group_name, front_door_name, backend_address
friendly_name=None, tags=None, disabled=None, no_wait=False,
backend_host_header=None, frontend_host_name=None,
probe_path='/', probe_protocol='Https', probe_interval=30,
accepted_protocols=None, patterns_to_match=None, forwarding_protocol='MatchRequest'):
accepted_protocols=None, patterns_to_match=None, forwarding_protocol='MatchRequest',
enforce_certificate_name_check='Enabled'):
from azext_front_door.vendored_sdks.models import (
FrontDoor, FrontendEndpoint, BackendPool, Backend, HealthProbeSettingsModel, LoadBalancingSettingsModel,
RoutingRule)
RoutingRule, ForwardingConfiguration, BackendPoolsSettings)
# set the default names (consider making user-settable)
backend_pool_name = 'DefaultBackendPool'
@ -211,20 +212,24 @@ def create_front_door(cmd, resource_group_name, front_door_name, backend_address
frontend_endpoints=[{'id': frontend_endpoint_id}],
accepted_protocols=accepted_protocols or ['Http'],
patterns_to_match=patterns_to_match or ['/*'],
forwarding_protocol=forwarding_protocol,
backend_pool={'id': backend_pool_id},
route_configuration=ForwardingConfiguration(forwarding_protocol=forwarding_protocol,
backend_pool={'id': backend_pool_id}),
enabled_state='Enabled',
resource_state='Enabled'
)
]
],
backend_pools_settings=BackendPoolsSettings(enforce_certificate_name_check=enforce_certificate_name_check)
)
return sdk_no_wait(no_wait, cf_frontdoor(cmd.cli_ctx, None).create_or_update,
resource_group_name, front_door_name, front_door)
def update_front_door(instance, tags=None):
def update_front_door(instance, tags=None, enforce_certificate_name_check=None):
from azext_front_door.vendored_sdks.models import (BackendPoolsSettings)
with UpdateContext(instance) as c:
c.update_param('tags', tags, True)
c.update_param('backend_pools_settings',
BackendPoolsSettings(enforce_certificate_name_check=enforce_certificate_name_check), True)
return instance
@ -279,7 +284,8 @@ def configure_fd_frontend_endpoint_disable_https(cmd, resource_group_name, front
def configure_fd_frontend_endpoint_enable_https(cmd, resource_group_name, front_door_name, item_name,
secret_name=None, secret_version=None,
certificate_source=None, vault_id=None):
keyvault_usage = 'usage error: --type AzureKeyVault --vault-id ID --secret-name NAME --secret-version VERSION'
keyvault_usage = ('usage error: --certificate-source AzureKeyVault --vault-id ID '
'--secret-name NAME --secret-version VERSION')
if certificate_source != 'AzureKeyVault' and any([vault_id, secret_name, secret_version]):
from knack.util import CLIError
raise CLIError(keyvault_usage)
@ -458,25 +464,67 @@ 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, backend_pool,
accepted_protocols=None, patterns_to_match=None, custom_forwarding_path=None,
forwarding_protocol=None, disabled=None,
dynamic_compression=None, query_parameter_strip_directive=None):
from azext_front_door.vendored_sdks.models import CacheConfiguration, RoutingRule, SubResource
rule = RoutingRule(
name=item_name,
enabled_state='Disabled' if disabled else 'Enabled',
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 ['/*'],
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
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,
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)
forwarding_usage = ('usage error: [--backend-pool BACKEND_POOL] '
'[--custom-forwarding-path CUSTOM_FORWARDING_PATH] '
'[--forwarding-protocol FORWARDING_PROTOCOL] '
'[--query-parameter-strip-directive {StripNone,StripAll}] '
'[--dynamic-compression [{Enabled,Disabled}]]')
redirect_usage = ('usage error: [--redirect-type {Moved,Found,TemporaryRedirect,PermanentRedirect}]'
'[--redirect-protocol {HttpOnly,HttpsOnly,MatchRequest}] '
'[--custom-host CUSTOM_HOST] [--custom-path CUSTOM_PATH] '
'[--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)):
from knack.util import CLIError
raise CLIError(forwarding_usage)
if route_type == 'Redirect' and any([custom_forwarding_path, forwarding_protocol, backend_pool,
query_parameter_strip_directive, dynamic_compression]):
from knack.util import CLIError
raise CLIError(redirect_usage)
if route_type == 'Forward':
rule = RoutingRule(
name=item_name,
enabled_state='Disabled' if disabled else 'Enabled',
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 ['/*'],
route_configuration=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
)
)
)
elif route_type == 'Redirect':
rule = RoutingRule(
name=item_name,
enabled_state='Disabled' if disabled else 'Enabled',
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 ['/*'],
route_configuration=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
)
)
)
return _upsert_frontdoor_subresource(cmd, resource_group_name, front_door_name, 'routing_rules', rule, 'name')

Просмотреть файл

@ -146,7 +146,7 @@ class FrontDoorManagementClient(SDKClient):
"""
check_front_door_name_availability_input = models.CheckNameAvailabilityInput(name=name, type=type)
api_version = "2018-08-01"
api_version = "2019-04-01"
# Construct URL
url = self.check_front_door_name_availability.metadata['url']
@ -211,7 +211,7 @@ class FrontDoorManagementClient(SDKClient):
"""
check_front_door_name_availability_input = models.CheckNameAvailabilityInput(name=name, type=type)
api_version = "2018-08-01"
api_version = "2019-04-01"
# Construct URL
url = self.check_front_door_name_availability_with_subscription.metadata['url']

Просмотреть файл

@ -18,11 +18,15 @@ try:
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 .sub_resource_py3 import SubResource
from .cache_configuration_py3 import CacheConfiguration
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_update_parameters_py3 import LoadBalancingSettingsUpdateParameters
from .health_probe_settings_update_parameters_py3 import HealthProbeSettingsUpdateParameters
@ -57,11 +61,15 @@ except (SyntaxError, ImportError):
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 .sub_resource import SubResource
from .cache_configuration import CacheConfiguration
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_update_parameters import LoadBalancingSettingsUpdateParameters
from .health_probe_settings_update_parameters import HealthProbeSettingsUpdateParameters
@ -101,11 +109,16 @@ from .front_door_management_client_enums import (
FrontDoorCertificateSource,
FrontDoorTlsProtocolType,
FrontDoorCertificateType,
EnforceCertificateNameCheckEnabledState,
FrontDoorEnabledState,
FrontDoorProtocol,
RoutingRuleEnabledState,
FrontDoorForwardingProtocol,
FrontDoorQuery,
DynamicCompressionEnabled,
FrontDoorRedirectType,
FrontDoorRedirectProtocol,
BackendEnabledState,
SessionAffinityEnabledState,
ResourceType,
Availability,
@ -130,11 +143,15 @@ __all__ = [
'KeyVaultCertificateSourceParametersVault',
'CustomHttpsConfiguration',
'FrontendEndpoint',
'BackendPoolsSettings',
'FrontDoorUpdateParameters',
'PurgeParameters',
'SubResource',
'CacheConfiguration',
'RouteConfiguration',
'RoutingRuleUpdateParameters',
'CacheConfiguration',
'ForwardingConfiguration',
'RedirectConfiguration',
'Backend',
'LoadBalancingSettingsUpdateParameters',
'HealthProbeSettingsUpdateParameters',
@ -173,11 +190,16 @@ __all__ = [
'FrontDoorCertificateSource',
'FrontDoorTlsProtocolType',
'FrontDoorCertificateType',
'EnforceCertificateNameCheckEnabledState',
'FrontDoorEnabledState',
'FrontDoorProtocol',
'RoutingRuleEnabledState',
'FrontDoorForwardingProtocol',
'FrontDoorQuery',
'DynamicCompressionEnabled',
'FrontDoorRedirectType',
'FrontDoorRedirectProtocol',
'BackendEnabledState',
'SessionAffinityEnabledState',
'ResourceType',
'Availability',

Просмотреть файл

@ -25,7 +25,7 @@ class Backend(Model):
values are 'Enabled' or 'Disabled'. Possible values include: 'Enabled',
'Disabled'
:type enabled_state: str or
~azure.mgmt.frontdoor.models.FrontDoorEnabledState
~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.

Просмотреть файл

@ -0,0 +1,32 @@
# 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
"""
_attribute_map = {
'enforce_certificate_name_check': {'key': 'enforceCertificateNameCheck', 'type': 'str'},
}
def __init__(self, **kwargs):
super(BackendPoolsSettings, self).__init__(**kwargs)
self.enforce_certificate_name_check = kwargs.get('enforce_certificate_name_check', "Enabled")

Просмотреть файл

@ -0,0 +1,32 @@
# 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
"""
_attribute_map = {
'enforce_certificate_name_check': {'key': 'enforceCertificateNameCheck', 'type': 'str'},
}
def __init__(self, *, enforce_certificate_name_check="Enabled", **kwargs) -> None:
super(BackendPoolsSettings, self).__init__(**kwargs)
self.enforce_certificate_name_check = enforce_certificate_name_check

Просмотреть файл

@ -25,7 +25,7 @@ class Backend(Model):
values are 'Enabled' or 'Disabled'. Possible values include: 'Enabled',
'Disabled'
:type enabled_state: str or
~azure.mgmt.frontdoor.models.FrontDoorEnabledState
~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.

Просмотреть файл

@ -0,0 +1,56 @@
# 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'

Просмотреть файл

@ -0,0 +1,56 @@
# 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'

Просмотреть файл

@ -46,6 +46,9 @@ class FrontDoor(Resource):
: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'
@ -82,6 +85,7 @@ class FrontDoor(Resource):
'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'},
@ -96,6 +100,7 @@ class FrontDoor(Resource):
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

Просмотреть файл

@ -61,6 +61,12 @@ class FrontDoorCertificateType(str, Enum):
dedicated = "Dedicated"
class EnforceCertificateNameCheckEnabledState(str, Enum):
enabled = "Enabled"
disabled = "Disabled"
class FrontDoorEnabledState(str, Enum):
enabled = "Enabled"
@ -73,6 +79,12 @@ class FrontDoorProtocol(str, Enum):
https = "Https"
class RoutingRuleEnabledState(str, Enum):
enabled = "Enabled"
disabled = "Disabled"
class FrontDoorForwardingProtocol(str, Enum):
http_only = "HttpOnly"
@ -92,6 +104,27 @@ class DynamicCompressionEnabled(str, Enum):
disabled = "Disabled"
class FrontDoorRedirectType(str, Enum):
moved = "Moved"
found = "Found"
temporary_redirect = "TemporaryRedirect"
permanent_redirect = "PermanentRedirect"
class FrontDoorRedirectProtocol(str, Enum):
http_only = "HttpOnly"
https_only = "HttpsOnly"
match_request = "MatchRequest"
class BackendEnabledState(str, Enum):
enabled = "Enabled"
disabled = "Disabled"
class SessionAffinityEnabledState(str, Enum):
enabled = "Enabled"
@ -159,8 +192,6 @@ class Operator(str, Enum):
greater_than_or_equal = "GreaterThanOrEqual"
begins_with = "BeginsWith"
ends_with = "EndsWith"
class Action(str, Enum):
allow = "Allow"
@ -176,6 +207,8 @@ class Transform(str, Enum):
url_decode = "UrlDecode"
url_encode = "UrlEncode"
remove_nulls = "RemoveNulls"
html_entity_decode = "HtmlEntityDecode"
@ -187,8 +220,6 @@ class WebApplicationFirewallPolicy(str, Enum):
disabling = "Disabling"
disabled = "Disabled"
deleting = "Deleting"
class RuleGroupOverride(str, Enum):
sql_injection = "SqlInjection"

Просмотреть файл

@ -46,6 +46,9 @@ class FrontDoor(Resource):
: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'
@ -82,13 +85,14 @@ class FrontDoor(Resource):
'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, enabled_state=None, resource_state=None, **kwargs) -> None:
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
@ -96,6 +100,7 @@ class FrontDoor(Resource):
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

Просмотреть файл

@ -32,6 +32,9 @@ class FrontDoorUpdateParameters(Model):
: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'
@ -46,6 +49,7 @@ class FrontDoorUpdateParameters(Model):
'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'},
}
@ -57,4 +61,5 @@ class FrontDoorUpdateParameters(Model):
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)

Просмотреть файл

@ -32,6 +32,9 @@ class FrontDoorUpdateParameters(Model):
: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'
@ -46,10 +49,11 @@ class FrontDoorUpdateParameters(Model):
'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, enabled_state=None, **kwargs) -> None:
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
@ -57,4 +61,5 @@ class FrontDoorUpdateParameters(Model):
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

Просмотреть файл

@ -0,0 +1,73 @@
# 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 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
<key>=<value> 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'

Просмотреть файл

@ -0,0 +1,73 @@
# 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 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
<key>=<value> 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'

Просмотреть файл

@ -0,0 +1,41 @@
# 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

Просмотреть файл

@ -0,0 +1,41 @@
# 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

Просмотреть файл

@ -28,25 +28,13 @@ class RoutingRule(SubResource):
~azure.mgmt.frontdoor.models.FrontDoorProtocol]
:param patterns_to_match: The route patterns of the rule.
:type patterns_to_match: list[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
: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.FrontDoorEnabledState
~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
@ -66,11 +54,8 @@ class RoutingRule(SubResource):
'frontend_endpoints': {'key': 'properties.frontendEndpoints', 'type': '[SubResource]'},
'accepted_protocols': {'key': 'properties.acceptedProtocols', 'type': '[str]'},
'patterns_to_match': {'key': 'properties.patternsToMatch', 'type': '[str]'},
'custom_forwarding_path': {'key': 'properties.customForwardingPath', 'type': 'str'},
'forwarding_protocol': {'key': 'properties.forwardingProtocol', 'type': 'str'},
'cache_configuration': {'key': 'properties.cacheConfiguration', 'type': 'CacheConfiguration'},
'backend_pool': {'key': 'properties.backendPool', 'type': 'SubResource'},
'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'},
@ -81,11 +66,8 @@ class RoutingRule(SubResource):
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.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.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

Просмотреть файл

@ -28,25 +28,13 @@ class RoutingRule(SubResource):
~azure.mgmt.frontdoor.models.FrontDoorProtocol]
:param patterns_to_match: The route patterns of the rule.
:type patterns_to_match: list[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
: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.FrontDoorEnabledState
~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
@ -66,26 +54,20 @@ class RoutingRule(SubResource):
'frontend_endpoints': {'key': 'properties.frontendEndpoints', 'type': '[SubResource]'},
'accepted_protocols': {'key': 'properties.acceptedProtocols', 'type': '[str]'},
'patterns_to_match': {'key': 'properties.patternsToMatch', 'type': '[str]'},
'custom_forwarding_path': {'key': 'properties.customForwardingPath', 'type': 'str'},
'forwarding_protocol': {'key': 'properties.forwardingProtocol', 'type': 'str'},
'cache_configuration': {'key': 'properties.cacheConfiguration', 'type': 'CacheConfiguration'},
'backend_pool': {'key': 'properties.backendPool', 'type': 'SubResource'},
'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, custom_forwarding_path: str=None, forwarding_protocol=None, cache_configuration=None, backend_pool=None, enabled_state=None, resource_state=None, name: str=None, **kwargs) -> None:
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.custom_forwarding_path = custom_forwarding_path
self.forwarding_protocol = forwarding_protocol
self.cache_configuration = cache_configuration
self.backend_pool = backend_pool
self.enabled_state = enabled_state
self.route_configuration = route_configuration
self.resource_state = resource_state
self.name = name
self.type = None

Просмотреть файл

@ -22,36 +22,21 @@ class RoutingRuleUpdateParameters(Model):
~azure.mgmt.frontdoor.models.FrontDoorProtocol]
:param patterns_to_match: The route patterns of the rule.
:type patterns_to_match: list[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
: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.FrontDoorEnabledState
~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]'},
'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'},
'enabled_state': {'key': 'enabledState', 'type': 'str'},
'route_configuration': {'key': 'routeConfiguration', 'type': 'RouteConfiguration'},
}
def __init__(self, **kwargs):
@ -59,8 +44,5 @@ class RoutingRuleUpdateParameters(Model):
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.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.enabled_state = kwargs.get('enabled_state', None)
self.route_configuration = kwargs.get('route_configuration', None)

Просмотреть файл

@ -22,45 +22,27 @@ class RoutingRuleUpdateParameters(Model):
~azure.mgmt.frontdoor.models.FrontDoorProtocol]
:param patterns_to_match: The route patterns of the rule.
:type patterns_to_match: list[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
: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.FrontDoorEnabledState
~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]'},
'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'},
'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, custom_forwarding_path: str=None, forwarding_protocol=None, cache_configuration=None, backend_pool=None, enabled_state=None, **kwargs) -> None:
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.custom_forwarding_path = custom_forwarding_path
self.forwarding_protocol = forwarding_protocol
self.cache_configuration = cache_configuration
self.backend_pool = backend_pool
self.enabled_state = enabled_state
self.route_configuration = route_configuration

Просмотреть файл

@ -24,7 +24,7 @@ class BackendPoolsOperations(object):
: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: "2018-08-01".
:ivar api_version: Client API version. Constant value: "2019-04-01".
"""
models = models
@ -34,7 +34,7 @@ class BackendPoolsOperations(object):
self._client = client
self._serialize = serializer
self._deserialize = deserializer
self.api_version = "2018-08-01"
self.api_version = "2019-04-01"
self.config = config

Просмотреть файл

@ -24,7 +24,7 @@ class EndpointsOperations(object):
: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: "2018-08-01".
:ivar api_version: Client API version. Constant value: "2019-04-01".
"""
models = models
@ -34,7 +34,7 @@ class EndpointsOperations(object):
self._client = client
self._serialize = serializer
self._deserialize = deserializer
self.api_version = "2018-08-01"
self.api_version = "2019-04-01"
self.config = config

Просмотреть файл

@ -24,7 +24,7 @@ class FrontDoorsOperations(object):
: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: "2018-08-01".
:ivar api_version: Client API version. Constant value: "2019-04-01".
"""
models = models
@ -34,7 +34,7 @@ class FrontDoorsOperations(object):
self._client = client
self._serialize = serializer
self._deserialize = deserializer
self.api_version = "2018-08-01"
self.api_version = "2019-04-01"
self.config = config

Просмотреть файл

@ -24,7 +24,7 @@ class FrontendEndpointsOperations(object):
: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: "2018-08-01".
:ivar api_version: Client API version. Constant value: "2019-04-01".
"""
models = models
@ -34,7 +34,7 @@ class FrontendEndpointsOperations(object):
self._client = client
self._serialize = serializer
self._deserialize = deserializer
self.api_version = "2018-08-01"
self.api_version = "2019-04-01"
self.config = config

Просмотреть файл

@ -24,7 +24,7 @@ class HealthProbeSettingsOperations(object):
: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: "2018-08-01".
:ivar api_version: Client API version. Constant value: "2019-04-01".
"""
models = models
@ -34,7 +34,7 @@ class HealthProbeSettingsOperations(object):
self._client = client
self._serialize = serializer
self._deserialize = deserializer
self.api_version = "2018-08-01"
self.api_version = "2019-04-01"
self.config = config

Просмотреть файл

@ -24,7 +24,7 @@ class LoadBalancingSettingsOperations(object):
: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: "2018-08-01".
:ivar api_version: Client API version. Constant value: "2019-04-01".
"""
models = models
@ -34,7 +34,7 @@ class LoadBalancingSettingsOperations(object):
self._client = client
self._serialize = serializer
self._deserialize = deserializer
self.api_version = "2018-08-01"
self.api_version = "2019-04-01"
self.config = config

Просмотреть файл

@ -24,7 +24,7 @@ class RoutingRulesOperations(object):
: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: "2018-08-01".
:ivar api_version: Client API version. Constant value: "2019-04-01".
"""
models = models
@ -34,7 +34,7 @@ class RoutingRulesOperations(object):
self._client = client
self._serialize = serializer
self._deserialize = deserializer
self.api_version = "2018-08-01"
self.api_version = "2019-04-01"
self.config = config