def create_action(action_name, cache_behavior=None, cache_duration=None, header_action=None, header_name=None, header_value=None, query_string_behavior=None, query_parameters=None, redirect_type=None, redirect_protocol=None, custom_hostname=None, custom_path=None, custom_query_string=None, custom_fragment=None, source_pattern=None, destination=None, preserve_unmatched_path=None): if action_name == "CacheExpiration": return DeliveryRuleCacheExpirationAction( parameters=CacheExpirationActionParameters( cache_behavior=cache_behavior, cache_duration=cache_duration, cache_type=CacheType.ALL)) if action_name in ('RequestHeader', 'ModifyRequestHeader'): return DeliveryRuleRequestHeaderAction( parameters=HeaderActionParameters(header_action=header_action, header_name=header_name, value=header_value)) if action_name in ('ResponseHeader', 'ModifyResponseHeader'): return DeliveryRuleResponseHeaderAction( parameters=HeaderActionParameters(header_action=header_action, header_name=header_name, value=header_value)) if action_name == "CacheKeyQueryString": return DeliveryRuleCacheKeyQueryStringAction( parameters=CacheKeyQueryStringActionParameters( query_string_behavior=query_string_behavior, query_parameters=query_parameters)) if action_name == 'UrlRedirect': return UrlRedirectAction(parameters=UrlRedirectActionParameters( redirect_type=redirect_type, destination_protocol=redirect_protocol, custom_path=custom_path, custom_hostname=custom_hostname, custom_query_string=custom_query_string, custom_fragment=custom_fragment)) if action_name == 'UrlRewrite': return UrlRewriteAction(parameters=UrlRewriteActionParameters( source_pattern=source_pattern, destination=destination, preserve_unmatched_path=preserve_unmatched_path)) return DeliveryRuleAction()
def create_action(action_name, cache_behavior=None, cache_duration=None, header_action=None, header_name=None, header_value=None, query_string_behavior=None, query_parameters=None, redirect_type=None, redirect_protocol=None, custom_hostname=None, custom_path=None, custom_query_string=None, custom_fragment=None, source_pattern=None, destination=None, preserve_unmatched_path=None, cmd=None, resource_group_name=None, profile_name=None, endpoint_name=None, origin_group=None): if action_name == "CacheExpiration": return DeliveryRuleCacheExpirationAction( parameters=CacheExpirationActionParameters( cache_behavior=cache_behavior, cache_duration=cache_duration, cache_type=CacheType.ALL )) if action_name in ('RequestHeader', 'ModifyRequestHeader'): return DeliveryRuleRequestHeaderAction( parameters=HeaderActionParameters( header_action=header_action, header_name=header_name, value=header_value )) if action_name in ('ResponseHeader', 'ModifyResponseHeader'): return DeliveryRuleResponseHeaderAction( parameters=HeaderActionParameters( header_action=header_action, header_name=header_name, value=header_value )) if action_name == "CacheKeyQueryString": return DeliveryRuleCacheKeyQueryStringAction( parameters=CacheKeyQueryStringActionParameters( query_string_behavior=query_string_behavior, query_parameters=query_parameters )) if action_name == 'UrlRedirect': return UrlRedirectAction( parameters=UrlRedirectActionParameters( redirect_type=redirect_type, destination_protocol=redirect_protocol, custom_path=custom_path, custom_hostname=custom_hostname, custom_query_string=custom_query_string, custom_fragment=custom_fragment )) if action_name == 'UrlRewrite': return UrlRewriteAction( parameters=UrlRewriteActionParameters( source_pattern=source_pattern, destination=destination, preserve_unmatched_path=preserve_unmatched_path )) if action_name == 'OriginGroupOverride': if not is_valid_resource_id(origin_group): # Ideally we should use resource_id but Auzre FrontDoor portal extension has some case-sensitive issues # that prevent it from displaying correctly in portal. origin_group = f'/subscriptions/{get_subscription_id(cmd.cli_ctx)}/resourcegroups/{resource_group_name}' \ f'/providers/Microsoft.Cdn/profiles/{profile_name}/endpoints/{endpoint_name}' \ f'/origingroups/{origin_group.lower()}' return OriginGroupOverrideAction( parameters=OriginGroupOverrideActionParameters( origin_group=ResourceReference(id=origin_group) )) return DeliveryRuleAction()