o
    È·e¹  ã                   @   st   d dl mZm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 )é    )ÚStatusÚDetailsc                   @   s6   e Zd ZdZ		ddd„Zdd„ Zdd„ Zd	d
„ ZdS )ÚEventad  
    A status event for an instance.

    :ivar type: The type of the event.
    :ivar id: The ID of the event.
    :ivar description: A string describing the reason for the event.
    :ivar not_before: A datestring describing the earliest time for
        the event.
    :ivar not_after: A datestring describing the latest time for
        the event.
    Nc                 C   s"   || _ || _|| _|| _|| _d S ©N)ÚtypeÚidÚdescriptionÚ
not_beforeÚ	not_after)Úselfr   r   r   r	   r
   © r   úL/var/www/ideatree/venv/lib/python3.10/site-packages/boto/ec2/volumestatus.pyÚ__init__(   s
   
zEvent.__init__c                 C   ó
   d| j  S )NzEvent:%s)r   ©r   r   r   r   Ú__repr__0   ó   
zEvent.__repr__c                 C   ó   d S r   r   ©r   ÚnameÚattrsÚ
connectionr   r   r   ÚstartElement3   ó   zEvent.startElementc                 C   sj   |dkr	|| _ d S |dkr|| _d S |dkr|| _d S |dkr$|| _d S |dkr-|| _d S t| ||ƒ d S )NÚ	eventTypeÚeventIdr   Ú	notBeforeÚnotAfter)r   r   r   r	   r
   Úsetattr©r   r   Úvaluer   r   r   r   Ú
endElement6   s   




zEvent.endElement)NNNNN©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r!   r   r   r   r   r      s    
ÿr   c                   @   ó   e Zd Zdd„ Zdd„ ZdS )ÚEventSetc                 C   ó    |dkrt ƒ }|  |¡ |S d S ©NÚitem)r   Úappend)r   r   r   r   Úeventr   r   r   r   G   ó
   
zEventSet.startElementc                 C   ó   t | ||ƒ d S r   ©r   r   r   r   r   r!   O   ó   zEventSet.endElementN©r#   r$   r%   r   r!   r   r   r   r   r(   E   ó    r(   c                   @   ó2   e Zd ZdZddd„Zdd„ Zdd„ Zd	d
„ ZdS )ÚActionzØ
    An action for an instance.

    :ivar code: The code for the type of the action.
    :ivar id: The ID of the event.
    :ivar type: The type of the event.
    :ivar description: A description of the action.
    Nc                 C   s   || _ || _|| _|| _d S r   )Úcoder   r   r   )r   r6   r   r   r   r   r   r   r   ]   s   
zAction.__init__c                 C   r   )Nz	Action:%s)r6   r   r   r   r   r   c   r   zAction.__repr__c                 C   r   r   r   r   r   r   r   r   f   r   zAction.startElementc                 C   sX   |dkr	|| _ d S |dkr|| _d S |dkr|| _d S |dkr$|| _d S t| ||ƒ d S )Nr   r   r   r6   )r   r   r   r6   r   r   r   r   r   r!   i   s   



zAction.endElement)NNNNr"   r   r   r   r   r5   S   s    
	r5   c                   @   r'   )Ú	ActionSetc                 C   r)   r*   )r5   r,   )r   r   r   r   Úactionr   r   r   r   x   r.   zActionSet.startElementc                 C   r/   r   r0   r   r   r   r   r!   €   r1   zActionSet.endElementNr2   r   r   r   r   r7   v   r3   r7   c                   @   r4   )ÚVolumeStatusa¸  
    Represents an EC2 Volume status as reported by
    DescribeVolumeStatus request.

    :ivar id: The volume identifier.
    :ivar zone: The availability zone of the volume
    :ivar volume_status: A Status object that reports impaired
        functionality that arises from problems internal to the instance.
    :ivar events: A list of events relevant to the instance.
    :ivar actions: A list of events relevant to the instance.
    Nc                 C   s$   || _ || _tƒ | _d | _d | _d S r   )r   Úzoner   Úvolume_statusÚeventsÚactions)r   r   r:   r   r   r   r   ‘   s
   
zVolumeStatus.__init__c                 C   r   )NzVolumeStatus:%s)r   r   r   r   r   r   ˜   r   zVolumeStatus.__repr__c                 C   s>   |dkrt ƒ | _| jS |dkrtƒ | _| jS |dkr| jS d S )NÚ	eventsSetÚ
actionsSetÚvolumeStatus)r(   r<   r7   r=   r;   r   r   r   r   r   ›   s   zVolumeStatus.startElementc                 C   s4   |dkr	|| _ d S |dkr|| _d S t| ||ƒ d S )NÚvolumeIdÚavailabilityZone)r   r:   r   r   r   r   r   r!   §   s
   

zVolumeStatus.endElement)NNr"   r   r   r   r   r9   „   s    
r9   c                   @   s*   e Zd ZdZd	dd„Zdd„ Zdd„ ZdS )
ÚVolumeStatusSetaš  
    A list object that contains the results of a call to
    DescribeVolumeStatus request.  Each element of the
    list will be an VolumeStatus object.

    :ivar next_token: If the response was truncated by
        the EC2 service, the next_token attribute of the
        object will contain the string that needs to be
        passed in to the next request to retrieve the next
        set of results.
    Nc                 C   s   t  | ¡ || _d | _d S r   )Úlistr   r   Ú
next_token)r   r   r   r   r   r   ½   s   

zVolumeStatusSet.__init__c                 C   r)   r*   )r9   r,   )r   r   r   r   Ústatusr   r   r   r   Â   r.   zVolumeStatusSet.startElementc                 C   s   |dkr|| _ t| ||ƒ d S )NÚ	NextToken)rE   r   r   r   r   r   r!   Ê   s   zVolumeStatusSet.endElementr   )r#   r$   r%   r&   r   r   r!   r   r   r   r   rC   °   s
    
rC   N)Úboto.ec2.instancestatusr   r   Úobjectr   rD   r(   r5   r7   r9   rC   r   r   r   r   Ú<module>   s   *#,