def create_actions_from_existing()

in src/azure-cli/azure/cli/command_modules/cdn/custom/custom_rule_util.py [0:0]


def create_actions_from_existing(existing_actions):
    parsed_actions = []
    for action in existing_actions:
        name = action['name']
        para = action['parameters']
        if name == 'CacheExpiration':
            parsed_actions.append(create_action(name, cache_behavior=para['cacheBehavior']
                                                if 'cacheBehavior' in para else None,
                                                cache_duration=para['cacheDuration']
                                                if 'cacheDuration' in para else None))
        if name == 'ModifyRequestHeader':
            parsed_actions.append(create_action(name, header_action=para['headerAction']
                                                if 'headerAction' in para else None,
                                                header_name=para['headerName']
                                                if 'headerName' in para else None,
                                                header_value=para['value']
                                                if 'value' in para else None))
        if name == 'ModifyResponseHeader':
            parsed_actions.append(create_action(name, header_action=para['headerAction']
                                                if 'headerAction' in para else None,
                                                header_name=para['headerName']
                                                if 'headerName' in para else None,
                                                header_value=para['value']
                                                if 'value' in para else None))
        if name == 'CacheKeyQueryString':
            parsed_actions.append(create_action(name, query_string_behavior=para['queryStringBehavior']
                                                if 'queryStringBehavior' in para else None,
                                                query_parameters=para['queryParameters']
                                                if 'queryParameters' in para else None))
        if name == 'UrlRedirect':
            parsed_actions.append(create_action(name, custom_fragment=para['customFragment']
                                                if 'customFragment' in para else None,
                                                custom_hostname=para['customHostname']
                                                if 'customHostname' in para else None,
                                                custom_path=para['customPath']
                                                if 'customPath' in para else None,
                                                custom_querystring=para['customQueryString']
                                                if 'customQueryString' in para else None,
                                                redirect_protocol=para['destinationProtocol']
                                                if 'destinationProtocol' in para else None,
                                                redirect_type=para['redirectType']
                                                if 'redirectType' in para else None))
        if name == 'UrlRewrite':
            parsed_actions.append(create_action(name, destination=para['destination']
                                                if 'destination' in para else None,
                                                preserve_unmatched_path=para['preserveUnmatchedPath']
                                                if 'preserveUnmatchedPath' in para else None,
                                                source_pattern=para['sourcePattern']
                                                if 'sourcePattern' in para else None))
        if name == 'OriginGroupOverride':
            parsed_actions.append(create_action(name, origin_group=para['originGroup']['id']
                                                if 'originGroup' in para else None))
        if name == 'RouteConfigurationOverride':
            enable_caching = False
            if 'cacheConfiguration' in para:
                enable_caching = True
            parsed_actions.append(create_action(name,
                                                origin_group=para['originGroupOverride']['originGroup']['id']
                                                if 'originGroupOverride' in para and
                                                'originGroup' in para['originGroupOverride']['originGroup']
                                                else None,
                                                forwarding_protocol=para['originGroupOverride']['forwardingProtocol']
                                                if 'originGroupOverride' in para and
                                                'forwardingProtocol' in para['originGroupOverride']
                                                else None,
                                                query_string_caching_behavior=para
                                                ['cacheConfiguration']['queryStringCachingBehavior']
                                                if 'cacheConfiguration' in para and
                                                'queryStringCachingBehavior' in para['cacheConfiguration']
                                                else None,
                                                query_parameters=para['cacheConfiguration']['queryParameters']
                                                if 'cacheConfiguration' in para and
                                                'queryParameters' in para['cacheConfiguration']
                                                else None,
                                                cache_behavior=para['cacheConfiguration']['cacheBehavior']
                                                if 'cacheConfiguration' in para and
                                                'cacheBehavior' in para['cacheConfiguration']
                                                else None,
                                                cache_duration=para['cacheConfiguration']['cacheDuration']
                                                if 'cacheConfiguration' in para and
                                                'cacheDuration' in para['cacheConfiguration']
                                                else None,
                                                enable_compression=True
                                                if 'cacheConfiguration' in para and
                                                'isCompressionEnabled' in para['cacheConfiguration'] and
                                                para['cacheConfiguration']['isCompressionEnabled'] ==
                                                RuleIsCompressionEnabled.ENABLED.value
                                                else False,
                                                enable_caching=enable_caching))
    if len(parsed_actions) == 0:
        return []
    return parsed_actions