
                             S r SSKJr  SSKJr  SSKJr  SSK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rSrS rS rS rS rS rS rS rS rg)zFFlags and helpers for the Cloud NetApp Files Backup Policies commands.    )absolute_import)division)unicode_literalsN)arg_parsers)flags)util)labels_util)concept_parsersz    table(
        name.basename():label=BACKUP_POLICY_NAME:sort=1,
        name.segment(3):label=LOCATION,
        enabled,
        state
    )   c                     U R                  S[        R                  " [        R                  [        R
                  S9SS9  g)z)Adds a --enabled arg to the given parser.z	--enabled)truthy_stringsfalsey_stringsa  The Boolean value indiciating whether backups are made automatically according to the schedules.
      If enabled, this will be applied to all volumes that have this backup policy attached and enforced on
      the volume level. If not specified, the default is true.typehelpN)add_argumentr   
ArgBooleannetapp_utiltruthyfalseyparsers    >lib/googlecloudsdk/command_lib/netapp/backup_policies/flags.pyAddBackupPolicyEnabledArgr   +   s>    !!1C1C1<1C1CEB	      c                 p    U R                  S[        R                  " [        [        R
                  S9SS9  g)zCAdds a --daily-backup-limit arg to the given parser argument group.z--daily-backup-limitlower_boundupper_boundzw
          Maximum number of daily backups to keep.
          Note that the minimum daily backup limit is 2.
          r   N)r   r   
BoundedIntMIN_DAILY_BACKUP_LIMITsysmaxsizebackup_limit_groups    r   "AddBackupPolicyDailyBackupLimitArgr&   7   s5    !!!!,#++G	 " r   c                 h    U R                  S[        R                  " S[        R                  S9SS9  g)zDAdds a --weekly-backup-limit arg to the given parser argument group.z--weekly-backup-limitr   r   z
          Number of weekly backups to keep.
          Note that the sum of daily, weekly and monthly backups
          should be greater than 1
          r   Nr   r   r    r"   r#   r$   s    r   #AddBackupPolicyWeeklyBackupLimitArgr)   D   s1    !!!!aS[[I " r   c                 h    U R                  S[        R                  " S[        R                  S9SS9  g)zEAdds a --monthly-backup-limit arg to the given parser argument group.z--monthly-backup-limitr   r   z
          Number of monthly backups to keep.
          Note that the sum of daily, weekly and monthly backups
          should be greater than 1
          r   Nr(   r$   s    r   $AddBackupPolicyMonthlyBackupLimitArgr+   Q   s1    !!!!aS[[I " r   c                 d    U R                  SS9n[        U5        [        U5        [        U5        g)zAdds a parser argument group for backup limits.

  Flags include:
  --daily-backup-limit
  --weekly-backup-limit
  --monthly-backup-limit

Args:
  parser: The argparser.
zAdd backup limit arguments.)r   N)	add_groupr&   r)   r+   )r   r%   s     r   AddBackupPolicyBackupLimitGroupr.   ^   s:     ''( (  %%78%&89&'9:r   c                 *   [         R                  " [        R                  " S5      /5      R	                  U 5        [        U 5        [        U 5        [        R                  " U S5        [        R                  " U 5        [        R                  " U 5        g)z&Add args for creating a Backup Policy.zThe Backup Policy to createBackup PolicyN)r
   ConceptParserr   GetBackupPolicyPresentationSpecAddToParserr   r.   AddResourceDescriptionArgAddResourceAsyncFlagr	   AddCreateLabelsFlagsr   s    r   AddBackupPolicyCreateArgsr7   u   h    ,,-JKLKF#!&)!!&/:V$""6*r   c                     [         R                  " [        R                  " S5      /5      R	                  U 5        [        R
                  " U 5        g)z&Add args for deleting a Backup Policy.zThe Backup Policy to deleteN)r
   r1   r   r2   r3   r5   r   s    r   AddBackupPolicyDeleteArgsr:      s:    ,,-JKLKV$r   c                 *   [         R                  " [        R                  " S5      /5      R	                  U 5        [        U 5        [        U 5        [        R                  " U S5        [        R                  " U 5        [        R                  " U 5        g)z&Add args for updating a Backup Policy.zThe Backup Policy to updater0   N)r
   r1   r   r2   r3   r   r.   r4   r5   r	   AddUpdateLabelsFlagsr   s    r   AddBackupPolicyUpdateArgsr=      r8   r   )__doc__
__future__r   r   r   r"   googlecloudsdk.callioper   !googlecloudsdk.command_lib.netappr   r   r   $googlecloudsdk.command_lib.util.argsr	   (googlecloudsdk.command_lib.util.conceptsr
   BACKUP_POLICIES_LIST_FORMATr!   r   r&   r)   r+   r.   r7   r:   r=    r   r   <module>rF      s^    M &  ' 
 / 3 A < D	   
	


;.	+%	+r   