# Google API Core Client - Class OperationResponse (1.43.0)

1.43.0 (latest) 1.42.5 1.40.0 1.38.2 1.36.1 1.35.1 Reference documentation and code samples for the Google API Core Client class OperationResponse.

Response object from a long running API method.

The OperationResponse object is returned by API methods that perform
a long running operation. It provides methods that can be used to
poll the status of the operation, retrieve the results, and cancel
the operation.

To support a long running operation, the server must implement the
Operations API, which is used by the OperationResponse object. If
more control is required, it is possible to make calls against the
Operations API directly instead of via the OperationResponse object
using an Operations Client instance.

## Namespace

Google \\ ApiCore

## Methods

### __construct

OperationResponse constructor.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `operationName` | `string` |
| `operationsClient` | `object` |
| `options` | `array` Optional. Options for configuring the operation response object. |
| `↳ operationReturnType` | `string` The return type of the longrunning operation. |
| `↳ metadataReturnType` | `string` The type of the metadata returned in the operation response. |
| `↳ initialPollDelayMillis` | `int` The initial polling interval to use, in milliseconds. |
| `↳ pollDelayMultiplier` | `int` Multiplier applied to the polling interval on each retry. |
| `↳ maxPollDelayMillis` | `int` The maximum polling interval to use, in milliseconds. |
| `↳ totalPollTimeoutMillis` | `int` The maximum amount of time to continue polling. |
| `↳ lastProtoResponse` | `object` A response already received from the server. |
| `↳ getOperationMethod` | `string` The method on $operationsClient to get the operation. |
| `↳ cancelOperationMethod` | `string` The method on $operationsClient to cancel the operation. |
| `↳ deleteOperationMethod` | `string` The method on $operationsClient to delete the operation. |
| `↳ operationStatusMethod` | `string` The method on the operation to get the status. |
| `↳ operationStatusDoneValue` | `string` The method on the operation to determine if the status is done. |
| `↳ additionalOperationArguments` | `array` Additional arguments to pass to $operationsClient methods. |
| `↳ operationErrorCodeMethod` | `string` The method on the operation to get the error code |
| `↳ operationErrorMessageMethod` | `string` The method on the operation to get the error status |

### isDone

Check whether the operation has completed.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `bool` |   |

### operationSucceeded

Check whether the operation completed successfully. If the operation is not complete, or if the operation
failed, return false.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `bool` |   |

### operationFailed

Check whether the operation failed. If the operation is not complete, or if the operation
succeeded, return false.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `bool` |   |

### getName

Get the formatted name of the operation

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `string` | The formatted name of the operation |

### pollUntilComplete

Poll the server in a loop until the operation is complete.

Return true if the operation completed, otherwise return false. If the
$options\['totalPollTimeoutMillis'\] setting is not set (or set \<= 0) then
pollUntilComplete will continue polling until the operation completes,
and therefore will always return true.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `options` | `array` Options for configuring the polling behaviour. |
| `↳ initialPollDelayMillis` | `int` The initial polling interval to use, in milliseconds. |
| `↳ pollDelayMultiplier` | `int` Multiplier applied to the polling interval on each retry. |
| `↳ maxPollDelayMillis` | `int` The maximum polling interval to use, in milliseconds. |
| `↳ totalPollTimeoutMillis` | `int` The maximum amount of time to continue polling, in milliseconds. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `bool` | Indicates if the operation completed. |

### reload

Reload the status of the operation with a request to the service.

### getResult

Return the result of the operation. If operationSucceeded() is false,
return null.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `T|null` |   |

### getError

If the operation failed, return the status. If operationFailed() is false, return null.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/php/docs/reference/common-protos/latest/Rpc.Status.html|null` | The status of the operation in case of failure, or null if operationFailed() is false. |

### getDescriptorOptions

Get an array containing the values of 'operationReturnType', 'metadataReturnType', and
the polling options `initialPollDelayMillis`, `pollDelayMultiplier`, `maxPollDelayMillis`,
and `totalPollTimeoutMillis`. The array can be passed as the $options argument to the
constructor when creating another OperationResponse object.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `array` |   |

### getLastProtoResponse

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/php/docs/reference/longrunning/latest/LongRunning.Operation.html|mixed|null` | The last Operation object received from the server. |

### getOperationsClient

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `object` | The OperationsClient object used to make requests to the operations API. |

### cancel

Cancel the long-running operation.

For operations of type Google\\LongRunning\\Operation, this method starts
asynchronous cancellation on a long-running operation. The server
makes a best effort to cancel the operation, but success is not
guaranteed. If the server doesn't support this method, it will throw an
ApiException with code \\Google\\Rpc\\Code::UNIMPLEMENTED. Clients can continue
to use reload and pollUntilComplete methods to check whether the cancellation
succeeded or whether the operation completed despite cancellation.
On successful cancellation, the operation is not deleted; instead, it becomes
an operation with a getError() value with a \\Google\\Rpc\\Status code of 1,
corresponding to \\Google\\Rpc\\Code::CANCELLED.

### delete

Delete the long-running operation.

For operations of type Google\\LongRunning\\Operation, this method
indicates that the client is no longer interested in the operation result.
It does not cancel the operation. If the server doesn't support this method,
it will throw an ApiException with code \\Google\\Rpc\\Code::UNIMPLEMENTED.

### getMetadata

Get the metadata returned with the last proto response. If a metadata type was provided, then
the return value will be of that type - otherwise, the return value will be of type Any. If
no metadata object is available, returns null.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `mixed` | The metadata returned from the server in the last response. |

## Constants

### DEFAULT_POLLING_INTERVAL

    Value: 1000

### DEFAULT_POLLING_MULTIPLIER

    Value: 2

### DEFAULT_MAX_POLLING_INTERVAL

    Value: 60000

### DEFAULT_MAX_POLLING_DURATION

    Value: 0