
                            S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSK	J
r
  SSKJr  SSKJr  SS	KJr  S
 rS r\
R$                  " \
R&                  R(                  5       " S S\
R*                  5      5       r\
R$                  " \
R&                  R.                  5       " S S\5      5       r\
R$                  " \
R&                  R2                  5       " S S\5      5       rg)zCreate node template command.    )absolute_import)division)unicode_literals)base_classes)apis)base)flags)utilc                 \   [         R                  " SU5      n[        R                  " 5       R	                  U 5        [        R
                  " U 5        [        R                  " U5      R                  R                  U 5        [        R                  " U 5        [        R                  " U 5        g)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                    [         R                  " U5      nUR                  n[        R                  " 5       R                  U UR                  [        R                  " UR                  5      S9nUR                  R                  n[        R                  " UU US9nUR                  UUR                  UR                  S9nUR                  R                  R                   nUR#                  USU4/5      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                   8    \ rS rSrSrSSS.r\S 5       rS rSr	g)	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                 H    [        U S5        [        R                  " U 5        g )Nv1r   r	   AddCpuOvercommitTypeFlagr   s    r   ArgsCreate.ArgsN   s    	""6*r   c                 6    [        UU R                  5       5      $ )N)r4   ReleaseTrack)selfr-   s     r   Run
Create.RunS   s     r    N)
__name__
__module____qualname____firstlineno____doc__detailed_helpstaticmethodr@   rE   __static_attributes__rG   r   r   r6   r6   ?   s/    . 3		- + +r   r6   c                   (    \ rS rSrSr\S 5       rSrg)
CreateBetaY   r8   c                 H    [        U S5        [        R                  " U 5        g )Nbetar=   r?   s    r   r@   CreateBeta.Args]   s    	""6*r   rG   NrH   rI   rJ   rK   rL   rN   r@   rO   rG   r   r   rQ   rQ   Y       .+ +r   rQ   c                   (    \ rS rSrSr\S 5       rSrg)CreateAlphac   r8   c                 H    [        U S5        [        R                  " U 5        g )Nalphar=   r?   s    r   r@   CreateAlpha.Argsg   s     	""6*r   rG   NrV   rG   r   r   rY   rY   c   rW   r   rY   N)rL   
__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   ReleaseTracksrC   GACreateCommandr6   BETArQ   ALPHArY   rG   r   r   <module>ri      s    $ &  ' 7 , ( E P O#@0 D%%(()T  *2 D%%**++ + ,+ D%%++,+* + -+r   