
                         r   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SKJr  SS
KJr  \R(                  " \R*                  R,                  \R*                  R.                  \R*                  R0                  5       " S S\R2                  5      5       rSSSS.\l        g)z7Command for creating instance with per instance config.    )absolute_import)division)unicode_literals)encoding)base_classes)request_helper)utils)base)flags)scopec                   .    \ rS rSrSr\S 5       rS rSrg)DescribeInstance   1Describe an instance in a managed instance group.c                 j    [         R                  " SS9R                  U SS9  U R                  SSSS9  g )NT)region_flagzdescribe an instance in)operation_typez
--instancez)Name of the managed instance to describe.)requiredhelp)instance_groups_flagsGetInstanceGroupManagerArgAddArgumentadd_argument)parsers    @lib/surface/compute/instance_groups/managed/describe_instance.pyArgsDescribeInstance.Args$   sD    44%+#< & >
8  :    c           	      |  ^^
 [         R                  " U R                  5       5      nUR                  nUR                  m
[
        R                  R                  TUR                  [        R                  R                  [        R                  " U5      S9n[        US5      (       aT  UR                  R                  nUR                   R#                  UR%                  5       UR&                  UR(                  S9nOd[        US5      (       aS  UR                  R*                  nUR                   R-                  UR%                  5       UR.                  UR(                  S9n/ n[1        [2        R4                  " WSW4/UR                  R6                  UR8                  US95      nU(       a  [:        R<                  " U5        [?        UU
4S jU 5       S	5      n	U	(       d$  [A        S
RC                  TRD                  5      5      e[F        RH                  " U	5      n	T
RK                  U	S   5      R%                  5       U	S'   U	$ )z7Retrieves response with instance in the instance group.)default_scopescope_listerzone)instanceGroupManagerr"   projectregion)r#   r%   r$   ListManagedInstances)requestshttp	batch_urlerrorsc              3      >#    U  H@  nTR                  UR                  5      R                  5       TR                  :X  d  M<  Uv   MB     g 7f)N)ParseURLinstanceName).0r-   args	resourcess     r   	<genexpr>'DescribeInstance.Run.<locals>.<genexpr>X   s?      	K'hx001668DMMI 
's   ;A	ANz Unknown instance with name `{0}'r-   name)&r   ComputeApiHolderReleaseTrackclientr1   r   %MULTISCOPE_INSTANCE_GROUP_MANAGER_ARGResolveAsResourcecompute_scope	ScopeEnumZONEcompute_flagsGetDefaultScopeListerhasattrapitools_clientinstanceGroupManagersmessages7ComputeInstanceGroupManagersListManagedInstancesRequestr.   r"   r$   regionInstanceGroupManagers=ComputeRegionInstanceGroupManagersListManagedInstancesRequestr%   listr   MakeRequestsr(   r)   r	   RaiseToolExceptionnext
ValueErrorformatr4   r   MessageToDictr,   )selfr0   holderr7   	group_refservicerequestr*   resultsinstance_with_namer1   s    `        @r   RunDescribeInstance.Run.   s    **4+<+<+>?F]]F  I 	CC		'1166&<<VD	 
 
F  y&!!&&<<g
//BB#,>>#3>>'' C )  
H	%	%&&BBg
//HH#,>>#3%%'' I )  F## 6@A'',,&&		G v&	K' 	K :AA$))LMM!//0BC-j9:??A vr    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   rT   __static_attributes__rV   r   r   r   r      s     :: :3r   r   r   z          *{command}* describes an instance in a managed instance group, listing
          all its attributes in YAML format.
        z        To describe an instance `instance-1` in `my-group`
        (in region europe-west4), run:

            $ {command} \
                  my-group --instance=instance-1 \
                  --region=europe-west4
        )briefDESCRIPTIONEXAMPLESN)r[   
__future__r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.computer   r   r	   googlecloudsdk.callioper
   "googlecloudsdk.command_lib.computer   r=   r   r:   2googlecloudsdk.command_lib.compute.instance_groupsr   ReleaseTracksr6   GABETAALPHADescribeCommandr   detailed_helprV   r   r   <module>rm      s    > &  ' % 7 9 0 ( E E ] D%%(($*;*;*@*@%%++-@t++ @-@J 	<	
	"  r   