o
    .&ßaé  ã                   @   s@   d dl Z d dlmZ d dlmZ d dlmZ G dd„ deƒZdS )é    N)Úhelptext)ÚGenerateBaseCommand)Újsonc                       sú   e Zd ZdZejZddejdœddejdœddej	ddgd	œd
dej
dœddejdœdddddidœg dejdœddejdœddejdœddejdœddejdœddejdœddejdœddejg d¢d	œgZ‡ fdd„Zdd„ Zd d!„ Zd"d#„ Z‡  ZS )$ÚGenerateProductCommandÚproductzproduct-nameT)ÚnameÚrequiredÚ	help_textzproduct-ownerzproduct-typeÚCLOUD_FORMATION_TEMPLATEÚMARKETPLACE)r   r   r	   Úchoiceszproduct-descriptionFzproduct-distributorÚtagsÚarrayÚtypeÚstring)r   Úitemsz2--tags Key=key1,Value=value1 Key=key2,Value=value2)r   r   ÚschemaÚdefaultÚsynopsisr	   z	file-pathzbucket-namezsupport-descriptionzsupport-emailzprovisioning-artifact-namez!provisioning-artifact-descriptionzprovisioning-artifact-type)r
   ÚMARKETPLACE_AMIÚMARKETPLACE_CARc                    s~   t t| ƒ ||¡ |  |¡| _|  |j|j¡| _| j	j
d| j|j|jd�| _|  |  || j¡|¡}tj tj|ddd�¡ dS )NÚservicecatalog)Úregion_nameÚendpoint_urlÚverifyé   F)ÚindentÚensure_asciir   )Úsuperr   Ú	_run_mainÚget_and_validate_regionÚregionÚcreate_s3_urlÚbucket_nameÚ	file_pathÚs3_urlÚ_sessionÚcreate_clientr   Ú
verify_sslÚ
scs_clientÚcreate_productÚ
build_argsÚsysÚstdoutÚwriter   Údumps)ÚselfÚparsed_argsÚparsed_globalsÚresponse©Ú	__class__© úV/usr/lib/python3/dist-packages/awscli/customizations/servicecatalog/generateproduct.pyr   k   s&   ÿÿý
ÿþz GenerateProductCommand._run_mainc                 C   s$   | j jdi |¤Ž}d|v r|d= |S )NÚResponseMetadatar6   )r)   r*   )r0   Úargsr2   r3   r6   r6   r7   r*      s   z%GenerateProductCommand.create_productc                 C   s0   g }|D ]}|  tdd„ | d¡D ƒƒ¡ q|S )Nc                 s   s   � | ]}|  d ¡V  qdS )ú=N)Úsplit)Ú.0Útr6   r6   r7   Ú	<genexpr>ˆ   s   € z7GenerateProductCommand._extract_tags.<locals>.<genexpr>ú,)ÚappendÚdictr;   )r0   Ú	args_tagsr   Útagr6   r6   r7   Ú_extract_tags…   s    z$GenerateProductCommand._extract_tagsc              	   C   sv   |j |j|j|  |j¡|j|jd|i|jdœdœ}|jr!|j|d< |j	r)|j	|d< |j
r1|j
|d< |jr9|j|d< |S )NÚLoadTemplateFromURL)ÚNameÚDescriptionÚInfoÚType)rF   ÚOwnerÚProductTypeÚTagsÚProvisioningArtifactParametersÚSupportDescriptionrG   ÚSupportEmailÚDistributor)Úproduct_nameÚproduct_ownerÚproduct_typerD   r   Úprovisioning_artifact_nameÚ!provisioning_artifact_descriptionÚprovisioning_artifact_typeÚsupport_descriptionÚproduct_descriptionÚsupport_emailÚproduct_distributor)r0   r1   r%   r9   r6   r6   r7   r+   ‹   s(   
ÿúû



z!GenerateProductCommand.build_args)Ú__name__Ú
__module__Ú__qualname__ÚNAMEr   ÚPRODUCT_COMMAND_DESCRIPTIONÚDESCRIPTIONÚPRODUCT_NAMEÚOWNERÚPRODUCT_TYPEÚPRODUCT_DESCRIPTIONÚDISTRIBUTORÚTAGSÚ	FILE_PATHÚBUCKET_NAMEÚSUPPORT_DESCRIPTIONÚSUPPORT_EMAILÚPA_NAMEÚPA_DESCRIPTIONÚPA_TYPEÚ	ARG_TABLEr   r*   rD   r+   Ú__classcell__r6   r6   r4   r7   r      sˆ    ýýüýýÿþõýýýýýýüºRr   )r,   Ú$awscli.customizations.servicecatalogr   Ú1awscli.customizations.servicecatalog.generatebaser   Úbotocore.compatr   r   r6   r6   r6   r7   Ú<module>   s
   