From df22b6f8d09778e44b262574cdefec004101670d Mon Sep 17 00:00:00 2001 From: badra001 Date: Mon, 24 Apr 2023 21:45:38 -0400 Subject: [PATCH] fix --- code/ddns-lambda.py | 25 +++++++++++++------------ code/ddns-lambda.zip | Bin 21030 -> 21058 bytes 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/code/ddns-lambda.py b/code/ddns-lambda.py index 67c8202..c740516 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.0b42' +VERSION = '1.2.0b43' # Read Env variables DEBUG_LOG_LEVEL = os.environ.get('DebugLogLevel', 'INFO') @@ -494,21 +494,21 @@ def lambda_handler( return caller_response # These are collections of zones in Route 53. - hosted_zones = new_list_hosted_zones(route53, instance_id) - LOGGER.debug("hosted_zones for vpc_id %s: %s", vpc_id, str(hosted_zones) + lineno()) +## hosted_zones = new_list_hosted_zones(route53, instance_id) +## LOGGER.debug("hosted_zones for vpc_id %s: %s", vpc_id, str(hosted_zones) + lineno()) hosted_zones_by_vpc = new_list_hosted_zones_by_vpc( route53, instance_id, vpc_id, region) LOGGER.debug("hosted_zones_by_vpc for vpc_id %s: %s", vpc_id, str(hosted_zones_by_vpc) + lineno()) - private_hosted_zones = get_private_hosted_zones(hosted_zones) - LOGGER.debug("private_hosted_zones: %s", str(list(private_hosted_zones)) + lineno()) +## private_hosted_zones = get_private_hosted_zones(hosted_zones) +## LOGGER.debug("private_hosted_zones: %s", str(list(private_hosted_zones)) + lineno()) private_hosted_zones_by_vpc = get_private_hosted_zones_by_vpc(hosted_zones_by_vpc) LOGGER.debug("private_hosted_zones_by_vpc: vpc_id: %s, %s", vpc_id, str(list(private_hosted_zones)) + lineno()) - private_hosted_zone_collection = get_private_hosted_zone_collection( - private_hosted_zones) - LOGGER.debug("private_hosted_zone_collection: %s", - str(list(private_hosted_zone_collection)) + lineno()) +# private_hosted_zone_collection = get_private_hosted_zone_collection( +# private_hosted_zones) +# LOGGER.debug("private_hosted_zone_collection: %s", +# str(list(private_hosted_zone_collection)) + lineno()) private_hosted_zone_collection_by_vpc = get_private_hosted_zone_collection_by_vpc( private_hosted_zones_by_vpc) LOGGER.debug("private_hosted_zone_collection_by_vpc: %s", @@ -1721,15 +1721,16 @@ def new_get_resource_record(oclient, instance_id, zone_id, host_name, hosted_zon LOGGER.debug("Getting %s record type for %s", record_type, host_name + lineno()) - if host_name[-1] != '.': - host_name = host_name + '.' +# if host_name[-1] != '.': +# host_name = host_name + '.' LOGGER.debug("list_resource_record_sets looking for record %s in zone %s", str(host_name), str(hosted_zone_name) + lineno()) response = client.list_resource_record_sets( HostedZoneId=zone_id, - StartRecordName=host_name + hosted_zone_name, + # StartRecordName=host_name + hosted_zone_name, + StartRecordName=create_fqdn(host_name, hosted_zone_name), StartRecordType=record_type, MaxItems='1') diff --git a/code/ddns-lambda.zip b/code/ddns-lambda.zip index 1c7cc60286318b0f3194f29784108d4efcb9b6d6..31cad7b98c347c394e01283dc742fd43e9dac5e7 100644 GIT binary patch delta 16072 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 OlkQP62Jle;0002C=w^ig delta 16084 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 aA&OAvA0C)d007tKlL}HY2Gmgi00029+lf2?