
    rj                      6   d Z ddlmZ ddlmZ  G d de          Z G d de          Z G d d	e          Z G d
 de          Z	 G d de          Z
 G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d  d!e          Z G d" d#e          Z G d$ d%e          Z G d& d'e          Z G d( d)e          Zd*S )+z3
This module defines some Response classes for BTS
    )BceResponse)JSONEncoderc                        e Zd ZdZddZd ZdS )	Billinga  
	This class define billing.
	param: paymentTiming:
		The pay time of the payment,
	param: reservationLength:
		The duration to buy in specified time unit,
	param: reservationTimeUnit:
		The time unit to specify the duration ,only "Month" can be used now.
	Prepaid   Monthc                 (    || _         ||d| _        d S )N)reservationLengthreservationTimeUnit)paymentTimingreservation)self
pay_methodr   r   s       k/lsinfo/ai/hellotax_ai/data_center/backend/venv/lib/python3.11/site-packages/baidubce/services/scs/model.py__init__zBilling.__init__"   s%    '!2#6
 
    c                     | j         S )zF
            get instance current pay_method:Prepaid/Postpaid
        )r   r   s    r   get_pay_methodzBilling.get_pay_method)   s     !!r   N)r   r   r	   )__name__
__module____qualname____doc__r   r    r   r   r   r      sA         
 
 
 
" " " " "r   r   c                   "     e Zd ZdZ fdZ xZS )	SubnetMapz2
    SubnetMap:contains zoneName and subnetId
    c                     t          t          |                                            t          |          | _        t          |          | _        d S N)superr   r   str	zone_name	subnet_id)r   r"   r#   	__class__s      r   r   zSubnetMap.__init__5   s=    i'')))YYr   r   r   r   r   r   __classcell__r$   s   @r   r   r   0   sB         ( ( ( ( ( ( ( ( (r   r   c                   "     e Zd ZdZ fdZ xZS )CreateInstanceResponsez"
    Create Instance Response
    c                     t          t          |                                            |j        | _        |j        | _        d S r   )r    r)   r   instance_idsorder_idr   bce_responser$   s     r   r   zCreateInstanceResponse.__init__@   s9    $d++44666(5$-r   r%   r'   s   @r   r)   r)   ;   sB         . . . . . . . . .r   r)   c                   "     e Zd ZdZ fdZ xZS )ListInstanceResponsez 
    List Instance Response
    c                    t          t          |                                            |j        | _        t	          |j                  | _        t	          |j                  | _        |j        | _        |j        | _        d S r   )	r    r0   r   max_keysr!   markernext_markeris_truncated	instancesr-   s     r   r   zListInstanceResponse.__init__K   sh    "D))22444$-,-..|788(5%/r   r%   r'   s   @r   r0   r0   F   sB         0 0 0 0 0 0 0 0 0r   r0   c                   "     e Zd ZdZ fdZ xZS )GetInstanceResponsez
    Get Instance Response
    c                 "   t          t          |                                            t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j	                  | _	        t          |j
                  | _
        t          |j                  | _        |j        | _        |j        | _        |j        | _        |j        | _        t          |j                  | _        |j        | _        t          |j                  | _        |j        | _        |j        | _        |j        | _        |j        | _        d S r   )r    r8   r   r!   instance_idinstance_nameinstance_statuscluster_typeengineengine_versionvnet_ipportinstance_create_timeinstance_expire_timecapacityused_capacitypayment_timing
zone_namesvpc_idsubnets
auto_renew	shard_num
store_typer-   s     r   r   zGetInstanceResponse.__init__Y   s;   !4((11333|788 !;<<"<#?@@ 9::,-..!,"=>></00)**	$0$E!$0$E!$-)7!,"=>>&1,-..#+&1%/&1r   r%   r'   s   @r   r8   r8   T   sB         2 2 2 2 2 2 2 2 2r   r8   c                   "     e Zd ZdZ fdZ xZS )ListAvailableZoneResponse
    List available zone.
    c                 n    t          t          |                                            |j        | _        d S r   )r    rN   r   zonesr-   s     r   r   z"ListAvailableZoneResponse.__init__u   s.    '..77999!'


r   r%   r'   s   @r   rN   rN   p   sB         ( ( ( ( ( ( ( ( (r   rN   c                   "     e Zd ZdZ fdZ xZS )ListSubnetResponserO   c                     t          t          |                                            |j        | _        | j        	g | _        d S d S r   )r    rS   r   rI   r-   s     r   r   zListSubnetResponse.__init__   sE     $''00222#+<DLLL  r   r%   r'   s   @r   rS   rS   z   sB                 r   rS   c                   "     e Zd ZdZ fdZ xZS )ListNodeTypeResponsez!
    List nodetypes for scs.
    c                     t          t          |                                            |j        | _        |j        | _        |j        | _        d S r   )r    rV   r   default_node_type_listcluster_node_type_listhsdb_node_type_listr-   s     r   r   zListNodeTypeResponse.__init__   sG    "D))22444&2&I#&2&I##/#C   r   r%   r'   s   @r   rV   rV      sK         D D D D D D D D Dr   rV   c                   "     e Zd ZdZ fdZ xZS )NodeTypez
    NodeType model
    c                    t          t          |                                            t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j	                  | _	        t          |j
                  | _
        t          |j                  | _        |j        | _        |j        | _        d S r   )r    r\   r   r!   	node_typeintcpu_numinstance_flavorfloatnetwork_throughput_in_gbpspeak_qpsmax_connectionsallowed_node_num_listallowed_replication_num_listr   objr$   s     r   r   zNodeType.__init__   s    h&&(((S]++3;''"3#677*/0N*O*O'CL))"3#677%(%>",/,L)))r   r%   r'   s   @r   r\   r\      sK         	M 	M 	M 	M 	M 	M 	M 	M 	Mr   r\   c                   (     e Zd ZdZ fdZd Z xZS )Tagz
    Tag model
    c                     t          t          |                                            t          |          | _        t          |          | _        d S r   )r    rk   r   r!   tag_key	tag_value)r   keyvaluer$   s      r   r   zTag.__init__   s=    c4!!###3xxUr   c                 8    t          | j        | j        f          S r   )reprrm   rn   r   s    r   __repr__zTag.__repr__   s    T\4>2333r   )r   r   r   r   r   rs   r&   r'   s   @r   rk   rk      sQ         $ $ $ $ $
4 4 4 4 4 4 4r   rk   c                   "     e Zd ZdZ fdZ xZS )ListSecurityIpResponsez>
    List IP whitelist of instances which allow access to
    c                 n    t          t          |                                            |j        | _        d S r   )r    ru   r   security_ipsr-   s     r   r   zListSecurityIpResponse.__init__   s1    $d++44666(5r   r%   r'   s   @r   ru   ru      sB         6 6 6 6 6 6 6 6 6r   ru   c                   "     e Zd ZdZ fdZ xZS )ListParameterResponsezN
    List configuration parameters and runtime parameters of scs instance
    c                 n    t          t          |                                            |j        | _        d S r   )r    ry   r   
parametersr-   s     r   r   zListParameterResponse.__init__   s.    #T**33555&1r   r%   r'   s   @r   ry   ry      sB         2 2 2 2 2 2 2 2 2r   ry   c                   "     e Zd ZdZ fdZ xZS )	ParameterzI
    Configuration parameters and runtime parameters of scs instance
    c                    t          t          |                                            t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j                  | _        d S r   )	r    r}   r   r!   defaultr_   force_restartnamerp   rh   s     r   r   zParameter.__init__   se    i'')))3;'' !233MM	^^


r   r%   r'   s   @r   r}   r}      sB         $ $ $ $ $ $ $ $ $r   r}   c                   "     e Zd ZdZ fdZ xZS )ModifyParameterRequestz6
    A request model to modify instance parameter
    c                     t          t          |                                            t          |j                  | _        t          |j                  | _        d S r   )r    r   r   r!   r   rp   rh   s     r   r   zModifyParameterRequest.__init__   sB    $d++44666MM	^^


r   r%   r'   s   @r   r   r      sB         $ $ $ $ $ $ $ $ $r   r   c                   "     e Zd ZdZ fdZ xZS )ListBackupResponsez#
    List backups of instance.
    c                     t          t          |                                            |j        | _        |j        | _        d S r   )r    r   r   total_countbackupsr-   s     r   r   zListBackupResponse.__init__   s9     $''00222'3#+r   r%   r'   s   @r   r   r      sB         , , , , , , , , ,r   r   c                   "     e Zd ZdZ fdZ xZS )Backupz
    Backup model
    c                    t          t          |                                            t          |j                  | _        t          |j                  | _        |j        | _        t          |j                  | _        d S r   )r    r   r   r!   backup_typecommentrecords
start_timerh   s     r   r   zBackup.__init__   s`    fd$$&&&s//3;''{cn--r   r%   r'   s   @r   r   r      sB         . . . . . . . . .r   r   c                   "     e Zd ZdZ fdZ xZS )BackupRecordz
    Backup record model
    c                    t          t          |                                            t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j	                  | _	        t          |j
                  | _
        d S r   )r    r   r   r!   backup_record_idbackup_statusr_   durationobject_size
shard_namer   rh   s     r   r   zBackupRecord.__init__   s    lD!!**,,, #C$8 9 9 !233CL))s//cn--cn--r   r%   r'   s   @r   r   r      sB         . . . . . . . . .r   r   c                   "     e Zd ZdZ fdZ xZS )GetBackupResponsez*
    Get backup detail response model
    c                     t          t          |                                            t          |j                  | _        t          |j                  | _        d S r   )r    r   r   r!   urlurl_expirationr-   s     r   r   zGetBackupResponse.__init__	  sK    &&//111|'((!,"=>>r   r%   r'   s   @r   r   r     sB         ? ? ? ? ? ? ? ? ?r   r   c                       e Zd ZdZd ZdS )JsonWrapperz+
        custom json encoder for class
    c                    t          |t                    rt          |d          S t          |t                    r|j        |j        dS t          |t                    r|j        |j        dS t          j
        | |          S )Nzutf-8)encoding)zoneNamesubnetId)tagKeytagValue)
isinstancebytesr!   r   r"   r#   rk   rm   rn   r   r   )r   ri   s     r   r   zJsonWrapper.default  s    c5!! 	.sW----c9%% 	MM   c3 	+M   "4---r   N)r   r   r   r   r   r   r   r   r   r     s-         . . . . .r   r   N)r   baidubce.bce_responser   jsonr   objectr   r   r)   r0   r8   rN   rS   rV   r\   rk   ru   ry   r}   r   r   r   r   r   r   r   r   r   <module>r      sm     . - - - - -      " " " " "f " " "2( ( ( ( ( ( ( (. . . . .[ . . .0 0 0 0 0; 0 0 02 2 2 2 2+ 2 2 28( ( ( ( ( ( ( (	 	 	 	 	 	 	 		D 	D 	D 	D 	D; 	D 	D 	DM M M M Mv M M M"4 4 4 4 4& 4 4 46 6 6 6 6[ 6 6 62 2 2 2 2K 2 2 2
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$$ $ $ $ $V $ $ $, , , , , , , ,
. 
. 
. 
. 
.V 
. 
. 
.. . . . .6 . . .? ? ? ? ? ? ? ?. . . . .+ . . . . .r   