
                             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)zSpanner SSD caches API helper.    )absolute_import)division)unicode_literals)
list_pager)apis)errors)labels_util)
properties)	resourcesspannerv1c                    t        j                  t        t              }t        j                  t        t              }t
        j                  j                  | dt        j                  j                  j                  j                  id      }|j                  |j                               }t        j                   |j"                  |dd      S )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                    t        j                  t        t              }t        j                  t        t              }t
        j                  j                  | t        j                  j                  j                  j                  |dd      }|j                  |j                               }|j                  j!                  |      S )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+   r5   r5   4   s    !!)\:&				<	8$  "))..66@@% > 	! 	# 	>> 	? 	# 
	2	2	6	6s	;;r-   c           	         t        j                  t        t              t        j                  t        t              t
        j                  j                  | j                  t        j                  j                  j                  j                  | j                  dd      j                  j!                               }g }| j"                  "| j"                  |_        |j'                  d       | j(                  "| j(                  |_        |j'                  d       fd}t-        j.                  | j                  j0                  |      }|j2                  r"|j4                  |_        |j'                  d       |st7        j8                  d	      j;                  j!                         j=                  |d
j?                  |                  }j@                  jC                  |      S )zUpdate an SSD cache.r/   r1   r   r2   size_gibdisplay_namec                      j                  j                               } j                  j                  |       j                  S )Nr2   )r4   r#   r%   r5   labels)r*   r'   r(   r)   s    r+   	GetLabelszPatch.<locals>.GetLabels^   sD    

@
@ A C 4488=DDDr-   r;   zNo updates requested.,)ssdCache
updateMask)r3   updateSsdCacheRequest)"r   r   r   r   r   r   r   r   cache_idr
   r   r   r    r!   r&   SsdCacher#   r8   sizeGibappendr9   displayNamer	   ProcessUpdateArgsLazyLabelsValueneeds_updater;   r   NoFieldsSpecifiedError3SpannerProjectsInstanceConfigsSsdCachesPatchRequestUpdateSsdCacheRequestjoinr%   Patch)	argsr6   update_maskr<   labels_updater*   r'   r(   r)   s	         @@@r+   rM   rM   F   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__
__future__r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.utilr   googlecloudsdk.command_lib.air   $googlecloudsdk.command_lib.util.argsr	   googlecloudsdk.corer
   r   r   r   r,   r5   rM    r-   r+   <module>rY      s>    % &  ' ' , 0 < * )	(<$/>r-   