lroConnection = $lroConnection; $this->lroCallables = $lroCallables; $this->lroResource = $resource; } /** * Resume a Long Running Operation * * @param string $operationName The Long Running Operation name. * @param array $info [optional] The operation data. * @return LongRunningOperation */ public function resumeOperation($operationName, array $info = []) { return new \DeliciousBrains\WP_Offload_Media\Gcp\Google\Cloud\Core\LongRunning\LongRunningOperation($this->lroConnection, $operationName, $this->lroCallables, $info); } /** * List long running operations. * * @param array $options [optional] { * Configuration Options. * * @type string $name The name of the operation collection. * @type string $filter The standard list filter. * @type int $pageSize Maximum number of results to return per * request. * @type int $resultLimit Limit the number of results returned in total. * **Defaults to** `0` (return all results). * @type string $pageToken A previously-returned page token used to * resume the loading of results from a specific point. * } * @return ItemIterator */ public function longRunningOperations(array $options = []) { if (is_null($this->lroResource)) { throw new \BadMethodCallException('This service does list support listing operations.'); } $resultLimit = $this->pluck('resultLimit', $options, false) ?: 0; $options['name'] = $this->lroResource . '/operations'; return new \DeliciousBrains\WP_Offload_Media\Gcp\Google\Cloud\Core\Iterator\ItemIterator(new \DeliciousBrains\WP_Offload_Media\Gcp\Google\Cloud\Core\Iterator\PageIterator(function (array $operation) { return $this->resumeOperation($operation['name'], $operation); }, [$this->lroConnection, 'operations'], $options, ['itemsKey' => 'operations', 'resultLimit' => $resultLimit])); } }