
    	                     \    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 r	S r
S	 rS
 rg)z9Utility for updating Managed Microsoft AD domain backups.    )absolute_import)division)unicode_literals)util)labels_utilc                     Uc  gUR                   nU(       a$  UR                  U 5      S:X  a  US-   U -   Ul         U$ Xl         U$ )z"Adds name of field to update mask.Nr   ,)
updateMaskcount)fieldpatch_requestupdate_masks      >lib/googlecloudsdk/command_lib/active_directory/backup_util.pyAddFieldToUpdateMaskr      sT    ((+1$!,s!2U!:m 
  %	    c                 x   Uc  g[         R                  R                  U5      nUR                  5       (       a  [	        SU5      n[
        R                  " U 5      nUR                  UR                  R                  UR                  R                  5      R                  5       nU(       a  XRR                  l        U$ )z!Updates labels of domain backups.Nlabels)r   DiffFromUpdateArgsMayHaveUpdatesr   r   GetMessagesForResourceApplyBackupLabelsValuebackupr   	GetOrNone)
backup_refargsr   labels_diffmessages
new_labelss         r   UpdateLabelsr"   &   s      //5+!!(=AM**:6H""8??#>#>#0#7#7#>#>@@I	 $.!	r   c                 .    Uc  g[        U 5      Ul        U$ )zFFetch existing AD domain backup to update and add it to Patch request.N)GetExistingBackupr   )r   unused_argsr   s      r   UpdatePatchRequestr&   5   s    *:6-	r   c                     [         R                  " U 5      n[         R                  " U 5      nUR                  U R	                  5       S9nUR
                  R                  U5      $ )z Fetch existing AD domain backup.)name)r   GetClientForResourcer   @ManagedidentitiesProjectsLocationsGlobalDomainsBackupsGetRequestRelativeName)projects_locations_global_domains_backupsGet)r   clientr    get_reqs       r   r$   r$   =   s[    $$Z0&((4(UU""$ V &'		9	9	=	=g	FFr   N)__doc__
__future__r   r   r   +googlecloudsdk.command_lib.active_directoryr   $googlecloudsdk.command_lib.util.argsr   r   r"   r&   r$    r   r   <module>r5      s/    @ &  ' < <
Gr   