
    
                         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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d Zy)zFCommon utility functions for Cloud Filestore update snapshot commands.    )absolute_import)division)unicode_literals)encoding)filestore_client)update_util)util)
properties)	resourcesc                 v    t        j                  ||t         j                        }|r||j                  _        |S )zUpdate snapshot labels.)r   GetUpdatedLabelssnapshot_feature_namesnapshotlabels)
unused_refargsreq
new_labelss       Alib/googlecloudsdk/command_lib/filestore/snapshots/update_util.pyUpdateLabelsr      s4    ++D#,7,M,MO*$CLL	*    c                 N    t        j                  | ||t         j                        S )N)r   AddDescriptionr   )unused_instance_refr   patch_requests      r   r   r   &   s'    		#	#$7}$/$E$E
G Gr   c                     t         j                  j                  j                  j	                  d      }| j
                  xs | j                  }t        j                  j                  d||| j                        }|S )NT)requiredz!file.projects.locations.snapshots)
projectsIdlocationsIdsnapshotsId)r
   VALUEScoreprojectGetregionzoner   REGISTRYCreater   )r   r#   locationrefs       r   GetResourceRefr+   +   sk    ""**...='[[%DII(!!)--	 	" 	!#
 
*r   c                     t        |      }t        j                  |      }t        j                  |      }|j                  |      }||_        |S )zHFetch existing Filestore instance to update and add it to Patch request.)r+   r	   GetApiVersionFromArgsr   FilestoreClientGetSnapshotr   )unused_resource_refr   r   resource_refapi_versionclientorig_snapshots          r   GetExistingSnapshotr5   6   sJ    %,**40+++K8&$$\2-(-	r   c                     ~ t        |      }t        j                  |      }t        j                  |      }t        j                  |j                  |            S )z5Python hook to generate the snapshot update response.)r+   r	   r-   r   r.   r   MessageToDictr/   )responser   r1   r2   r3   s        r   FormatSnapshotUpdateResponser9   @   sK    %,**40+++K8&			 2 2< @	AAr   N)__doc__
__future__r   r   r   apitools.base.pyr    googlecloudsdk.api_lib.filestorer   $googlecloudsdk.command_lib.filestorer   r	   googlecloudsdk.corer
   r   r   r   r+   r5   r9    r   r   <module>rA      sA    M &  ' % = < 5 * )G
Br   