
    G	                     \    d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ d Z	d Z
d	 Zd
 Zy)z:Utility for updating Managed Microsoft AD domain peerings.    )absolute_import)division)unicode_literals)util)labels_utilc                 v    |j                   }|r#|j                  |       dk(  r|dz   | z   |_         |S | |_         |S )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      sM    ((+1$!,s!2U!:m 
  %M	    c                 \   t         j                  j                  |      }|j                         r|t	        d|      }t        j                  |       }|j                  |j                  j                  |j                  j                        j                         }|r||j                  _        |S )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 %/m"	r   c                 &    t        |       |_        |S )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                     t        j                  |       }t        j                  |       }|j                  | j	                               }|j
                  j                  |      S )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   