예제 #1
0
파일: aliddns.py 프로젝트: zzh731/AliDDNS
def updateDomainRecord(client, rr, domain, ip, type):
    records = getRecords(client, rr, domain)
    record_id = None
    for record in records:
        if record['RR'] == rr and record['DomainName'] == domain and record[
                'Type'] == type:
            record_id = record['RecordId']
            avail_ip = record['Value']
            avail_record = record
            break
    if record_id is None:
        print("不存在记录,正在添加记录")
        addDomainRecord(client, rr, domain, ip, type)
    else:
        print("存在记录:" + str(avail_record))
        if avail_ip == ip:
            print("ip未改变,不更改记录,原ip=" + avail_ip + ",现ip=" + ip)
        else:
            print("ip已改变,准备更改记录,原ip=" + avail_ip + ",现ip=" + ip)
            request = UpdateDomainRecordRequest()
            request.set_action_name("UpdateDomainRecord")
            request.set_RR(rr)
            request.set_RecordId(record_id)
            request.set_Type(type)
            request.set_Value(ip)
            request.set_TTL(600)
            request.set_accept_format('json')
            response = client.do_action_with_exception(request)
            print(str(response, encoding='utf-8'))
            return json.loads(response)['RecordId']
예제 #2
0
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(request)
    return result
예제 #3
0
def update_record(client, priority, ttl, record_type, value, rr, record_id):
    request = UpdateDomainRecordRequest()
    request.set_accept_format('json')

    request.set_Priority(priority)
    request.set_TTL(ttl)
    request.set_Value(value)
    request.set_Type(record_type)
    request.set_RR(rr)
    request.set_RecordId(record_id)

    response = client.do_action_with_exception(request)
    response = str(response, encoding='utf-8')
    return response
예제 #4
0
def add_record(client, priority, ttl, record_type, value, rr, domainname):
    request = AddDomainRecordRequest()
    request.set_accept_format('json')

    request.set_Priority(priority)
    request.set_TTL(ttl)
    request.set_Value(value)
    request.set_Type(record_type)
    request.set_RR(rr)
    request.set_DomainName(domainname)

    response = client.do_action_with_exception(request)
    response = str(response, encoding='utf-8')
    relsult = json.loads(response)
    return relsult
예제 #5
0
    def update_record(self, RR, value):
        request = UpdateDomainRecordRequest.UpdateDomainRecordRequest()
        request.set_action_name("UpdateDomainRecord")
        request.set_accept_format('json')
        request.set_TTL('600')
        sRecordid = self.get_record_id(RR)

        if sRecordid != None and WordsCheck.RegexChecker.judgeLegalIpv4(value):
            request.set_RecordId(sRecordid)
            request.set_Type(self.record_type)
            request.set_RR(RR)
            request.set_Value(value)
        else:
            return False
        pass
        try:
            # jsonReturn = json.load(self.client.do_action_with_exception(request))
            # rc = self.client.do_action_with_exception(request)
            if None != json.loads(
                    self.client.do_action_with_exception(request).decode(
                        'utf-8')):
                return True
        except:
            return False