
                            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
 r\R$                  " \R&                  R(                  5      \R*                   " S S\R,                  5      5       5       rg)z%Command for creating snapshot groups.    )base_classes)poller)waiter)base)flags)log)
properties)	resourcesc                     U R                  SSS9  [        R                  R                  U 5        [        R
                  R                  U 5        g)z5Add arguments used for parsing in all command tracks.namezThe name of the snapshot group.)helpN)add_argument
snap_flags!SOURCE_INSTANT_SNAPSHOT_GROUP_ARGAddArgumentr   
ASYNC_FLAGAddToParserparsers    -lib/surface/compute/snapshot_groups/create.py_CommonArgsr      s<    f#DE..::6B//f%    c                   4    \ rS rSrSr\S 5       rS rS rSr	g)Create$   z'Create a Compute Engine snapshot group.c                     [        U 5        g N)r   r   s    r   ArgsCreate.Args)   s
    r   c                 $    U R                  U5      $ r   )_Run)selfargss     r   Run
Create.Run-   s    99T?r   c                 F   [         R                  " U R                  5       5      nUR                  R                  nUR                  R
                  nUR                  R                  UR                  S[        R                  R                  R                  R                  0SS9nUR                  UR                  5       S9n[         R"                  R%                  UUR                  [&        R(                  " UR                  5      S9nUR+                  5       Ul        UR/                  XeR                  S9nUR0                  R3                  U5      n	[        R4                  R                  U	R                  SUR                  0SS9n
UR6                  (       a6  [8        R:                  " U
SR=                  UR                  5       5      S	S
S9  U	$ [>        R@                  " UR0                  U5      n[B        RD                  " UU
SR=                  UR                  5       5      5      $ )Nprojectzcompute.snapshotGroups)params
collection)r   )scope_lister)snapshotGroupr'   zcompute.globalOperationszgce snapshot group {0}TzWUse [gcloud compute operations describe] command to check the status of this operation.)kindis_asyncdetailszCreating gce snapshot group {0})#r   ComputeApiHolderReleaseTrackclientapitools_clientmessagesr
   Parser   r	   VALUEScorer'   	GetOrFailSnapshotGroupNamer   r   ResolveAsResourcer   GetDefaultScopeListerSelfLinksourceInstantSnapshotGroup"ComputeSnapshotGroupsInsertRequestsnapshotGroupsInsertREGISTRYasync_r   UpdatedResourceformatr   Pollerr   WaitFor)r"   r#   holderr1   r3   sg_ref
sg_messageisg_refrequestresultoperation_refoperation_pollers               r   r!   Create._Run0   s    **4+<+<+>?F]]**F}}%%H##		z((--55??
 , $ F ''[[] ( J ::LL00? M G
 -4,<,<,>J)99 .. : G ""))'2F&&,,6>>*- - M
 {{	
'..v{{}=7 m}}V%:%:FC>>)00? r    N)
__name__
__module____qualname____firstlineno____doc__staticmethodr   r$   r!   __static_attributes__rP   r   r   r   r   $   s#     0 3r   r   N)rU   googlecloudsdk.api_lib.computer   )googlecloudsdk.api_lib.compute.operationsr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   2googlecloudsdk.command_lib.compute.snapshot_groupsr   googlecloudsdk.corer   r	   r
   r   ReleaseTracksr0   ALPHADefaultUniverseOnlyCommandr   rP   r   r   <module>rc      sp    , 8 < . ( 4 R # * )& D%%++,=T\\ =  -=r   