def delete_acme_txt_records(domain): get_dynect_session() if not domain: current_app.logger.debug("delete_acme_txt_records: No domain passed") return acme_challenge_string = "_acme-challenge" if not domain.startswith(acme_challenge_string): current_app.logger.debug( "delete_acme_txt_records: Domain {} doesn't start with string {}. " "Cowardly refusing to delete TXT records".format( domain, acme_challenge_string)) return zone_name = get_zone_name(domain) zone_parts = len(zone_name.split('.')) node_name = '.'.join(domain.split('.')[:-zone_parts]) fqdn = "{0}.{1}".format(node_name, zone_name) zone = Zone(zone_name) node = Node(zone_name, fqdn) all_txt_records = node.get_all_records_by_type('TXT') for txt_record in all_txt_records: current_app.logger.debug("Deleting TXT record name: {0}".format(fqdn)) txt_record.delete() zone.publish()
def delete_acme_txt_records(domain): get_dynect_session() if not domain: current_app.logger.debug("delete_acme_txt_records: No domain passed") return acme_challenge_string = "_acme-challenge" if not domain.startswith(acme_challenge_string): current_app.logger.debug( "delete_acme_txt_records: Domain {} doesn't start with string {}. " "Cowardly refusing to delete TXT records".format(domain, acme_challenge_string)) return zone_name = get_zone_name(domain) zone_parts = len(zone_name.split('.')) node_name = '.'.join(domain.split('.')[:-zone_parts]) fqdn = "{0}.{1}".format(node_name, zone_name) zone = Zone(zone_name) node = Node(zone_name, fqdn) all_txt_records = node.get_all_records_by_type('TXT') for txt_record in all_txt_records: current_app.logger.debug("Deleting TXT record name: {0}".format(fqdn)) txt_record.delete() zone.publish()
def delete_txt_record(change_id, account_number, domain, token): get_dynect_session() if not domain: current_app.logger.debug("delete_txt_record: No domain passed") return zone_name = get_zone_name(domain) zone_parts = len(zone_name.split('.')) node_name = '.'.join(domain.split('.')[:-zone_parts]) fqdn = "{0}.{1}".format(node_name, zone_name) zone = Zone(zone_name) node = Node(zone_name, fqdn) try: all_txt_records = node.get_all_records_by_type('TXT') except DynectGetError: # No Text Records remain or host is not in the zone anymore because all records have been deleted. return for txt_record in all_txt_records: if txt_record.txtdata == ("{}".format(token)): current_app.logger.debug( "Deleting TXT record name: {0}".format(fqdn)) txt_record.delete() zone.publish()
def delete_acme_txt_records(domain): get_dynect_session() if not domain: current_app.logger.debug("delete_acme_txt_records: No domain passed") return acme_challenge_string = "_acme-challenge" if not domain.startswith(acme_challenge_string): current_app.logger.debug( "delete_acme_txt_records: Domain {} doesn't start with string {}. " "Cowardly refusing to delete TXT records".format(domain, acme_challenge_string)) return zone_name = get_zone_name(domain) zone_parts = len(zone_name.split('.')) node_name = '.'.join(domain.split('.')[:-zone_parts]) fqdn = "{0}.{1}".format(node_name, zone_name) zone = Zone(zone_name) node = Node(zone_name, fqdn) all_txt_records = node.get_all_records_by_type('TXT') for txt_record in all_txt_records: current_app.logger.debug("Deleting TXT record name: {0}".format(fqdn)) try: txt_record.delete() except DynectDeleteError: sentry.captureException( extra={ "fqdn": str(fqdn), "zone_name": str(zone_name), "node_name": str(node_name), "txt_record": str(txt_record.txtdata)} ) metrics.send('delete_txt_record_deleteerror', 'counter', 1, metric_tags={'fqdn': fqdn, 'txt_record': txt_record.txtdata}) zone.publish()
def delete_txt_record(change_id, account_number, domain, token): get_dynect_session() if not domain: current_app.logger.debug("delete_txt_record: No domain passed") return zone_name = get_zone_name(domain) zone_parts = len(zone_name.split(".")) node_name = ".".join(domain.split(".")[:-zone_parts]) fqdn = "{0}.{1}".format(node_name, zone_name) zone = Zone(zone_name) node = Node(zone_name, fqdn) try: all_txt_records = node.get_all_records_by_type("TXT") except DynectGetError: metrics.send("delete_txt_record_geterror", "counter", 1) # No Text Records remain or host is not in the zone anymore because all records have been deleted. return for txt_record in all_txt_records: if txt_record.txtdata == ("{}".format(token)): current_app.logger.debug("Deleting TXT record name: {0}".format(fqdn)) try: txt_record.delete() except DynectDeleteError: sentry.captureException( extra={ "fqdn": str(fqdn), "zone_name": str(zone_name), "node_name": str(node_name), "txt_record": str(txt_record.txtdata), } ) metrics.send( "delete_txt_record_deleteerror", "counter", 1, metric_tags={"fqdn": fqdn, "txt_record": txt_record.txtdata}, ) try: zone.publish() except DynectUpdateError: sentry.captureException( extra={ "fqdn": str(fqdn), "zone_name": str(zone_name), "node_name": str(node_name), "txt_record": str(txt_record.txtdata), } ) metrics.send( "delete_txt_record_publish_error", "counter", 1, metric_tags={"fqdn": str(fqdn), "txt_record": str(txt_record.txtdata)}, )
def delete_txt_record(args): domain, token = args[0], args[2] if not domain: logger.info(" + http_request() error in letsencrypt.sh?") return zone_name = '.'.join(domain.split('.')[-2:]) node_name = "{0}.{1}".format('_acme-challenge', '.'.join(domain.split('.')[:-2])) fqdn = "{0}.{1}".format(node_name, zone_name) zone = Zone(zone_name) node = Node(zone_name, fqdn) all_txt_records = node.get_all_records_by_type('TXT') for txt_record in all_txt_records: if txt_record.txtdata == (token): logger.info(" + Deleting TXT record name: {0}".format(fqdn)) txt_record.delete() zone.publish()
def delete_txt_record(args): domain, token = args[0], args[2] if not domain: logger.info(" + http_request() error in letsencrypt.sh?") return zone_name = get_tld('http://' + domain) zone_parts = len(zone_name.split('.')) node_name = '.'.join(['_acme-challenge'] + domain.split('.')[:-zone_parts]) fqdn = "{0}.{1}".format(node_name, zone_name) zone = Zone(zone_name) node = Node(zone_name, fqdn) all_txt_records = node.get_all_records_by_type('TXT') for txt_record in all_txt_records: if txt_record.txtdata == (token): logger.info(" + Deleting TXT record name: {0}".format(fqdn)) txt_record.delete() zone.publish()
def delete_txt_record(change_id, account_number, domain, token): get_dynect_session() if not domain: current_app.logger.debug("delete_txt_record: No domain passed") return zone_name = get_zone_name(domain) zone_parts = len(zone_name.split('.')) node_name = '.'.join(domain.split('.')[:-zone_parts]) fqdn = "{0}.{1}".format(node_name, zone_name) zone = Zone(zone_name) node = Node(zone_name, fqdn) all_txt_records = node.get_all_records_by_type('TXT') for txt_record in all_txt_records: if txt_record.txtdata == ("{}".format(token)): current_app.logger.debug("Deleting TXT record name: {0}".format(fqdn)) txt_record.delete() zone.publish()
def deleterecord(thenode): removenode = thenode + '.' + zonename node2delete = Node(zonename, removenode) print('----Deleting: ' + node2delete.fqdn) node2delete.delete() print('----Deleted: ' + node2delete.fqdn)