Update DNS records for the given zone_data
(r53_client, dns_manager, zone_data, r53_source)
| 31 | |
| 32 | |
| 33 | def update_records(r53_client, dns_manager, zone_data, r53_source): |
| 34 | """ |
| 35 | Update DNS records for the given zone_data |
| 36 | """ |
| 37 | response = r53_client.list_resource_record_sets(HostedZoneId=zone_data["Id"]) |
| 38 | while response != {}: |
| 39 | for record in response["ResourceRecordSets"]: |
| 40 | new_entry = {} |
| 41 | new_entry["fqdn"] = record["Name"][:-1] |
| 42 | new_entry["zone"] = zone_data["Name"][:-1] |
| 43 | new_entry["type"] = record["Type"].lower() |
| 44 | new_entry["created"] = datetime.now() |
| 45 | new_entry["status"] = "confirmed" |
| 46 | for entry in record["ResourceRecords"]: |
| 47 | temp_value = copy.deepcopy(new_entry) |
| 48 | temp_value["value"] = entry["Value"] |
| 49 | dns_manager.insert_record(temp_value, r53_source) |
| 50 | |
| 51 | if response["IsTruncated"] == False: |
| 52 | response = {} |
| 53 | else: |
| 54 | response = r53_client.list_resource_record_sets( |
| 55 | HostedZoneId=zone_data["Id"], |
| 56 | NextRecordName=response["NextRecordName"], |
| 57 | NextRecordType=response["NextRecordType"], |
| 58 | ) |
| 59 | |
| 60 | |
| 61 | def main(logger=None): |