ó
č?F[c           @   sJ   d  d l  m Z d  d l m Z d  d l m Z d e f d     YZ d S(   i˙˙˙˙(   t   CloudSearchConnection(   t   Domain(   t   sixt   Layer2c           B   sS   e  Z d d e d d d d d  d d e e d  Z d d  Z d   Z d   Z RS(   i    c         C   sŹ   t  |
 t j  rT d d  l } x3 | j j   D] } | j |
 k r. | }
 Pq. q. Wn  t d | d | d | d | d | d | d | d	 | d
 |	 d |
 d | d |  |  _ d  S(   Ni˙˙˙˙t   aws_access_key_idt   aws_secret_access_keyt	   is_securet   portt   proxyt
   proxy_portt   hostt   debugt   security_tokent   regiont   validate_certst   sign_request(	   t
   isinstanceR   t   string_typest   boto.cloudsearch2t   cloudsearch2t   regionst   nameR    t   layer1(   t   selfR   R   R   R   R   R	   R
   R   t   session_tokenR   R   R   t   botot   region_info(    (    s7   lib/python2.7/site-packages/boto/cloudsearch2/layer2.pyt   __init__    s&    c         C   sG   |  j  j |  } | d d d } g  | D] } t |  j  |  ^ q+ S(   sŁ   
        Return a list of objects for each domain defined in the
        current account.
        :rtype: list of :class:`boto.cloudsearch2.domain.Domain`
        t   DescribeDomainsResponset   DescribeDomainsResultt   DomainStatusList(   R   t   describe_domainsR   (   R   t   domain_namest   domain_datat   data(    (    s7   lib/python2.7/site-packages/boto/cloudsearch2/layer2.pyt   list_domains:   s
    c         C   s.   |  j  j |  } t |  j  | d d d  S(   sŃ   
        Create a new CloudSearch domain and return the corresponding object.
        :return: Domain object, or None if the domain isn't found
        :rtype: :class:`boto.cloudsearch2.domain.Domain`
        t   CreateDomainResponset   CreateDomainResultt   DomainStatus(   R   t   create_domainR   (   R   t   domain_nameR"   (    (    s7   lib/python2.7/site-packages/boto/cloudsearch2/layer2.pyR'   H   s    c         C   s3   |  j  d | g  } t |  d k r/ | d Sd S(   s  
        Lookup a single domain
        :param domain_name: The name of the domain to look up
        :type domain_name: str

        :return: Domain object, or None if the domain isn't found
        :rtype: :class:`boto.cloudsearch2.domain.Domain`
        R    i    N(   R#   t   len(   R   R(   t   domains(    (    s7   lib/python2.7/site-packages/boto/cloudsearch2/layer2.pyt   lookupS   s    	N(	   t   __name__t
   __module__t   Nonet   Truet   FalseR   R#   R'   R+   (    (    (    s7   lib/python2.7/site-packages/boto/cloudsearch2/layer2.pyR      s   	N(   t   boto.cloudsearch2.layer1R    t   boto.cloudsearch2.domainR   t   boto.compatR   t   objectR   (    (    (    s7   lib/python2.7/site-packages/boto/cloudsearch2/layer2.pyt   <module>   s   