From 03fcbd3c537b4d8d6ffa60bdac9c7fefd1d46dd4 Mon Sep 17 00:00:00 2001 From: badra001 Date: Thu, 27 Apr 2023 08:35:50 -0400 Subject: [PATCH] fix --- code/ddns-lambda.py | 45 ++++++++++++++++++++++++++++++++++++++++--- code/ddns-lambda.zip | Bin 23686 -> 24188 bytes 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/code/ddns-lambda.py b/code/ddns-lambda.py index 1b1357e..d0103ee 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.0b73' +VERSION = '1.2.0b74' # Read Env variables DEBUG_LOG_LEVEL = os.environ.get('DebugLogLevel', 'INFO') @@ -306,6 +306,20 @@ def lambda_handler( dns_data_tuple = namedtuple('DnsData', dns_data_fields) caller_response = [] +# if not an ec2 start or stop, skip processing, send SNS, and exit + action = evaluate_event_action(event) + if not action: + caller_response.append(f"Event structure not an aws.ec2 event, exiting") + if SNS_ENABLE: + sns_msg = {} + sns_msg['account_id'] = account_id + sns_msg['region'] = event['region'] + sns_msg['event'] = str(event) + sns_msg['context'] = str(context) + sns_msg['message'] = caller_response[-1] + publish_to_sns(sns_client, json.dumps(sns_msg)) + return caller_response + # Checking to make sure there is a dynamodb table named in the Env Variable tables = list_tables(dynamodb_client) @@ -3229,13 +3243,38 @@ def discover_emr_master(tags): - emr:elasticmapreduce:instance-group-role == MASTER :param dict tags: dict of tag - :return (bool,str): Tuple containing is_master (is an EMR node and is the master), and the cluster_id if it's a cluster + :return (bool,str): Tuple containing is_master (is an EMR node and is the master), and the cluster_id if it's a cluster. cluster_id will be empty if not a cluster. """ cluster_id = tags.get('aws:elasticmapreduce:job-flow-id', '') is_master = tags.get('aws:elasticmapreduce:instance-group-role', '') == 'MASTER' - return (is_master and cluster_id != '', cluster_id) + is_cluster = cluster_id != '' + LOGGER.debug( + f"discover_emr: is_cluster {is_cluster}, is_master {is_master}, cluster_id {cluster_id}") + return (is_master and is_cluster, cluster_id) + + +def evaluate_event_action(event): + """ + This takes the EventBridge event and returns a DNS action to take (ADD|REMOVE) based on running or not-running (stopping, terminating). If not an ec2 event, it returns None. + + :param dict(str) event: Event dict from handler + :return str: DNS action, either ADD (to create records) or REMOVE (to delete records) + e_source = event['source'] + action=None + try: + if e_source=='aws.ec2': + e_instance_id = event['detail']['instance-id'] + e_state = event['detail']['state'] + action="ADD" if e_state == "running" else "DELETE" + LOGGER.info(f"event_action ** {action} ** instance_id {instance_id} instance_state {e_state}") + else: + LOGGER.info(f"event_action unrecognized source {e_source}") + except: + LOGGER.error(f"event_action event structure cannot be parsed {lineno()}") + return action + ## # aws: elasticmapreduce: job - flow - id        j - 8O514K6HPIYZ diff --git a/code/ddns-lambda.zip b/code/ddns-lambda.zip index f49eae91219f01887bf041ea2c13c579c01ae0eb..10d227272f8ebe7514b1dfccf7b50fe2ad163326 100644 GIT binary patch delta 24096 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 delta 23568 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 z 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