
                         X   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	lmZ  e
j                   e
j"                  j$                  e
j"                  j&                  e
j"                  j(                         G d
 de
j*                               Zddde_        y)z.Command for adding resource policies to disks.    )absolute_import)division)unicode_literals)base_classes)
disks_util)base)flags)utilc                   &    e Zd ZdZed        Zd Zy)DisksAddResourcePoliciesz/Add resource policies to a Compute Engine disk.c                     t        j                  d      j                  | d       t        j                  | ddd       y )	NFpluralzadd resource policies to)operation_typezadded todiskT)required)disks_flagsMakeDiskArgAddArgumentr	   AddResourcePoliciesArgs)parsers    2lib/surface/compute/disks/add_resource_policies.pyArgszDisksAddResourcePolicies.Args"   s:    5)559 6 ;	!!&*ftL    c                 D   t        j                  | j                               }|j                  j                  }|j                  j
                  }t        j                  d      j                  ||j                        }t        j                  |||      }|j                         }g }|j                  D ]N  }	t        j                  |j                  |	|j                   |      }
|j#                  |
j%                                P |j'                  ||j                        S )NFr   )projectregion)r   ComputeApiHolderReleaseTrackclientapitools_clientmessagesr   r   ResolveAsResource	resourcesapi_utilGetDiskInfoGetDiskRegionNameresource_policiesr
   ParseResourcePolicyr   appendSelfLinkMakeAddResourcePoliciesRequest)selfargsholderr    r"   disk_ref	disk_infodisk_regionr(   policyresource_policy_refs              r   RunzDisksAddResourcePolicies.Run(   s    **4+<+<+>?F]]**F}}%%H&&''f.>.>? $$Xvx@I--/K(( 44



""	
 2;;=> ) 334E4:MMC Cr   N)__name__
__module____qualname____doc__staticmethodr   r5    r   r   r   r      s!     8M M
Cr   r   aB  Add resource policies to a Compute Engine disk.

*{command}* adds resource policies to a Compute Engine disk. These policies define a schedule for taking snapshots and a retention period for these snapshots.

For information on how to create resource policies, see:
  $ gcloud beta compute resource-policies create --help
zThe following command adds two resource policies to a Compute Engine disk.

  $ {command} my-disk --zone=ZONE --resource-policies=policy-1,policy-2
)DESCRIPTIONEXAMPLESN)r9   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   r%   googlecloudsdk.callioper   (googlecloudsdk.command_lib.compute.disksr	   r   4googlecloudsdk.command_lib.compute.resource_policiesr
   ReleaseTracksr   ALPHABETAGAUpdateCommandr   detailed_helpr;   r   r   <module>rI      s    5 &  ' 7 A ( I F E D%%++T->->-C-C%%((*Ct11 C*CD		*  &r   