def _add_vpc_configuration()

in source/lambda/kda-vpc-config/lambda_function.py [0:0]


def _add_vpc_configuration(application_name, subnet_ids, security_group_ids):
    (version_id, vpc_config_id) = _get_application_details(application_name)

    if vpc_config_id:
        # If the application already contains a VPC configuration, it must be removed
        # The version id is updated when the delete_application_vpc_configuration API is invoked
        version_id = _remove_config(application_name, version_id, vpc_config_id)

    """
    If the parameter is empty (i.e. was not provided), CloudFormation will send a list in the following format:
    {
        'SubnetIds': ['']
    }
    We filter out the empty items since the VPC API does not accept null or blank values.
    """
    subnets = _filter_empty_items(subnet_ids)
    security_groups = _filter_empty_items(security_group_ids)

    if not subnets or not security_groups:
        logger.info('Either SubnetIds or SecurityGroupIds is empty, not adding configuration')
        return

    return _add_config(application_name, version_id, subnets, security_groups)