
    	                         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  G d	 d
ej                        Zy)z+service-management operations wait command.    )absolute_import)division)unicode_literals)services_util)base)arg_parsers)common_flagsc                   &    e Zd ZdZed        Zd Zy)Waita}  Waits for an operation to complete.

     This command will block until an operation has been marked as complete.

     Note that the `operations/` prefix of the operation name is optional
     and may be omitted.

     ## EXAMPLES
     To wait on an operation named `operations/serviceConfigs.my-service.1`
     to complete, run:

       $ {command} serviceConfigs.my-service.1
  c                 N    t        j                  d      j                  |        y)zArgs is called by calliope to gather arguments for this command.

    Args:
      parser: An argparse parser that you can use to add arguments that go
          on the command line after this command. Positional arguments are
          allowed.
    zon which to wait)suffixN)r	   operation_flagAddToParser)parsers    (lib/surface/endpoints/operations/wait.pyArgsz	Wait.Args-   s     '9:FFvN    c                    t        j                         }t        j                         }t        j                  |j
                        }|j                  |      }|j                  j                  |      }t        j                  |d      S )zRun 'service-management operations wait'.

    Args:
      args: argparse.Namespace, The arguments that this command was invoked
          with.

    Returns:
      If successful, the response from the operations.Get API call.
    )operationsIdF)is_async)
r   GetMessagesModuleGetClientInstancer   GetOperationIdFromArg	operation%ServicemanagementOperationsGetRequest
operationsGetProcessOperationResult)selfargsmessagesclientoperation_idrequestr   s          r   RunzWait.Run8   sw     ..0H,,.F44T^^DL<<! = $G !!%%g.I//	EJJr   N)__name__
__module____qualname____doc__staticmethodr   r%    r   r   r   r      s#     O OKr   r   N)r)   
__future__r   r   r    googlecloudsdk.api_lib.endpointsr   googlecloudsdk.callioper   $googlecloudsdk.command_lib.endpointsr   r	   Commandr   r+   r   r   <module>r1      s1     2 &  ' : ( < =0K4<< 0Kr   