
                             S r SSKJr  SSKJr  SSKJr  SSK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SKJr  \R$                  " SS9rSrSrS rS rS rS rS rg)z1Spanner instance partition operations API helper.    )absolute_import)division)unicode_literalsN)
list_pager)timestamp_pb2)response_util)apis)waiter)
properties)	resources   )secondsspannerv1c                    [         R                  " [        [        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.8spanner.projects.instances.instancePartitions.operations)
collection)r	   GetClientInstance	_API_NAME_API_VERSIONr
   CloudOperationPoller%projects_instances_instancePartitions0projects_instances_instancePartitions_operationsr   REGISTRYParseRelativeNamenameWaitFor)	operationmessageclientpollerrefs        Clib/googlecloudsdk/api_lib/spanner/instance_partition_operations.pyAwaitr$   &   sp    !!)\:&&&22==& 	,,nnK 	- 	# 
W	--    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-   S9n[        R                   " UR"                  USSS9$ )	z>List operations on an instance partition with generic LRO API.)
projectsIdinstancesIdz-spanner.projects.instances.instancePartitionsparamsr   z/operationsr   
operationspageSize)fieldbatch_size_attribute)r	   r   r   r   GetMessagesModuler   r   Parser   VALUEScoreproject	GetOrFail?SpannerProjectsInstancesInstancePartitionsOperationsListRequestRelativeNamer   YieldFromListr   )instanceinstance_partitionr    msgsr"   reqs         r#   ListGenericr=   4   s    !!)\:&				<	8$  "))..66@@! A 	! 	# 	LL- 	M 	# 
	!	!==	%	
 r%   c                    [         R                  " [        [        5      n[         R                  " [        [        5      n[
        R                  " 5       nUR                  [        R                  R                  [        R                  R                  S9[        -   5        [        R                  R                  U S[         R"                  R$                  R&                  R(                  0SS9nUR+                  UR-                  5       UR/                  5       S9n[0        R2                  " UR4                  USS[6        R8                  S9$ )	z@List operations on instance partitions under the given instance.)tzr'   zspanner.projects.instancesr)   )parentinstancePartitionDeadliner,   r-   )r.   r/   get_field_func)r	   r   r   r   r0   r   	TimestampFromDatetimedatetimenowtimezoneutc&UNREACHABLE_INSTANCE_PARTITION_TIMEOUTr   r   r1   r   r2   r3   r4   r5   >SpannerProjectsInstancesInstancePartitionOperationsListRequestr7   ToJsonStringr   r8   .projects_instances_instancePartitionOperationsr   +GetFieldAndLogUnreachableInstancePartitions)r9   r    r;   tp_protor"   r<   s         r#   ListrO   K   s   !!)\:&				<	8$$$&(
x00445./ 	  

))..66@@ . 	! 	# 	KK ( 5 5 7 	L 	# 
	!	!;;	%"NN
 r%   c                    [         R                  " [        [        5      n[         R                  " [        [        5      n[
        R                  R                  U[        R                  R                  R                  R                  U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'   instancePartitionsIdr(   r   r)   r+   )r	   r   r   r   r0   r   r   r1   r   r2   r3   r4   r5   ASpannerProjectsInstancesInstancePartitionsOperationsCancelRequestr7   r   Cancelr9   r:   r   r    r;   r"   r<   s          r#   rT   rT   h   s    !!)\:&				<	8$  "))..66@@"4!
 L 	! 	# 	NN 	O 	# 
	@	@	G	G	LLr%   c                    [         R                  " [        [        5      n[         R                  " [        [        5      n[
        R                  R                  U[        R                  R                  R                  R                  UU S.SS9nUR                  UR                  5       S9nUR                  R!                  U5      $ )zGet the specified operation.rQ   r   r)   r+   )r	   r   r   r   r0   r   r   r1   r   r2   r3   r4   r5   >SpannerProjectsInstancesInstancePartitionsOperationsGetRequestr7   r   GetrU   s          r#   rX   rX   {   s    !!)\:&				<	8$  "))..66@@"4!
 L 	! 	# 	KK 	L 	# 
	@	@	D	DS	IIr%   )__doc__
__future__r   r   r   rE   apitools.base.pyr   cloudsdk.google.protobufr   googlecloudsdk.api_lib.spannerr   googlecloudsdk.api_lib.utilr	   r
   googlecloudsdk.corer   r   	timedeltarI   r   r   r$   r=   rO   rT   rX    r%   r#   <module>rb      sc    8 &  '  ' 2 8 , . * ) *2););B)G &	..:M&Jr%   