
                         \    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 r	S r
S	 rS
 rg)z'Spanner instance operations API helper.    )
list_pager)apis)waiter)
properties)	resourcesc                    [         R                  " SS5      n[        R                  " UR                  UR
                  5      n[        R                  R                  U R                  SS9n[        R                  " X4U5      $ )z!Wait for the specified operation.spannerv1%spanner.projects.instances.operations)
collection)r   GetClientInstancer   CloudOperationPollerprojects_instancesprojects_instances_operationsr   REGISTRYParseRelativeNamenameWaitFor)	operationmessageclientpollerrefs        9lib/googlecloudsdk/api_lib/spanner/instance_operations.pyAwaitr      sp    !!)T2&&&**,& 	,,nn8 	- 	:# 
W	--    c                 j   [         R                  " SS5      n[         R                  " SS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      $ )zCancel the specified operation.r	   r
   
projectsIdinstancesIdr   paramsr   r   )r   r   GetMessagesModuler   r   Parser   VALUEScoreproject	GetOrFail/SpannerProjectsInstancesOperationsCancelRequestRelativeNamer   Cancelinstancer   r   msgsr   reqs         r   r,   r,   %   s    !!)T2&				4	0$  "))..66@@! 9 	! 	:# 	<< 	= 	#		-	-	4	4S	99r   c                 j   [         R                  " SS5      n[         R                  " SS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      $ )zGet the specified operation.r	   r
   r   r   r!   r#   )r   r   r$   r   r   r%   r   r&   r'   r(   r)   ,SpannerProjectsInstancesOperationsGetRequestr+   r   Getr-   s         r   r3   r3   5   s    !!)T2&				4	0$  "))..66@@! 9 	! 	:# 	99 	: 	#		-	-	1	1#	66r   c                 z   [         R                  " SS5      n[         R                  " SS5      n[        R                  R                  U S[        R                  R                  R                  R                  0SS9nUR                  UR                  5       S-   S9n[        R                  " UR                  USS	S
9$ )z List operations on the instance.r	   r
   r   zspanner.projects.instancesr!   z/operationsr#   
operationspageSize)fieldbatch_size_attribute)r   r   r$   r   r   r%   r   r&   r'   r(   r)   -SpannerProjectsInstancesOperationsListRequestr+   r   YieldFromListr   )r.   r   r/   r   r0   s        r   Listr;   E   s    !!)T2&				4	0$  J--22::DDE- 	! 	/# 	::m+ 	; 	-#		!	!**	%	
' 'r   N)__doc__apitools.base.pyr   googlecloudsdk.api_lib.utilr   r   googlecloudsdk.corer   r   r   r,   r3   r;    r   r   <module>rA      s/    . ( , . * )	.: 7 'r   