From 3aa5fa4fb05a585b8c9772b26ee3cc87cd57dacf Mon Sep 17 00:00:00 2001 From: badra001 Date: Mon, 7 Feb 2022 16:51:23 -0500 Subject: [PATCH] 0.0.9: add tf_module_version --- code/ddns-lambda.py | 7 ++++--- code/ddns-lambda.zip | Bin 8757 -> 8798 bytes 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/code/ddns-lambda.py b/code/ddns-lambda.py index e8ba0f5..a7d1050 100755 --- a/code/ddns-lambda.py +++ b/code/ddns-lambda.py @@ -62,7 +62,7 @@ LOGGER = logging.getLogger() ACCOUNT = None REGION = None -VERSION = '0.0.8' +VERSION = '0.0.9' # Adjust the logging level [logging.INFO, logging.DEBUG, logging.WARNING, etc] LOGGER.setLevel(logging.DEBUG) @@ -75,9 +75,10 @@ TAGKEY_HOSTNAME = os.environ.get('TagKeyHostName', '') DNS_RR_TTL = int(os.environ.get('DNS_RR_TimeToLive', '60')) DNS_RR_TTL = 60 if DNS_RR_TTL == 0 else DNS_RR_TTL +TF_MODULE_VERSION = os.environ.get('tf_module_version', '(unknown)') -print('Loading function v{}: {}'.format( - VERSION, datetime.datetime.now().time().isoformat())) +print('Loading function v{} tf_module_version {}: {}'.format( + VERSION, TF_MODULE_VERSION, datetime.datetime.now().time().isoformat())) def lineno(): # pragma: no cover diff --git a/code/ddns-lambda.zip b/code/ddns-lambda.zip index 1c86ecd2a0c4102f89e9f3ab101e03c4be93f2de..79105c55dd9c47a3ecda6263a8dec56c52401b64 100644 GIT binary patch literal 8798 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 M|MtUwiUa`oAAfo8fB*mh literal 8757 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 XKt&kX|7}D3SDOFz$^YOG0O0=sugA8R