[e3d4e0a] | 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 |
|
---|
| 18 | namespace Google\Service\RemoteBuildExecution\Resource;
|
---|
| 19 |
|
---|
| 20 | use Google\Service\RemoteBuildExecution\BuildBazelRemoteExecutionV2BatchReadBlobsRequest;
|
---|
| 21 | use Google\Service\RemoteBuildExecution\BuildBazelRemoteExecutionV2BatchReadBlobsResponse;
|
---|
| 22 | use Google\Service\RemoteBuildExecution\BuildBazelRemoteExecutionV2BatchUpdateBlobsRequest;
|
---|
| 23 | use Google\Service\RemoteBuildExecution\BuildBazelRemoteExecutionV2BatchUpdateBlobsResponse;
|
---|
| 24 | use Google\Service\RemoteBuildExecution\BuildBazelRemoteExecutionV2FindMissingBlobsRequest;
|
---|
| 25 | use Google\Service\RemoteBuildExecution\BuildBazelRemoteExecutionV2FindMissingBlobsResponse;
|
---|
| 26 | use Google\Service\RemoteBuildExecution\BuildBazelRemoteExecutionV2GetTreeResponse;
|
---|
| 27 |
|
---|
| 28 | /**
|
---|
| 29 | * The "blobs" collection of methods.
|
---|
| 30 | * Typical usage is:
|
---|
| 31 | * <code>
|
---|
| 32 | * $remotebuildexecutionService = new Google\Service\RemoteBuildExecution(...);
|
---|
| 33 | * $blobs = $remotebuildexecutionService->blobs;
|
---|
| 34 | * </code>
|
---|
| 35 | */
|
---|
| 36 | class Blobs extends \Google\Service\Resource
|
---|
| 37 | {
|
---|
| 38 | /**
|
---|
| 39 | * Download many blobs at once. The server may enforce a limit of the combined
|
---|
| 40 | * total size of blobs to be downloaded using this API. This limit may be
|
---|
| 41 | * obtained using the Capabilities API. Requests exceeding the limit should
|
---|
| 42 | * either be split into smaller chunks or downloaded using the ByteStream API,
|
---|
| 43 | * as appropriate. This request is equivalent to calling a Bytestream `Read`
|
---|
| 44 | * request on each individual blob, in parallel. The requests may succeed or
|
---|
| 45 | * fail independently. Errors: * `INVALID_ARGUMENT`: The client attempted to
|
---|
| 46 | * read more than the server supported limit. Every error on individual read
|
---|
| 47 | * will be returned in the corresponding digest status. (blobs.batchRead)
|
---|
| 48 | *
|
---|
| 49 | * @param string $instanceName The instance of the execution system to operate
|
---|
| 50 | * against. A server may support multiple instances of the execution system
|
---|
| 51 | * (with their own workers, storage, caches, etc.). The server MAY require use
|
---|
| 52 | * of this field to select between them in an implementation-defined fashion,
|
---|
| 53 | * otherwise it can be omitted.
|
---|
| 54 | * @param BuildBazelRemoteExecutionV2BatchReadBlobsRequest $postBody
|
---|
| 55 | * @param array $optParams Optional parameters.
|
---|
| 56 | * @return BuildBazelRemoteExecutionV2BatchReadBlobsResponse
|
---|
| 57 | */
|
---|
| 58 | public function batchRead($instanceName, BuildBazelRemoteExecutionV2BatchReadBlobsRequest $postBody, $optParams = [])
|
---|
| 59 | {
|
---|
| 60 | $params = ['instanceName' => $instanceName, 'postBody' => $postBody];
|
---|
| 61 | $params = array_merge($params, $optParams);
|
---|
| 62 | return $this->call('batchRead', [$params], BuildBazelRemoteExecutionV2BatchReadBlobsResponse::class);
|
---|
| 63 | }
|
---|
| 64 | /**
|
---|
| 65 | * Upload many blobs at once. The server may enforce a limit of the combined
|
---|
| 66 | * total size of blobs to be uploaded using this API. This limit may be obtained
|
---|
| 67 | * using the Capabilities API. Requests exceeding the limit should either be
|
---|
| 68 | * split into smaller chunks or uploaded using the ByteStream API, as
|
---|
| 69 | * appropriate. This request is equivalent to calling a Bytestream `Write`
|
---|
| 70 | * request on each individual blob, in parallel. The requests may succeed or
|
---|
| 71 | * fail independently. Errors: * `INVALID_ARGUMENT`: The client attempted to
|
---|
| 72 | * upload more than the server supported limit. Individual requests may return
|
---|
| 73 | * the following errors, additionally: * `RESOURCE_EXHAUSTED`: There is
|
---|
| 74 | * insufficient disk quota to store the blob. * `INVALID_ARGUMENT`: The Digest
|
---|
| 75 | * does not match the provided data. (blobs.batchUpdate)
|
---|
| 76 | *
|
---|
| 77 | * @param string $instanceName The instance of the execution system to operate
|
---|
| 78 | * against. A server may support multiple instances of the execution system
|
---|
| 79 | * (with their own workers, storage, caches, etc.). The server MAY require use
|
---|
| 80 | * of this field to select between them in an implementation-defined fashion,
|
---|
| 81 | * otherwise it can be omitted.
|
---|
| 82 | * @param BuildBazelRemoteExecutionV2BatchUpdateBlobsRequest $postBody
|
---|
| 83 | * @param array $optParams Optional parameters.
|
---|
| 84 | * @return BuildBazelRemoteExecutionV2BatchUpdateBlobsResponse
|
---|
| 85 | */
|
---|
| 86 | public function batchUpdate($instanceName, BuildBazelRemoteExecutionV2BatchUpdateBlobsRequest $postBody, $optParams = [])
|
---|
| 87 | {
|
---|
| 88 | $params = ['instanceName' => $instanceName, 'postBody' => $postBody];
|
---|
| 89 | $params = array_merge($params, $optParams);
|
---|
| 90 | return $this->call('batchUpdate', [$params], BuildBazelRemoteExecutionV2BatchUpdateBlobsResponse::class);
|
---|
| 91 | }
|
---|
| 92 | /**
|
---|
| 93 | * Determine if blobs are present in the CAS. Clients can use this API before
|
---|
| 94 | * uploading blobs to determine which ones are already present in the CAS and do
|
---|
| 95 | * not need to be uploaded again. Servers SHOULD increase the lifetimes of the
|
---|
| 96 | * referenced blobs if necessary and applicable. There are no method-specific
|
---|
| 97 | * errors. (blobs.findMissing)
|
---|
| 98 | *
|
---|
| 99 | * @param string $instanceName The instance of the execution system to operate
|
---|
| 100 | * against. A server may support multiple instances of the execution system
|
---|
| 101 | * (with their own workers, storage, caches, etc.). The server MAY require use
|
---|
| 102 | * of this field to select between them in an implementation-defined fashion,
|
---|
| 103 | * otherwise it can be omitted.
|
---|
| 104 | * @param BuildBazelRemoteExecutionV2FindMissingBlobsRequest $postBody
|
---|
| 105 | * @param array $optParams Optional parameters.
|
---|
| 106 | * @return BuildBazelRemoteExecutionV2FindMissingBlobsResponse
|
---|
| 107 | */
|
---|
| 108 | public function findMissing($instanceName, BuildBazelRemoteExecutionV2FindMissingBlobsRequest $postBody, $optParams = [])
|
---|
| 109 | {
|
---|
| 110 | $params = ['instanceName' => $instanceName, 'postBody' => $postBody];
|
---|
| 111 | $params = array_merge($params, $optParams);
|
---|
| 112 | return $this->call('findMissing', [$params], BuildBazelRemoteExecutionV2FindMissingBlobsResponse::class);
|
---|
| 113 | }
|
---|
| 114 | /**
|
---|
| 115 | * Fetch the entire directory tree rooted at a node. This request must be
|
---|
| 116 | * targeted at a Directory stored in the ContentAddressableStorage (CAS). The
|
---|
| 117 | * server will enumerate the `Directory` tree recursively and return every node
|
---|
| 118 | * descended from the root. The GetTreeRequest.page_token parameter can be used
|
---|
| 119 | * to skip ahead in the stream (e.g. when retrying a partially completed and
|
---|
| 120 | * aborted request), by setting it to a value taken from
|
---|
| 121 | * GetTreeResponse.next_page_token of the last successfully processed
|
---|
| 122 | * GetTreeResponse). The exact traversal order is unspecified and, unless
|
---|
| 123 | * retrieving subsequent pages from an earlier request, is not guaranteed to be
|
---|
| 124 | * stable across multiple invocations of `GetTree`. If part of the tree is
|
---|
| 125 | * missing from the CAS, the server will return the portion present and omit the
|
---|
| 126 | * rest. Errors: * `NOT_FOUND`: The requested tree root is not present in the
|
---|
| 127 | * CAS. (blobs.getTree)
|
---|
| 128 | *
|
---|
| 129 | * @param string $instanceName The instance of the execution system to operate
|
---|
| 130 | * against. A server may support multiple instances of the execution system
|
---|
| 131 | * (with their own workers, storage, caches, etc.). The server MAY require use
|
---|
| 132 | * of this field to select between them in an implementation-defined fashion,
|
---|
| 133 | * otherwise it can be omitted.
|
---|
| 134 | * @param string $hash The hash. In the case of SHA-256, it will always be a
|
---|
| 135 | * lowercase hex string exactly 64 characters long.
|
---|
| 136 | * @param string $sizeBytes The size of the blob, in bytes.
|
---|
| 137 | * @param array $optParams Optional parameters.
|
---|
| 138 | *
|
---|
| 139 | * @opt_param int pageSize A maximum page size to request. If present, the
|
---|
| 140 | * server will request no more than this many items. Regardless of whether a
|
---|
| 141 | * page size is specified, the server may place its own limit on the number of
|
---|
| 142 | * items to be returned and require the client to retrieve more items using a
|
---|
| 143 | * subsequent request.
|
---|
| 144 | * @opt_param string pageToken A page token, which must be a value received in a
|
---|
| 145 | * previous GetTreeResponse. If present, the server will use that token as an
|
---|
| 146 | * offset, returning only that page and the ones that succeed it.
|
---|
| 147 | * @return BuildBazelRemoteExecutionV2GetTreeResponse
|
---|
| 148 | */
|
---|
| 149 | public function getTree($instanceName, $hash, $sizeBytes, $optParams = [])
|
---|
| 150 | {
|
---|
| 151 | $params = ['instanceName' => $instanceName, 'hash' => $hash, 'sizeBytes' => $sizeBytes];
|
---|
| 152 | $params = array_merge($params, $optParams);
|
---|
| 153 | return $this->call('getTree', [$params], BuildBazelRemoteExecutionV2GetTreeResponse::class);
|
---|
| 154 | }
|
---|
| 155 | }
|
---|
| 156 |
|
---|
| 157 | // Adding a class alias for backwards compatibility with the previous class name.
|
---|
| 158 | class_alias(Blobs::class, 'Google_Service_RemoteBuildExecution_Resource_Blobs');
|
---|