
    ^                        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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ddZ e
j$                  e
j&                  j(                         G d de
j*                               Zee_        y)z-Marketplace Solution instance create command.    )absolute_import)division)unicode_literals)	MpsClient)waiter)base)flags)log)
properties)	resourcesz;
          Create a Marketplace Solution Instance.
        a  
          To create an instance called ``my-instance'' in region ``us-central1'', with
          requested boot image of AIX72_ORD_Cloud, 2 Gib of memory, an s922 system type,
          a shared core type, and 0.25 cores, run:

          $ {command} my-instance  --region=us-central1 --boot-image-name=AIX72_ORD_Cloud --memory-gib=2 --network-attachment-name=dev-net --system-type=s922 --virtual-cpu-type=UNCAPPED_SHARED --virtual-cpu-cores=0.25

    )DESCRIPTIONEXAMPLESc                   &    e Zd ZdZed        Zd Zy)Createz'Create a Marketplace Solution Instance.c                 :   t        j                  | d       t        j                  |        t        j                  |        t        j                  |        t        j
                  |        t        j                  |        t        j                  |        y)z Register flags for this command.T)
positionalparserN)r	   AddInstanceArgToParser"AddInstanceBootImageNameArgToParseAddInstanceMemoryGibArgToParse*AddInstanceNetworkAttachmentNameArgToParseAddInstanceSystemTypeArgToParse$AddInstanceVirtualCpuCoresArgToParse#AddInstanceVirtualCpuTypeArgToParser   s    #lib/surface/mps/instances/create.pyArgszCreate.Args2   sh     
  D9	,,F;	((7	44FC	))8	..f=	--V<    c           
         |j                   j                  j                         }t               }t        j
                  j                  j                  j                  d      }|j                  |||j                  |j                  |j                  |j                  |j                  |j                        }|j                   r't#        j$                  |j'                         d       |S t(        j*                  j-                  |j.                  dd      }t1        j2                  |j4                        }t1        j6                  ||d	j9                  |j.                              }t#        j$                  |j'                         d       |S )
NT)required)instance_resourceboot_image_namesystem_type
memory_gibnetwork_attachment_namesvirtual_cpu_coresvirtual_cpu_typeInstance)kindz2marketplacesolutions.projects.locations.operationsv1alpha1)
collectionapi_versionz&Waiting for operation [{}] to complete)CONCEPTSinstanceParser   r   VALUESmpsproductGetCreateInstancer"   r#   r$   network_attachment_namer&   r'   doner
   CreatedResourceNamer   REGISTRYParseRelativeNamenamer   CloudOperationPollerNoResourcesoperation_serviceWaitForformat)	selfargsr.   clientr2   op_refop_resourcepollerress	            r   Runz
Create.Run=   s<   }}%%++-H[F##++///>G""75=373G3G/3/?/?.2oo<@<X<X595K5K484I4I # KF {{	(--/
;m$$66G 7  K 33F4L4LMF
..077DFC j9Jr   N)__name__
__module____qualname____doc__staticmethodr   rG    r   r   r   r   .   s    /= =r   r   N)rK   
__future__r   r   r   %googlecloudsdk.api_lib.mps.mps_clientr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper   googlecloudsdk.command_lib.mpsr	   googlecloudsdk.corer
   r   r   DETAILED_HELPReleaseTracksReleaseTrackALPHACreateCommandr   detailed_helprM   r   r   <module>rZ      s~    4 &  ' ; . ( 0 # * )		" D%%++,*T * -*Z % r   