
                             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\R"                  5      rS r\" 5       \l        g)z"Command for describing operations.    )absolute_import)division)unicode_literals)base_classes)base)flags)scope)	resourcesc                   d   ^  \ rS rSrSrU 4S jr\S 5       r\S 5       r	S r
S rS rS	 rS
rU =r$ )Describe   z$Describe a Compute Engine operation.c                 .   > [         [        U ]
  " U0 UD6  g N)superr   __init__)selfargskwargs	__class__s      *lib/surface/compute/operations/describe.pyr   Describe.__init__    s    	(D"D3F3    c                 @    [         R                  R                  U SS9  g )Ndescribe)operation_type)r   COMPUTE_OPERATION_ARGAddArgument)parsers    r   ArgsDescribe.Args#   s    	++F:+Nr   c                     U R                   $ r   _service)r   s    r   serviceDescribe.service'   s    ==r   c                 T    / SQn[         R                  " SR                  U5      UUS9e)N)zcompute.instancescompute.globalOperationscompute.regionOperationscompute.zoneOperations,)expectedgotpath)r
    WrongResourceCollectionExceptionjoin)r   r,   r-   expected_collectionss       r   &_RaiseWrongResourceCollectionException/Describe._RaiseWrongResourceCollectionException+   s2     
4
4./ r   c                     [         R                  R                  UUR                  [        R
                  R                  [        R                  " UR                  5      S9nWR                  5       S:X  a'  UR                  R                  R                   U l        U$ UR                  5       S:X  a'  UR                  R                  R$                  U l        U$ UR                  R                  R&                  U l        U$ ! [        R                   a0  nU R                  UR                  UR                  5         S nANS nAff = f)N)default_scopescope_listerr'   r(   )r   r   ResolveAsResourcer
   compute_scope	ScopeEnumGLOBALcompute_flagsGetDefaultScopeListerclientr.   r1   r,   r-   
Collectionapitools_clientglobalOperationsr#   regionOperationszoneOperations)r   r   compute_holderrefexs        r   CreateReferenceDescribe.CreateReference7   s   C''99


"
"%//66$::##%	 : &c ~~55$++;;LLdm
 J	 
	7	7$++;;LLdm J %++;;JJdmJ 55 C
11"&&"''BBCs   A C? ?E&D>>Ec                     UR                  5       S:X  a  UR                  Ul        g UR                  5       S:X  a  UR                  Ul        g g )Nr(   r)   )r=   regionzone)r   rC   requests      r   ScopeRequestDescribe.ScopeRequestJ   s=    
~~55zzgn		5	5XXgl 
6r   c                 &   [         R                  " U R                  5       5      nU R                  X5      nU R                  R                  S5      nU" S0 UR                  5       D6nUR                  R                  U R                  SU4/5      S   $ )NGetr    )	r   ComputeApiHolderReleaseTrackrE   r$   GetRequestTypeAsDictr<   MakeRequests)r   r   rB   operation_refrequest_typerJ   s         r   RunDescribe.RunP   s    !2243D3D3FGN((>M<<..u5L4]1134G  --e0709 /: ;;<> >r   r"   )__name__
__module____qualname____firstlineno____doc__r   staticmethodr   propertyr$   r1   rE   rK   rW   __static_attributes____classcell__)r   s   @r   r   r      sN    ,4 O O  
&	> 	>r   r   c                      SSSS.n U $ )z7Construct help text based on the command release track.z#Describe a Compute Engine operationzp
        *{command}* displays all data associated with a Compute Engine
        operation in a project.
        a  
        To get details about a global operation (e.g. operation-111-222-333-444), run:

          $ {command} operation-111-222-333-444 --global

        To get details about a regional operation, run:

          $ {command} operation-111-222-333-444 --region=us-central1

        To get details about a zonal operation, run:

          $ {command} operation-111-222-333-444 --zone=us-central1-a
        )briefDESCRIPTIONEXAMPLESrO   )detailed_helps    r   DetailedHelprg   \   s      5-( 
r   N)r]   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r:   r	   r7   -googlecloudsdk.command_lib.compute.operationsgooglecloudsdk.corer
   DescribeCommandr   rg   rf   rO   r   r   <module>ro      sI    ) &  ' 7 ( E E ? )<>t## <>~0 & r   