
                             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  SSKJr  SSKJr   " S S\R,                  5      rSSSS.\l        g)zCommand for moving disks.    )absolute_import)division)unicode_literals)base_classes)poller)waiter)base)
completers)flags)log)
properties)	resourcesc                   .    \ rS rSrSr\S 5       rS rSrg)Move!   zMove a disk between zones.c                     [         R                  " SS9[        l        [        R                  R	                  U 5        U R                  SS[        R                  SS9  [        R                  R                  U 5        g )NF)pluralz--destination-zonezThe zone to move the disk to.T)help	completerrequired)disks_flagsMakeDiskArgZonalr   disk_argAddArgumentadd_argumentr
   ZonesCompleterr	   
ASYNC_FLAGAddToParser)parsers    !lib/surface/compute/disks/move.pyArgs	Move.Args$   s_    00>DMMMf%
,++	   	OO'    c                     [         R                  " U R                  5       5      n[        R                  R                  XR                  [        R                  " UR                  5      S9nUR                  R                  UR                  S[        R                  R                  R                  R                   0SS9nUR                  R"                  nUR                  R$                  nUR'                  UR)                  UR+                  5       UR+                  5       S9UR                  S9nUR,                  R/                  U5      n[        R0                  R                  UR2                  S[        R                  R                  R                  R                   0SS9n	UR4                  (       a6  [6        R8                  " U	SR;                  UR=                  5       5      S	S
S9  U$ UR                  R                  UR=                  5       UR                  UR=                  5       S.SS9n
[>        R@                  " URB                  U
5      n[D        RF                  " XSR;                  UR=                  5       5      5      $ )z$Returns a request for moving a disk.)scope_listerprojectzcompute.zones)params
collection)destinationZone
targetDisk)diskMoveRequestr&   zcompute.globalOperationszdisk {0}Tz[Run the [gcloud compute operations describe] command to check the status of this operation.)kindis_asyncdetails)r&   zonezcompute.diskszMoving disk {0})$r   ComputeApiHolderReleaseTrackr   r   ResolveAsResourcer   r   GetDefaultScopeListerclientParsedestination_zoner   VALUEScorer&   	GetOrFailapitools_clientmessagesComputeProjectsMoveDiskRequestDiskMoveRequestSelfLinkprojectsMoveDiskREGISTRYnameasync_r   UpdatedResourceformatNamer   Pollerdisksr   WaitFor)selfargsholdertarget_diskr6   r4   r;   requestresultoperation_refdestination_disk_refoperation_pollers               r    RunMove.Run1   s2   **4+<+<+>?F--1100? 2 AK ''--z((--55??
 # . $ ]]**F}}%%H55 00,557"++- 1 
 ## 6 G __%%g.F&&,,z((--55??
 . - /M {{	
  !1!1!34;	 m!++11'//$))+
 # 2 $ }}V\\3GH>>  !1!1!346 6r#    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr!   rS   __static_attributes__rU   r#   r    r   r   !   s    "
( 
(76r#   r   zMove a disk between zonesa  *{command}* facilitates moving a Compute Engine disk volume from one zone to another. You cannot move a disk if it is attached to a running or stopped instance; use the gcloud compute instances move command instead.

The `gcloud compute disks move` command does not support regional persistent disks. See https://cloud.google.com/compute/docs/disks/regional-persistent-disk for more details.
zTo move the disk called example-disk-1 from us-central1-b to us-central1-f, run:

  $ {command} example-disk-1 --zone=us-central1-b --destination-zone=us-central1-f
)briefDESCRIPTIONEXAMPLESN)rZ   
__future__r   r   r   googlecloudsdk.api_lib.computer   )googlecloudsdk.api_lib.compute.operationsr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   r   (googlecloudsdk.command_lib.compute.disksr   googlecloudsdk.corer   r   r   SilentCommandr   detailed_helprU   r#   r    <module>rj      s_      &  ' 7 < . ( 9 4 I # * )G64 G6V )		- r#   