
    z                        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	 rS
 rS r\R$                  " \R&                  R(                  5      \R*                   " S S\R,                  5      5       5       r\R$                  " \R&                  R0                  5       " S S\5      5       r\R$                  " \R&                  R4                  5       " S S\5      5       rSSSS.\l        g)z!Command for describing snapshots.    )absolute_import)division)unicode_literals)base_classes)base)flags)scopec                 |    [         R                  " 5       [        l        [        R                  R	                  U SS9  g)z Set Args based on Release Track.describeoperation_typeN)r   MakeSnapshotArgDescribeSnapshotArgAddArgumentparsers    )lib/surface/compute/snapshots/describe.py_GAArgsr      s,    ..0(
""6*"E    c                 |    [         R                  " 5       [        l        [        R                  R	                  U SS9  g Nr   r   r   #MakeSnapshotArgForRegionalSnapshotsr   r   r   r   s    r   	_BetaArgsr   "   ,    BBD(
""6*"Er   c                 |    [         R                  " 5       [        l        [        R                  R	                  U SS9  g r   r   r   s    r   
_AlphaArgsr   '   r   r   c                   8    \ rS rSrSr\S 5       rS rSS jrSr	g)	r   ,   z#Describe a Compute Engine snapshot.c                     [        U 5        g N)r   r   s    r   ArgsDescribe.Args1   s	    FOr   c                 $    U R                  U5      $ r"   _Runselfargss     r   RunDescribe.Run5   s    99T?r   c                    [         R                  " U R                  5       5      nUR                  nUR                  n[
        R                  R                  UUR                  [        R                  " U5      [        R                  R                  S9nU(       a`  UR                  5       S:X  aL  UR                  " S0 UR!                  5       D6nUR#                  UR$                  R&                  SU4/5      S   $ UR(                  " S0 UR!                  5       D6nUR#                  UR$                  R*                  SU4/5      S   $ )N)scope_listerdefault_scopezcompute.regionSnapshotsGetr    )r   ComputeApiHolderReleaseTrackclientmessagesr   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListercompute_scope	ScopeEnumGLOBAL
Collection ComputeRegionSnapshotsGetRequestAsDictMakeRequestsapitools_clientregionSnapshotsComputeSnapshotsGetRequest	snapshots)r)   r*   support_regionholderr4   r5   snapshot_refrequests           r   r'   Describe._Run8   s3   **4+<+<+>?F]]FH''99"88@#--44	 : L 	##%)BB 99 !g   ""22E7C
D	  11JL4G4G4IJG

 
 
*
*E7	;<	 	r   r1   N)F)
__name__
__module____qualname____firstlineno____doc__staticmethodr#   r+   r'   __static_attributes__r1   r   r   r   r   ,   s#     , 	r   r   c                   *    \ rS rSr\S 5       rS rSrg)DescribeBetaW   c                     [        U 5        g r"   )r   r   s    r   r#   DescribeBeta.ArgsZ   s
    fr   c                 "    U R                  USS9$ NT)rE   r&   r(   s     r   r+   DescribeBeta.Run^       99   r   r1   NrJ   rK   rL   rM   rO   r#   r+   rP   r1   r   r   rR   rR   W   s      r   rR   c                   *    \ rS rSr\S 5       rS rSrg)DescribeAlphae   c                     [        U 5        g r"   )r   r   s    r   r#   DescribeAlpha.Argsh   s
    vr   c                 "    U R                  USS9$ rW   r&   r(   s     r   r+   DescribeAlpha.Runl   rY   r   r1   NrZ   r1   r   r   r\   r\   e   s      r   r\   z"Describe a Compute Engine snapshota  
    *{command}* displays all data associated with a Compute Engine snapshot
    in a project.

    Given an existing snapshot is queried, successful output of this command
    looks like the following:

    ```
    creationTimestamp: '2018-05-07T10:45:46.988-07:00'
    diskSizeGb: '500'
    id: '1234567891234567890'
    kind: compute#snapshot
    labelFingerprint: 12345abcdWW=
    name: zs9utdhb8r1x
    selfLink: https://www.googleapis.com/compute/v1/projects/test-project-name/global/snapshots/snapshot-number
    sourceDisk: https://www.googleapis.com/compute/v1/projects/test-project-name/zones/us-central1-c/disks/test
    sourceDiskId: '1234567891234567890'
    status: READY
    storageBytes: '0'
    storageBytesStatus: UP_TO_DATE
    ```
    a{  

    To run `{command}`, you'll need the name of a snapshot. To list existing
    snapshots by name, run:

      $ {parent_command} list

    To display specific details of an existing Compute Engine snapshot (like
    its creation time, status, and storage details), run:

      $ {command} SNAPSHOT_NAME --format="table(creationTimestamp, status, storageBytesStatus)"
        )briefDESCRIPTIONEXAMPLESN)rN   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r8   r	   r:   ,googlecloudsdk.command_lib.compute.snapshotsr   r   r   ReleaseTracksr3   GAUniverseCompatibleDescribeCommandr   BETArR   ALPHAr\   detailed_helpr1   r   r   <module>rq      s    ( &  ' 7 ( E E >FF
F
 D%%(()&	t## &	  *&	R D%%**+
8 
 ,
 D%%++,
H 
 -
 2.3% r   