o
    ȷe                     @   s8   d dl mZ d dlmZ d dlmZ G dd deZdS )    )CloudSearchConnection)Domain)sixc                   @   s8   e Zd Z				dddZdddZd	d
 Zdd ZdS )Layer2NTr   Fc                 C   s\   t |
tjrdd l}|j D ]}|j|
kr|}
 nqt|||||||||	|
||d| _d S )Nr   )aws_access_key_idaws_secret_access_key	is_secureportproxy
proxy_porthostdebugsecurity_tokenregionvalidate_certssign_request)	
isinstancer   string_typesboto.cloudsearch2cloudsearch2regionsnamer   layer1)selfr   r   r   r	   r
   r   r   r   session_tokenr   r   r   botoregion_info r   O/var/www/ideatree/venv/lib/python3.10/site-packages/boto/cloudsearch2/layer2.py__init__    s*   
zLayer2.__init__c                    s.    j |}|d d d } fdd|D S )z
        Return a list of objects for each domain defined in the
        current account.
        :rtype: list of :class:`boto.cloudsearch2.domain.Domain`
        DescribeDomainsResponseDescribeDomainsResultDomainStatusListc                    s   g | ]}t  j|qS r   )r   r   ).0datar   r   r   
<listcomp>F   s    z'Layer2.list_domains.<locals>.<listcomp>)r   describe_domains)r   domain_namesdomain_datar   r%   r   list_domains:   s   zLayer2.list_domainsc                 C   s$   | j |}t| j |d d d S )z
        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`
        CreateDomainResponseCreateDomainResultDomainStatus)r   create_domainr   )r   domain_namer$   r   r   r   r.   H   s   zLayer2.create_domainc                 C   s&   | j |gd}t|dkr|d S dS )a  
        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(   r   N)r*   len)r   r/   domainsr   r   r   lookupS   s   	zLayer2.lookup)NNTNNNNr   NNTF)N)__name__
__module____qualname__r   r*   r.   r2   r   r   r   r   r      s    

r   N)boto.cloudsearch2.layer1r   boto.cloudsearch2.domainr   boto.compatr   objectr   r   r   r   r   <module>   s   