o
    R+ i                     @   s   d Z G dd deZG dd deZG dd deZG dd deZG d	d
 d
eZG dd deZG dd deZG dd deZ	G dd deZ
G dd deZG dd deZdS )z*
This module provides models for BCC-SDK.
c                   @   s   e Zd ZdZdddZdS )Billinga  
	This class define billing.
	param: paymentTiming: 
		The pay time of the payment,
		see more detail in https://bce.baidu.com/doc/BCC/API.html#Billing
	param: reservationLength: 
		The duration to buy in specified time unit,
		available values are [1,2,3,4,5,6,7,8,9,12,24,36] now.
	param: reservationTimeUnit: 
		The time unit to specify the duration ,only "Month" can be used now.
	N   Monthc                 C   s   |r|| _ ||d| _d S )N)reservationLengthreservationTimeUnit)paymentTimingZreservation)selfr   r   r    r   k/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/baidubce/services/bcc/bcc_model.py__init__$   s
   zBilling.__init__)Nr   r   __name__
__module____qualname____doc__r
   r   r   r   r	   r          r   c                   @   s   e Zd ZdZdddZdS )EphemeralDiskz
    This class define detail of creating ephemeral volume.
    param: sizeInGB:
        The size of volume in GB.
	param: storageType:
		The storage type of volume,
		see more detail in https://bce.baidu.com/doc/BCC/API.html#StorageType
    satac                 C      || _ || _d S N)sizeInGBstorageType)r   r   r   r   r   r	   r
   7      
zEphemeralDisk.__init__N)r   r   r   r   r   r	   r   -   s    	r   c                   @   s   e Zd ZdZdddZdS )CreateCdsModela  
	This class define detail of creating volume.
	param: cdsSizeInGB: 
		The size of volume in GB.
	param: storageType: 
		The storage type of volume, 
		see more detail in https://bce.baidu.com/doc/BCC/API.html#StorageType
	param: snapshotId: 
		The id of snapshot.
	param: encryptKey
	Nhp1c                 C      || _ || _|| _|| _d S r   )cdsSizeInGBr   
snapshotId
encryptKey)r   r   r   r   r   r   r   r	   r
   I      
zCreateCdsModel.__init__)Nr   NNr   r   r   r   r	   r   <   r   r   c                   @   s    e Zd ZdZ			dddZdS )SecurityGroupRuleModela  
	This class define the rule of the securitygroup.
	param: remark: 
		The remark for the rule.
	param: direction: 
		The parameter to define the rule direction,available value are "ingress/egress".
	param: ethertype: 
		The ethernet protocol.
	param: portRange: 
		The port range to specify the port which the rule will work on.
		Available range is rang [0, 65535], the fault value is "" for all port.
	param: protocol: 
		The parameter specify which protocol will the rule work on, the fault value is "" for all protocol.
		Available protocol are tcp, udp and icmp.
	param: sourceGroupId: 
		The id of source securitygroup.
		Only works for direction = "ingress".
	param: sourceIp: 
		The source ip range with CIDR formats. The default value 0.0.0.0/0 (allow all ip address),
		other supported formats such as {ip_addr}/12 or {ip_addr}. Only supports IPV4.
		Only works for  direction = "ingress".
	param: destGroupId: 
		The id of destination securitygroup.
		Only works for  direction = "egress".
	param: destIp: 
		The destination ip range with CIDR formats. The default value 0.0.0.0/0 (allow all ip address),
		other supported formats such as {ip_addr}/12 or {ip_addr}. Only supports IPV4.
		Only works for  direction = "egress".
	param: securityGroupId: 
		The id of the securitygroup for the rule.
	Nc                 C   s@   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	d S r   )
remark	direction	ethertype	portRangeprotocolsourceGroupIdsourceIpdestGroupIddestIpsecurityGroupId)r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r   r   r	   r
   q   s   
zSecurityGroupRuleModel.__init__)
NNNNNNNNNNr   r   r   r   r	   r   P   s     r   c                   @      e Zd ZdZdddZdS )TagModelz
    TAGModel
    Nc                 C   r   r   )tagKeytagValue)r   r,   r-   r   r   r	   r
      r   zTagModel.__init__NNr   r   r   r   r	   r+          r+   c                   @   s   e Zd ZdZ		dddZdS )PayTimingChangeReqModelz8
    This class define detail of change pay timing.
    FNTc                 C   s.   || _ || _|| _|| _|| _|| _|| _d S r   )
instanceIdrelationCdscdsListdurationautoPay	autoRenewautoRenewPeriod)r   r1   r2   r3   r4   r5   r6   r7   r   r   r	   r
      s   
z PayTimingChangeReqModel.__init__)FNNTNNr   r   r   r   r	   r0      s
    r0   c                   @   s   e Zd ZdZdd ZdS )DestRegionInfoModelz5
    This class define for snapshot remote copy.
    c                 C   r   r   )
destRegionname)r   r9   r:   r   r   r	   r
      r   zDestRegionInfoModel.__init__Nr   r   r   r   r	   r8      s    r8   c                   @   r*   )AutoSnapshotPolicyModelz5
        This class define auto snapshot policy.
    Nc                 C   r   r   )r:   
timePointsrepeatWeekdaysretentionDays)r   r:   r<   r=   r>   r   r   r	   r
      r   z AutoSnapshotPolicyModel.__init__r   r   r   r   r   r	   r;      r/   r;   c                   @   r*   )ModifyReservedInstanceModelz%
    ModifyReservedInstanceModel
    Nc                 C   r   r   )reservedInstanceIdzoneNamereservedInstanceNameehcClusterId)r   r@   rA   rB   rC   r   r   r	   r
      r   z$ModifyReservedInstanceModel.__init__NNNNr   r   r   r   r	   r?      r/   r?   c                   @   r*   )CdsCustomPeriodz*
    This class define custom period.
    Nc                 C   r   r   )periodZvolumeId)r   rF   Z	volume_idr   r   r	   r
      r   zCdsCustomPeriod.__init__r.   r   r   r   r   r	   rE      r/   rE   c                   @   r*   )FileSystemModelz,
        This class define file system.
    Nc                 C   r   r   )fsIdmountAdspathr$   )r   rH   rI   rJ   r$   r   r   r	   r
      r   zFileSystemModel.__init__rD   r   r   r   r   r	   rG      r/   rG   N)r   objectr   r   r   r   r+   r0   r8   r;   r?   rE   rG   r   r   r   r	   <module>   s   0


