
                         6   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
  ej                  ej                  j                  ej                  j                  ej                  j                         G d d	ej                                Zd
ddde_        y)z0Command for renaming virtual machine instances..    )absolute_import)division)unicode_literals)base_classes)base)flagsc                   2    e Zd ZdZed        Zd Zd Zd Zy)InstanceSetNamez6Set name for Compute Engine virtual machine instances.c                 j    t         j                  j                  |        | j                  ddd       y )Nz
--new-nameTz0        Specifies the new name of the instance. )requiredhelp)r   INSTANCE_ARGAddArgumentadd_argument)parsers    )lib/surface/compute/instances/set_name.pyArgszInstanceSetName.Args    s4    	""6*
4  5    c                     |j                   j                  d |j                  j                  dd|j                  j	                  ||j                               i|j                         fS )NSetNameinstancesSetNameRequest)namecurrentName )apitools_client	instancesmessagesComputeInstancesSetNameRequestInstancesSetNameRequestNameAsDict)selfclientinstance_refr   s       r   _CreateSetNameRequestz%InstanceSetName._CreateSetNameRequest*   sq    "",,:FOO:: )(.(O(O<+<+<+> )P )@) %%')* *r   c                     |j                   j                  d |j                  j                  di |j	                         fS )NGetr   )r   r   r   ComputeInstancesGetRequestr!   )r"   r#   r$   s      r   _CreateGetRequestz!InstanceSetName._CreateGetRequest2   s@    "",,6FOO66O9L9L9NOQ Qr   c                    t        j                  | j                               }|j                  }t        j
                  j                  ||j                  t	        j                  |            }| j                  ||      }|j                  |g      }|j                  |d   j                  k(  r|d   S | j                  |||j                        }|j                  |g|j                  g      S )N)scope_listerr   )followup_overrides)r   ComputeApiHolderReleaseTrackr#   r   r   ResolveAsResource	resourcesGetInstanceZoneScopeListerr)   MakeRequestsnew_namer   r%   )r"   argsholderr#   r$   get_requestobjectsset_requests           r   RunzInstanceSetName.Run7   s    **4+<+<+>?F]]F%%7755f= 8 ?L
 ((>K!!;-0G}}
'QZ,,V\-1]]<K }37==/  C Cr   N)	__name__
__module____qualname____doc__staticmethodr   r%   r)   r9   r   r   r   r
   r
      s*     ?5 5*Q
Cr   r
   z1Set the name of a Compute Engine virtual machine.zN
        ``{command}'' lets you change the name of a virtual machine.
        z
        To change the name of ``instance-1'' to ``instance-2'':

          $ {command} instance-1 --new-name=instance-2
        )briefDESCRIPTIONEXAMPLESN)r=   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   ,googlecloudsdk.command_lib.compute.instancesr   ReleaseTracksr.   GABETAALPHASilentCommandr
   detailed_helpr   r   r   <module>rL      s    7 &  ' 7 ( > $++00$2C2C2I2I-Cd(( -C-Cb A
! r   