def generate_elbv2_load_balancer_arn()

in cfn_policy_validator/parsers/utils/arn_generator.py [0:0]


def generate_elbv2_load_balancer_arn(arn_pattern, _, resource, visited_values):
    evaluated_resource = resource.eval(elbv2_load_balancer_schema, visited_values)
    properties = evaluated_resource.get('Properties', {})

    lb_type = properties.get('Type')
    if lb_type is None:
        lb_type = 'application'

    if lb_type == 'network':
        return arn_pattern.replace('loadbalancer/app/', 'loadbalancer/net/')
    elif lb_type == 'gateway':
        return arn_pattern.replace('loadbalancer/app/', 'loadbalancer/gwy/')

    return arn_pattern