Exemplo n.º 1
0
    def modify_record(self,
                      old_rr=None,
                      new_rr=None,
                      type=None,
                      line=None,
                      value=None,
                      ttl=None,
                      mx=None):
        """
        修改记录
        :return: True|False
        """
        try:
            record_id = self.get_record_id(old_rr)
            if not record_id:
                return False

            if type == "显示URL":
                type = "REDIRECT_URL"

            if type == "隐性URL":
                type = "FORWARD_URL"

            client = AcsClient(self.key, self.secret, 'cn-hangzhou')
            request = UpdateDomainRecordRequest()
            request.set_accept_format('json')
            request.set_RecordId(record_id)
            request.set_RR(new_rr + "." + self.prefix_domain)
            request.set_Type(type)
            request.set_Value(value)
            request.set_Line(self.record_line(value=line))
            request.set_TTL(600 if int(ttl) < 600 else int(ttl))

            if type == "MX":
                request.set_Priority(mx)

            try:
                response = client.do_action_with_exception(request)
                response = json.loads(response)

                if "Code" in response.keys():
                    print(F"modify record failed: {response}")
                    print(response)
                    return False

                print(F"modify record success: [{old_rr} -> {new_rr}]")
                return True

            except ServerException as e:
                print(F"No changes for record: {e}")
                return True

        except Exception:
            print(F"modify record unknown exception")
            print(traceback.format_exc())
            return False
Exemplo n.º 2
0
 def update_record(self, index: int, record_id: str, ip: str):
     """ update domain item to target ip address """
     req = UpdateDomainRecordRequest()
     req.set_RR(self._config.rr_list[index])
     req.set_RecordId(record_id)
     req.set_Type('A')
     req.set_Value(ip)
     req.set_Line('default')
     resp = self._client.do_action_with_exception(req).decode()
     logger.debug(f'update domain response: {resp}')
Exemplo n.º 3
0
    def update_record(self, *args, **kwargs):
        request = UpdateDomainRecordRequest()
        request.set_accept_format('json')

        request.set_RecordId(kwargs.get('record_id'))
        request.set_RR(kwargs.get('domain_rr'))
        request.set_Type(kwargs.get('domain_type'))
        request.set_Value(kwargs.get('domain_value'))
        request.set_TTL(kwargs.get('domain_ttl'))
        request.set_Line(kwargs.get('line'))

        response = self.__client.do_action_with_exception(request)
        return json.loads(str(response, encoding="utf8")).get('RecordId')
Exemplo n.º 4
0
def update_record(record_id, value):
    try:
        logging.info('UpdateDomainRecordRequest %s %s' % (SUBDOMAIN, value))
        request = UpdateDomainRecordRequest()
        request.set_RecordId(record_id)
        request.set_RR(RECORD)
        request.set_Type(RECORD_TYPE)
        request.set_Line('default')
        request.set_Value(value)
        request.set_accept_format('json')
        response = acsClient.do_action_with_exception(request)
        return json.loads(response)['RecordId']
    except Exception as e:
        logging.error(e)
Exemplo n.º 5
0
def UpdateDomainRecordHelper(Client, RecordId, RR, Type, Value, Line):
    Request = UpdateDomainRecordRequest()
    Request.set_accept_format('json')

    #设置新的记录的信息
    Request.set_RecordId(RecordId)
    Request.set_RR(RR)
    Request.set_Type(Type)
    Request.set_Value(Value)
    Request.set_Line(Line)

    result = ExecuteGetResults(Client,Request)
    #print(result)
    return result
Exemplo n.º 6
0
    def update_record(self, obj):
        self.client = AcsClient(obj.domain_name.account.access_id,
                                obj.domain_name.account.access_key,
                                'cn-hangzhou')
        request = UpdateDomainRecordRequest()
        request.set_accept_format('json')

        request.set_RecordId(obj.record_id)
        request.set_TTL(obj.ttl)
        request.set_Line(obj.line)
        request.set_Value(obj.value)
        request.set_Type(obj.type)
        request.set_RR(obj.rr)
        if obj.priority:
            request.set_Priority(obj.priority)

        try:
            response = self.client.do_action_with_exception(request)
            ret = json.loads(str(response, encoding='utf-8'))
            return {'code': 1, 'message': ret}
        except Exception as e:
            return {'code': 0, 'message': e}
Exemplo n.º 7
0
def Ali_Edit_Parsing(key, secret, region, domain=None, **kwargs):
    try:
        client = AcsClient(key, secret, region)
        if kwargs['RecordId']:
            request = UpdateDomainRecordRequest()
            request.set_accept_format('json')
            request.set_RecordId(kwargs['RecordId'])
        else:
            request = AddDomainRecordRequest()
            request.set_accept_format('json')
            request.set_DomainName(domain)
        request.set_RR(kwargs['RR'])
        request.set_Type(kwargs['Type'])
        request.set_Value(kwargs['Value'])
        request.set_TTL(kwargs['TTL'])
        request.set_Line(kwargs['Line'])
        if kwargs['Priority']:
            request.set_Priority(int(kwargs['Priority']))
        response = client.do_action_with_exception(request)
        data = {"code": 0, "data": response.decode(encoding='utf-8')}
        return data
    except Exception:
        return {"code": 1}