
    8                        d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlm
Z dd	d
dZd Z ej                  ej                   j"                         G d dej$                               Zee_         ej                  ej                   j*                         G d de             Zee_         ej                  ej                   j.                         G d de             Zee_        y)z0Command for stopping async replication on disks.    )absolute_import)division)unicode_literals)base_classes)base)flagsz:Stop async replication on a Compute Engine persistent diskz        *{command}* stops async replication on a Compute Engine persistent
        disk. This command can be invoked either on the primary or on the
        secondary disk.
        a          Stop replication on the primary disk 'my-disk-1' in zone us-east1-a:

          $ {command} my-disk-1 --zone=us-east1-a

        Stop replication on the secondary disk 'my-disk-2' in zone us-west1-a:

          $ {command} my-disk-2 --zone=us-west1-a
        )briefDESCRIPTIONEXAMPLESc                 F    t         j                  j                  | d       y)z5Add arguments used for parsing in all command tracks.zstop async replication)operation_typeN)StopAsyncReplication	disks_argAddArgument)parsers    3lib/surface/compute/disks/stop_async_replication.py_CommonArgsr   -   s!      ,,5 - 7    c                   >    e Zd ZdZed        Zedd       Zd Zd Zy)r   :Stop Async Replication on Compute Engine persistent disks.c                 X    t        j                  d      t        _        t	        |       y NF)pluraldisks_flagsMakeDiskArgr   r   r   clsr   s     r   ArgszStopAsyncReplication.Args7       %0%<%<E%J"r   c                 J    t        j                  | j                         |      S N)r   ComputeApiHolderReleaseTrack)r   no_https     r   _GetApiHolderz"StopAsyncReplication._GetApiHolder<   s    (()9)9);WEEr   c                 $    | j                  |      S r"   _Runselfargss     r   RunzStopAsyncReplication.Run@       99T?r   c                    | j                         }|j                  }t        j                  j	                  ||j
                  t        j                  |            }d }|j                         dk(  rZ|j                  j                  |j                         |j                  |j                        }|j                  j                  d|f}nl|j                         dk(  rY|j                  j!                  |j                         |j                  |j"                        }|j                  j$                  d|f}|j'                  |g      S )N)scope_listerzcompute.disks)diskprojectzoner   zcompute.regionDisks)r1   r2   region)r&   clientr   r   ResolveAsResource	resourcesr   GetDefaultScopeLister
Collectionmessages'ComputeDisksStopAsyncReplicationRequestNamer2   r3   apitools_clientdisks-ComputeRegionDisksStopAsyncReplicationRequestr4   regionDisksMakeRequests)r+   r,   compute_holderr5   disk_refrequests         r   r)   zStopAsyncReplication._RunC   s-   '')N""F#--??  008 @ :H
 G/GG}}""}} H g
 ''--/EwOg				"7	7MM}}"" N g
 ''335Kgy))r   N)F)	__name__
__module____qualname____doc__classmethodr   r&   r-   r)    r   r   r   r   3   s7    B  F F*r   r   c                   &    e Zd ZdZed        Zd Zy)StopAsyncReplicationBetar   c                 X    t        j                  d      t        _        t	        |       y r   r   r   s     r   r   zStopAsyncReplicationBeta.Argsf   r    r   c                 $    | j                  |      S r"   r(   r*   s     r   r-   zStopAsyncReplicationBeta.Runk   r.   r   NrE   rF   rG   rH   rI   r   r-   rJ   r   r   rL   rL   b       B r   rL   c                   &    e Zd ZdZed        Zd Zy)StopAsyncReplicationAlphar   c                 X    t        j                  d      t        _        t	        |       y r   r   r   s     r   r   zStopAsyncReplicationAlpha.Argsv   r    r   c                 $    | j                  |      S r"   r(   r*   s     r   r-   zStopAsyncReplicationAlpha.Run{   r.   r   NrO   rJ   r   r   rR   rR   r   rP   r   rR   N)rH   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   (googlecloudsdk.command_lib.compute.disksr   DETAILED_HELPr   ReleaseTracksr$   GACommandr   detailed_helpBETArL   ALPHArR   rJ   r   r   <module>ra      s    7 &  ' 7 ( 4 I J
&7 D%%(()(*4<< (* *(*V &3  " D%%**+	3 	 ,	 *7  & D%%++,	 4 	 -	 +8  'r   