source: vendor/google/apiclient-services/src/RemoteBuildExecution/Resource/Blobs.php

Last change on this file was e3d4e0a, checked in by Vlado 222039 <vlado.popovski@…>, 12 days ago

Upload project files

  • Property mode set to 100644
File size: 8.7 KB
Line 
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\RemoteBuildExecution\Resource;
19
20use Google\Service\RemoteBuildExecution\BuildBazelRemoteExecutionV2BatchReadBlobsRequest;
21use Google\Service\RemoteBuildExecution\BuildBazelRemoteExecutionV2BatchReadBlobsResponse;
22use Google\Service\RemoteBuildExecution\BuildBazelRemoteExecutionV2BatchUpdateBlobsRequest;
23use Google\Service\RemoteBuildExecution\BuildBazelRemoteExecutionV2BatchUpdateBlobsResponse;
24use Google\Service\RemoteBuildExecution\BuildBazelRemoteExecutionV2FindMissingBlobsRequest;
25use Google\Service\RemoteBuildExecution\BuildBazelRemoteExecutionV2FindMissingBlobsResponse;
26use 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 */
36class 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.
158class_alias(Blobs::class, 'Google_Service_RemoteBuildExecution_Resource_Blobs');
Note: See TracBrowser for help on using the repository browser.