1<?php
2/*
3 * Copyright 2014 Google Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6 * use this file except in compliance with the License. You may obtain a copy of
7 * the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 */
17
18namespace Google\Service\Vault\Resource;
19
20use Google\Service\Vault\CancelOperationRequest;
21use Google\Service\Vault\ListOperationsResponse;
22use Google\Service\Vault\Operation;
23use Google\Service\Vault\VaultEmpty;
24
25/**
26 * The "operations" collection of methods.
27 * Typical usage is:
28 *  <code>
29 *   $vaultService = new Google\Service\Vault(...);
30 *   $operations = $vaultService->operations;
31 *  </code>
32 */
33class Operations extends \Google\Service\Resource
34{
35  /**
36   * Starts asynchronous cancellation on a long-running operation. The server
37   * makes a best effort to cancel the operation, but success is not guaranteed.
38   * If the server doesn't support this method, it returns
39   * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
40   * other methods to check whether the cancellation succeeded or whether the
41   * operation completed despite cancellation. On successful cancellation, the
42   * operation is not deleted; instead, it becomes an operation with an
43   * Operation.error value with a google.rpc.Status.code of 1, corresponding to
44   * `Code.CANCELLED`. (operations.cancel)
45   *
46   * @param string $name The name of the operation resource to be cancelled.
47   * @param CancelOperationRequest $postBody
48   * @param array $optParams Optional parameters.
49   * @return VaultEmpty
50   */
51  public function cancel($name, CancelOperationRequest $postBody, $optParams = [])
52  {
53    $params = ['name' => $name, 'postBody' => $postBody];
54    $params = array_merge($params, $optParams);
55    return $this->call('cancel', [$params], VaultEmpty::class);
56  }
57  /**
58   * Deletes a long-running operation. This method indicates that the client is no
59   * longer interested in the operation result. It does not cancel the operation.
60   * If the server doesn't support this method, it returns
61   * `google.rpc.Code.UNIMPLEMENTED`. (operations.delete)
62   *
63   * @param string $name The name of the operation resource to be deleted.
64   * @param array $optParams Optional parameters.
65   * @return VaultEmpty
66   */
67  public function delete($name, $optParams = [])
68  {
69    $params = ['name' => $name];
70    $params = array_merge($params, $optParams);
71    return $this->call('delete', [$params], VaultEmpty::class);
72  }
73  /**
74   * Gets the latest state of a long-running operation. Clients can use this
75   * method to poll the operation result at intervals as recommended by the API
76   * service. (operations.get)
77   *
78   * @param string $name The name of the operation resource.
79   * @param array $optParams Optional parameters.
80   * @return Operation
81   */
82  public function get($name, $optParams = [])
83  {
84    $params = ['name' => $name];
85    $params = array_merge($params, $optParams);
86    return $this->call('get', [$params], Operation::class);
87  }
88  /**
89   * Lists operations that match the specified filter in the request. If the
90   * server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the
91   * `name` binding allows API services to override the binding to use different
92   * resource name schemes, such as `users/operations`. To override the binding,
93   * API services can add a binding such as `"/v1/{name=users}/operations"` to
94   * their service configuration. For backwards compatibility, the default name
95   * includes the operations collection id, however overriding users must ensure
96   * the name binding is the parent resource, without the operations collection
97   * id. (operations.listOperations)
98   *
99   * @param string $name The name of the operation's parent resource.
100   * @param array $optParams Optional parameters.
101   *
102   * @opt_param string filter The standard list filter.
103   * @opt_param int pageSize The standard list page size.
104   * @opt_param string pageToken The standard list page token.
105   * @return ListOperationsResponse
106   */
107  public function listOperations($name, $optParams = [])
108  {
109    $params = ['name' => $name];
110    $params = array_merge($params, $optParams);
111    return $this->call('list', [$params], ListOperationsResponse::class);
112  }
113}
114
115// Adding a class alias for backwards compatibility with the previous class name.
116class_alias(Operations::class, 'Google_Service_Vault_Resource_Operations');
117