import requests import json import boto3 import time import os HOSTED_ZONE=os.environ['HOSTED_ZONE'] #"Z00156242SK162FEXDPVF" CLUSTER_ID=os.environ['CLUSTER_ID'] #"29062" POOL_ID=os.environ['POOL_ID'] #"49934" LINODE_TOKEN=os.environ['LINODE_TOKEN'] TOKEN={"Authorization": "Bearer "+LINODE_TOKEN} while(True): r = requests.get("https://api.linode.com/v4/lke/clusters/"+CLUSTER_ID+"/pools/"+POOL_ID, headers=TOKEN) ips=[] for node in r.json()['nodes']: ip = requests.get("https://api.linode.com/v4/linode/instances/"+str(node['instance_id'])+"/ips", headers=TOKEN) #print(ip.json()) ips.append({'Value': ip.json()['ipv4']['public'][0]['address']}) print("Node IPs: "+str(ips)) client = boto3.client('route53') response = client.change_resource_record_sets( HostedZoneId=HOSTED_ZONE, ChangeBatch= { 'Comment': 'COTURN NODES', 'Changes': [ { 'Action': 'UPSERT', 'ResourceRecordSet': { 'Name': 'coturn.staging.video.jamkazam.com', 'Type': 'A', 'TTL': 300, 'ResourceRecords': ips } }] }) time.sleep(60)