
                            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  SS	KJr   " S
 S\R                  5      rg)4Cloud Backup and DR Backup plan associations client.    )absolute_import)annotations)division)unicode_literals)util)
properties)	resources)backupdr_v1_messagesc                  ~   ^  \ rS rSrSrU 4S jr SS jrS rS rS r	  S         SS jjr
   SS	 jrS
rU =r$ )BackupPlanAssociationsClient   r   c                `   > [         [        U ]  5         U R                  R                  U l        g N)superr   __init__client)projects_locations_backupPlanAssociationsservice)self	__class__s    ?lib/googlecloudsdk/api_lib/backupdr/backup_plan_associations.pyr   %BackupPlanAssociationsClient.__init__    s"    	
&68;;HHDL    c                   UR                  5       R                  5       nUR                  5       nU R                  R	                  UR                  5       UUS9nU R                  R                  UUUS9nU R                  R                  U5      $ )N)
backupPlanresourceresourceType)parentbackupPlanAssociationbackupPlanAssociationId)ParentRelativeNameNamemessagesBackupPlanAssociation<BackupdrProjectsLocationsBackupPlanAssociationsCreateRequestr   Create)	r   bpa_resourcebackup_planworkload_resourceresource_typer   bpa_idbparequests	            r   r(   #BackupPlanAssociationsClient.Create$   s       "//1F F
--
-
-++-"" . C mmXX! & Y G
 <<w''r   c                j    U R                   R                  5       nUb  UR                  5       Ul        U$ r   )r%   r&   r#   r   )r   r*   updated_bpas      r   ParseUpdate(BackupPlanAssociationsClient.ParseUpdate6   s1    --557K*779kr   c                    [         R                  " 5       nU R                  R                  UUR	                  5       UUS9nU R
                  R                  U5      $ )N)r    name	requestId
updateMask)command_utilGenerateRequestIdr%   ;BackupdrProjectsLocationsBackupPlanAssociationsPatchRequestr#   r   Patch)r   r)   r.   update_mask
request_idr/   s         r   Update#BackupPlanAssociationsClient.Update<   sV    //1JmmWW!&&(	 X G <<g&&r   c                    U R                   R                  UR                  5       S9nU R                  R	                  U5      $ )N)r6   )r%   <BackupdrProjectsLocationsBackupPlanAssociationsDeleteRequestr#   r   Delete)r   r   r/   s      r   rC   #BackupPlanAssociationsClient.DeleteF   s?    mmXX""$ Y G <<w''r   c                   SnU(       aq  U R                   R                  R                  UR                  5        VVs/ s H2  u  pgU R                   R                  R                  R	                  XgS9PM4     snnS9nU R                   R                  UUUS9nU R                   R                  UR                  5       US9n	U R                  R                  U	5      $ s  snnf )ag  Triggers an on demand backup according to the given backup rule.

Args:
  resource: The backup plan association resource.
  backup_rule: The backup rule to be used for the adhoc backup
  custom_retention_days: The custom retention days to be used for the adhoc
    backup
  labels: The labels to be applied to the backup.

Returns:
  A long running operation
N)keyvalue)additionalProperties)ruleIdcustomRetentionDayslabels)r6   triggerBackupRequest)	r%   TriggerBackupRequestLabelsValueitemsAdditionalPropertyCBackupdrProjectsLocationsBackupPlanAssociationsTriggerBackupRequestr#   r   TriggerBackup)
r   r   backup_rulecustom_retention_daysrK   labels_valuerF   rG   trigger_backup_requestr/   s
             r   rR   *BackupPlanAssociationsClient.TriggerBackupL   s    & L]]77CC
 !'	  !/*# mm00<<OO P  !/	  D l "]]??1 @ 
 mm__""$3 ` G <<%%g..! s   9C
c                    [         R                  R                  R                  R	                  5       nSR                  Xa5      nU R                  R                  UUUUUS9nU R                  R                  U5      $ )Nzprojects/{}/locations/{})r   r   pageSizefilterorderBy)
r	   VALUEScoreproject	GetOrFailformatr%   JBackupdrProjectsLocationsBackupPlanAssociationsFetchForResourceTypeRequestr   FetchForResourceType)	r   locationr,   filter_expression	page_sizeorder_byr^   r   r/   s	            r   rb   1BackupPlanAssociationsClient.FetchForResourceTypet   st     $$,,668G'..wAFmmff"  g G <<,,W55r   )r   ) )NN)
r   zresources.ResourcerS   strrT   z
int | NonerK   zdict[str, str] | Nonereturnzbackupdr_v1_messages.Operation)NNN)__name__
__module____qualname____firstlineno____doc__r   r(   r3   r?   rC   rR   rb   __static_attributes____classcell__)r   s   @r   r   r      sz    <I
 IK($'( +/&*&/"&/ &/ (	&/
 $&/ &&/X 6 6r   r   N)ro   
__future__r   r   r   r   googlecloudsdk.api_lib.backupdrr   #googlecloudsdk.command_lib.backupdrr9   googlecloudsdk.corer	   r
   1googlecloudsdk.generated_clients.apis.backupdr.v1r   BackupDrClientBaser    r   r   <module>ry      s9    ; & "  ' 0 D * ) Rh64#:#: h6r   