ó
č?F[c           @   s   d  Z  d d l m Z d d l m Z d d l m Z d d l m Z d d l	 m
 Z
 d e f d     YZ d	 e f d
     YZ d S(   s7   
Represents a launch specification for Spot instances.
i˙˙˙˙(   t	   EC2Object(   t	   ResultSet(   t   BlockDeviceMapping(   t   Group(   t   SubParset	   GroupListc           B   s   e  Z d    Z d   Z RS(   c         C   s   d  S(   N(    (   t   selft   namet   attrst
   connection(    (    s;   lib/python2.7/site-packages/boto/ec2/launchspecification.pyt   startElement$   s    c         C   s    | d k r |  j  |  n  d  S(   Nt   groupId(   t   append(   R   R   t   valueR	   (    (    s;   lib/python2.7/site-packages/boto/ec2/launchspecification.pyt
   endElement'   s    (   t   __name__t
   __module__R
   R   (    (    (    s;   lib/python2.7/site-packages/boto/ec2/launchspecification.pyR   "   s   	t   LaunchSpecificationc           B   s/   e  Z d d   Z d   Z d   Z d   Z RS(   c         C   s   t  t |   j |  d  |  _ d  |  _ d  |  _ g  |  _ d  |  _ d  |  _	 d  |  _
 t |  _ d  |  _ t |  _ d  |  _ d  |  _ t |  _ d  S(   N(   t   superR   t   __init__t   Nonet   key_namet   instance_typet   image_idt   groupst	   placementt   kernelt   ramdiskt   Falset	   monitoredt	   subnet_idt   _in_monitoring_elementt   block_device_mappingt   instance_profilet   ebs_optimized(   R   R	   (    (    s;   lib/python2.7/site-packages/boto/ec2/launchspecification.pyR   .   s    												c         C   s   d |  j  S(   Ns   LaunchSpecification(%s)(   R   (   R   (    (    s;   lib/python2.7/site-packages/boto/ec2/launchspecification.pyt   __repr__>   s    c         C   s   | d k r+ t  d t f g  |  _ |  j S| d k rC t |  _ nE | d k rb t   |  _ |  j S| d k r t d  |  _ |  j Sd  Sd  S(   Nt   groupSett   itemt
   monitoringt   blockDeviceMappingt   iamInstanceProfile(
   R   R   R   t   TrueR   R   R    R   R!   R   (   R   R   R   R	   (    (    s;   lib/python2.7/site-packages/boto/ec2/launchspecification.pyR
   A   s    c         C   s%  | d k r | |  _  n	| d k r0 | |  _ nń | d k rH | |  _ nŮ | d k r` | |  _ nÁ | d k ro n˛ | d k r | |  _ n | d k r | |  _ n | d k rˇ | |  _ nj | d	 k ró |  j r!| d
 k rä t |  _	 n  t
 |  _ q!n. | d k r| d k |  _ n t |  | |  d  S(   Nt   imageIdt   keyNamet   instanceTypet   availabilityZoneR   t   kernelIdt	   ramdiskIdt   subnetIdt   statet   enabledt   ebsOptimizedt   true(   R   R   R   R   R   R   R   R   R)   R   R   R"   t   setattr(   R   R   R   R	   (    (    s;   lib/python2.7/site-packages/boto/ec2/launchspecification.pyR   P   s0    	N(   R   R   R   R   R#   R
   R   (    (    (    s;   lib/python2.7/site-packages/boto/ec2/launchspecification.pyR   ,   s   		N(   t   __doc__t   boto.ec2.ec2objectR    t   boto.resultsetR   t   boto.ec2.blockdevicemappingR   t   boto.ec2.groupR   t   boto.ec2.instanceR   t   listR   R   (    (    (    s;   lib/python2.7/site-packages/boto/ec2/launchspecification.pyt   <module>   s   
