From 9fa9abdec9476c0486712709af38a004566e64bb Mon Sep 17 00:00:00 2001 From: badra001 Date: Mon, 24 Apr 2023 20:40:05 -0400 Subject: [PATCH] fix --- code/ddns-lambda.py | 65 +++++++++++++++++-------------------------- code/ddns-lambda.zip | Bin 21059 -> 21077 bytes 2 files changed, 26 insertions(+), 39 deletions(-) diff --git a/code/ddns-lambda.py b/code/ddns-lambda.py index cc9abba..2955e34 100755 --- a/code/ddns-lambda.py +++ b/code/ddns-lambda.py @@ -73,7 +73,7 @@ LOGGER = logging.getLogger() account_id = None region = None -VERSION = '1.2.0b40' +VERSION = '1.2.0b41' # Read Env variables DEBUG_LOG_LEVEL = os.environ.get('DebugLogLevel', 'INFO') @@ -683,21 +683,19 @@ def lambda_handler( instance_id, f_hostname, f_zonename, str(final_private_dns_name), lineno()) # Get the PHZ ID for the Zone - final_hosted_zone_item = phz_collection_by_vpc[final_hosted_zone_name] - final_hosted_zone_id = final_hosted_zone_item['zone_id'] zone_data_forward = zone_data_tuple( *phz_collection_by_vpc[final_hosted_zone_name].values()) zone_data_reverse = zone_data_tuple( *phz_collection_by_vpc[tag_data['ptr_entry'].zonename].values()) +## final_hosted_zone_item = phz_collection_by_vpc[final_hosted_zone_name] +## final_hosted_zone_id = zone_data_forward.zone_id +## final_hosted_zone_owner = final_hosted_zone_item['owner_account'] LOGGER.info(f"zone_data_forward: {pformat(zone_data_forward)}") LOGGER.info(f"zone_data_reverse: {pformat(zone_data_reverse)}") - LOGGER.debug("private_hosted_zone_id:" - " %s", str(final_hosted_zone_id) + lineno()) - final_hosted_zone_owner = final_hosted_zone_item['owner_account'] - LOGGER.debug("private_hosted_zone_owner: is_mine %s" - " %s", final_hosted_zone_owner == account_id, str(final_hosted_zone_owner) + lineno()) + LOGGER.debug( + f"private_hosted_zone: zone_id {zone_data_forward.zone_id} is_mine {zone_data_forward.owner_account==account_id} owner {zone_data_forward.owner_account}: {lineno()}") # create the TXT heritage record heritage = initialize_heritage(HERITAGE_TAG, VERSION, @@ -725,13 +723,13 @@ def lambda_handler( create_response = create_resource_record( route53, instance_id, - final_hosted_zone_id, + zone_data_forward.zone_id, final_private_hostname, - final_hosted_zone_name, + zone_data_forward.name, , 'A', private_ip ) - append_msg = f"A record in zone id: {final_hosted_zone_id} for hostname {final_private_hostname} " + \ + append_msg = f"A record in zone id: {zone_data_forward.zone_id} owner {zone_data_forward.owner_account} for hostname {final_private_hostname} " + \ f"zone {final_hosted_zone_name} to value {private_ip}" count[create_response] += 1 if create_response == 'success': @@ -749,19 +747,19 @@ def lambda_handler( try: if not flags['noheritage']: if len(heritage) > 0: - LOGGER.debug("Creating heritage TXT resource records %s, with a value of %s", - final_private_hostname, str(heritage_value) + lineno()) + LOGGER.debug( + f"Creating heritage TXT resource records {final_private_hostname} with value {heritage_value}: {lineno()}") create_response = create_resource_record( route53, instance_id, - final_hosted_zone_id, + zone_data_forward.zone_id, final_private_hostname, - final_hosted_zone_name, + zone_data_forward.name, 'TXT', heritage_value ) - append_msg = f"TXT record in zone id: {reverse_lookup_zone_id} for hostname {final_private_hostname} " + \ - f"zone {final_hosted_zone_name} to value {heritage_value}" + append_msg = f"TXT record in zone id: {zone_data_forward.zone_id} owner {zone_data_forward.owner_account} for hostname {final_private_hostname} " + \ + f"zone {zone_data_forward.name} to value {heritage_value}" count[create_response] += 1 if create_response == 'success': @@ -784,13 +782,13 @@ def lambda_handler( create_response = create_resource_record( route53, instance_id, - reverse_lookup_zone_id, + zone_data_reverse.zone_id, tag_data['ptr_entry'].hostname, tag_data['ptr_entry'].zonename, 'PTR', create_fqdn(final_private_hostname, final_hosted_zone_name), ) - append_msg = f"PTR record in zone id: {reverse_lookup_zone_id} for hostname {tag_data['ptr_entry'].hostname} " + \ + append_msg = f"PTR record in zone id: {zone_data_reverse.zone_id} owner {zone_data_reverse.owner_id} for hostname {tag_data['ptr_entry'].hostname} " + \ f"zone {tag_data['ptr_entry'].zonename} to value {final_private_dns_name}" count[create_response] += 1 if create_response == 'success': @@ -809,18 +807,18 @@ def lambda_handler( try: if not flags['noheritage']: if reverse_zone_associated and len(heritage) > 0: - LOGGER.debug("Creating heritage TXT resource records %s, with a value of %s", - str(reversed_ip_address), str(heritage_value) + lineno()) + LOGGER.debug( + f"Creating heritage TXT resource records {tag_data['ptr_entry'].hostname} with value {heritage_value}: {lineno()}") create_response = create_resource_record( route53, instance_id, - reverse_lookup_zone_id, + zone_data_reverse.zone_id, tag_data['ptr_entry'].hostname, tag_data['ptr_entry'].zonename, 'TXT', heritage_value ) - append_msg = f"TXT record in zone id: {reverse_lookup_zone_id} for hostname {tag_data['ptr_entry'].hostname} " + \ + append_msg = f"TXT record in zone id: {zone_data_reverse.zone_id} owner {zone_data_reverse.owner_id} for hostname {tag_data['ptr_entry'].hostname} " + \ f"zone {tag_data['ptr_entry'].zonename} to value {heritage_value}" count[create_response] += 1 @@ -839,7 +837,7 @@ def lambda_handler( instance_id, str(err) + lineno()) else: # not running so delete the records - if not flags['nofoward']: + if not flags['noforward']: # Process and delete A record and associated TXT record process_response = process_delete_records( route53, @@ -910,13 +908,8 @@ def lambda_handler( 'CNAME', final_private_dns_name ) - append_msg = 'CNAME record in zone id: ' + \ - str(cname_domain_suffix_id) + \ - ' for hosted zone ' + \ - str(cname_host_name) + '.' + \ - str(cname_domain_suffix) + \ - ' with value: ' + \ - str(final_private_dns_name) + append_msg = f"CNAME record in zone id: {cname_domain_suffix_id} owner {phz_collection_by_vpc[cname_domain_suffix]['owner_account']} " + \ + f"hostname {cname_host_name} in zone {cname_domain_suffix} with value {final_private_dns_name}" if create_response == 'success': LOGGER.info("instance: %s, Created %s", @@ -944,14 +937,8 @@ def lambda_handler( 'TXT', heritage_value ) - append_msg = 'TXT for CNAME record in zone id: ' + \ - str(cname_domain_suffix_id) + \ - ' for hosted zone ' + \ - str(TXT_RR_PREFIX) + '.' + \ - str(cname_host_name) + '.' + \ - str(cname_domain_suffix) + \ - ' with value: ' + \ - str(heritage_value) + append_msg = f"TXT for CNAME record in zone id: {cname_domain_suffix_id} owner phz_collection_by_vpc[cname_domain_suffix]['owner_account']} " + \ + f"hostname {cname_host_name} in zone {cname_domain_suffix} with value {heritage_value}" if create_response == 'success': LOGGER.info("instance: %s, Created %s", diff --git a/code/ddns-lambda.zip b/code/ddns-lambda.zip index 2c1f6314631152a64879bb93bc9eb9c8eebca06a..36f301567241318a1cadfacc824515ab30e377c8 100644 GIT binary patch literal 21077 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 literal 21059 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 O06YKy0P#@(0000~IP-J>