
                         
   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SR                  SS5      S.r\	R                   " \	R"                  R$                  5       " S S\	R&                  5      5       r\	R                   " \	R"                  R*                  5       " S S\5      5       r\	R                   " \	R"                  R.                  5       " S S\5      5       r\\l        \\l        \\l        g)z!Command for describing instances.    )absolute_import)division)unicode_literals)base_classes)arg_parsers)base)flags)	arg_utils$Describe a virtual machine instance.ak          *{command}* displays all data associated with a Compute
        Engine virtual machine instance.

        It's possible to limit the the scope of the description by using the
        '--format' flag. For details, see
        [Filtering and formatting fun with gcloud](https://cloud.google.com/blog/products/gcp/filtering-and-formatting-fun-with).
        a           To describe an instance named ``{0}'', run:

          $ {1} {0}

        To output only a set of fields from the available information, specify
        it  using the '--format' flag:

          $ {1} {0} --format="yaml(name,status,disks)"
        ztest-instancez	{command})briefDESCRIPTIONEXAMPLESc                   :    \ rS rSrSr\S 5       rS rS rS r	Sr
g)	Describe4   r   c                 @    [         R                  R                  U SS9  g )Ndescribeoperation_type)r	   INSTANCE_ARGAddArgumentparsers    )lib/surface/compute/instances/describe.pyArgsDescribe.Args8   s    	""6*"E    c                     [         R                  R                  UUR                  [         R                  " UR
                  5      S9$ )N)scope_lister)r	   r   ResolveAsResource	resourcesGetInstanceZoneScopeListerclient)selfholderargss      r   _GetInstanceRefDescribe._GetInstanceRef<   s@    //55fmmD 0 F Fr   c                     UR                   R                  R                  " S0 UR                  5       D6nUR                   R	                  UR                   R
                  R                  SU4/5      S   $ )NGetr    r#   messagesComputeInstancesGetRequestAsDictMakeRequestsapitools_client	instances)r$   r%   instance_refrequests       r   _GetInstanceDescribe._GetInstanceB   so    mm$$?? !



!G==%%		&	&	0	0%A'C DDEG Gr   c                     [         R                  " U R                  5       5      nU R                  X!5      nU R	                  X#5      $ N)r   ComputeApiHolderReleaseTrackr'   r5   r$   r&   r%   r3   s       r   RunDescribe.RunH   s<    **4+<+<+>?F''5LV22r   r+   N)__name__
__module____qualname____firstlineno____doc__staticmethodr   r'   r5   r<   __static_attributes__r+   r   r   r   r   4   s*    ,F FFG3r   r   c                   >    \ rS rSrSr\S 5       rS rS	S jrS r	Sr
g)
DescribeBetaN   r   c                     [         R                  R                  U SS9  U R                  SSSS.[        R
                  SS9  g )	Nr   r   --viewVOutput contains all configuration details of the instance, including partner metadata.hDefault output view. Output contains all configuration details of the instance, except partner metadata.FULLBASIC9Specifies the information that the output should contain.choicestypehelp)r	   r   r   add_argumentr
   ChoiceToEnumNamer   s    r   r   DescribeBeta.ArgsR   sN    	""6*"E
0=	
 ''H  r   c                 t    US:X  a  UR                   R                  $ US:X  a  UR                   R                  $ g )NrM   rN   )ViewValueValuesEnumrM   rN   )r$   viewrequest_messages      r   _GetInstanceViewDescribeBeta._GetInstanceViewe   s7    v~00555	00666r   Nc                     UR                   R                  R                  " S0 UR                  5       DSU0D6nUR                   R	                  UR                   R
                  R                  SU4/5      S   $ )NrY   r*   r   r+   r,   )r$   r%   r3   rY   r4   s        r   r5   DescribeBeta._GetInstancel   sw    mm$$?? ,



,&*,G==%%		&	&	0	0%A'C DDEG Gr   c                 D   [         R                  " U R                  5       5      nU R                  X!5      nUR                  (       a?  U R                  UR                  UR                  R                  R                  5      Ul        U R                  X#UR                  5      $ r8   )
r   r9   r:   r'   rY   r[   r#   r-   r.   r5   r;   s       r   r<   DescribeBeta.Runr   sv    **4+<+<+>?F''5Lyy''
))V]]++FFdi V499==r   r+   r8   )r>   r?   r@   rA   rB   rC   r   r[   r5   r<   rD   r+   r   r   rF   rF   N   s'    , $G>r   rF   c                   4    \ rS rSrSr\S 5       rS rS rSr	g)DescribeAlpha|   r   c                     [         R                  R                  U SS9  U R                  SS[        R
                  " 5       / SS9  U R                  SSS	S
.[        R                  SS9  g )Nr   r   z--guest-attributesGUEST_ATTRIBUTE_KEYzaInstead of instance resource display guest attributes of the instance stored with the given keys.)metavarrR   defaultrS   rI   rJ   rK   rL   rO   rP   )r	   r   r   rT   r   ArgListr
   rU   r   s    r   r   DescribeAlpha.Args   s}    	""6*"E
%  "5  7 0=	
 ''H  r   c                 z    S nU Vs/ s H  nU" XU5      PM     nnUR                   R                  U5      $ s  snf )Nc                     U R                   R                  R                  UR                  5       UR                  UUR
                  S9nU R                   R                  R                  SU4$ )N)instanceprojectvariableKeyzoneGetGuestAttributes)r#   r-   )ComputeInstancesGetGuestAttributesRequestNamerm   ro   r1   r2   )r%   r3   variable_keyreqs       r   _GetGuestAttributeRequestDDescribeAlpha._GetGuestAttributes.<locals>._GetGuestAttributeRequest   si    MM""LL$$&&&"  	 M "c --
'
'
1
13GN Nr   )r#   r0   )r$   r%   r3   variable_keysru   rs   requestss          r   _GetGuestAttributes!DescribeAlpha._GetGuestAttributes   sM    N *+)L 	"&E)  + ==%%h//+s   8c                    [         R                  " U R                  5       5      nU R                  X!5      nUR                  (       a  U R                  X#UR                  5      $ UR                  (       a?  U R                  UR                  UR                  R                  R                  5      Ul        U R                  X#UR                  5      $ r8   )r   r9   r:   r'   guest_attributesry   rY   r[   r#   r-   r.   r5   r;   s       r   r<   DescribeAlpha.Run   s    **4+<+<+>?F''5L%%
 5 5  yy''
))V]]++FFdi V499==r   r+   N)
r>   r?   r@   rA   rB   rC   r   ry   r<   rD   r+   r   r   rb   rb   |   s!    , 20>r   rb   N)rB   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   r   ,googlecloudsdk.command_lib.compute.instancesr	   $googlecloudsdk.command_lib.util.apisr
   formatDETAILED_HELPReleaseTracksr:   GADescribeCommandr   BETArF   ALPHArb   detailed_helpr+   r   r   <module>r      s    ( &  ' 7 / ( > : 4			 F?K0+2 D%%(()3t## 3 *32 D%%**+*>8 *> ,*>Z D%%++,7>L 7> -7>t ' * + r   