
    %                         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
 Zd Zd Zd Zy)z'Spanner instance operations API helper.    )absolute_import)division)unicode_literals)
list_pager)apis)waiter)
properties)	resourcesc                    t        j                  dd      }t        j                  |j                  |j
                        }t        j                  j                  | j                  d      }t        j                  |||      S )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      sr    !!)T2&&&**,& 	,,nn8 	- 	:# 
W	--    c                 r   t        j                  dd      }t        j                  dd      }t        j                  j                  |t        j                  j                  j                  j                  | dd      }|j                  |j                               }|j                  j                  |      S )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                 r   t        j                  dd      }t        j                  dd      }t        j                  j                  |t        j                  j                  j                  j                  | dd      }|j                  |j                               }|j                  j                  |      S )zGet the specified operation.r   r   r!   r   r$   r&   )r   r   r'   r
   r   r(   r	   r)   r*   r+   r,   ,SpannerProjectsInstancesOperationsGetRequestr.   r   Getr0   s         r   r6   r6   8   s    !!)T2&				4	0$  "))..66@@! 9 	! 	:# 	99 	: 	#		-	-	1	1#	66r   c                    t        j                  dd      }t        j                  dd      }t        j                  j                  | dt        j                  j                  j                  j                  id      }|j                  |j                         dz         }t        j                  |j                  |dd	
      S )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   )r1   r   r2   r   r3   s        r   Listr>   H   s    !!)T2&				4	0$  J--22::DDE- 	! 	/# 	::m+ 	; 	-#		!	!**	%	
' 'r   N)__doc__
__future__r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.utilr   r   googlecloudsdk.corer	   r
   r   r/   r6   r>    r   r   <module>rE      s6    . &  ' ' , . * )	.: 7 'r   