
                             S r SSKrSSKJrJrJrJr  SSKJr  SSK	J
r
  SSKJ
r  SSKJr   " S S\R                  5      r " S	 S
\
R"                  5      rg)z)Cloud Backup and DR Backup Vaults client.    N)AnyOptionalMappingSequence)
list_pager)util)backupdr_v1_messagesc                   $    \ rS rSrSrSrSrSrSrg)AccessRestriction   zwithin-projectz
within-orgunrestrictedz"within-org-but-unrestricted-for-ba N)	__name__
__module____qualname____firstlineno__WITHIN_PROJECTWITHIN_ORGANIZATIONUNRESTRICTED"WITHIN_ORG_BUT_UNRESTRICTED_FOR_BA__static_attributes__r       4lib/googlecloudsdk/api_lib/backupdr/backup_vaults.pyr   r      s    #.$,'K$r   r   c                   T  ^  \ rS rSrSrU 4S jrS\S\\   S\\\4   S\\   S\\   S	\\   S
\\	R                     S\4S jrS\\   4S jrS\\   4S jrS\S\S\S\4S jr  SS\S\\   4S jjrS\\   S\\   S\\   S\\   4S jrS\S\S\\   S\4S jrS\4S jrSrU =r$ )BackupVaultsClient!   z(Cloud Backup and DR Backup Vault client.c                 `   > [         [        U ]  5         U R                  R                  U l        g )N)superr   __init__clientprojects_locations_backupVaultsservice)self	__class__s    r   r   BackupVaultsClient.__init__$   s"    	
d,.;;>>DLr   backup_min_enforced_retentiondescriptionlabelseffective_timeaccess_restrictionbackup_retention_inheritanceencryption_configreturnc	           	      |   UR                  5       R                  5       n	UR                  5       n
U R                  R	                  UUUUU R                  U5      US9nU R                  U5      Ul        [        R                  " 5       nU R                  R                  UU
U	US9nU R                  R                  U5      $ )N)&backupMinimumEnforcedRetentionDurationr'   r(   effectiveTimeaccessRestrictionencryptionConfig)backupVaultbackupVaultIdparent	requestId)ParentRelativeNameNamemessagesBackupVaultParseAccessRestrictionEnum#ParseBackupRetentionInheritanceEnumbackupRetentionInheritancecommand_utilGenerateRequestId2BackupdrProjectsLocationsBackupVaultsCreateRequestr"   Create)r#   resourcer&   r'   r(   r)   r*   r+   r,   r5   backup_vault_idbackup_vault
request_idrequests                 r   rB   BackupVaultsClient.Create(   s     __++-FmmoO==,,/L$99:LM* - L 	001MN + //1JmmNN %	 O G <<w''r    backup_retention_inheritance_strc                    Uc*  U R                   R                  R                  R                  $ US:X  a*  U R                   R                  R                  R                  $ US:X  a*  U R                   R                  R                  R
                  $ g )Nzinherit-vault-retentionzmatch-backup-expire-time)r:   r;   )BackupRetentionInheritanceValueValuesEnum(BACKUP_RETENTION_INHERITANCE_UNSPECIFIEDINHERIT_VAULT_RETENTIONMATCH_BACKUP_EXPIRE_TIME)r#   rI   s     r   r=   6BackupVaultsClient.ParseBackupRetentionInheritanceEnumK   s     (/
--
#
#
M
M
v
v 
*-F	F
--
#
#
M
M
e
e 
*-G	G
--
#
#
M
M
f
f 
Hr   access_restriction_strc                 ~   Uc*  U R                   R                  R                  R                  $ [	        U5      nU[        R
                  :X  a*  U R                   R                  R                  R
                  $ U[        R                  :X  a*  U R                   R                  R                  R                  $ U[        R                  :X  a*  U R                   R                  R                  R                  $ U[        R                  :X  a*  U R                   R                  R                  R                  $ [        SU 35      e)NzInvalid access restriction: )	r:   r;    AccessRestrictionValueValuesEnumr   r   r   r   r   
ValueError)r#   rP   r*   s      r   r<   -BackupVaultsClient.ParseAccessRestrictionEnum[   s
   %
--
#
#
D
D
X
X ++AB.===
--
#
#
D
D
S
S 
0DD	D
--
#
#
D
D
X
X 
0==	=
--
#
#
D
D
Q
Q 	??	@ --
#
#
D
D
g
g 56L5MNOOr   ignore_inactive_datasourcesignore_backup_plan_referencesallow_missingc                     [         R                  " 5       nU R                  R                  UR	                  5       UUUUS9nU R
                  R                  U5      $ )N)nameforceignoreBackupPlanReferencesallowMissingr6   )r?   r@   r:   2BackupdrProjectsLocationsBackupVaultsDeleteRequestr8   r"   Delete)r#   rC   rU   rV   rW   rF   rG   s          r   r^   BackupVaultsClient.Deletey   s[     //1JmmNN""$)#@" O G <<w''r   	page_sizec           	          U R                   R                  UR                  5       S9n[        R                  " U R
                  USUUSS9$ )N)r5   pageSizebackupVaults)batch_size_attribute
batch_sizelimitfield)r:   0BackupdrProjectsLocationsBackupVaultsListRequestr8   r   YieldFromListr"   )r#   
parent_refrf   r`   rG   s        r   ListBackupVaultsClient.List   sU     mmLL&&( M G ##' r   c                     U R                   R                  5       nUb  Xl        Ub  X%l        US:w  a  UUl        Ub  U R                  U5      nXel        U$ )NNones)r:   r;   r'   r0   r/   r<   r1   )r#   r'   r)   r&   r*   
updated_bvaccess_restriction_enums          r   ParseUpdateBackupVaultsClient.ParseUpdate   sk     **,J*!!/$/
' 7 % $ ? ?
! &="r   force_updateforce_update_access_restrictionupdate_maskc           	          [         R                  " 5       nU R                  R                  UUR	                  5       UUUUS9nU R
                  R                  U5      $ )N)r3   rY   
updateMaskr6   rZ   forceUpdateAccessRestriction)r?   r@   r:   1BackupdrProjectsLocationsBackupVaultsPatchRequestr8   r"   Patch)r#   rC   rE   rs   rt   ru   rF   rG   s           r   UpdateBackupVaultsClient.Update   s^     //1JmmMM ""$%D N G <<g&&r   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ )N)rY   )r:   /BackupdrProjectsLocationsBackupVaultsGetRequestr8   r"   Get)r#   rC   rG   s      r   DescribeBackupVaultsClient.Describe   s?    mmKK""$ L G <<G$$r   )r"   )Nd   )r   r   r   r   __doc__r   strr   r   r	   EncryptionConfigr   rB   r=   r<   boolr^   intr   rk   rq   r{   r   r   __classcell__)r$   s   @r   r   r   !   sx   0?!( &)!( C=	!(
 c3h!( sm!( #3-!( %-SM!( ""6"G"GH!( !(F.6sm Px} P<( $(( &*	(
 ( (* 	 	
 }&C= sm &.c]	
 #3-.' 	'
 (,' C=' '&%# % %r   r   )r   enumtypingr   r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.backupdrr   #googlecloudsdk.command_lib.backupdrr?   1googlecloudsdk.generated_clients.apis.backupdr.v1r	   Enumr   BackupDrClientBaser   r   r   r   <module>r      sE    0  3 3 ' 0 D RL		 Ll%00 l%r   