
                         L   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  \	R"                  " \	R$                  R&                  5       " S
 S\	R(                  5      5       r\	R"                  " \	R$                  R,                  5       " S S\5      5       rg)z/Updates a Cloud NetApp Volumes Backup Policies.    )absolute_import)division)unicode_literals)client)base)flags)labels_util)logc                   d    \ rS rSrSrSSS.r\R                  R                  r	\
S 5       rS rSrg	)
Update   .Update a Cloud NetApp Volumes Backup Policies.z,          Updates a Backup Policy
          a            The following command updates a Backup Policy named BACKUP_POLICY with all possible arguments

              $ {command} BACKUP_POLICY --location=us-central1 --enabled=True --daily-backup-limit=5 --weekly-backup-limit=3 --monthly-backup-limit=2

          To update a Backup Policy named BACKUP_POLICY asynchronously, run the following command:

              $ {command} BACKUP_POLICY --async --location=us-central1 --enabled=True --daily-backup-limit=5 --weekly-backup-limit=3 --monthly-backup-limit=2
              )DESCRIPTIONEXAMPLESc                 0    [         R                  " U 5        g )N)backuppolicies_flagsAddBackupPolicyUpdateArgs)parsers    ,lib/surface/netapp/backup_policies/update.pyArgsUpdate.Args1   s    226:    c           
         UR                   R                  R                  5       n[        R                  " U R
                  5      n[        R                  R                  U5      nUR                  U5      nUR                  5       (       aI  UR                  UR                  R                  R                  UR                  5      R!                  5       nOSnUR#                  UUR$                  UR&                  UR(                  UR*                  UR,                  US9n/ nUR/                  S5      (       a  UR1                  S5        UR/                  S5      (       a  UR1                  S5        UR/                  S5      (       a  UR1                  S5        UR/                  S5      (       a  UR1                  S	5        UR/                  S
5      (       a  UR1                  S
5        UR/                  S5      (       d,  UR/                  S5      (       d  UR/                  S5      (       a  UR1                  S5        SR3                  U5      n	UR5                  X'XR6                  5      n
UR6                  (       aW  SR9                  U R;                  5       R<                  5      n[>        R@                  RC                  SR9                  U5      5        U
$ )zCUpdate a Cloud NetApp Volumes Backup Policy in the current project.N)enableddaily_backup_limitweekly_backup_limitmonthly_backup_limitdescriptionlabelsr   r   dailyBackupLimitr   weeklyBackupLimitr   monthlyBackupLimitr   update_labelsremove_labelsclear_labelsr   ,z%gcloud {} netapp backup-policies listzQCheck the status of the updated backup policy by listing all kms configs:
  $ {} )"CONCEPTSbackup_policyParsebackuppolicies_clientBackupPoliciesClient_RELEASE_TRACKr	   DiffFromUpdateArgsGetBackupPolicyMayHaveUpdatesApplymessagesBackupPolicyLabelsValuer   	GetOrNoneParseUpdatedBackupPolicyr   r   r   r   r   IsSpecifiedappendjoinUpdateBackupPolicyasync_formatReleaseTrackprefixr
   statusPrint)selfargsbackuppolicy_refr   labels_difforig_backuppolicyr   r(   updated_fieldsupdate_maskresultcommands               r   Run
Update.Run5   sO   }}2288:"778K8KLF""11$7K../?@!!##  
//
&
&
2
24E4L4L	  f3322 44!66$$ 4 M N	""I&,--./-../0.//01&&M*))O,,N++H%((>*K&&kkF {{7>>




$
$g 
jj%vg Mr    N)__name__
__module____qualname____firstlineno____doc__detailed_helpr   r=   GAr,   staticmethodr   rJ   __static_attributes__rL   r   r   r   r      s@    6	- $$''.; ;5r   r   c                   D    \ rS rSrSr\R                  R                  rSr	g)
UpdateBetam   r   rL   N)
rM   rN   rO   rP   rQ   r   r=   BETAr,   rU   rL   r   r   rW   rW   m   s    6$$)).r   rW   N)rQ   
__future__r   r   r   -googlecloudsdk.api_lib.netapp.backup_policiesr   r*   googlecloudsdk.callioper   1googlecloudsdk.command_lib.netapp.backup_policiesr   r   $googlecloudsdk.command_lib.util.argsr	   googlecloudsdk.corer
   ReleaseTracksr=   rS   UpdateCommandr   rY   rW   rL   r   r   <module>rb      s    6 &  ' Y ( [ < # D%%(()MT M *M` D%%**+* * ,*r   