o
    R+ iQ>                     @   sX   d Z ddlZddlZddlmZ ddlmZ ddlmZ e	e
ZG dd dejZdS )z.
This module provides a client class for dns.
    N)quote)bce_base_client)dns_apisc                   @   s   e Zd ZdZd%ddZd&ddZd&ddZd'd	d
Zd&ddZd&ddZ	d'ddZ
d'ddZd'ddZd(ddZd)ddZd'ddZd'ddZd)ddZd'dd Zd'd!d"Zd&d#d$ZdS )*	DnsClientz
    dns base sdk client
    Nc                 C   s   t j| | d S N)r   BceBaseClient__init__)selfconfig r   l/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/baidubce/services/dns/dns_client.pyr   !   s   zDnsClient.__init__c              	   C   L   |  td}| |d| | |d t|d d|d |d t|S )uF  
        

        :param add_line_group_request:
        :desc 
        :type add_line_group_request: json

        :param client_token:
        :desc 幂等性Token，是一个长度不超过64位的ASCII字符串。
        :type client_token: str

        :return:
        :rtype baidubce.bce_response.BceResponse
        add_line_groupclientTokenmethodpathutf8headersqueries_get_configr   
_add_query_send_requestr   encodejsondumps)r	   Zadd_line_group_requestclient_token
api_configr   r   r   r   $   
    zDnsClient.add_line_groupc              	   C   r   )uJ  
        

        :param create_paid_zone_request:
        :desc 
        :type create_paid_zone_request: json

        :param client_token:
        :desc 幂等性Token，是一个长度不超过64位的ASCII字符串。
        :type client_token: str

        :return:
        :rtype baidubce.bce_response.BceResponse
        create_paid_zoner   r   r   r   r   r   r   )r	   Zcreate_paid_zone_requestr   r   r   r   r   r   :   r   zDnsClient.create_paid_zonec              	   C   Z   |  td}| |d| | |d| | |d t|d d|d |d t|S )	u  
        

        :param zone_name:
        :desc 域名名称。
        :type zone_name: str

        :param create_record_request:
        :desc 
        :type create_record_request: json

        :param client_token:
        :desc 幂等性Token，是一个长度不超过64位的ASCII字符串。
        :type client_token: str

        :return:
        :rtype baidubce.bce_response.BceResponse
        create_recordzoneNamer   r   r   r   r   r   	r   r   _add_path_paramr   r   r   r   r   r   )r	   	zone_nameZcreate_record_requestr   r   r   r   r   r!   P       zDnsClient.create_recordc              	   C   r   )u=  
        

        :param create_zone_request:
        :desc 
        :type create_zone_request: json

        :param client_token:
        :desc 幂等性Token，是一个长度不超过64位的ASCII字符串
        :type client_token: str

        :return:
        :rtype baidubce.bce_response.BceResponse
        create_zoner   r   r   r   r   r   r   )r	   Zcreate_zone_requestr   r   r   r   r   r'   k   r   zDnsClient.create_zonec                 C   sR   |  td}| |d| | |d| | |d t|d d|d |d S )	u5  
        

        :param line_id:
        :desc 线路组id。
        :type line_id: str

        :param client_token:
        :desc 幂等性Token，是一个长度不超过64位的ASCII字符串。
        :type client_token: str

        :return:
        :rtype baidubce.bce_response.BceResponse
        delete_line_grouplineIdr   r   r   r   r   r   r   r   r$   r   r   r   r   )r	   line_idr   r   r   r   r   r(      s    zDnsClient.delete_line_groupc                 C   `   |  td}| |d| | |d| | |d| | |d t|d d|d |d	 S )
  
        

        :param zone_name:
        :desc 域名名称。
        :type zone_name: str

        :param record_id:
        :desc 解析记录id。
        :type record_id: str

        :param client_token:
        :desc 幂等性Token，是一个长度不超过64位的ASCII字符串。
        :type client_token: str

        :return:
        :rtype baidubce.bce_response.BceResponse
        delete_recordr"   recordIdr   r   r   r   r   r   r*   r	   r%   	record_idr   r   r   r   r   r.          zDnsClient.delete_recordc              	   C   r    )	u  
        

        :param zone_name:
        :desc 域名的名称。
        :type zone_name: str

        :param delete_zone_request:
        :desc 
        :type delete_zone_request: json

        :param client_token:
        :desc 幂等性Token，是一个长度不超过64位的ASCII字符串。
        :type client_token: str

        :return:
        :rtype baidubce.bce_response.BceResponse
        delete_zoner"   r   r   r   r   r   r   r#   )r	   r%   Zdelete_zone_requestr   r   r   r   r   r3      r&   zDnsClient.delete_zonec              	   C   sZ   |  td}| |d| | |d| | |d t|d d|d |d t|S )	u  
        

        :param list_line_group_request:
        :desc 
        :type list_line_group_request: json

        :param marker:
        :desc 批量获取列表的查询的起始位置，是一个由系统生成的字符串。
        :type marker: str

        :param max_keys:
        :desc 每页包含的最大数量，最大数量通常不超过1000，缺省值为1000。
        :type max_keys: int

        :return:
        :rtype baidubce.bce_response.BceResponse
        list_line_groupmarkermaxKeysr   r   r   r   r   r   )r	   Zlist_line_group_requestr5   max_keysr   r   r   r   r4      r&   zDnsClient.list_line_groupc              	   C   s   |  td}| |d| | |d| | |d| | |d| | |d| | |d t|d d	|d
 |d t|S )u  
        

        :param zone_name:
        :desc 域名的名称。
        :type zone_name: str

        :param list_record_request:
        :desc 
        :type list_record_request: json

        :param rr:
        :desc 主机记录，例如“www”。
        :type rr: str

        :param id:
        :desc 解析记录id。
        :type id: str

        :param marker:
        :desc 批量获取列表的查询的起始位置，是一个由系统生成的字符串。
        :type marker: str

        :param max_keys:
        :desc 每页包含的最大数量，最大数量通常不超过1000。缺省值为1000。
        :type max_keys: int

        :return:
        :rtype baidubce.bce_response.BceResponse
        list_recordr"   rridr5   r6   r   r   r   r   r   r#   )r	   r%   Zlist_record_requestr9   r:   r5   r7   r   r   r   r   r8      s     zDnsClient.list_recordc              	   C   sh   |  td}| |d| | |d| | |d| | |d t|d d|d |d	 t|S )
u8  
        

        :param list_zone_request:
        :desc 
        :type list_zone_request: json

        :param name:
        :desc 域名的名称，支持模糊搜索。
        :type name: str

        :param marker:
        :desc 批量获取列表的查询的起始位置，是一个由系统生成的字符串
        :type marker: str

        :param max_keys:
        :desc 每页包含的最大数量，最大数量通常不超过1000。缺省值为1000
        :type max_keys: int

        :return:
        :rtype baidubce.bce_response.BceResponse
        	list_zonenamer5   r6   r   r   r   r   r   r   )r	   Zlist_zone_requestr<   r5   r7   r   r   r   r   r;         zDnsClient.list_zonec              	   C   r    )	u  
        

        :param name:
        :desc 续费的域名。
        :type name: str

        :param renew_zone_request:
        :desc 
        :type renew_zone_request: json

        :param client_token:
        :desc 幂等性Token，是一个长度不超过64位的ASCII字符串。
        :type client_token: str

        :return:
        :rtype baidubce.bce_response.BceResponse
        
renew_zoner<   r   r   r   r   r   r   r#   )r	   r<   Zrenew_zone_requestr   r   r   r   r   r>   4  r&   zDnsClient.renew_zonec              	   C   r    )	u  
        

        :param line_id:
        :desc 线路组id。
        :type line_id: str

        :param update_line_group_request:
        :desc 
        :type update_line_group_request: json

        :param client_token:
        :desc 幂等性Token，是一个长度不超过64位的ASCII字符串。
        :type client_token: str

        :return:
        :rtype baidubce.bce_response.BceResponse
        update_line_groupr)   r   r   r   r   r   r   r#   )r	   r+   Zupdate_line_group_requestr   r   r   r   r   r?   O  r&   zDnsClient.update_line_groupc              	   C   sh   |  td}| |d| | |d| | |d| | |d t|d d|d |d	 t|S )
u  
        

        :param zone_name:
        :desc 域名名称。
        :type zone_name: str

        :param record_id:
        :desc 解析记录id。
        :type record_id: str

        :param update_record_request:
        :desc 
        :type update_record_request: json

        :param client_token:
        :desc 幂等性Token，是一个长度不超过64位的ASCII字符串。
        :type client_token: str

        :return:
        :rtype baidubce.bce_response.BceResponse
        update_recordr"   r/   r   r   r   r   r   r   r#   )r	   r%   r1   Zupdate_record_requestr   r   r   r   r   r@   j  r=   zDnsClient.update_recordc                 C   r,   )
r-   update_record_disabler"   r/   r   r   r   r   r   r   r*   r0   r   r   r   rA     r2   zDnsClient.update_record_disablec                 C   r,   )
r-   update_record_enabler"   r/   r   r   r   r   r   r   r*   r0   r   r   r   rB     r2   zDnsClient.update_record_enablec              	   C   r   )uB  
        

        :param upgrade_zone_request:
        :desc 
        :type upgrade_zone_request: json

        :param client_token:
        :desc 幂等性Token，是一个长度不超过64位的ASCII字符串。
        :type client_token: str

        :return:
        :rtype baidubce.bce_response.BceResponse
        upgrade_zoner   r   r   r   r   r   r   )r	   Zupgrade_zone_requestr   r   r   r   r   rC     r   zDnsClient.upgrade_zoner   )NN)NNN)NNNNNN)NNNN)__name__
__module____qualname____doc__r   r   r   r!   r'   r(   r.   r3   r4   r8   r;   r>   r?   r@   rA   rB   rC   r   r   r   r   r      s&    










*
 


 
r   )rG   r   loggingurllib.parser   Zbaidubcer   Z!baidubce.services.dns.api.dns_apir   	getLoggerrD   Z_loggerr   r   r   r   r   r   <module>   s   
