
                            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
 Zd Z e
j$                  e
j&                  j(                         G d de
j*                               Z e
j$                  e
j&                  j.                         G d de             Z e
j$                  e
j&                  j2                         G d de             Zy)zCreate node template command.    )absolute_import)division)unicode_literals)base_classes)apis)base)flags)utilc                 P   t        j                  d|      }t        j                         j	                  |        t        j
                  |        t        j                  |      j                  j                  |        t        j                  |        t        j                  |        y)z(Common arguments for each release track.computeN)r   GetMessagesModuler	   MakeNodeTemplateArgAddArgumentAddCreateArgsToParserGetServerBindingMapperFlag
choice_argAddToParserAddAcceleratorArgsAddDiskArgToParser)parserapi_versionmessagess      9lib/surface/compute/sole_tenancy/node_templates/create.py_CommonArgsr      st    ##I{;())&1f%""8,77CCFK6"6"    c                    t        j                  |      }|j                  }t        j                         j                  | |j                  t        j                  |j                              }|j                  j                  }t        j                  || |      }|j                  ||j                  |j                        }|j                  j                  j                   }|j#                  |d|fg      d   S )zCreates a node template.)scope_lister)r   )nodeTemplateprojectregionInsertr   )r   ComputeApiHolderclientr	   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerr   r
   CreateNodeTemplate!ComputeNodeTemplatesInsertRequestr   r    apitools_clientnodeTemplatesMakeRequests)	argstrackholderr#   node_template_refr   node_templaterequestservices	            r   _Runr4   '   s    ((/&==&//1CC
 66v}}E D G
 ]]##())
- 66 ''%% 7 ''
 MM))77'			w':;	<Q	??r   c                   0    e Zd ZdZdddZed        Zd Zy)Create&Create a Compute Engine node template.z
         To create a node template of type `n1-node-96-624`, run:

           $ {command} my-node-template --node-type=n1-node-96-624
       )briefEXAMPLESc                 F    t        | d       t        j                  |        y )Nv1r   r	   AddCpuOvercommitTypeFlagr   s    r   ArgszCreate.ArgsN   s    	""6*r   c                 6    t        || j                               S )N)r4   ReleaseTrack)selfr-   s     r   Runz
Create.RunS   s     r   N)__name__
__module____qualname____doc__detailed_helpstaticmethodr?   rC    r   r   r6   r6   ?   s/    . 3		- + +r   r6   c                        e Zd ZdZed        Zy)
CreateBetar7   c                 F    t        | d       t        j                  |        y )Nbetar<   r>   s    r   r?   zCreateBeta.Args]   s    	""6*r   NrD   rE   rF   rG   rI   r?   rJ   r   r   rL   rL   Y       .+ +r   rL   c                        e Zd ZdZed        Zy)CreateAlphar7   c                 F    t        | d       t        j                  |        y )Nalphar<   r>   s    r   r?   zCreateAlpha.Argsg   s     	""6*r   NrO   rJ   r   r   rR   rR   c   rP   r   rR   N)rG   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer	   r&   >googlecloudsdk.command_lib.compute.sole_tenancy.node_templatesr
   r   r4   ReleaseTracksrA   GACreateCommandr6   BETArL   ALPHArR   rJ   r   r   <module>r`      s    $ &  ' 7 , ( E P O#@0 D%%(()T  *2 D%%**++ + ,+ D%%++,+* + -+r   