def update_ip_set()

in lib/waf-update.py [0:0]


def update_ip_set(service, time, ranges):
    client = boto3.client('wafv2')

    ip_set_list = client.list_ip_sets(
        Scope='REGIONAL'
    )

    ip_set_name = os.environ['IPSET_NAME']
    ip_set_description = 'IP Address ranges for service ' + service + ' as of ' + time

    for ipset in ip_set_list['IPSets']:
        if ipset['Name'] != ip_set_name:
            continue
        ipset_id = ipset['Id']
        ipset_lock = ipset['LockToken']
        break

    response = client.update_ip_set(
        Name=ip_set_name,
        Scope='REGIONAL',
        Id=ipset_id,
        Description=ip_set_description,
        Addresses=ranges,
        LockToken=ipset_lock
    )
    return response