From 45b32cc9199b1812eb75d209071f1fd7c8d4b5c4 Mon Sep 17 00:00:00 2001 From: badra001 Date: Thu, 27 Apr 2023 16:28:28 -0400 Subject: [PATCH] fix --- code/ddns-lambda.py | 67 ++++++++++++++++++++++++++++++++++--------- code/ddns-lambda.zip | Bin 24469 -> 24952 bytes 2 files changed, 54 insertions(+), 13 deletions(-) diff --git a/code/ddns-lambda.py b/code/ddns-lambda.py index 54986a9..c2b132a 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.0b82' +VERSION = '1.2.0b83' # Read Env variables DEBUG_LOG_LEVEL = os.environ.get('DebugLogLevel', 'INFO') @@ -82,6 +82,7 @@ TAGKEY_CNAME = os.environ.get('TagKeyCname', 'boc:dns:cname') TAGKEY_ZONE = os.environ.get('TagKeyZone', 'boc:dns:zone') TAGKEY_HOSTNAME = os.environ.get('TagKeyHostName', 'boc:dns:name') +TAGKEY_PTRNAME = os.environ.get('TagKeyPtrName', 'boc:dns:ptrname') TAGKEY_FLAGS = os.environ.get('TagKeyFlags', 'boc:dns:flags') DNS_RR_TTL = int(os.environ.get('DNS_RR_TimeToLive', '60')) DNS_RR_TTL = 60 if DNS_RR_TTL == 0 else DNS_RR_TTL @@ -653,14 +654,16 @@ def lambda_handler( LOGGER.info("Options flags: " + ' '.join([f"{x}={flags[x]}" for x in flags])) tag_data = {} - tag_data_fields = ['valid', 'hostname', 'zonename'] + tag_data_fields = ['defined', 'valid', 'hostname', 'zonename'] tag_data_tuple = namedtuple('TagData', tag_data_fields) tag_data['option_cname'] = tag_data_tuple(*process_tags_option_cname(tags)) tag_data['option_zone'] = tag_data_tuple(*process_tags_option_zone(tags)) tag_data['option_name'] = tag_data_tuple(*process_tags_option_name(tags)) - tag_data['dhcp_options'] = tag_data_tuple( - has_dhcp_dns_zone_associated_vpc, None, private_hosted_zone_name) - tag_data['ptr_entry'] = tag_data_tuple(True, reversed_entry, reversed_lookup_zone) + tag_data['option_ptrname'] = tag_data_tuple(*process_tags_option_ptrname(tags)) + tag_data['dhcp_options'] = tag_data_tuple(True, + has_dhcp_dns_zone_associated_vpc, None, private_hosted_zone_name) + tag_data['ptr_entry'] = tag_data_tuple( + True, True, reversed_entry, reversed_lookup_zone) tag_data['name'] = tag_data_tuple(*process_tags_name(tags)) LOGGER.debug("New tag_data structure: %s", str(pformat(tag_data)) + lineno()) @@ -688,11 +691,11 @@ def lambda_handler( f"2.1 instance: {instance_id}, using tag_option.name hostname {tag_data['option_name'].hostname} and and tag_option.name zone {tag_data['option_name'].zonename}") f_hostname = tag_data['option_name'].hostname f_zonename = tag_data['option_name'].zonename - elif not tag_data['option_name'].valid and tag_data['option_name'].hostname and tag_data['option_name'].zonename and all(flags['noforward'], flags['forcename']): - LOGGER.info( - f"2.2 instance: {instance_id}, using tag_option.name hostname {tag_data['option_name'].hostname} and and tag_option.name zone {tag_data['option_name'].zonename} [noforward,forcename]") - f_hostname = tag_data['option_name'].hostname - f_zonename = tag_data['option_name'].zonename +# elif not tag_data['option_name'].valid and tag_data['option_name'].hostname and tag_data['option_name'].zonename and all(flags['noforward'], flags['forcename']): +# LOGGER.info( +# f"2.2 instance: {instance_id}, using tag_option.name hostname {tag_data['option_name'].hostname} and and tag_option.name zone {tag_data['option_name'].zonename} [noforward,forcename]") +# f_hostname = tag_data['option_name'].hostname +# f_zonename = tag_data['option_name'].zonename elif not tag_data['option_name'].valid and tag_data['option_name'].hostname and tag_data['dhcp_options'].valid: LOGGER.info( f"2.3 instance: {instance_id}, using tag_option.name hostname {tag_data['option_name'].hostname} and and tag_option.name zone {tag_data['dhcp_options'].zonename}") @@ -738,11 +741,30 @@ def lambda_handler( else: cf_fqdn = '' + if tag_data['option_ptrname'].valid: + LOGGER.info( + f"5.1 instance: {instance_id}, PTR using tag_option.ptrname hostname {tag_data['option_ptrname'].hostname} and tag_option.ptrname zone {tag_data['option_ptrname'].zonename}") + p_hostname = tag_data['option_ptrname'].hostname + p_zonename = tag_data['option_ptrname'].zonename + elif tag_data['option_ptrname'].exists: + LOGGER.info( + f"5.2 instance: {instance_id}, PTR using name not-valid, forcing tag_option.ptrname hostname {tag_data['option_ptrname'].hostname} and tag_option.ptrname zone {tag_data['option_ptrname'].zonename}") + p_hostname = tag_data['option_ptrname'].hostname + p_zonename = tag_data['option_ptrname'].zonename + else: + LOGGER.info( + f"5.3 instance: {instance_id}, PTR default using current hostname {f_hostname} and current zone {f_zonename}") + p_hostname = f_hostname + p_zonename = f_zonename + p_fqdn = create_fqdn(final_private_hostname, final_hosted_zone_name) + + # note this will not continue and set a cname final_private_hostname = f_hostname if len(f_hostname) > 0 else default_hostname final_hosted_zone_name = f_zonename - final_private_dns_name = '.'.join([f_hostname, f_zonename]) +# final_private_dns_name = '.'.join([f_hostname, f_zonename]) + final_private_dns_name = p_fqdn zone_data_fields = ['name', 'zone_id', 'owner_account', 'is_amazon', 'enabled'] zone_data_tuple = namedtuple('ZoneData', zone_data_fields) @@ -3100,11 +3122,11 @@ def process_tags_value(name): """ if name != '': - return parse_hostname_to_components(name) + return (True,) + parse_hostname_to_components(name) # components = parse_hostname_to_components(name) # if components: # return (True, components[0], components[1]) - return (False, name, None) + return (name != '', False, name, None) def process_tags_option_cname(tags): @@ -3149,6 +3171,25 @@ def process_tags_option_name(tags): return process_tags_value(value) +def process_tags_option_ptrname(tags): + """ + Process the Name option tag 'boc:dns:ptrname', determine if name if and zone are valid. This name is used to provide and + alternate target name for the PTR address. A warning is issued if the zone/domain does not exist, but it will still create the + name anyway. This is expected to be used in the case of a Windows host, where the hostname cannot be set in route53, but the PTR + can, and it has to point back to the real AD hostname. Using this involves two tags: + + boc:dns:flags = noforward + boc:dns:ptrname = winhostname.ead.census.gov + + : param list(dict(string)) tags: tags from instance, list of dict of string + : return: + """ + + tag_dict = {tag['Key'].lstrip().lower(): tag['Value'] for tag in tags} + value = tag_dict.get(TAGKEY_PTRNAME.lower(), '') + return process_tags_value(value) + + def process_tags_name(tags): """ Process the Hostname from the Name tag to determine if name if and zone are valid diff --git a/code/ddns-lambda.zip b/code/ddns-lambda.zip index 19a5fe0ad29142f73d97415690aa2c5d5a0743af..01b0c2a0a6b19fd37df6122ecd4a197a69ef9c0c 100644 GIT binary patch delta 24896 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 D@3wK_ literal 24469 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