From 5fa9aafb9fa6e7edb07c2585cccecd457bcff984 Mon Sep 17 00:00:00 2001 From: badra001 Date: Wed, 26 Apr 2023 13:28:10 -0400 Subject: [PATCH] fix --- code/ddns-lambda.py | 25 ++++++++++++------------- code/ddns-lambda.zip | Bin 22614 -> 22609 bytes 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/code/ddns-lambda.py b/code/ddns-lambda.py index b5d361e..149e67e 100755 --- a/code/ddns-lambda.py +++ b/code/ddns-lambda.py @@ -386,7 +386,7 @@ def lambda_handler( instance = remove_empty_from_dict(instance) instance_dump = json.dumps(instance, default=json_serial) - # dont' change to dictionary. Keep it as string to be written to DDB + # don't change to dictionary. Keep it as string to be written to DDB # instance_attributes = json.loads(instance_dump) instance_attributes = instance_dump LOGGER.info("instance_attributes: %s", str(instance_attributes) + lineno()) @@ -403,9 +403,9 @@ def lambda_handler( instance = get_item_from_dynamodb_table(dynamodb_client, DDBNAME, instance_id) LOGGER.info("instance attributes: %s", str(instance) + lineno()) try: - ## LOGGER.info(f"instance_data type {type(instance)} {lineno()}") - ## instance_data = json.loads(instance) - ## LOGGER.info(f"getting _DnsEntries {lineno()}") + # LOGGER.info(f"instance_data type {type(instance)} {lineno()}") + # instance_data = json.loads(instance) + # LOGGER.info(f"getting _DnsEntries {lineno()}") dns_data_raw = instance.get('_DnsEntries', []) LOGGER.info( f"got _DnsEntries type {type(dns_data_raw)} value {dns_data_raw} {lineno()}") @@ -1036,9 +1036,8 @@ def lambda_handler( put_item_in_dynamodb_table( dynamodb_client, DDBNAME, instance_id, instance_attributes) LOGGER.debug(f"Done updating item in dynamodb table {lineno()}") - except Exception as err: - LOGGER.error( - f"Error putting item in DDB table {instance_id} error {err} {lineno()}") + except Exception as err: + LOGGER.error(f"Error putting item in DDB table {instance_id} error {err} {lineno()}") # Clean up DynamoDB after deleting records if state != 'running': @@ -1060,7 +1059,7 @@ def lambda_handler( caller_response.insert(0, 'Successfully created recordsets') LOGGER.info(f"dns_data records written:\n{pformat(dns_data)}") -## put_instance_dns_data_item(dynamodb_client, DDBNAME, instance_id, dns_data) +# put_instance_dns_data_item(dynamodb_client, DDBNAME, instance_id, dns_data) count['end'] = datetime.datetime.now() count['elapsed_ms'] = (count['end'] - count['start']).total_seconds() * 1000.0 @@ -1070,13 +1069,13 @@ def lambda_handler( # def put_instance_dns_data_item(dynamodb_client, DDBNAME, instance_id, dns): -## dns_list = [dict(d._asdict()) for d in dns] +# dns_list = [dict(d._asdict()) for d in dns] # dns_info = json.dumps(dns_list, default=json_serial) -## dns_info = json.dumps(dns_list) +# dns_info = json.dumps(dns_list) ## -## LOGGER.debug(f"put dns data into {instance_id}/dns: {str(dns_info)}: {lineno()}") -## put_item_in_dynamodb_table(dynamodb_client, DDBNAME, f'{instance_id}/dns', dns_info) -## LOGGER.debug(f"done putting dns item in dynamo table {lineno()}") +# LOGGER.debug(f"put dns data into {instance_id}/dns: {str(dns_info)}: {lineno()}") +# put_item_in_dynamodb_table(dynamodb_client, DDBNAME, f'{instance_id}/dns', dns_info) +# LOGGER.debug(f"done putting dns item in dynamo table {lineno()}") # return diff --git a/code/ddns-lambda.zip b/code/ddns-lambda.zip index a9b83c55ed4d469cfcb5a0d130f25aacec517d4c..43df2a0538ae03a4e29095429167a56c7c417097 100644 GIT binary patch delta 16162 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 A2mk;8 delta 16189 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 b03nLM83zZ*R{#JG`I8w~G6n=#00000raN$B