def _main(client, ip): from aliyunsdkalidns.request.v20150109.DescribeDomainRecordsRequest import * from aliyunsdkalidns.request.v20150109.UpdateDomainRecordRequest import * for rr, domain_name, type_ in config.RECORDS: req = DescribeDomainRecordsRequest() req.set_TypeKeyWord(type_) req.set_DomainName(domain_name) req.set_RRKeyWord(rr) records = json.loads(client.do_action_with_exception(req))['DomainRecords']['Record'] if records: record = records[0] if record['Value'] == ip: logging.debug('%s.%s is already %s', rr, domain_name, ip) else: logging.info('Updating %s.%s from %s to %s', rr, domain_name, record['Value'], ip) update = UpdateDomainRecordRequest() update.set_RecordId(record['RecordId']) update.set_RR(rr) update.set_Type(type_) update.set_Value(ip) client.do_action_with_exception(update) else: logging.warning('No such record %s.%s, skipping for now.', rr, domain_name)
def change_record(self, domain, record_id, sub_domain, value, record_type, line): clt = client.AcsClient(self.SECRETID, self.SECRETKEY, 'cn-hangzhou') request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() request.set_RR(sub_domain) request.set_RecordId(record_id) if line == "电信": line = "telecom" elif line == "联通": line = "unicom" elif line == "移动": line = "mobile" request.set_Line(line) request.set_Type(record_type) request.set_Value(value) request.set_accept_format(rc_format) result = clt.do_action(request).decode('utf-8') result = json.loads(result) #替换为标准格式 # { # "result":True, # "message":{...} # } data = {} data["result"] = 'RecordId' in result data["message"] = result return data
def update_dns(HostName, RecordId, Type, IP): # 登录阿里客户端 clt = client.AcsClient(access_key_id, access_Key_secret, RegionID) # 创建一个更新域名记录请求类实例 request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() # 实例调用方法,接受json格式数据 request.set_accept_format('json') # 添加记录ID号 request.set_RecordId(RecordId) # 添加查询参数主机名,解析值 request.set_RR(HostName) # 添加搜索字段类型 request.set_Type(Type) # 添加搜索字段Time To Live(生存时间值,域名解析在DNS服务器中存留时间) request.set_TTL('600') # 添加搜索字段IP值 request.set_Value(IP) # 客户端执行上述添加的操作 try: result = clt.do_action_with_exception(request) results = json.loads(result) return results except ServerException as e: alidns.error( (e.get_error_code(), e.get_error_msg(), e.get_http_status()))
def update_dns_record(self, dns_record, public_ip): """ Update a dns record at dns provider side with a given dns record """ DDNSUtils.info( 'Updating value [{rec.value}] for [{rec.rr}.{rec.domainname}]'. format(rec=dns_record)) acsClient = AcsClient(ak=self.access_key_id, secret=self.access_Key_secret, region_id='cn-hangzhou') request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() request.set_RR(dns_record.rr) request.set_Type(dns_record.type) request.set_Value(dns_record.value) request.set_RecordId(dns_record.recordid) request.set_TTL(dns_record.ttl) request.set_accept_format('json') try: result = acsClient.do_action_with_exception(request) return result except Exception as exception: DDNSUtils.err( 'Failed to update value [{rec.value}] for [{rec.rr}.{rec.domainname}]' .format(rec=dns_record)) raise exception
def change_record(self, domain, record_id, sub_domain, value, record_type, line, ttl): clt = client.AcsClient(self.access_key_id, self.access_key_secret, 'cn-hangzhou') request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() request.set_RR(sub_domain) request.set_RecordId(record_id) if line == "电信": line = "telecom" elif line == "联通": line = "unicom" elif line == "移动": line = "mobile" elif line == "境外": line = "oversea" elif line == "默认": line = "default" request.set_Line(line) request.set_Type(record_type) request.set_Value(value) request.set_TTL(ttl) request.set_accept_format(rc_format) result = clt.do_action(request).decode('utf-8') result = json.JSONDecoder().decode(result) return result
def update_record(self, value): request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() request.set_action_name("UpdateDomainRecord") request.set_RecordId(self.get_record_id()) request.set_Type(self.record_type) request.set_RR(self.rr_keyword) request.set_Value(value) return self.client.do_action_with_exception(request)
def update_record(cip, old): req = UpdateDomainRecordRequest.UpdateDomainRecordRequest() req.set_RecordId(RID) req.set_RR(old['RR']) req.set_Type(old['Type']) req.set_Value(cip) resp = client.do_action_with_exception(req).decode('utf-8') print(resp) return True
def update_domain_record(record_id): req = UpdateDomainRecordRequest.UpdateDomainRecordRequest() req.set_RecordId(record_id) req.set_RR(subDomain) req.set_Type('A') req.set_Value(publicIp) print(json.dumps(req.get_query_params())) res = client.do_action_with_exception(req) print(res.decode())
def UpdateRecord(self): ur_r = UpdateDomainRecordRequest.UpdateDomainRecordRequest() ur_r.set_RR(self.config['RR'].encode()) ur_r.set_RecordId(self.config['RecordID'].encode()) ur_r.set_Type('A') ur_r.set_Value(self.config['IP'].encode()) ur_r.set_Line("default") ur_re = self.clt.do_action(ur_r) Log(ur_re)
def updateDomainRecord(ip,recordid): cl = client.AcsClient(AccessKeyId, AccessKeySecret, region_id) request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() request.set_RecordId(recordid) request.set_RR('www') request.set_Type('A') request.set_Value(ip) response = cl.do_action_with_exception(request) print response
def update_dns(dns_rr, dns_type, dns_value, dns_record_id, dns_ttl): request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() request.set_RR(dns_rr) # 设置子域名信息 request.set_Type(dns_type) # 设置 DNS 类型 request.set_Value(dns_value) # 设置解析 IP request.set_RecordId(dns_record_id) # 设置记录值 request.set_TTL(dns_ttl) # 设置 TTL 时间 request.set_accept_format(rc_format) # 设置返回格式 return clt.do_action_with_exception(request) # 发送请求内容
def EditDomainRecord(HostName, RecordId, Types, IP): UpdateDomainRecord = UpdateDomainRecordRequest.UpdateDomainRecordRequest() UpdateDomainRecord.set_accept_format('json') UpdateDomainRecord.set_RecordId(RecordId) UpdateDomainRecord.set_RR(HostName) UpdateDomainRecord.set_Type(Types) UpdateDomainRecord.set_TTL('600') UpdateDomainRecord.set_Value(IP) UpdateDomainRecordJson = json.loads(clt.do_action(UpdateDomainRecord)) print UpdateDomainRecordJson
def ddns(ip): request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() request.set_RecordId(RECORD_ID) request.set_RR(RR) request.set_Type('A') request.set_Value(ip) request.set_accept_format('json') response = clt.do_action(request) printLog(response) return response
def update_dns(RR, Type, Value, RecordId, TTL): request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() request.set_RR(RR) request.set_Type(Type) request.set_Value(Value) request.set_RecordId(RecordId) request.set_TTL(TTL) request.set_accept_format('json') result = AcsClientString.get_instance().do_action(request) return result
def update(self, record, host, record_ip): '''update record''' request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() request.set_RecordId(record) request.set_RR(host) # RR is the Host record request.set_Type('A') request.set_Value(record_ip) response = self._client.do_action_with_exception(request) logger.log(response) return response
def Update(self, ip, record): udr = UpdateDomainRecordRequest.UpdateDomainRecordRequest() udr.set_accept_format('json') udr.set_RecordId(record['RecordId']) udr.set_RR(record['RR']) udr.set_Type(record['Type']) udr.set_Value(ip) response = self.client.do_action_with_exception(udr) UpdateDomainRecordJson = json.loads(response.decode('utf-8')) print(UpdateDomainRecordJson)
def update_record(acs_client, record_id, rr, current_ip, ttl): request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() request.set_RR(rr) request.set_Type('A') request.set_Value(current_ip) request.set_RecordId(record_id) request.set_TTL(ttl) request.set_accept_format('json') result = acs_client.do_action_with_exception(request) return result
def update_record(self, domain, types, ip): if self._check_domain(domain=domain): update = UpdateDomainRecordRequest.UpdateDomainRecordRequest() update.set_accept_format('json') update.add_query_param('RecordId', self._check_domain(domain, types='update')) update.add_query_param('RR', self._domain_prefix(domain)['sub']) update.add_query_param('Type', types) update.add_query_param('Value', ip) rst_up = self.clt.do_action_with_exception(update) return rst_up
def update(id, RR, text): print_("update RR '%s' value is %s -- id is %s " % (RR, text, id)) id_r = UpdateDomainRecordRequest.UpdateDomainRecordRequest() id_r.set_RecordId(id) id_r.set_RR(RR) id_r.set_Type('TXT') id_r.set_Value(text) id_re = c.do_action(id_r) print_(id_re)
def update_dns(dns_rr, dns_type, dns_value, dns_record_id, dns_ttl, dns_format): clt = client.AcsClient(access_key_id, access_key_secret, 'cn-hangzhou') request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() request.set_RR(dns_rr) request.set_Type(dns_type) request.set_Value(dns_value) request.set_RecordId(dns_record_id) request.set_TTL(dns_ttl) request.set_accept_format(dns_format) result = clt.do_action_with_exception(request) return result
def set_dns_ip(self, domain, router): logger.info("current domain info is %s" % domain) request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() request.set_RR(domain["RR"]) request.set_Type(domain["Type"]) request.set_Value(router) request.set_RecordId(domain["RecordId"]) request.set_TTL(domain["TTL"]) request.set_accept_format("json") result = self.client.do_action_with_exception(request) logger.info("aliyun updated. new seesion is %s" % result)
def update_dns(dns_rr, dns_type, dns_value, dns_record_id, dns_ttl, dns_format): clt = client.AcsClient(accessKeyId, accessKeySecret, aliyun_endpoint) request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() request.set_RR(dns_rr) request.set_Type(dns_type) request.set_Value(dns_value) request.set_RecordId(dns_record_id) request.set_TTL(dns_ttl) request.set_accept_format(dns_format) result = clt.do_action_with_exception(request) return result
def update(self): clt = client.AcsClient(self.access_key_id, self.access_key_secret, 'cn-hangzhou') request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() request.set_RR(self.prefix) request.set_Type(self.type) request.set_Value(self.ip) request.set_RecordId(self.record_id) request.set_TTL(self.ttl) request.set_accept_format('json') result = clt.do_action_with_exception(request) self.logger.debug('update_dns {}'.format(result)) return(result)
def update_dns_records(RecordId, RR, Type, Value): request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() # 发起 API和参数 请求 request.set_accept_format('json') request.set_RecordId(RecordId) request.set_RR(RR) request.set_Type(Type) request.set_Value(Value) # 并打印返回 response = client.do_action_with_exception(request) f = open('./record.txt', 'a+') f.write("%s\n" % response) f.close()
def update_dns(self, dns_rr, dns_value, dns_type, dns_record_id, dns_ttl): print('update_dns') request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() request.set_RR(dns_rr) request.set_Type(dns_type) request.set_Value(dns_value) request.set_RecordId(dns_record_id) request.set_TTL(dns_ttl) request.set_accept_format(self.dns_format) result = self.do_action(request) self.records_cache_time = None print('{}.{} -> {}'.format(dns_rr, self.dns_domain, dns_value)) return result
def update_rr(record_id, sd, ip): request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() request.set_RecordId(record_id) request.set_RR(sd) request.set_Type('A') request.set_Value(ip) request.set_TTL('600') try: client.do_action_with_exception(request) logger.info('Update:' + sd + ', IP:' + ip + ', accomplished[DONE]:') except Exception as e: # print(e) logger.info('Update sub domain failed[EXIT]:' + str(e)) sys.exit(1)
def EditDomainRecord(HostName, RecordId, Types, IP): UpdateDomainRecord = UpdateDomainRecordRequest.UpdateDomainRecordRequest() UpdateDomainRecord.set_accept_format('json') UpdateDomainRecord.set_RecordId(RecordId) UpdateDomainRecord.set_RR(HostName) UpdateDomainRecord.set_Type(Types) UpdateDomainRecord.set_TTL('600') UpdateDomainRecord.set_Value(IP) try: UpdateDomainRecordJson = json.loads( clt.do_action_with_exception(UpdateDomainRecord)) log_data['update'] = UpdateDomainRecordJson except Exception as e: log_data['update_error'] = str(e)
def update_record(bs, record_id, ip): ud = UpdateDomainRecordRequest.UpdateDomainRecordRequest() ud.set_accept_format('json') ud.set_RecordId(record_id) ud.set_RR('@') ud.set_Type('A') ud.set_TTL('600') ud.set_Value(ip) js = json.loads(bs.do_action_with_exception(ud).decode()) #print(js) if js['RecordId'] == record_id: return True return False
def modify_domain_record(self, record_id, value, record_type='A', rr='frp', priority=1): request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() request.set_RecordId(record_id) request.set_Value(value) request.set_Type(record_type) request.set_RR(rr) request.set_Priority(priority) response = self.client.do_action_with_exception(request) return json.loads(response.decode('utf-8'))['RecordId']
def updateDomainRecord(client,value,rr,record_id): request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() request.set_accept_format('json') # request.set_Priority('1') request.set_TTL('600') request.set_Value(value) # 新的ip地址 request.set_Type('A') request.set_RR(rr) request.set_RecordId(record_id) # 更新记录需要指定 record_id ,该字段为记录的唯一标识,可以在获取方法的返回信息中得到该字段的值 response = client.do_action_with_exception(request) response = str(response, encoding='utf-8') return response