
    G	                     \    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)z:Utility for updating Managed Microsoft AD domain peerings.    )absolute_import)division)unicode_literals)util)labels_utilc                     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.r   ,)
updateMaskcount)fieldpatch_requestupdate_masks      ?lib/googlecloudsdk/command_lib/active_directory/peering_util.pyAddFieldToUpdateMaskr      sK    ((+1$!,s!2U!:m 
  %	    c                 p   [         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 peerings.labels)r   DiffFromUpdateArgsMayHaveUpdatesr   r   GetMessagesForResourceApplyPeeringLabelsValuepeeringr   	GetOrNone)peering_refargsr   labels_diffmessages
new_labelss         r   UpdateLabelsr"   $   s      //5+!!(=AM**;7H""8#3#3#?#?#0#8#8#?#?AAJ %/"	r   c                 &    [        U 5      Ul        U$ )zGFetch existing AD domain peering to update and add it to Patch request.)GetExistingPeeringr   )r   unused_argsr   s      r   UpdatePatchRequestr&   1   s    ,[9-	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 peering.)name)r   GetClientForResourcer   :ManagedidentitiesProjectsLocationsGlobalPeeringsGetRequestRelativeName"projects_locations_global_peeringsGet)r   clientr    get_reqs       r   r$   r$   7   s[    $$[1&((5(OO##% P ''		2	2	6	6w	??r   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/    A &  ' < <
@r   