ó
è?F[c           @   s   d  d l  m Z m Z d e f d     YZ d e f d     YZ d e f d     YZ d e f d	     YZ d
 e f d     YZ	 d e f d     YZ
 d S(   iÿÿÿÿ(   t   Statust   Detailst   Eventc           B   sA   e  Z d  Z d d d d d d  Z d   Z d   Z d   Z RS(   sd  
    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.
    c         C   s1   | |  _  | |  _ | |  _ | |  _ | |  _ d  S(   N(   t   typet   idt   descriptiont
   not_beforet	   not_after(   t   selfR   R   R   R   R   (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyt   __init__(   s
    				c         C   s   d |  j  S(   Ns   Event:%s(   R   (   R   (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyt   __repr__0   s    c         C   s   d  S(   N(   t   None(   R   t   namet   attrst
   connection(    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyt   startElement3   s    c         C   s   | d k r | |  _  np | d k r0 | |  _ nX | d k rH | |  _ n@ | d k r` | |  _ n( | d k rx | |  _ n t |  | |  d  S(   Nt	   eventTypet   eventIdR   t	   notBeforet   notAfter(   R   R   R   R   R   t   setattr(   R   R   t   valueR   (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyt
   endElement6   s    N(   t   __name__t
   __module__t   __doc__R   R	   R
   R   R   (    (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR      s   			t   EventSetc           B   s   e  Z d    Z d   Z RS(   c         C   s.   | d k r& t    } |  j |  | Sd  Sd  S(   Nt   item(   R   t   appendR   (   R   R   R   R   t   event(    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR   G   s
    	c         C   s   t  |  | |  d  S(   N(   R   (   R   R   R   R   (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR   O   s    (   R   R   R   R   (    (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR   E   s   	t   Actionc           B   s>   e  Z d  Z d d d d d  Z d   Z d   Z d   Z RS(   sØ   
    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.
    c         C   s(   | |  _  | |  _ | |  _ | |  _ d  S(   N(   t   codeR   R   R   (   R   R   R   R   R   (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR	   ]   s    			c         C   s   d |  j  S(   Ns	   Action:%s(   R   (   R   (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR
   c   s    c         C   s   d  S(   N(   R   (   R   R   R   R   (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR   f   s    c         C   st   | d k r | |  _  nX | d k r0 | |  _ n@ | d k rH | |  _ n( | d k r` | |  _ n t |  | |  d  S(   NR   R   R   R   (   R   R   R   R   R   (   R   R   R   R   (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR   i   s    N(   R   R   R   R   R	   R
   R   R   (    (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR   S   s
   		t	   ActionSetc           B   s   e  Z d    Z d   Z RS(   c         C   s.   | d k r& t    } |  j |  | Sd  Sd  S(   NR   (   R   R   R   (   R   R   R   R   t   action(    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR   x   s
    	c         C   s   t  |  | |  d  S(   N(   R   (   R   R   R   R   (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR      s    (   R   R   R   R   (    (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR    v   s   	t   VolumeStatusc           B   s8   e  Z d  Z d d d  Z d   Z d   Z d   Z RS(   sž  
    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.
    c         C   s4   | |  _  | |  _ t   |  _ d  |  _ d  |  _ d  S(   N(   R   t   zoneR    t   volume_statusR   t   eventst   actions(   R   R   R#   (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR	      s
    			c         C   s   d |  j  S(   Ns   VolumeStatus:%s(   R   (   R   (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR
      s    c         C   sY   | d k r t    |  _ |  j S| d k r> t   |  _ |  j S| d k rQ |  j Sd  Sd  S(   Nt	   eventsSett
   actionsSett   volumeStatus(   R   R%   R    R&   R$   R   (   R   R   R   R   (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR      s    c         C   sD   | d k r | |  _  n( | d k r0 | |  _ n t |  | |  d  S(   Nt   volumeIdt   availabilityZone(   R   R#   R   (   R   R   R   R   (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR   §   s
    N(   R   R   R   R   R	   R
   R   R   (    (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR"      s
   		t   VolumeStatusSetc           B   s,   e  Z d  Z d d  Z d   Z d   Z RS(   s  
    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.
    c         C   s#   t  j |   | |  _ d  |  _ d  S(   N(   t   listR	   R   R   t
   next_token(   R   R   (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR	   œ   s    	c         C   s.   | d k r& t    } |  j |  | Sd  Sd  S(   NR   (   R"   R   R   (   R   R   R   R   t   status(    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR   Â   s
    	c         C   s,   | d k r | |  _  n  t |  | |  d  S(   Nt	   NextToken(   R.   R   (   R   R   R   R   (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR   Ê   s    N(   R   R   R   R   R	   R   R   (    (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyR,   °   s   	N(   t   boto.ec2.instancestatusR    R   t   objectR   R-   R   R   R    R"   R,   (    (    (    s4   lib/python2.7/site-packages/boto/ec2/volumestatus.pyt   <module>   s   *#,