
    
                     |    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	rS
rS rS rS rS rg)zFCommon utility functions for Cloud Filestore update snapshot commands.    )absolute_import)division)unicode_literals)filestore_client)base)util)labels_utilsnapshotbackupc                      [         R                  " SS9n U R                  [        R                  " 5       5        U R                  [        R
                  " S5      5        [        R                  " S5      U /$ )NT)mutex )r   ArgumentGroupAddArgumentr	   GetClearLabelsFlagGetRemoveLabelsFlagGetUpdateLabelsFlag)remove_groups    7lib/googlecloudsdk/command_lib/filestore/update_util.pyUpdateLabelsFlagsr      sX    ##$/,;99;<;::2>?

)
)"
-|	<<    c                     UR                   nU(       a$  UR                  U 5      S:X  a  US-   U -   Ul         U$ Xl         U$ )Nr   ,)
updateMaskcount)fieldpatch_requestupdate_masks      r   AddFieldToUpdateMaskr   &   sK    ((+1$!,s!2U!:m 
  %	r   c                 $   [         R                  R                  U 5      nUR                  5       (       a  [	        SU5      n[
        R                  " U 5      n[        R                  " U5      nU[        :X  aH  UR                  UR                  R                  UR                  R                  5      R                  5       $ U[         :X  aH  UR                  UR"                  R                  UR$                  R                  5      R                  5       $ g)zReturn updated resource labels.labelsN)r	   DiffFromUpdateArgsMayHaveUpdatesr   r   GetApiVersionFromArgsr   GetMessagessnapshot_feature_nameApplySnapshotLabelsValuer
   r!   	GetOrNonebackup_feature_nameBackupr   )argsreqfeature_namelabels_diffapi_versionmessagess         r   GetUpdatedLabelsr4   0   s      //5+!!
x
-C,,T2K++K8H,,x00<<"||2244=IK@**x::"zz0022;)+>	r   c                     A UR                  S5      (       aV  U[        :X  a  UR                  UR                  l        U[        :X  a  UR                  UR
                  l        [        SU5      nU$ )Ndescription)IsSpecifiedr'   r6   r
   r,   r   r   )unused_instance_refr.   r   r0   s       r   AddDescriptionr9   @   sb    	m$$,,+/+;+;m(**)-)9)9m&(FM	r   N)__doc__
__future__r   r   r    googlecloudsdk.api_lib.filestorer   googlecloudsdk.callioper   $googlecloudsdk.command_lib.filestorer   $googlecloudsdk.command_lib.util.argsr	   r'   r,   r   r   r4   r9    r   r   <module>rA      sB    M &  ' = ( 5 < #  = r   