
    Y                        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lmZ 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"                  j0                         G d de             Zee_        y)zCreate resource policy command.    )absolute_import)division)unicode_literals)base_classes)base)flags)utilzP        Create a Compute Engine disk consistency group resource policy.
        zr        Create a disk consistency group policy:

          $ {command} my-resource-policy --region=REGION
        )DESCRIPTIONEXAMPLESc                     t         j                  j                  |        t        j                  |        | j
                  j                  d       y)z?A helper function to build args based on different API version.N)CreateDiskConsistencyGroupresource_policy_argAddArgumentr   AddCommonArgsdisplay_infoAddCacheUpdaterparsers    Flib/surface/compute/resource_policies/create/disk_consistency_group.py_CommonArgsr   '   s8    00<<VDf%%d+    c                   ,    e Zd ZdZed        Zd Zd Zy)r   ?Create a Compute Engine Disk Consistency Group resource policy.c                 T    t        j                         t        _        t	        |        y Nr   MakeResourcePolicyArgr   r   r   r   s    r   ArgszCreateDiskConsistencyGroup.Args2         	##% 2r   c                 $    | j                  |      S r   _Runselfargss     r   RunzCreateDiskConsistencyGroup.Run8       99T?r   c                    t        j                  | j                               }|j                  }| j                  j                  ||j                  t        j                  |j                              }|j                  j                  }t        j                  |||      }|j                  ||j                  |j                        }|j                  j                  j                   }|j#                  |d|fg      d   S )N)scope_lister)resourcePolicyprojectregionInsertr   )r   ComputeApiHolderReleaseTrackclientr   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListermessagesr	   MakeDiskConsistencyGroupPolicy$ComputeResourcePoliciesInsertRequestr+   r,   apitools_clientresourcePoliciesMakeRequests)	r$   r%   holderr0   
policy_refr5   resource_policycreate_requestservices	            r   r"   zCreateDiskConsistencyGroup._Run;   s    **4+<+<+>?F]]F));;"88G < IJ
 }}%%H99D($OBB&""   C "N
 mm++<<G(N CDEaHHr   N)__name__
__module____qualname____doc__staticmethodr   r&   r"    r   r   r   r   .   s"    G 
Ir   r   c                   &    e Zd ZdZed        Zd Zy)CreateDiskConsistencyGroupBetar   c                 T    t        j                         t        _        t	        |        y r   r   r   s    r   r   z#CreateDiskConsistencyGroupBeta.ArgsW   r   r   c                 $    | j                  |      S r   r!   r#   s     r   r&   z"CreateDiskConsistencyGroupBeta.Run]   r'   r   Nr@   rA   rB   rC   rD   r   r&   rE   r   r   rG   rG   S       G 
r   rG   c                   &    e Zd ZdZed        Zd Zy)CreateDiskConsistencyGroupAlphar   c                 T    t        j                         t        _        t	        |        y r   r   r   s    r   r   z$CreateDiskConsistencyGroupAlpha.Argsh   r   r   c                 $    | j                  |      S r   r!   r#   s     r   r&   z#CreateDiskConsistencyGroupAlpha.Runn   r'   r   NrJ   rE   r   r   rM   rM   d   rK   r   rM   N)rC   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r3   4googlecloudsdk.command_lib.compute.resource_policiesr	   DETAILED_HELPr   ReleaseTracksr/   GACreateCommandr   detailed_helpBETArG   ALPHArM   rE   r   r   <module>r\      s   & &  ' 7 ( E F E		, D%%(()I!3!3 I *IB ,9  ( D%%**+
%? 
 ,
 0=  , D%%++,
&@ 
 -
 1>  -r   