def update_cname_by_ip(r53,ip,hostname): response = r53.get_all_hosted_zones() zinfo = response['ListHostedZonesResponse']['HostedZones'][0] zid = zinfo['Id'].split("/")[-1] response = r53.get_all_rrsets(zid) for record in response: for rr in record.resource_records: if rr == ip: rrname = record.name if hostname[-1] != '.': hostname += '.' route53.change_record(r53,zid,hostname,'CNAME',rrname,ttl=300)
r53 = boto.connect_route53() z = 'puppetclass.taoslab.com.' zid = get_zid(r53,z) logger("Zone: "+z+" Id: "+zid) for uid in range(1,2): stackname = 'puppet%02dStack' % uid stack = cfn.describe_stacks(stackname) for pair in stack[0].outputs: logger (stackname + ": " + pair.key + "=" + pair.value) if 'web' in pair.key: host = 'web%02d' % uid fqdn = host + '.puppetclass.taoslab.com.' logger(fqdn+' ('+pair.value+')') try: route53.add_record(r53,zid,fqdn,'A',pair.value, ttl=300) except: route53.change_record(r53,zid,fqdn,'A',pair.value, ttl=300) if 'jump' in pair.key: host = 'jump%02d' % uid fqdn = host + '.puppetclass.taoslab.com.' logger(fqdn+' ('+pair.value+')') try: route53.add_record(r53,zid,fqdn,'A',pair.value, ttl=300) except: route53.change_record(r53,zid,fqdn,'A',pair.value, ttl=300) time.sleep(1)