
                         j    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rS	rS
 rS rS rg)zSpanner SSD caches API helper.    )
list_pager)apis)errors)labels_util)
properties)	resourcesspannerv1c                    [         R                  " [        [        5      n[         R                  " [        [        5      n[
        R                  R                  U S[        R                  R                  R                  R                  0SS9nUR                  UR                  5       S9n[        R                   " UR"                  USSS9$ )z&List SSD caches in the instanceConfig.
projectsIdz spanner.projects.instanceConfigsparams
collection)parent	ssdCachespageSize)fieldbatch_size_attribute)r   GetClientInstance	_API_NAME_API_VERSIONGetMessagesModuler   REGISTRYParser   VALUEScoreproject	GetOrFail2SpannerProjectsInstanceConfigsSsdCachesListRequestRelativeNamer   YieldFromList"projects_instanceConfigs_ssdCaches)configclientmsgsrefreqs        0lib/googlecloudsdk/api_lib/spanner/ssd_caches.pyListr)      s    !!)\:&				<	8$  J--22::DDE3 	! 	#
 	?? 	@ 	# 
	!	!//	%	
     c                    [         R                  " [        [        5      n[         R                  " [        [        5      n[
        R                  R                  U [        R                  R                  R                  R                  US.SS9nUR                  UR                  5       S9nUR                  R!                  U5      $ )z4Gets the SSD cache in the specified instance config.r   instanceConfigsId*spanner.projects.instanceConfigs.ssdCachesr   name)r   r   r   r   r   r   r   r   r   r   r   r   r   1SpannerProjectsInstanceConfigsSsdCachesGetRequestr    r"   Get)	ssd_cacher#   r$   r%   r&   r'   s         r(   r2   r2   1   s    !!)\:&				<	8$  "))..66@@% > 	! 	# 	>> 	? 	# 
	2	2	6	6s	;;r*   c           	        ^^^ [         R                  " [        [        5      m[         R                  " [        [        5      m[
        R                  R                  U R                  [        R                  R                  R                  R                  U R                  S.SS9mTR                  TR!                  5       S9n/ nU R"                  b"  U R"                  Ul        UR'                  S5        U R(                  b"  U R(                  Ul        UR'                  S5        UUU4S jn[,        R.                  " U TR                  R0                  U5      nUR2                  (       a"  UR4                  Ul        UR'                  S5        U(       d  [6        R8                  " S	5      eTR;                  TR!                  5       TR=                  US
R?                  U5      S9S9nTR@                  RC                  U5      $ )zUpdate an SSD cache.r,   r.   r   r/   size_gibdisplay_namec                     > TR                  TR                  5       S9n TR                  R                  U 5      R                  $ )Nr/   )r1   r    r"   r2   labels)r'   r$   r%   r&   s    r(   	GetLabelsPatch.<locals>.GetLabels[   sD    

@
@ A C 4488=DDDr*   r8   zNo updates requested.,)ssdCache
updateMask)r0   updateSsdCacheRequest)"r   r   r   r   r   r   r   r   cache_idr   r   r   r   r   r#   SsdCacher    r5   sizeGibappendr6   displayNamer   ProcessUpdateArgsLazyLabelsValueneeds_updater8   r   NoFieldsSpecifiedError3SpannerProjectsInstanceConfigsSsdCachesPatchRequestUpdateSsdCacheRequestjoinr"   Patch)	argsr3   update_maskr9   labels_updater'   r$   r%   r&   s	         @@@r(   rK   rK   C   s   !!)\:&				<	8$  
mm"))..66@@#{{ > 	! 	# mm!1!1!3m4)+	]]Iz"	" --I~&E 33
DMM%%y- $++Ix 	

'
'(?
@@@@ 66+)> 7  	A 	# 
	2	2	8	8	==r*   N)__doc__apitools.base.pyr   googlecloudsdk.api_lib.utilr   googlecloudsdk.command_lib.air   $googlecloudsdk.command_lib.util.argsr   googlecloudsdk.corer   r   r   r   r)   r2   rK    r*   r(   <module>rV      s7    % ( , 0 < * )	(<$/>r*   