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');
|
---|