def parse_allow_external_principals()

in cfn_policy_validator/argument_actions.py [0:0]


def parse_allow_external_principals(values_as_list):
    if values_as_list is None:
        return values_as_list

    values_as_list = [value.strip() for value in values_as_list]

    allowed_external_principals = []
    for value in values_as_list:
        match = regex_patterns.generic_arn_pattern.match(value)
        if match is None:
            allowed_external_principal = AllowedExternalPrincipal(value)
        else:
            allowed_external_principal = AllowedExternalArn(value)

        allowed_external_principals.append(allowed_external_principal)

    return allowed_external_principals