Kubernetes Engine API C++ Client 2.13.0
A C++ Client Library for the Kubernetes Engine API
Loading...
Searching...
No Matches
cluster_manager_client.h
1// Copyright 2022 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// https://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Generated by the Codegen C++ plugin.
16// If you make any local changes, they will be lost.
17// source: google/container/v1/cluster_service.proto
18
19#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_CONTAINER_V1_CLUSTER_MANAGER_CLIENT_H
20#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_CONTAINER_V1_CLUSTER_MANAGER_CLIENT_H
21
22#include "google/cloud/container/v1/cluster_manager_connection.h"
23#include "google/cloud/future.h"
24#include "google/cloud/options.h"
25#include "google/cloud/polling_policy.h"
26#include "google/cloud/status_or.h"
27#include "google/cloud/version.h"
28#include <map>
29#include <memory>
30
31namespace google {
32namespace cloud {
33namespace container_v1 {
34GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN
35
36///
37/// Google Kubernetes Engine Cluster Manager v1
38///
39/// @par Equality
40///
41/// Instances of this class created via copy-construction or copy-assignment
42/// always compare equal. Instances created with equal
43/// `std::shared_ptr<*Connection>` objects compare equal. Objects that compare
44/// equal share the same underlying resources.
45///
46/// @par Performance
47///
48/// Creating a new instance of this class is a relatively expensive operation,
49/// new objects establish new connections to the service. In contrast,
50/// copy-construction, move-construction, and the corresponding assignment
51/// operations are relatively efficient as the copies share all underlying
52/// resources.
53///
54/// @par Thread Safety
55///
56/// Concurrent access to different instances of this class, even if they compare
57/// equal, is guaranteed to work. Two or more threads operating on the same
58/// instance of this class is not guaranteed to work. Since copy-construction
59/// and move-construction is a relatively efficient operation, consider using
60/// such a copy when using this class from multiple threads.
61///
63 public:
64 explicit ClusterManagerClient(
65 std::shared_ptr<ClusterManagerConnection> connection, Options opts = {});
67
68 ///@{
69 /// @name Copy and move support
74 ///@}
75
76 ///@{
77 /// @name Equality
78 friend bool operator==(ClusterManagerClient const& a,
79 ClusterManagerClient const& b) {
80 return a.connection_ == b.connection_;
81 }
82 friend bool operator!=(ClusterManagerClient const& a,
83 ClusterManagerClient const& b) {
84 return !(a == b);
85 }
86 ///@}
87
88 // clang-format off
89 ///
90 /// Lists all clusters owned by a project in either the specified zone or all
91 /// zones.
92 ///
93 /// @param parent The parent (project and location) where the clusters will be listed.
94 /// Specified in the format `projects/*/locations/*`.
95 /// Location "-" matches all zones and all regions.
96 /// @param opts Optional. Override the class-level options, such as retry and
97 /// backoff policies.
98 /// @return the result of the RPC. The response message type
99 /// ([google.container.v1.ListClustersResponse])
100 /// is mapped to a C++ class using the [Protobuf mapping rules].
101 /// If the request fails, the [`StatusOr`] contains the error details.
102 ///
103 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
104 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
105 /// [Long Running Operation]: https://google.aip.dev/151
106 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
107 /// [`future`]: @ref google::cloud::future
108 /// [`StatusOr`]: @ref google::cloud::StatusOr
109 /// [`Status`]: @ref google::cloud::Status
110 /// [google.container.v1.ListClustersRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2899}
111 /// [google.container.v1.ListClustersResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2918}
112 ///
113 // clang-format on
114 StatusOr<google::container::v1::ListClustersResponse> ListClusters(
115 std::string const& parent, Options opts = {});
116
117 // clang-format off
118 ///
119 /// Lists all clusters owned by a project in either the specified zone or all
120 /// zones.
121 ///
122 /// @param request Unary RPCs, such as the one wrapped by this
123 /// function, receive a single `request` proto message which includes all
124 /// the inputs for the RPC. In this case, the proto message is a
125 /// [google.container.v1.ListClustersRequest].
126 /// Proto messages are converted to C++ classes by Protobuf, using the
127 /// [Protobuf mapping rules].
128 /// @param opts Optional. Override the class-level options, such as retry and
129 /// backoff policies.
130 /// @return the result of the RPC. The response message type
131 /// ([google.container.v1.ListClustersResponse])
132 /// is mapped to a C++ class using the [Protobuf mapping rules].
133 /// If the request fails, the [`StatusOr`] contains the error details.
134 ///
135 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
136 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
137 /// [Long Running Operation]: https://google.aip.dev/151
138 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
139 /// [`future`]: @ref google::cloud::future
140 /// [`StatusOr`]: @ref google::cloud::StatusOr
141 /// [`Status`]: @ref google::cloud::Status
142 /// [google.container.v1.ListClustersRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2899}
143 /// [google.container.v1.ListClustersResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2918}
144 ///
145 // clang-format on
146 StatusOr<google::container::v1::ListClustersResponse> ListClusters(
147 google::container::v1::ListClustersRequest const& request,
148 Options opts = {});
149
150 // clang-format off
151 ///
152 /// Gets the details of a specific cluster.
153 ///
154 /// @param name The name (project, location, cluster) of the cluster to retrieve.
155 /// Specified in the format `projects/*/locations/*/clusters/*`.
156 /// @param opts Optional. Override the class-level options, such as retry and
157 /// backoff policies.
158 /// @return the result of the RPC. The response message type
159 /// ([google.container.v1.Cluster])
160 /// is mapped to a C++ class using the [Protobuf mapping rules].
161 /// If the request fails, the [`StatusOr`] contains the error details.
162 ///
163 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
164 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
165 /// [Long Running Operation]: https://google.aip.dev/151
166 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
167 /// [`future`]: @ref google::cloud::future
168 /// [`StatusOr`]: @ref google::cloud::StatusOr
169 /// [`Status`]: @ref google::cloud::Status
170 /// [google.container.v1.Cluster]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L1561}
171 /// [google.container.v1.GetClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2483}
172 ///
173 // clang-format on
174 StatusOr<google::container::v1::Cluster> GetCluster(std::string const& name,
175 Options opts = {});
176
177 // clang-format off
178 ///
179 /// Gets the details of a specific cluster.
180 ///
181 /// @param request Unary RPCs, such as the one wrapped by this
182 /// function, receive a single `request` proto message which includes all
183 /// the inputs for the RPC. In this case, the proto message is a
184 /// [google.container.v1.GetClusterRequest].
185 /// Proto messages are converted to C++ classes by Protobuf, using the
186 /// [Protobuf mapping rules].
187 /// @param opts Optional. Override the class-level options, such as retry and
188 /// backoff policies.
189 /// @return the result of the RPC. The response message type
190 /// ([google.container.v1.Cluster])
191 /// is mapped to a C++ class using the [Protobuf mapping rules].
192 /// If the request fails, the [`StatusOr`] contains the error details.
193 ///
194 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
195 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
196 /// [Long Running Operation]: https://google.aip.dev/151
197 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
198 /// [`future`]: @ref google::cloud::future
199 /// [`StatusOr`]: @ref google::cloud::StatusOr
200 /// [`Status`]: @ref google::cloud::Status
201 /// [google.container.v1.Cluster]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L1561}
202 /// [google.container.v1.GetClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2483}
203 ///
204 // clang-format on
205 StatusOr<google::container::v1::Cluster> GetCluster(
206 google::container::v1::GetClusterRequest const& request,
207 Options opts = {});
208
209 // clang-format off
210 ///
211 /// Creates a cluster, consisting of the specified number and type of Google
212 /// Compute Engine instances.
213 ///
214 /// By default, the cluster is created in the project's
215 /// [default
216 /// network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).
217 ///
218 /// One firewall is added for the cluster. After cluster creation,
219 /// the Kubelet creates routes for each node to allow the containers
220 /// on that node to communicate with all other instances in the
221 /// cluster.
222 ///
223 /// Finally, an entry is added to the project's global metadata indicating
224 /// which CIDR range the cluster is using.
225 ///
226 /// @param parent The parent (project and location) where the cluster will be created.
227 /// Specified in the format `projects/*/locations/*`.
228 /// @param cluster Required. A [cluster
229 /// resource](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters)
230 /// @param opts Optional. Override the class-level options, such as retry and
231 /// backoff policies.
232 /// @return the result of the RPC. The response message type
233 /// ([google.container.v1.Operation])
234 /// is mapped to a C++ class using the [Protobuf mapping rules].
235 /// If the request fails, the [`StatusOr`] contains the error details.
236 ///
237 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
238 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
239 /// [Long Running Operation]: https://google.aip.dev/151
240 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
241 /// [`future`]: @ref google::cloud::future
242 /// [`StatusOr`]: @ref google::cloud::StatusOr
243 /// [`Status`]: @ref google::cloud::Status
244 /// [google.container.v1.CreateClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2461}
245 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
246 ///
247 // clang-format on
248 StatusOr<google::container::v1::Operation> CreateCluster(
249 std::string const& parent, google::container::v1::Cluster const& cluster,
250 Options opts = {});
251
252 // clang-format off
253 ///
254 /// Creates a cluster, consisting of the specified number and type of Google
255 /// Compute Engine instances.
256 ///
257 /// By default, the cluster is created in the project's
258 /// [default
259 /// network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).
260 ///
261 /// One firewall is added for the cluster. After cluster creation,
262 /// the Kubelet creates routes for each node to allow the containers
263 /// on that node to communicate with all other instances in the
264 /// cluster.
265 ///
266 /// Finally, an entry is added to the project's global metadata indicating
267 /// which CIDR range the cluster is using.
268 ///
269 /// @param request Unary RPCs, such as the one wrapped by this
270 /// function, receive a single `request` proto message which includes all
271 /// the inputs for the RPC. In this case, the proto message is a
272 /// [google.container.v1.CreateClusterRequest].
273 /// Proto messages are converted to C++ classes by Protobuf, using the
274 /// [Protobuf mapping rules].
275 /// @param opts Optional. Override the class-level options, such as retry and
276 /// backoff policies.
277 /// @return the result of the RPC. The response message type
278 /// ([google.container.v1.Operation])
279 /// is mapped to a C++ class using the [Protobuf mapping rules].
280 /// If the request fails, the [`StatusOr`] contains the error details.
281 ///
282 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
283 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
284 /// [Long Running Operation]: https://google.aip.dev/151
285 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
286 /// [`future`]: @ref google::cloud::future
287 /// [`StatusOr`]: @ref google::cloud::StatusOr
288 /// [`Status`]: @ref google::cloud::Status
289 /// [google.container.v1.CreateClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2461}
290 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
291 ///
292 // clang-format on
293 StatusOr<google::container::v1::Operation> CreateCluster(
294 google::container::v1::CreateClusterRequest const& request,
295 Options opts = {});
296
297 // clang-format off
298 ///
299 /// Updates the settings of a specific cluster.
300 ///
301 /// @param name The name (project, location, cluster) of the cluster to update.
302 /// Specified in the format `projects/*/locations/*/clusters/*`.
303 /// @param update Required. A description of the update.
304 /// @param opts Optional. Override the class-level options, such as retry and
305 /// backoff policies.
306 /// @return the result of the RPC. The response message type
307 /// ([google.container.v1.Operation])
308 /// is mapped to a C++ class using the [Protobuf mapping rules].
309 /// If the request fails, the [`StatusOr`] contains the error details.
310 ///
311 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
312 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
313 /// [Long Running Operation]: https://google.aip.dev/151
314 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
315 /// [`future`]: @ref google::cloud::future
316 /// [`StatusOr`]: @ref google::cloud::StatusOr
317 /// [`Status`]: @ref google::cloud::Status
318 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
319 /// [google.container.v1.UpdateClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2505}
320 ///
321 // clang-format on
322 StatusOr<google::container::v1::Operation> UpdateCluster(
323 std::string const& name,
324 google::container::v1::ClusterUpdate const& update, Options opts = {});
325
326 // clang-format off
327 ///
328 /// Updates the settings of a specific cluster.
329 ///
330 /// @param request Unary RPCs, such as the one wrapped by this
331 /// function, receive a single `request` proto message which includes all
332 /// the inputs for the RPC. In this case, the proto message is a
333 /// [google.container.v1.UpdateClusterRequest].
334 /// Proto messages are converted to C++ classes by Protobuf, using the
335 /// [Protobuf mapping rules].
336 /// @param opts Optional. Override the class-level options, such as retry and
337 /// backoff policies.
338 /// @return the result of the RPC. The response message type
339 /// ([google.container.v1.Operation])
340 /// is mapped to a C++ class using the [Protobuf mapping rules].
341 /// If the request fails, the [`StatusOr`] contains the error details.
342 ///
343 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
344 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
345 /// [Long Running Operation]: https://google.aip.dev/151
346 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
347 /// [`future`]: @ref google::cloud::future
348 /// [`StatusOr`]: @ref google::cloud::StatusOr
349 /// [`Status`]: @ref google::cloud::Status
350 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
351 /// [google.container.v1.UpdateClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2505}
352 ///
353 // clang-format on
354 StatusOr<google::container::v1::Operation> UpdateCluster(
355 google::container::v1::UpdateClusterRequest const& request,
356 Options opts = {});
357
358 // clang-format off
359 ///
360 /// Updates the version and/or image type for the specified node pool.
361 ///
362 /// @param request Unary RPCs, such as the one wrapped by this
363 /// function, receive a single `request` proto message which includes all
364 /// the inputs for the RPC. In this case, the proto message is a
365 /// [google.container.v1.UpdateNodePoolRequest].
366 /// Proto messages are converted to C++ classes by Protobuf, using the
367 /// [Protobuf mapping rules].
368 /// @param opts Optional. Override the class-level options, such as retry and
369 /// backoff policies.
370 /// @return the result of the RPC. The response message type
371 /// ([google.container.v1.Operation])
372 /// is mapped to a C++ class using the [Protobuf mapping rules].
373 /// If the request fails, the [`StatusOr`] contains the error details.
374 ///
375 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
376 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
377 /// [Long Running Operation]: https://google.aip.dev/151
378 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
379 /// [`future`]: @ref google::cloud::future
380 /// [`StatusOr`]: @ref google::cloud::StatusOr
381 /// [`Status`]: @ref google::cloud::Status
382 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
383 /// [google.container.v1.UpdateNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2530}
384 ///
385 // clang-format on
386 StatusOr<google::container::v1::Operation> UpdateNodePool(
387 google::container::v1::UpdateNodePoolRequest const& request,
388 Options opts = {});
389
390 // clang-format off
391 ///
392 /// Sets the autoscaling settings for the specified node pool.
393 ///
394 /// @param request Unary RPCs, such as the one wrapped by this
395 /// function, receive a single `request` proto message which includes all
396 /// the inputs for the RPC. In this case, the proto message is a
397 /// [google.container.v1.SetNodePoolAutoscalingRequest].
398 /// Proto messages are converted to C++ classes by Protobuf, using the
399 /// [Protobuf mapping rules].
400 /// @param opts Optional. Override the class-level options, such as retry and
401 /// backoff policies.
402 /// @return the result of the RPC. The response message type
403 /// ([google.container.v1.Operation])
404 /// is mapped to a C++ class using the [Protobuf mapping rules].
405 /// If the request fails, the [`StatusOr`] contains the error details.
406 ///
407 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
408 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
409 /// [Long Running Operation]: https://google.aip.dev/151
410 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
411 /// [`future`]: @ref google::cloud::future
412 /// [`StatusOr`]: @ref google::cloud::StatusOr
413 /// [`Status`]: @ref google::cloud::Status
414 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
415 /// [google.container.v1.SetNodePoolAutoscalingRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2640}
416 ///
417 // clang-format on
418 StatusOr<google::container::v1::Operation> SetNodePoolAutoscaling(
419 google::container::v1::SetNodePoolAutoscalingRequest const& request,
420 Options opts = {});
421
422 // clang-format off
423 ///
424 /// Sets the logging service for a specific cluster.
425 ///
426 /// @param name The name (project, location, cluster) of the cluster to set logging.
427 /// Specified in the format `projects/*/locations/*/clusters/*`.
428 /// @param logging_service Required. The logging service the cluster should use to write logs.
429 /// Currently available options:
430 /// @n
431 /// * `logging.googleapis.com/kubernetes` - The Cloud Logging
432 /// service with a Kubernetes-native resource model
433 /// * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
434 /// available as of GKE 1.15).
435 /// * `none` - no logs will be exported from the cluster.
436 /// @n
437 /// If left as an empty string,`logging.googleapis.com/kubernetes` will be
438 /// used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
439 /// @param opts Optional. Override the class-level options, such as retry and
440 /// backoff policies.
441 /// @return the result of the RPC. The response message type
442 /// ([google.container.v1.Operation])
443 /// is mapped to a C++ class using the [Protobuf mapping rules].
444 /// If the request fails, the [`StatusOr`] contains the error details.
445 ///
446 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
447 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
448 /// [Long Running Operation]: https://google.aip.dev/151
449 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
450 /// [`future`]: @ref google::cloud::future
451 /// [`StatusOr`]: @ref google::cloud::StatusOr
452 /// [`Status`]: @ref google::cloud::Status
453 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
454 /// [google.container.v1.SetLoggingServiceRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2670}
455 ///
456 // clang-format on
457 StatusOr<google::container::v1::Operation> SetLoggingService(
458 std::string const& name, std::string const& logging_service,
459 Options opts = {});
460
461 // clang-format off
462 ///
463 /// Sets the logging service for a specific cluster.
464 ///
465 /// @param request Unary RPCs, such as the one wrapped by this
466 /// function, receive a single `request` proto message which includes all
467 /// the inputs for the RPC. In this case, the proto message is a
468 /// [google.container.v1.SetLoggingServiceRequest].
469 /// Proto messages are converted to C++ classes by Protobuf, using the
470 /// [Protobuf mapping rules].
471 /// @param opts Optional. Override the class-level options, such as retry and
472 /// backoff policies.
473 /// @return the result of the RPC. The response message type
474 /// ([google.container.v1.Operation])
475 /// is mapped to a C++ class using the [Protobuf mapping rules].
476 /// If the request fails, the [`StatusOr`] contains the error details.
477 ///
478 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
479 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
480 /// [Long Running Operation]: https://google.aip.dev/151
481 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
482 /// [`future`]: @ref google::cloud::future
483 /// [`StatusOr`]: @ref google::cloud::StatusOr
484 /// [`Status`]: @ref google::cloud::Status
485 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
486 /// [google.container.v1.SetLoggingServiceRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2670}
487 ///
488 // clang-format on
489 StatusOr<google::container::v1::Operation> SetLoggingService(
490 google::container::v1::SetLoggingServiceRequest const& request,
491 Options opts = {});
492
493 // clang-format off
494 ///
495 /// Sets the monitoring service for a specific cluster.
496 ///
497 /// @param name The name (project, location, cluster) of the cluster to set monitoring.
498 /// Specified in the format `projects/*/locations/*/clusters/*`.
499 /// @param monitoring_service Required. The monitoring service the cluster should use to write metrics.
500 /// Currently available options:
501 /// @n
502 /// * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring
503 /// service with a Kubernetes-native resource model
504 /// * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
505 /// longer available as of GKE 1.15).
506 /// * `none` - No metrics will be exported from the cluster.
507 /// @n
508 /// If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
509 /// used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
510 /// @param opts Optional. Override the class-level options, such as retry and
511 /// backoff policies.
512 /// @return the result of the RPC. The response message type
513 /// ([google.container.v1.Operation])
514 /// is mapped to a C++ class using the [Protobuf mapping rules].
515 /// If the request fails, the [`StatusOr`] contains the error details.
516 ///
517 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
518 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
519 /// [Long Running Operation]: https://google.aip.dev/151
520 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
521 /// [`future`]: @ref google::cloud::future
522 /// [`StatusOr`]: @ref google::cloud::StatusOr
523 /// [`Status`]: @ref google::cloud::Status
524 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
525 /// [google.container.v1.SetMonitoringServiceRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2705}
526 ///
527 // clang-format on
528 StatusOr<google::container::v1::Operation> SetMonitoringService(
529 std::string const& name, std::string const& monitoring_service,
530 Options opts = {});
531
532 // clang-format off
533 ///
534 /// Sets the monitoring service for a specific cluster.
535 ///
536 /// @param request Unary RPCs, such as the one wrapped by this
537 /// function, receive a single `request` proto message which includes all
538 /// the inputs for the RPC. In this case, the proto message is a
539 /// [google.container.v1.SetMonitoringServiceRequest].
540 /// Proto messages are converted to C++ classes by Protobuf, using the
541 /// [Protobuf mapping rules].
542 /// @param opts Optional. Override the class-level options, such as retry and
543 /// backoff policies.
544 /// @return the result of the RPC. The response message type
545 /// ([google.container.v1.Operation])
546 /// is mapped to a C++ class using the [Protobuf mapping rules].
547 /// If the request fails, the [`StatusOr`] contains the error details.
548 ///
549 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
550 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
551 /// [Long Running Operation]: https://google.aip.dev/151
552 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
553 /// [`future`]: @ref google::cloud::future
554 /// [`StatusOr`]: @ref google::cloud::StatusOr
555 /// [`Status`]: @ref google::cloud::Status
556 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
557 /// [google.container.v1.SetMonitoringServiceRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2705}
558 ///
559 // clang-format on
560 StatusOr<google::container::v1::Operation> SetMonitoringService(
561 google::container::v1::SetMonitoringServiceRequest const& request,
562 Options opts = {});
563
564 // clang-format off
565 ///
566 /// Sets the addons for a specific cluster.
567 ///
568 /// @param name The name (project, location, cluster) of the cluster to set addons.
569 /// Specified in the format `projects/*/locations/*/clusters/*`.
570 /// @param addons_config Required. The desired configurations for the various addons available to
571 /// run in the cluster.
572 /// @param opts Optional. Override the class-level options, such as retry and
573 /// backoff policies.
574 /// @return the result of the RPC. The response message type
575 /// ([google.container.v1.Operation])
576 /// is mapped to a C++ class using the [Protobuf mapping rules].
577 /// If the request fails, the [`StatusOr`] contains the error details.
578 ///
579 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
580 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
581 /// [Long Running Operation]: https://google.aip.dev/151
582 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
583 /// [`future`]: @ref google::cloud::future
584 /// [`StatusOr`]: @ref google::cloud::StatusOr
585 /// [`Status`]: @ref google::cloud::Status
586 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
587 /// [google.container.v1.SetAddonsConfigRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2740}
588 ///
589 // clang-format on
590 StatusOr<google::container::v1::Operation> SetAddonsConfig(
591 std::string const& name,
592 google::container::v1::AddonsConfig const& addons_config,
593 Options opts = {});
594
595 // clang-format off
596 ///
597 /// Sets the addons for a specific cluster.
598 ///
599 /// @param request Unary RPCs, such as the one wrapped by this
600 /// function, receive a single `request` proto message which includes all
601 /// the inputs for the RPC. In this case, the proto message is a
602 /// [google.container.v1.SetAddonsConfigRequest].
603 /// Proto messages are converted to C++ classes by Protobuf, using the
604 /// [Protobuf mapping rules].
605 /// @param opts Optional. Override the class-level options, such as retry and
606 /// backoff policies.
607 /// @return the result of the RPC. The response message type
608 /// ([google.container.v1.Operation])
609 /// is mapped to a C++ class using the [Protobuf mapping rules].
610 /// If the request fails, the [`StatusOr`] contains the error details.
611 ///
612 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
613 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
614 /// [Long Running Operation]: https://google.aip.dev/151
615 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
616 /// [`future`]: @ref google::cloud::future
617 /// [`StatusOr`]: @ref google::cloud::StatusOr
618 /// [`Status`]: @ref google::cloud::Status
619 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
620 /// [google.container.v1.SetAddonsConfigRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2740}
621 ///
622 // clang-format on
623 StatusOr<google::container::v1::Operation> SetAddonsConfig(
624 google::container::v1::SetAddonsConfigRequest const& request,
625 Options opts = {});
626
627 // clang-format off
628 ///
629 /// Sets the locations for a specific cluster.
630 /// Deprecated. Use
631 /// [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/update)
632 /// instead.
633 ///
634 /// @param name The name (project, location, cluster) of the cluster to set locations.
635 /// Specified in the format `projects/*/locations/*/clusters/*`.
636 /// @param locations Required. The desired list of Google Compute Engine
637 /// [zones](https://cloud.google.com/compute/docs/zones#available) in which the
638 /// cluster's nodes should be located. Changing the locations a cluster is in
639 /// will result in nodes being either created or removed from the cluster,
640 /// depending on whether locations are being added or removed.
641 /// @n
642 /// This list must always include the cluster's primary zone.
643 /// @param opts Optional. Override the class-level options, such as retry and
644 /// backoff policies.
645 /// @return the result of the RPC. The response message type
646 /// ([google.container.v1.Operation])
647 /// is mapped to a C++ class using the [Protobuf mapping rules].
648 /// If the request fails, the [`StatusOr`] contains the error details.
649 ///
650 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
651 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
652 /// [Long Running Operation]: https://google.aip.dev/151
653 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
654 /// [`future`]: @ref google::cloud::future
655 /// [`StatusOr`]: @ref google::cloud::StatusOr
656 /// [`Status`]: @ref google::cloud::Status
657 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
658 /// [google.container.v1.SetLocationsRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2766}
659 ///
660 // clang-format on
661 StatusOr<google::container::v1::Operation> SetLocations(
662 std::string const& name, std::vector<std::string> const& locations,
663 Options opts = {});
664
665 // clang-format off
666 ///
667 /// Sets the locations for a specific cluster.
668 /// Deprecated. Use
669 /// [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/update)
670 /// instead.
671 ///
672 /// @param request Unary RPCs, such as the one wrapped by this
673 /// function, receive a single `request` proto message which includes all
674 /// the inputs for the RPC. In this case, the proto message is a
675 /// [google.container.v1.SetLocationsRequest].
676 /// Proto messages are converted to C++ classes by Protobuf, using the
677 /// [Protobuf mapping rules].
678 /// @param opts Optional. Override the class-level options, such as retry and
679 /// backoff policies.
680 /// @return the result of the RPC. The response message type
681 /// ([google.container.v1.Operation])
682 /// is mapped to a C++ class using the [Protobuf mapping rules].
683 /// If the request fails, the [`StatusOr`] contains the error details.
684 ///
685 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
686 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
687 /// [Long Running Operation]: https://google.aip.dev/151
688 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
689 /// [`future`]: @ref google::cloud::future
690 /// [`StatusOr`]: @ref google::cloud::StatusOr
691 /// [`Status`]: @ref google::cloud::Status
692 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
693 /// [google.container.v1.SetLocationsRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2766}
694 ///
695 // clang-format on
696 StatusOr<google::container::v1::Operation> SetLocations(
697 google::container::v1::SetLocationsRequest const& request,
698 Options opts = {});
699
700 // clang-format off
701 ///
702 /// Updates the master for a specific cluster.
703 ///
704 /// @param name The name (project, location, cluster) of the cluster to update.
705 /// Specified in the format `projects/*/locations/*/clusters/*`.
706 /// @param master_version Required. The Kubernetes version to change the master to.
707 /// @n
708 /// Users may specify either explicit versions offered by Kubernetes Engine or
709 /// version aliases, which have the following behavior:
710 /// @n
711 /// - "latest": picks the highest valid Kubernetes version
712 /// - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
713 /// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
714 /// - "1.X.Y-gke.N": picks an explicit Kubernetes version
715 /// - "-": picks the default Kubernetes version
716 /// @param opts Optional. Override the class-level options, such as retry and
717 /// backoff policies.
718 /// @return the result of the RPC. The response message type
719 /// ([google.container.v1.Operation])
720 /// is mapped to a C++ class using the [Protobuf mapping rules].
721 /// If the request fails, the [`StatusOr`] contains the error details.
722 ///
723 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
724 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
725 /// [Long Running Operation]: https://google.aip.dev/151
726 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
727 /// [`future`]: @ref google::cloud::future
728 /// [`StatusOr`]: @ref google::cloud::StatusOr
729 /// [`Status`]: @ref google::cloud::Status
730 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
731 /// [google.container.v1.UpdateMasterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2797}
732 ///
733 // clang-format on
734 StatusOr<google::container::v1::Operation> UpdateMaster(
735 std::string const& name, std::string const& master_version,
736 Options opts = {});
737
738 // clang-format off
739 ///
740 /// Updates the master for a specific cluster.
741 ///
742 /// @param request Unary RPCs, such as the one wrapped by this
743 /// function, receive a single `request` proto message which includes all
744 /// the inputs for the RPC. In this case, the proto message is a
745 /// [google.container.v1.UpdateMasterRequest].
746 /// Proto messages are converted to C++ classes by Protobuf, using the
747 /// [Protobuf mapping rules].
748 /// @param opts Optional. Override the class-level options, such as retry and
749 /// backoff policies.
750 /// @return the result of the RPC. The response message type
751 /// ([google.container.v1.Operation])
752 /// is mapped to a C++ class using the [Protobuf mapping rules].
753 /// If the request fails, the [`StatusOr`] contains the error details.
754 ///
755 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
756 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
757 /// [Long Running Operation]: https://google.aip.dev/151
758 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
759 /// [`future`]: @ref google::cloud::future
760 /// [`StatusOr`]: @ref google::cloud::StatusOr
761 /// [`Status`]: @ref google::cloud::Status
762 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
763 /// [google.container.v1.UpdateMasterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2797}
764 ///
765 // clang-format on
766 StatusOr<google::container::v1::Operation> UpdateMaster(
767 google::container::v1::UpdateMasterRequest const& request,
768 Options opts = {});
769
770 // clang-format off
771 ///
772 /// Sets master auth materials. Currently supports changing the admin password
773 /// or a specific cluster, either via password generation or explicitly setting
774 /// the password.
775 ///
776 /// @param request Unary RPCs, such as the one wrapped by this
777 /// function, receive a single `request` proto message which includes all
778 /// the inputs for the RPC. In this case, the proto message is a
779 /// [google.container.v1.SetMasterAuthRequest].
780 /// Proto messages are converted to C++ classes by Protobuf, using the
781 /// [Protobuf mapping rules].
782 /// @param opts Optional. Override the class-level options, such as retry and
783 /// backoff policies.
784 /// @return the result of the RPC. The response message type
785 /// ([google.container.v1.Operation])
786 /// is mapped to a C++ class using the [Protobuf mapping rules].
787 /// If the request fails, the [`StatusOr`] contains the error details.
788 ///
789 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
790 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
791 /// [Long Running Operation]: https://google.aip.dev/151
792 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
793 /// [`future`]: @ref google::cloud::future
794 /// [`StatusOr`]: @ref google::cloud::StatusOr
795 /// [`Status`]: @ref google::cloud::Status
796 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
797 /// [google.container.v1.SetMasterAuthRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2831}
798 ///
799 // clang-format on
800 StatusOr<google::container::v1::Operation> SetMasterAuth(
801 google::container::v1::SetMasterAuthRequest const& request,
802 Options opts = {});
803
804 // clang-format off
805 ///
806 /// Deletes the cluster, including the Kubernetes endpoint and all worker
807 /// nodes.
808 ///
809 /// Firewalls and routes that were configured during cluster creation
810 /// are also deleted.
811 ///
812 /// Other Google Compute Engine resources that might be in use by the cluster,
813 /// such as load balancer resources, are not deleted if they weren't present
814 /// when the cluster was initially created.
815 ///
816 /// @param name The name (project, location, cluster) of the cluster to delete.
817 /// Specified in the format `projects/*/locations/*/clusters/*`.
818 /// @param opts Optional. Override the class-level options, such as retry and
819 /// backoff policies.
820 /// @return the result of the RPC. The response message type
821 /// ([google.container.v1.Operation])
822 /// is mapped to a C++ class using the [Protobuf mapping rules].
823 /// If the request fails, the [`StatusOr`] contains the error details.
824 ///
825 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
826 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
827 /// [Long Running Operation]: https://google.aip.dev/151
828 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
829 /// [`future`]: @ref google::cloud::future
830 /// [`StatusOr`]: @ref google::cloud::StatusOr
831 /// [`Status`]: @ref google::cloud::Status
832 /// [google.container.v1.DeleteClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2877}
833 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
834 ///
835 // clang-format on
836 StatusOr<google::container::v1::Operation> DeleteCluster(
837 std::string const& name, Options opts = {});
838
839 // clang-format off
840 ///
841 /// Deletes the cluster, including the Kubernetes endpoint and all worker
842 /// nodes.
843 ///
844 /// Firewalls and routes that were configured during cluster creation
845 /// are also deleted.
846 ///
847 /// Other Google Compute Engine resources that might be in use by the cluster,
848 /// such as load balancer resources, are not deleted if they weren't present
849 /// when the cluster was initially created.
850 ///
851 /// @param request Unary RPCs, such as the one wrapped by this
852 /// function, receive a single `request` proto message which includes all
853 /// the inputs for the RPC. In this case, the proto message is a
854 /// [google.container.v1.DeleteClusterRequest].
855 /// Proto messages are converted to C++ classes by Protobuf, using the
856 /// [Protobuf mapping rules].
857 /// @param opts Optional. Override the class-level options, such as retry and
858 /// backoff policies.
859 /// @return the result of the RPC. The response message type
860 /// ([google.container.v1.Operation])
861 /// is mapped to a C++ class using the [Protobuf mapping rules].
862 /// If the request fails, the [`StatusOr`] contains the error details.
863 ///
864 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
865 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
866 /// [Long Running Operation]: https://google.aip.dev/151
867 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
868 /// [`future`]: @ref google::cloud::future
869 /// [`StatusOr`]: @ref google::cloud::StatusOr
870 /// [`Status`]: @ref google::cloud::Status
871 /// [google.container.v1.DeleteClusterRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2877}
872 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
873 ///
874 // clang-format on
875 StatusOr<google::container::v1::Operation> DeleteCluster(
876 google::container::v1::DeleteClusterRequest const& request,
877 Options opts = {});
878
879 // clang-format off
880 ///
881 /// Lists all operations in a project in a specific zone or all zones.
882 ///
883 /// @param request Unary RPCs, such as the one wrapped by this
884 /// function, receive a single `request` proto message which includes all
885 /// the inputs for the RPC. In this case, the proto message is a
886 /// [google.container.v1.ListOperationsRequest].
887 /// Proto messages are converted to C++ classes by Protobuf, using the
888 /// [Protobuf mapping rules].
889 /// @param opts Optional. Override the class-level options, such as retry and
890 /// backoff policies.
891 /// @return the result of the RPC. The response message type
892 /// ([google.container.v1.ListOperationsResponse])
893 /// is mapped to a C++ class using the [Protobuf mapping rules].
894 /// If the request fails, the [`StatusOr`] contains the error details.
895 ///
896 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
897 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
898 /// [Long Running Operation]: https://google.aip.dev/151
899 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
900 /// [`future`]: @ref google::cloud::future
901 /// [`StatusOr`]: @ref google::cloud::StatusOr
902 /// [`Status`]: @ref google::cloud::Status
903 /// [google.container.v1.ListOperationsRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2951}
904 /// [google.container.v1.ListOperationsResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2992}
905 ///
906 // clang-format on
907 StatusOr<google::container::v1::ListOperationsResponse> ListOperations(
908 google::container::v1::ListOperationsRequest const& request,
909 Options opts = {});
910
911 // clang-format off
912 ///
913 /// Gets the specified operation.
914 ///
915 /// @param name The name (project, location, operation id) of the operation to get.
916 /// Specified in the format `projects/*/locations/*/operations/*`.
917 /// @param opts Optional. Override the class-level options, such as retry and
918 /// backoff policies.
919 /// @return the result of the RPC. The response message type
920 /// ([google.container.v1.Operation])
921 /// is mapped to a C++ class using the [Protobuf mapping rules].
922 /// If the request fails, the [`StatusOr`] contains the error details.
923 ///
924 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
925 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
926 /// [Long Running Operation]: https://google.aip.dev/151
927 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
928 /// [`future`]: @ref google::cloud::future
929 /// [`StatusOr`]: @ref google::cloud::StatusOr
930 /// [`Status`]: @ref google::cloud::Status
931 /// [google.container.v1.GetOperationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2929}
932 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
933 ///
934 // clang-format on
935 StatusOr<google::container::v1::Operation> GetOperation(
936 std::string const& name, Options opts = {});
937
938 // clang-format off
939 ///
940 /// Gets the specified operation.
941 ///
942 /// @param request Unary RPCs, such as the one wrapped by this
943 /// function, receive a single `request` proto message which includes all
944 /// the inputs for the RPC. In this case, the proto message is a
945 /// [google.container.v1.GetOperationRequest].
946 /// Proto messages are converted to C++ classes by Protobuf, using the
947 /// [Protobuf mapping rules].
948 /// @param opts Optional. Override the class-level options, such as retry and
949 /// backoff policies.
950 /// @return the result of the RPC. The response message type
951 /// ([google.container.v1.Operation])
952 /// is mapped to a C++ class using the [Protobuf mapping rules].
953 /// If the request fails, the [`StatusOr`] contains the error details.
954 ///
955 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
956 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
957 /// [Long Running Operation]: https://google.aip.dev/151
958 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
959 /// [`future`]: @ref google::cloud::future
960 /// [`StatusOr`]: @ref google::cloud::StatusOr
961 /// [`Status`]: @ref google::cloud::Status
962 /// [google.container.v1.GetOperationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2929}
963 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
964 ///
965 // clang-format on
966 StatusOr<google::container::v1::Operation> GetOperation(
967 google::container::v1::GetOperationRequest const& request,
968 Options opts = {});
969
970 // clang-format off
971 ///
972 /// Cancels the specified operation.
973 ///
974 /// @param name The name (project, location, operation id) of the operation to cancel.
975 /// Specified in the format `projects/*/locations/*/operations/*`.
976 /// @param opts Optional. Override the class-level options, such as retry and
977 /// backoff policies.
978 /// @return a [`Status`] object. If the request failed, the
979 /// status contains the details of the failure.
980 ///
981 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
982 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
983 /// [Long Running Operation]: https://google.aip.dev/151
984 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
985 /// [`future`]: @ref google::cloud::future
986 /// [`StatusOr`]: @ref google::cloud::StatusOr
987 /// [`Status`]: @ref google::cloud::Status
988 /// [google.container.v1.CancelOperationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2970}
989 ///
990 // clang-format on
991 Status CancelOperation(std::string const& name, Options opts = {});
992
993 // clang-format off
994 ///
995 /// Cancels the specified operation.
996 ///
997 /// @param request Unary RPCs, such as the one wrapped by this
998 /// function, receive a single `request` proto message which includes all
999 /// the inputs for the RPC. In this case, the proto message is a
1000 /// [google.container.v1.CancelOperationRequest].
1001 /// Proto messages are converted to C++ classes by Protobuf, using the
1002 /// [Protobuf mapping rules].
1003 /// @param opts Optional. Override the class-level options, such as retry and
1004 /// backoff policies.
1005 /// @return a [`Status`] object. If the request failed, the
1006 /// status contains the details of the failure.
1007 ///
1008 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1009 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1010 /// [Long Running Operation]: https://google.aip.dev/151
1011 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1012 /// [`future`]: @ref google::cloud::future
1013 /// [`StatusOr`]: @ref google::cloud::StatusOr
1014 /// [`Status`]: @ref google::cloud::Status
1015 /// [google.container.v1.CancelOperationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2970}
1016 ///
1017 // clang-format on
1019 google::container::v1::CancelOperationRequest const& request,
1020 Options opts = {});
1021
1022 // clang-format off
1023 ///
1024 /// Returns configuration info about the Google Kubernetes Engine service.
1025 ///
1026 /// @param name The name (project and location) of the server config to get,
1027 /// specified in the format `projects/*/locations/*`.
1028 /// @param opts Optional. Override the class-level options, such as retry and
1029 /// backoff policies.
1030 /// @return the result of the RPC. The response message type
1031 /// ([google.container.v1.ServerConfig])
1032 /// is mapped to a C++ class using the [Protobuf mapping rules].
1033 /// If the request fails, the [`StatusOr`] contains the error details.
1034 ///
1035 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1036 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1037 /// [Long Running Operation]: https://google.aip.dev/151
1038 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1039 /// [`future`]: @ref google::cloud::future
1040 /// [`StatusOr`]: @ref google::cloud::StatusOr
1041 /// [`Status`]: @ref google::cloud::Status
1042 /// [google.container.v1.GetServerConfigRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3002}
1043 /// [google.container.v1.ServerConfig]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3020}
1044 ///
1045 // clang-format on
1046 StatusOr<google::container::v1::ServerConfig> GetServerConfig(
1047 std::string const& name, Options opts = {});
1048
1049 // clang-format off
1050 ///
1051 /// Returns configuration info about the Google Kubernetes Engine service.
1052 ///
1053 /// @param request Unary RPCs, such as the one wrapped by this
1054 /// function, receive a single `request` proto message which includes all
1055 /// the inputs for the RPC. In this case, the proto message is a
1056 /// [google.container.v1.GetServerConfigRequest].
1057 /// Proto messages are converted to C++ classes by Protobuf, using the
1058 /// [Protobuf mapping rules].
1059 /// @param opts Optional. Override the class-level options, such as retry and
1060 /// backoff policies.
1061 /// @return the result of the RPC. The response message type
1062 /// ([google.container.v1.ServerConfig])
1063 /// is mapped to a C++ class using the [Protobuf mapping rules].
1064 /// If the request fails, the [`StatusOr`] contains the error details.
1065 ///
1066 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1067 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1068 /// [Long Running Operation]: https://google.aip.dev/151
1069 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1070 /// [`future`]: @ref google::cloud::future
1071 /// [`StatusOr`]: @ref google::cloud::StatusOr
1072 /// [`Status`]: @ref google::cloud::Status
1073 /// [google.container.v1.GetServerConfigRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3002}
1074 /// [google.container.v1.ServerConfig]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3020}
1075 ///
1076 // clang-format on
1077 StatusOr<google::container::v1::ServerConfig> GetServerConfig(
1078 google::container::v1::GetServerConfigRequest const& request,
1079 Options opts = {});
1080
1081 // clang-format off
1082 ///
1083 /// Gets the public component of the cluster signing keys in
1084 /// JSON Web Key format.
1085 /// This API is not yet intended for general use, and is not available for all
1086 /// clusters.
1087 ///
1088 /// @param request Unary RPCs, such as the one wrapped by this
1089 /// function, receive a single `request` proto message which includes all
1090 /// the inputs for the RPC. In this case, the proto message is a
1091 /// [google.container.v1.GetJSONWebKeysRequest].
1092 /// Proto messages are converted to C++ classes by Protobuf, using the
1093 /// [Protobuf mapping rules].
1094 /// @param opts Optional. Override the class-level options, such as retry and
1095 /// backoff policies.
1096 /// @return the result of the RPC. The response message type
1097 /// ([google.container.v1.GetJSONWebKeysResponse])
1098 /// is mapped to a C++ class using the [Protobuf mapping rules].
1099 /// If the request fails, the [`StatusOr`] contains the error details.
1100 ///
1101 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1102 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1103 /// [Long Running Operation]: https://google.aip.dev/151
1104 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1105 /// [`future`]: @ref google::cloud::future
1106 /// [`StatusOr`]: @ref google::cloud::StatusOr
1107 /// [`Status`]: @ref google::cloud::Status
1108 /// [google.container.v1.GetJSONWebKeysRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4280}
1109 /// [google.container.v1.GetJSONWebKeysResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4317}
1110 ///
1111 // clang-format on
1112 StatusOr<google::container::v1::GetJSONWebKeysResponse> GetJSONWebKeys(
1113 google::container::v1::GetJSONWebKeysRequest const& request,
1114 Options opts = {});
1115
1116 // clang-format off
1117 ///
1118 /// Lists the node pools for a cluster.
1119 ///
1120 /// @param parent The parent (project, location, cluster name) where the node pools will be
1121 /// listed. Specified in the format `projects/*/locations/*/clusters/*`.
1122 /// @param opts Optional. Override the class-level options, such as retry and
1123 /// backoff policies.
1124 /// @return the result of the RPC. The response message type
1125 /// ([google.container.v1.ListNodePoolsResponse])
1126 /// is mapped to a C++ class using the [Protobuf mapping rules].
1127 /// If the request fails, the [`StatusOr`] contains the error details.
1128 ///
1129 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1130 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1131 /// [Long Running Operation]: https://google.aip.dev/151
1132 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1133 /// [`future`]: @ref google::cloud::future
1134 /// [`StatusOr`]: @ref google::cloud::StatusOr
1135 /// [`Status`]: @ref google::cloud::Status
1136 /// [google.container.v1.ListNodePoolsRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3106}
1137 /// [google.container.v1.ListNodePoolsResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3717}
1138 ///
1139 // clang-format on
1140 StatusOr<google::container::v1::ListNodePoolsResponse> ListNodePools(
1141 std::string const& parent, Options opts = {});
1142
1143 // clang-format off
1144 ///
1145 /// Lists the node pools for a cluster.
1146 ///
1147 /// @param request Unary RPCs, such as the one wrapped by this
1148 /// function, receive a single `request` proto message which includes all
1149 /// the inputs for the RPC. In this case, the proto message is a
1150 /// [google.container.v1.ListNodePoolsRequest].
1151 /// Proto messages are converted to C++ classes by Protobuf, using the
1152 /// [Protobuf mapping rules].
1153 /// @param opts Optional. Override the class-level options, such as retry and
1154 /// backoff policies.
1155 /// @return the result of the RPC. The response message type
1156 /// ([google.container.v1.ListNodePoolsResponse])
1157 /// is mapped to a C++ class using the [Protobuf mapping rules].
1158 /// If the request fails, the [`StatusOr`] contains the error details.
1159 ///
1160 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1161 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1162 /// [Long Running Operation]: https://google.aip.dev/151
1163 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1164 /// [`future`]: @ref google::cloud::future
1165 /// [`StatusOr`]: @ref google::cloud::StatusOr
1166 /// [`Status`]: @ref google::cloud::Status
1167 /// [google.container.v1.ListNodePoolsRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3106}
1168 /// [google.container.v1.ListNodePoolsResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3717}
1169 ///
1170 // clang-format on
1171 StatusOr<google::container::v1::ListNodePoolsResponse> ListNodePools(
1172 google::container::v1::ListNodePoolsRequest const& request,
1173 Options opts = {});
1174
1175 // clang-format off
1176 ///
1177 /// Retrieves the requested node pool.
1178 ///
1179 /// @param name The name (project, location, cluster, node pool id) of the node pool to
1180 /// get. Specified in the format
1181 /// `projects/*/locations/*/clusters/*/nodePools/*`.
1182 /// @param opts Optional. Override the class-level options, such as retry and
1183 /// backoff policies.
1184 /// @return the result of the RPC. The response message type
1185 /// ([google.container.v1.NodePool])
1186 /// is mapped to a C++ class using the [Protobuf mapping rules].
1187 /// If the request fails, the [`StatusOr`] contains the error details.
1188 ///
1189 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1190 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1191 /// [Long Running Operation]: https://google.aip.dev/151
1192 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1193 /// [`future`]: @ref google::cloud::future
1194 /// [`StatusOr`]: @ref google::cloud::StatusOr
1195 /// [`Status`]: @ref google::cloud::Status
1196 /// [google.container.v1.GetNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3128}
1197 /// [google.container.v1.NodePool]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3189}
1198 ///
1199 // clang-format on
1200 StatusOr<google::container::v1::NodePool> GetNodePool(std::string const& name,
1201 Options opts = {});
1202
1203 // clang-format off
1204 ///
1205 /// Retrieves the requested node pool.
1206 ///
1207 /// @param request Unary RPCs, such as the one wrapped by this
1208 /// function, receive a single `request` proto message which includes all
1209 /// the inputs for the RPC. In this case, the proto message is a
1210 /// [google.container.v1.GetNodePoolRequest].
1211 /// Proto messages are converted to C++ classes by Protobuf, using the
1212 /// [Protobuf mapping rules].
1213 /// @param opts Optional. Override the class-level options, such as retry and
1214 /// backoff policies.
1215 /// @return the result of the RPC. The response message type
1216 /// ([google.container.v1.NodePool])
1217 /// is mapped to a C++ class using the [Protobuf mapping rules].
1218 /// If the request fails, the [`StatusOr`] contains the error details.
1219 ///
1220 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1221 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1222 /// [Long Running Operation]: https://google.aip.dev/151
1223 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1224 /// [`future`]: @ref google::cloud::future
1225 /// [`StatusOr`]: @ref google::cloud::StatusOr
1226 /// [`Status`]: @ref google::cloud::Status
1227 /// [google.container.v1.GetNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3128}
1228 /// [google.container.v1.NodePool]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3189}
1229 ///
1230 // clang-format on
1231 StatusOr<google::container::v1::NodePool> GetNodePool(
1232 google::container::v1::GetNodePoolRequest const& request,
1233 Options opts = {});
1234
1235 // clang-format off
1236 ///
1237 /// Creates a node pool for a cluster.
1238 ///
1239 /// @param parent The parent (project, location, cluster name) where the node pool will be
1240 /// created. Specified in the format
1241 /// `projects/*/locations/*/clusters/*`.
1242 /// @param node_pool Required. The node pool to create.
1243 /// @param opts Optional. Override the class-level options, such as retry and
1244 /// backoff policies.
1245 /// @return the result of the RPC. The response message type
1246 /// ([google.container.v1.Operation])
1247 /// is mapped to a C++ class using the [Protobuf mapping rules].
1248 /// If the request fails, the [`StatusOr`] contains the error details.
1249 ///
1250 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1251 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1252 /// [Long Running Operation]: https://google.aip.dev/151
1253 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1254 /// [`future`]: @ref google::cloud::future
1255 /// [`StatusOr`]: @ref google::cloud::StatusOr
1256 /// [`Status`]: @ref google::cloud::Status
1257 /// [google.container.v1.CreateNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3053}
1258 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
1259 ///
1260 // clang-format on
1261 StatusOr<google::container::v1::Operation> CreateNodePool(
1262 std::string const& parent,
1263 google::container::v1::NodePool const& node_pool, Options opts = {});
1264
1265 // clang-format off
1266 ///
1267 /// Creates a node pool for a cluster.
1268 ///
1269 /// @param request Unary RPCs, such as the one wrapped by this
1270 /// function, receive a single `request` proto message which includes all
1271 /// the inputs for the RPC. In this case, the proto message is a
1272 /// [google.container.v1.CreateNodePoolRequest].
1273 /// Proto messages are converted to C++ classes by Protobuf, using the
1274 /// [Protobuf mapping rules].
1275 /// @param opts Optional. Override the class-level options, such as retry and
1276 /// backoff policies.
1277 /// @return the result of the RPC. The response message type
1278 /// ([google.container.v1.Operation])
1279 /// is mapped to a C++ class using the [Protobuf mapping rules].
1280 /// If the request fails, the [`StatusOr`] contains the error details.
1281 ///
1282 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1283 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1284 /// [Long Running Operation]: https://google.aip.dev/151
1285 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1286 /// [`future`]: @ref google::cloud::future
1287 /// [`StatusOr`]: @ref google::cloud::StatusOr
1288 /// [`Status`]: @ref google::cloud::Status
1289 /// [google.container.v1.CreateNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3053}
1290 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
1291 ///
1292 // clang-format on
1293 StatusOr<google::container::v1::Operation> CreateNodePool(
1294 google::container::v1::CreateNodePoolRequest const& request,
1295 Options opts = {});
1296
1297 // clang-format off
1298 ///
1299 /// Deletes a node pool from a cluster.
1300 ///
1301 /// @param name The name (project, location, cluster, node pool id) of the node pool to
1302 /// delete. Specified in the format
1303 /// `projects/*/locations/*/clusters/*/nodePools/*`.
1304 /// @param opts Optional. Override the class-level options, such as retry and
1305 /// backoff policies.
1306 /// @return the result of the RPC. The response message type
1307 /// ([google.container.v1.Operation])
1308 /// is mapped to a C++ class using the [Protobuf mapping rules].
1309 /// If the request fails, the [`StatusOr`] contains the error details.
1310 ///
1311 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1312 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1313 /// [Long Running Operation]: https://google.aip.dev/151
1314 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1315 /// [`future`]: @ref google::cloud::future
1316 /// [`StatusOr`]: @ref google::cloud::StatusOr
1317 /// [`Status`]: @ref google::cloud::Status
1318 /// [google.container.v1.DeleteNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3079}
1319 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
1320 ///
1321 // clang-format on
1322 StatusOr<google::container::v1::Operation> DeleteNodePool(
1323 std::string const& name, Options opts = {});
1324
1325 // clang-format off
1326 ///
1327 /// Deletes a node pool from a cluster.
1328 ///
1329 /// @param request Unary RPCs, such as the one wrapped by this
1330 /// function, receive a single `request` proto message which includes all
1331 /// the inputs for the RPC. In this case, the proto message is a
1332 /// [google.container.v1.DeleteNodePoolRequest].
1333 /// Proto messages are converted to C++ classes by Protobuf, using the
1334 /// [Protobuf mapping rules].
1335 /// @param opts Optional. Override the class-level options, such as retry and
1336 /// backoff policies.
1337 /// @return the result of the RPC. The response message type
1338 /// ([google.container.v1.Operation])
1339 /// is mapped to a C++ class using the [Protobuf mapping rules].
1340 /// If the request fails, the [`StatusOr`] contains the error details.
1341 ///
1342 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1343 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1344 /// [Long Running Operation]: https://google.aip.dev/151
1345 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1346 /// [`future`]: @ref google::cloud::future
1347 /// [`StatusOr`]: @ref google::cloud::StatusOr
1348 /// [`Status`]: @ref google::cloud::Status
1349 /// [google.container.v1.DeleteNodePoolRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3079}
1350 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
1351 ///
1352 // clang-format on
1353 StatusOr<google::container::v1::Operation> DeleteNodePool(
1354 google::container::v1::DeleteNodePoolRequest const& request,
1355 Options opts = {});
1356
1357 // clang-format off
1358 ///
1359 /// CompleteNodePoolUpgrade will signal an on-going node pool upgrade to
1360 /// complete.
1361 ///
1362 /// @param request Unary RPCs, such as the one wrapped by this
1363 /// function, receive a single `request` proto message which includes all
1364 /// the inputs for the RPC. In this case, the proto message is a
1365 /// [google.container.v1.CompleteNodePoolUpgradeRequest].
1366 /// Proto messages are converted to C++ classes by Protobuf, using the
1367 /// [Protobuf mapping rules].
1368 /// @param opts Optional. Override the class-level options, such as retry and
1369 /// backoff policies.
1370 /// @return a [`Status`] object. If the request failed, the
1371 /// status contains the details of the failure.
1372 ///
1373 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1374 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1375 /// [Long Running Operation]: https://google.aip.dev/151
1376 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1377 /// [`future`]: @ref google::cloud::future
1378 /// [`StatusOr`]: @ref google::cloud::StatusOr
1379 /// [`Status`]: @ref google::cloud::Status
1380 /// [google.container.v1.CompleteNodePoolUpgradeRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3676}
1381 ///
1382 // clang-format on
1384 google::container::v1::CompleteNodePoolUpgradeRequest const& request,
1385 Options opts = {});
1386
1387 // clang-format off
1388 ///
1389 /// Rolls back a previously Aborted or Failed NodePool upgrade.
1390 /// This makes no changes if the last upgrade successfully completed.
1391 ///
1392 /// @param name The name (project, location, cluster, node pool id) of the node poll to
1393 /// rollback upgrade.
1394 /// Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.
1395 /// @param opts Optional. Override the class-level options, such as retry and
1396 /// backoff policies.
1397 /// @return the result of the RPC. The response message type
1398 /// ([google.container.v1.Operation])
1399 /// is mapped to a C++ class using the [Protobuf mapping rules].
1400 /// If the request fails, the [`StatusOr`] contains the error details.
1401 ///
1402 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1403 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1404 /// [Long Running Operation]: https://google.aip.dev/151
1405 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1406 /// [`future`]: @ref google::cloud::future
1407 /// [`StatusOr`]: @ref google::cloud::StatusOr
1408 /// [`Status`]: @ref google::cloud::Status
1409 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
1410 /// [google.container.v1.RollbackNodePoolUpgradeRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3686}
1411 ///
1412 // clang-format on
1413 StatusOr<google::container::v1::Operation> RollbackNodePoolUpgrade(
1414 std::string const& name, Options opts = {});
1415
1416 // clang-format off
1417 ///
1418 /// Rolls back a previously Aborted or Failed NodePool upgrade.
1419 /// This makes no changes if the last upgrade successfully completed.
1420 ///
1421 /// @param request Unary RPCs, such as the one wrapped by this
1422 /// function, receive a single `request` proto message which includes all
1423 /// the inputs for the RPC. In this case, the proto message is a
1424 /// [google.container.v1.RollbackNodePoolUpgradeRequest].
1425 /// Proto messages are converted to C++ classes by Protobuf, using the
1426 /// [Protobuf mapping rules].
1427 /// @param opts Optional. Override the class-level options, such as retry and
1428 /// backoff policies.
1429 /// @return the result of the RPC. The response message type
1430 /// ([google.container.v1.Operation])
1431 /// is mapped to a C++ class using the [Protobuf mapping rules].
1432 /// If the request fails, the [`StatusOr`] contains the error details.
1433 ///
1434 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1435 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1436 /// [Long Running Operation]: https://google.aip.dev/151
1437 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1438 /// [`future`]: @ref google::cloud::future
1439 /// [`StatusOr`]: @ref google::cloud::StatusOr
1440 /// [`Status`]: @ref google::cloud::Status
1441 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
1442 /// [google.container.v1.RollbackNodePoolUpgradeRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3686}
1443 ///
1444 // clang-format on
1445 StatusOr<google::container::v1::Operation> RollbackNodePoolUpgrade(
1446 google::container::v1::RollbackNodePoolUpgradeRequest const& request,
1447 Options opts = {});
1448
1449 // clang-format off
1450 ///
1451 /// Sets the NodeManagement options for a node pool.
1452 ///
1453 /// @param request Unary RPCs, such as the one wrapped by this
1454 /// function, receive a single `request` proto message which includes all
1455 /// the inputs for the RPC. In this case, the proto message is a
1456 /// [google.container.v1.SetNodePoolManagementRequest].
1457 /// Proto messages are converted to C++ classes by Protobuf, using the
1458 /// [Protobuf mapping rules].
1459 /// @param opts Optional. Override the class-level options, such as retry and
1460 /// backoff policies.
1461 /// @return the result of the RPC. The response message type
1462 /// ([google.container.v1.Operation])
1463 /// is mapped to a C++ class using the [Protobuf mapping rules].
1464 /// If the request fails, the [`StatusOr`] contains the error details.
1465 ///
1466 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1467 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1468 /// [Long Running Operation]: https://google.aip.dev/151
1469 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1470 /// [`future`]: @ref google::cloud::future
1471 /// [`StatusOr`]: @ref google::cloud::StatusOr
1472 /// [`Status`]: @ref google::cloud::Status
1473 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
1474 /// [google.container.v1.SetNodePoolManagementRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3615}
1475 ///
1476 // clang-format on
1477 StatusOr<google::container::v1::Operation> SetNodePoolManagement(
1478 google::container::v1::SetNodePoolManagementRequest const& request,
1479 Options opts = {});
1480
1481 // clang-format off
1482 ///
1483 /// Sets labels on a cluster.
1484 ///
1485 /// @param request Unary RPCs, such as the one wrapped by this
1486 /// function, receive a single `request` proto message which includes all
1487 /// the inputs for the RPC. In this case, the proto message is a
1488 /// [google.container.v1.SetLabelsRequest].
1489 /// Proto messages are converted to C++ classes by Protobuf, using the
1490 /// [Protobuf mapping rules].
1491 /// @param opts Optional. Override the class-level options, such as retry and
1492 /// backoff policies.
1493 /// @return the result of the RPC. The response message type
1494 /// ([google.container.v1.Operation])
1495 /// is mapped to a C++ class using the [Protobuf mapping rules].
1496 /// If the request fails, the [`StatusOr`] contains the error details.
1497 ///
1498 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1499 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1500 /// [Long Running Operation]: https://google.aip.dev/151
1501 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1502 /// [`future`]: @ref google::cloud::future
1503 /// [`StatusOr`]: @ref google::cloud::StatusOr
1504 /// [`Status`]: @ref google::cloud::Status
1505 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
1506 /// [google.container.v1.SetLabelsRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3879}
1507 ///
1508 // clang-format on
1509 StatusOr<google::container::v1::Operation> SetLabels(
1510 google::container::v1::SetLabelsRequest const& request,
1511 Options opts = {});
1512
1513 // clang-format off
1514 ///
1515 /// Enables or disables the ABAC authorization mechanism on a cluster.
1516 ///
1517 /// @param name The name (project, location, cluster name) of the cluster to set legacy
1518 /// abac. Specified in the format `projects/*/locations/*/clusters/*`.
1519 /// @param enabled Required. Whether ABAC authorization will be enabled in the cluster.
1520 /// @param opts Optional. Override the class-level options, such as retry and
1521 /// backoff policies.
1522 /// @return the result of the RPC. The response message type
1523 /// ([google.container.v1.Operation])
1524 /// is mapped to a C++ class using the [Protobuf mapping rules].
1525 /// If the request fails, the [`StatusOr`] contains the error details.
1526 ///
1527 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1528 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1529 /// [Long Running Operation]: https://google.aip.dev/151
1530 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1531 /// [`future`]: @ref google::cloud::future
1532 /// [`StatusOr`]: @ref google::cloud::StatusOr
1533 /// [`Status`]: @ref google::cloud::Status
1534 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
1535 /// [google.container.v1.SetLegacyAbacRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3914}
1536 ///
1537 // clang-format on
1538 StatusOr<google::container::v1::Operation> SetLegacyAbac(
1539 std::string const& name, bool enabled, Options opts = {});
1540
1541 // clang-format off
1542 ///
1543 /// Enables or disables the ABAC authorization mechanism on a cluster.
1544 ///
1545 /// @param request Unary RPCs, such as the one wrapped by this
1546 /// function, receive a single `request` proto message which includes all
1547 /// the inputs for the RPC. In this case, the proto message is a
1548 /// [google.container.v1.SetLegacyAbacRequest].
1549 /// Proto messages are converted to C++ classes by Protobuf, using the
1550 /// [Protobuf mapping rules].
1551 /// @param opts Optional. Override the class-level options, such as retry and
1552 /// backoff policies.
1553 /// @return the result of the RPC. The response message type
1554 /// ([google.container.v1.Operation])
1555 /// is mapped to a C++ class using the [Protobuf mapping rules].
1556 /// If the request fails, the [`StatusOr`] contains the error details.
1557 ///
1558 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1559 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1560 /// [Long Running Operation]: https://google.aip.dev/151
1561 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1562 /// [`future`]: @ref google::cloud::future
1563 /// [`StatusOr`]: @ref google::cloud::StatusOr
1564 /// [`Status`]: @ref google::cloud::Status
1565 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
1566 /// [google.container.v1.SetLegacyAbacRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3914}
1567 ///
1568 // clang-format on
1569 StatusOr<google::container::v1::Operation> SetLegacyAbac(
1570 google::container::v1::SetLegacyAbacRequest const& request,
1571 Options opts = {});
1572
1573 // clang-format off
1574 ///
1575 /// Starts master IP rotation.
1576 ///
1577 /// @param name The name (project, location, cluster name) of the cluster to start IP
1578 /// rotation. Specified in the format `projects/*/locations/*/clusters/*`.
1579 /// @param opts Optional. Override the class-level options, such as retry and
1580 /// backoff policies.
1581 /// @return the result of the RPC. The response message type
1582 /// ([google.container.v1.Operation])
1583 /// is mapped to a C++ class using the [Protobuf mapping rules].
1584 /// If the request fails, the [`StatusOr`] contains the error details.
1585 ///
1586 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1587 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1588 /// [Long Running Operation]: https://google.aip.dev/151
1589 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1590 /// [`future`]: @ref google::cloud::future
1591 /// [`StatusOr`]: @ref google::cloud::StatusOr
1592 /// [`Status`]: @ref google::cloud::Status
1593 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
1594 /// [google.container.v1.StartIPRotationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3940}
1595 ///
1596 // clang-format on
1597 StatusOr<google::container::v1::Operation> StartIPRotation(
1598 std::string const& name, Options opts = {});
1599
1600 // clang-format off
1601 ///
1602 /// Starts master IP rotation.
1603 ///
1604 /// @param request Unary RPCs, such as the one wrapped by this
1605 /// function, receive a single `request` proto message which includes all
1606 /// the inputs for the RPC. In this case, the proto message is a
1607 /// [google.container.v1.StartIPRotationRequest].
1608 /// Proto messages are converted to C++ classes by Protobuf, using the
1609 /// [Protobuf mapping rules].
1610 /// @param opts Optional. Override the class-level options, such as retry and
1611 /// backoff policies.
1612 /// @return the result of the RPC. The response message type
1613 /// ([google.container.v1.Operation])
1614 /// is mapped to a C++ class using the [Protobuf mapping rules].
1615 /// If the request fails, the [`StatusOr`] contains the error details.
1616 ///
1617 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1618 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1619 /// [Long Running Operation]: https://google.aip.dev/151
1620 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1621 /// [`future`]: @ref google::cloud::future
1622 /// [`StatusOr`]: @ref google::cloud::StatusOr
1623 /// [`Status`]: @ref google::cloud::Status
1624 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
1625 /// [google.container.v1.StartIPRotationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3940}
1626 ///
1627 // clang-format on
1628 StatusOr<google::container::v1::Operation> StartIPRotation(
1629 google::container::v1::StartIPRotationRequest const& request,
1630 Options opts = {});
1631
1632 // clang-format off
1633 ///
1634 /// Completes master IP rotation.
1635 ///
1636 /// @param name The name (project, location, cluster name) of the cluster to complete IP
1637 /// rotation. Specified in the format `projects/*/locations/*/clusters/*`.
1638 /// @param opts Optional. Override the class-level options, such as retry and
1639 /// backoff policies.
1640 /// @return the result of the RPC. The response message type
1641 /// ([google.container.v1.Operation])
1642 /// is mapped to a C++ class using the [Protobuf mapping rules].
1643 /// If the request fails, the [`StatusOr`] contains the error details.
1644 ///
1645 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1646 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1647 /// [Long Running Operation]: https://google.aip.dev/151
1648 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1649 /// [`future`]: @ref google::cloud::future
1650 /// [`StatusOr`]: @ref google::cloud::StatusOr
1651 /// [`Status`]: @ref google::cloud::Status
1652 /// [google.container.v1.CompleteIPRotationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3965}
1653 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
1654 ///
1655 // clang-format on
1656 StatusOr<google::container::v1::Operation> CompleteIPRotation(
1657 std::string const& name, Options opts = {});
1658
1659 // clang-format off
1660 ///
1661 /// Completes master IP rotation.
1662 ///
1663 /// @param request Unary RPCs, such as the one wrapped by this
1664 /// function, receive a single `request` proto message which includes all
1665 /// the inputs for the RPC. In this case, the proto message is a
1666 /// [google.container.v1.CompleteIPRotationRequest].
1667 /// Proto messages are converted to C++ classes by Protobuf, using the
1668 /// [Protobuf mapping rules].
1669 /// @param opts Optional. Override the class-level options, such as retry and
1670 /// backoff policies.
1671 /// @return the result of the RPC. The response message type
1672 /// ([google.container.v1.Operation])
1673 /// is mapped to a C++ class using the [Protobuf mapping rules].
1674 /// If the request fails, the [`StatusOr`] contains the error details.
1675 ///
1676 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1677 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1678 /// [Long Running Operation]: https://google.aip.dev/151
1679 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1680 /// [`future`]: @ref google::cloud::future
1681 /// [`StatusOr`]: @ref google::cloud::StatusOr
1682 /// [`Status`]: @ref google::cloud::Status
1683 /// [google.container.v1.CompleteIPRotationRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3965}
1684 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
1685 ///
1686 // clang-format on
1687 StatusOr<google::container::v1::Operation> CompleteIPRotation(
1688 google::container::v1::CompleteIPRotationRequest const& request,
1689 Options opts = {});
1690
1691 // clang-format off
1692 ///
1693 /// Sets the size for a specific node pool. The new size will be used for all
1694 /// replicas, including future replicas created by modifying
1695 /// [NodePool.locations][google.container.v1.NodePool.locations].
1696 ///
1697 /// @param request Unary RPCs, such as the one wrapped by this
1698 /// function, receive a single `request` proto message which includes all
1699 /// the inputs for the RPC. In this case, the proto message is a
1700 /// [google.container.v1.SetNodePoolSizeRequest].
1701 /// Proto messages are converted to C++ classes by Protobuf, using the
1702 /// [Protobuf mapping rules].
1703 /// @param opts Optional. Override the class-level options, such as retry and
1704 /// backoff policies.
1705 /// @return the result of the RPC. The response message type
1706 /// ([google.container.v1.Operation])
1707 /// is mapped to a C++ class using the [Protobuf mapping rules].
1708 /// If the request fails, the [`StatusOr`] contains the error details.
1709 ///
1710 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1711 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1712 /// [Long Running Operation]: https://google.aip.dev/151
1713 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1714 /// [`future`]: @ref google::cloud::future
1715 /// [`StatusOr`]: @ref google::cloud::StatusOr
1716 /// [`Status`]: @ref google::cloud::Status
1717 /// [google.container.v1.NodePool.locations]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3380}
1718 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
1719 /// [google.container.v1.SetNodePoolSizeRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L3645}
1720 ///
1721 // clang-format on
1722 StatusOr<google::container::v1::Operation> SetNodePoolSize(
1723 google::container::v1::SetNodePoolSizeRequest const& request,
1724 Options opts = {});
1725
1726 // clang-format off
1727 ///
1728 /// Enables or disables Network Policy for a cluster.
1729 ///
1730 /// @param name The name (project, location, cluster name) of the cluster to set networking
1731 /// policy. Specified in the format `projects/*/locations/*/clusters/*`.
1732 /// @param network_policy Required. Configuration options for the NetworkPolicy feature.
1733 /// @param opts Optional. Override the class-level options, such as retry and
1734 /// backoff policies.
1735 /// @return the result of the RPC. The response message type
1736 /// ([google.container.v1.Operation])
1737 /// is mapped to a C++ class using the [Protobuf mapping rules].
1738 /// If the request fails, the [`StatusOr`] contains the error details.
1739 ///
1740 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1741 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1742 /// [Long Running Operation]: https://google.aip.dev/151
1743 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1744 /// [`future`]: @ref google::cloud::future
1745 /// [`StatusOr`]: @ref google::cloud::StatusOr
1746 /// [`Status`]: @ref google::cloud::Status
1747 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
1748 /// [google.container.v1.SetNetworkPolicyRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4074}
1749 ///
1750 // clang-format on
1751 StatusOr<google::container::v1::Operation> SetNetworkPolicy(
1752 std::string const& name,
1753 google::container::v1::NetworkPolicy const& network_policy,
1754 Options opts = {});
1755
1756 // clang-format off
1757 ///
1758 /// Enables or disables Network Policy for a cluster.
1759 ///
1760 /// @param request Unary RPCs, such as the one wrapped by this
1761 /// function, receive a single `request` proto message which includes all
1762 /// the inputs for the RPC. In this case, the proto message is a
1763 /// [google.container.v1.SetNetworkPolicyRequest].
1764 /// Proto messages are converted to C++ classes by Protobuf, using the
1765 /// [Protobuf mapping rules].
1766 /// @param opts Optional. Override the class-level options, such as retry and
1767 /// backoff policies.
1768 /// @return the result of the RPC. The response message type
1769 /// ([google.container.v1.Operation])
1770 /// is mapped to a C++ class using the [Protobuf mapping rules].
1771 /// If the request fails, the [`StatusOr`] contains the error details.
1772 ///
1773 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1774 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1775 /// [Long Running Operation]: https://google.aip.dev/151
1776 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1777 /// [`future`]: @ref google::cloud::future
1778 /// [`StatusOr`]: @ref google::cloud::StatusOr
1779 /// [`Status`]: @ref google::cloud::Status
1780 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
1781 /// [google.container.v1.SetNetworkPolicyRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4074}
1782 ///
1783 // clang-format on
1784 StatusOr<google::container::v1::Operation> SetNetworkPolicy(
1785 google::container::v1::SetNetworkPolicyRequest const& request,
1786 Options opts = {});
1787
1788 // clang-format off
1789 ///
1790 /// Sets the maintenance policy for a cluster.
1791 ///
1792 /// @param project_id Required. The Google Developers Console [project ID or project
1793 /// number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1794 /// @param zone Required. The name of the Google Compute Engine
1795 /// [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1796 /// cluster resides.
1797 /// @param cluster_id Required. The name of the cluster to update.
1798 /// @param maintenance_policy Required. The maintenance policy to be set for the cluster. An empty field
1799 /// clears the existing maintenance policy.
1800 /// @param opts Optional. Override the class-level options, such as retry and
1801 /// backoff policies.
1802 /// @return the result of the RPC. The response message type
1803 /// ([google.container.v1.Operation])
1804 /// is mapped to a C++ class using the [Protobuf mapping rules].
1805 /// If the request fails, the [`StatusOr`] contains the error details.
1806 ///
1807 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1808 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1809 /// [Long Running Operation]: https://google.aip.dev/151
1810 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1811 /// [`future`]: @ref google::cloud::future
1812 /// [`StatusOr`]: @ref google::cloud::StatusOr
1813 /// [`Status`]: @ref google::cloud::Status
1814 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
1815 /// [google.container.v1.SetMaintenancePolicyRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4099}
1816 ///
1817 // clang-format on
1818 StatusOr<google::container::v1::Operation> SetMaintenancePolicy(
1819 std::string const& project_id, std::string const& zone,
1820 std::string const& cluster_id,
1821 google::container::v1::MaintenancePolicy const& maintenance_policy,
1822 Options opts = {});
1823
1824 // clang-format off
1825 ///
1826 /// Sets the maintenance policy for a cluster.
1827 ///
1828 /// @param name The name (project, location, cluster name) of the cluster to set
1829 /// maintenance policy.
1830 /// Specified in the format `projects/*/locations/*/clusters/*`.
1831 /// @param maintenance_policy Required. The maintenance policy to be set for the cluster. An empty field
1832 /// clears the existing maintenance policy.
1833 /// @param opts Optional. Override the class-level options, such as retry and
1834 /// backoff policies.
1835 /// @return the result of the RPC. The response message type
1836 /// ([google.container.v1.Operation])
1837 /// is mapped to a C++ class using the [Protobuf mapping rules].
1838 /// If the request fails, the [`StatusOr`] contains the error details.
1839 ///
1840 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1841 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1842 /// [Long Running Operation]: https://google.aip.dev/151
1843 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1844 /// [`future`]: @ref google::cloud::future
1845 /// [`StatusOr`]: @ref google::cloud::StatusOr
1846 /// [`Status`]: @ref google::cloud::Status
1847 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
1848 /// [google.container.v1.SetMaintenancePolicyRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4099}
1849 ///
1850 // clang-format on
1851 StatusOr<google::container::v1::Operation> SetMaintenancePolicy(
1852 std::string const& name,
1853 google::container::v1::MaintenancePolicy const& maintenance_policy,
1854 Options opts = {});
1855
1856 // clang-format off
1857 ///
1858 /// Sets the maintenance policy for a cluster.
1859 ///
1860 /// @param request Unary RPCs, such as the one wrapped by this
1861 /// function, receive a single `request` proto message which includes all
1862 /// the inputs for the RPC. In this case, the proto message is a
1863 /// [google.container.v1.SetMaintenancePolicyRequest].
1864 /// Proto messages are converted to C++ classes by Protobuf, using the
1865 /// [Protobuf mapping rules].
1866 /// @param opts Optional. Override the class-level options, such as retry and
1867 /// backoff policies.
1868 /// @return the result of the RPC. The response message type
1869 /// ([google.container.v1.Operation])
1870 /// is mapped to a C++ class using the [Protobuf mapping rules].
1871 /// If the request fails, the [`StatusOr`] contains the error details.
1872 ///
1873 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1874 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1875 /// [Long Running Operation]: https://google.aip.dev/151
1876 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1877 /// [`future`]: @ref google::cloud::future
1878 /// [`StatusOr`]: @ref google::cloud::StatusOr
1879 /// [`Status`]: @ref google::cloud::Status
1880 /// [google.container.v1.Operation]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L2207}
1881 /// [google.container.v1.SetMaintenancePolicyRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4099}
1882 ///
1883 // clang-format on
1884 StatusOr<google::container::v1::Operation> SetMaintenancePolicy(
1885 google::container::v1::SetMaintenancePolicyRequest const& request,
1886 Options opts = {});
1887
1888 // clang-format off
1889 ///
1890 /// Lists subnetworks that are usable for creating clusters in a project.
1891 ///
1892 /// @param request Unary RPCs, such as the one wrapped by this
1893 /// function, receive a single `request` proto message which includes all
1894 /// the inputs for the RPC. In this case, the proto message is a
1895 /// [google.container.v1.ListUsableSubnetworksRequest].
1896 /// Proto messages are converted to C++ classes by Protobuf, using the
1897 /// [Protobuf mapping rules].
1898 /// @param opts Optional. Override the class-level options, such as retry and
1899 /// backoff policies.
1900 /// @return a [StreamRange](@ref google::cloud::StreamRange)
1901 /// to iterate of the results. See the documentation of this type for
1902 /// details. In brief, this class has `begin()` and `end()` member
1903 /// functions returning a iterator class meeting the
1904 /// [input iterator requirements]. The value type for this iterator is a
1905 /// [`StatusOr`] as the iteration may fail even after some values are
1906 /// retrieved successfully, for example, if there is a network disconnect.
1907 /// An empty set of results does not indicate an error, it indicates
1908 /// that there are no resources meeting the request criteria.
1909 /// On a successful iteration the `StatusOr<T>` contains elements of type
1910 /// [google.container.v1.UsableSubnetwork], or rather,
1911 /// the C++ class generated by Protobuf from that type. Please consult the
1912 /// Protobuf documentation for details on the [Protobuf mapping rules].
1913 ///
1914 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1915 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1916 /// [Long Running Operation]: https://google.aip.dev/151
1917 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1918 /// [`future`]: @ref google::cloud::future
1919 /// [`StatusOr`]: @ref google::cloud::StatusOr
1920 /// [`Status`]: @ref google::cloud::Status
1921 /// [google.container.v1.ListUsableSubnetworksRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4530}
1922 /// [google.container.v1.UsableSubnetwork]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4603}
1923 ///
1924 // clang-format on
1925 StreamRange<google::container::v1::UsableSubnetwork> ListUsableSubnetworks(
1926 google::container::v1::ListUsableSubnetworksRequest request,
1927 Options opts = {});
1928
1929 // clang-format off
1930 ///
1931 /// Checks the cluster compatibility with Autopilot mode, and returns a list of
1932 /// compatibility issues.
1933 ///
1934 /// @param request Unary RPCs, such as the one wrapped by this
1935 /// function, receive a single `request` proto message which includes all
1936 /// the inputs for the RPC. In this case, the proto message is a
1937 /// [google.container.v1.CheckAutopilotCompatibilityRequest].
1938 /// Proto messages are converted to C++ classes by Protobuf, using the
1939 /// [Protobuf mapping rules].
1940 /// @param opts Optional. Override the class-level options, such as retry and
1941 /// backoff policies.
1942 /// @return the result of the RPC. The response message type
1943 /// ([google.container.v1.CheckAutopilotCompatibilityResponse])
1944 /// is mapped to a C++ class using the [Protobuf mapping rules].
1945 /// If the request fails, the [`StatusOr`] contains the error details.
1946 ///
1947 /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/
1948 /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator
1949 /// [Long Running Operation]: https://google.aip.dev/151
1950 /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string
1951 /// [`future`]: @ref google::cloud::future
1952 /// [`StatusOr`]: @ref google::cloud::StatusOr
1953 /// [`Status`]: @ref google::cloud::Status
1954 /// [google.container.v1.CheckAutopilotCompatibilityRequest]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4325}
1955 /// [google.container.v1.CheckAutopilotCompatibilityResponse]: @googleapis_reference_link{google/container/v1/cluster_service.proto#L4373}
1956 ///
1957 // clang-format on
1958 StatusOr<google::container::v1::CheckAutopilotCompatibilityResponse>
1960 google::container::v1::CheckAutopilotCompatibilityRequest const& request,
1961 Options opts = {});
1962
1963 private:
1964 std::shared_ptr<ClusterManagerConnection> connection_;
1965 Options options_;
1966};
1967
1968GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END
1969} // namespace container_v1
1970} // namespace cloud
1971} // namespace google
1972
1973#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_CONTAINER_V1_CLUSTER_MANAGER_CLIENT_H
Google Kubernetes Engine Cluster Manager v1.
Definition: cluster_manager_client.h:62
StatusOr< google::container::v1::Operation > UpdateCluster(google::container::v1::UpdateClusterRequest const &request, Options opts={})
Updates the settings of a specific cluster.
StatusOr< google::container::v1::Operation > CreateCluster(google::container::v1::CreateClusterRequest const &request, Options opts={})
Creates a cluster, consisting of the specified number and type of Google Compute Engine instances.
StatusOr< google::container::v1::Operation > DeleteCluster(std::string const &name, Options opts={})
Deletes the cluster, including the Kubernetes endpoint and all worker nodes.
ClusterManagerClient(std::shared_ptr< ClusterManagerConnection > connection, Options opts={})
StatusOr< google::container::v1::Operation > StartIPRotation(std::string const &name, Options opts={})
Starts master IP rotation.
StatusOr< google::container::v1::Cluster > GetCluster(google::container::v1::GetClusterRequest const &request, Options opts={})
Gets the details of a specific cluster.
friend bool operator!=(ClusterManagerClient const &a, ClusterManagerClient const &b)
Definition: cluster_manager_client.h:82
StatusOr< google::container::v1::Operation > UpdateMaster(google::container::v1::UpdateMasterRequest const &request, Options opts={})
Updates the master for a specific cluster.
friend bool operator==(ClusterManagerClient const &a, ClusterManagerClient const &b)
Definition: cluster_manager_client.h:78
StatusOr< google::container::v1::Operation > SetMonitoringService(std::string const &name, std::string const &monitoring_service, Options opts={})
Sets the monitoring service for a specific cluster.
StatusOr< google::container::v1::Operation > CreateCluster(std::string const &parent, google::container::v1::Cluster const &cluster, Options opts={})
Creates a cluster, consisting of the specified number and type of Google Compute Engine instances.
StatusOr< google::container::v1::Operation > SetLocations(google::container::v1::SetLocationsRequest const &request, Options opts={})
Sets the locations for a specific cluster.
ClusterManagerClient & operator=(ClusterManagerClient const &)=default
StatusOr< google::container::v1::Operation > SetNetworkPolicy(google::container::v1::SetNetworkPolicyRequest const &request, Options opts={})
Enables or disables Network Policy for a cluster.
ClusterManagerClient(ClusterManagerClient const &)=default
Status CancelOperation(std::string const &name, Options opts={})
Cancels the specified operation.
StatusOr< google::container::v1::Operation > SetNodePoolSize(google::container::v1::SetNodePoolSizeRequest const &request, Options opts={})
Sets the size for a specific node pool.
StatusOr< google::container::v1::Operation > UpdateNodePool(google::container::v1::UpdateNodePoolRequest const &request, Options opts={})
Updates the version and/or image type for the specified node pool.
StatusOr< google::container::v1::Operation > DeleteNodePool(google::container::v1::DeleteNodePoolRequest const &request, Options opts={})
Deletes a node pool from a cluster.
StatusOr< google::container::v1::Operation > CreateNodePool(std::string const &parent, google::container::v1::NodePool const &node_pool, Options opts={})
Creates a node pool for a cluster.
StatusOr< google::container::v1::ServerConfig > GetServerConfig(google::container::v1::GetServerConfigRequest const &request, Options opts={})
Returns configuration info about the Google Kubernetes Engine service.
StatusOr< google::container::v1::Operation > CreateNodePool(google::container::v1::CreateNodePoolRequest const &request, Options opts={})
Creates a node pool for a cluster.
StatusOr< google::container::v1::Operation > SetLoggingService(std::string const &name, std::string const &logging_service, Options opts={})
Sets the logging service for a specific cluster.
StatusOr< google::container::v1::ListClustersResponse > ListClusters(google::container::v1::ListClustersRequest const &request, Options opts={})
Lists all clusters owned by a project in either the specified zone or all zones.
StatusOr< google::container::v1::Operation > DeleteCluster(google::container::v1::DeleteClusterRequest const &request, Options opts={})
Deletes the cluster, including the Kubernetes endpoint and all worker nodes.
StatusOr< google::container::v1::Operation > SetMonitoringService(google::container::v1::SetMonitoringServiceRequest const &request, Options opts={})
Sets the monitoring service for a specific cluster.
StatusOr< google::container::v1::ListClustersResponse > ListClusters(std::string const &parent, Options opts={})
Lists all clusters owned by a project in either the specified zone or all zones.
StatusOr< google::container::v1::Operation > GetOperation(google::container::v1::GetOperationRequest const &request, Options opts={})
Gets the specified operation.
StatusOr< google::container::v1::Operation > UpdateMaster(std::string const &name, std::string const &master_version, Options opts={})
Updates the master for a specific cluster.
StreamRange< google::container::v1::UsableSubnetwork > ListUsableSubnetworks(google::container::v1::ListUsableSubnetworksRequest request, Options opts={})
Lists subnetworks that are usable for creating clusters in a project.
StatusOr< google::container::v1::Operation > CompleteIPRotation(std::string const &name, Options opts={})
Completes master IP rotation.
ClusterManagerClient & operator=(ClusterManagerClient &&)=default
StatusOr< google::container::v1::Operation > SetNodePoolAutoscaling(google::container::v1::SetNodePoolAutoscalingRequest const &request, Options opts={})
Sets the autoscaling settings for the specified node pool.
StatusOr< google::container::v1::Operation > SetAddonsConfig(google::container::v1::SetAddonsConfigRequest const &request, Options opts={})
Sets the addons for a specific cluster.
StatusOr< google::container::v1::Operation > SetMaintenancePolicy(std::string const &project_id, std::string const &zone, std::string const &cluster_id, google::container::v1::MaintenancePolicy const &maintenance_policy, Options opts={})
Sets the maintenance policy for a cluster.
StatusOr< google::container::v1::ListNodePoolsResponse > ListNodePools(std::string const &parent, Options opts={})
Lists the node pools for a cluster.
Status CancelOperation(google::container::v1::CancelOperationRequest const &request, Options opts={})
Cancels the specified operation.
StatusOr< google::container::v1::Operation > GetOperation(std::string const &name, Options opts={})
Gets the specified operation.
StatusOr< google::container::v1::Operation > SetLocations(std::string const &name, std::vector< std::string > const &locations, Options opts={})
Sets the locations for a specific cluster.
StatusOr< google::container::v1::ListOperationsResponse > ListOperations(google::container::v1::ListOperationsRequest const &request, Options opts={})
Lists all operations in a project in a specific zone or all zones.
StatusOr< google::container::v1::Operation > SetMaintenancePolicy(std::string const &name, google::container::v1::MaintenancePolicy const &maintenance_policy, Options opts={})
Sets the maintenance policy for a cluster.
StatusOr< google::container::v1::Operation > SetLabels(google::container::v1::SetLabelsRequest const &request, Options opts={})
Sets labels on a cluster.
StatusOr< google::container::v1::NodePool > GetNodePool(google::container::v1::GetNodePoolRequest const &request, Options opts={})
Retrieves the requested node pool.
StatusOr< google::container::v1::CheckAutopilotCompatibilityResponse > CheckAutopilotCompatibility(google::container::v1::CheckAutopilotCompatibilityRequest const &request, Options opts={})
Checks the cluster compatibility with Autopilot mode, and returns a list of compatibility issues.
StatusOr< google::container::v1::ListNodePoolsResponse > ListNodePools(google::container::v1::ListNodePoolsRequest const &request, Options opts={})
Lists the node pools for a cluster.
StatusOr< google::container::v1::Operation > SetAddonsConfig(std::string const &name, google::container::v1::AddonsConfig const &addons_config, Options opts={})
Sets the addons for a specific cluster.
StatusOr< google::container::v1::Operation > SetNetworkPolicy(std::string const &name, google::container::v1::NetworkPolicy const &network_policy, Options opts={})
Enables or disables Network Policy for a cluster.
StatusOr< google::container::v1::Cluster > GetCluster(std::string const &name, Options opts={})
Gets the details of a specific cluster.
Status CompleteNodePoolUpgrade(google::container::v1::CompleteNodePoolUpgradeRequest const &request, Options opts={})
CompleteNodePoolUpgrade will signal an on-going node pool upgrade to complete.
StatusOr< google::container::v1::ServerConfig > GetServerConfig(std::string const &name, Options opts={})
Returns configuration info about the Google Kubernetes Engine service.
StatusOr< google::container::v1::Operation > RollbackNodePoolUpgrade(google::container::v1::RollbackNodePoolUpgradeRequest const &request, Options opts={})
Rolls back a previously Aborted or Failed NodePool upgrade.
StatusOr< google::container::v1::Operation > SetLegacyAbac(google::container::v1::SetLegacyAbacRequest const &request, Options opts={})
Enables or disables the ABAC authorization mechanism on a cluster.
StatusOr< google::container::v1::Operation > StartIPRotation(google::container::v1::StartIPRotationRequest const &request, Options opts={})
Starts master IP rotation.
StatusOr< google::container::v1::GetJSONWebKeysResponse > GetJSONWebKeys(google::container::v1::GetJSONWebKeysRequest const &request, Options opts={})
Gets the public component of the cluster signing keys in JSON Web Key format.
StatusOr< google::container::v1::Operation > SetLoggingService(google::container::v1::SetLoggingServiceRequest const &request, Options opts={})
Sets the logging service for a specific cluster.
StatusOr< google::container::v1::Operation > SetLegacyAbac(std::string const &name, bool enabled, Options opts={})
Enables or disables the ABAC authorization mechanism on a cluster.
StatusOr< google::container::v1::Operation > SetNodePoolManagement(google::container::v1::SetNodePoolManagementRequest const &request, Options opts={})
Sets the NodeManagement options for a node pool.
StatusOr< google::container::v1::Operation > CompleteIPRotation(google::container::v1::CompleteIPRotationRequest const &request, Options opts={})
Completes master IP rotation.
StatusOr< google::container::v1::Operation > SetMaintenancePolicy(google::container::v1::SetMaintenancePolicyRequest const &request, Options opts={})
Sets the maintenance policy for a cluster.
StatusOr< google::container::v1::Operation > DeleteNodePool(std::string const &name, Options opts={})
Deletes a node pool from a cluster.
ClusterManagerClient(ClusterManagerClient &&)=default
StatusOr< google::container::v1::Operation > SetMasterAuth(google::container::v1::SetMasterAuthRequest const &request, Options opts={})
Sets master auth materials.
StatusOr< google::container::v1::NodePool > GetNodePool(std::string const &name, Options opts={})
Retrieves the requested node pool.
StatusOr< google::container::v1::Operation > UpdateCluster(std::string const &name, google::container::v1::ClusterUpdate const &update, Options opts={})
Updates the settings of a specific cluster.
StatusOr< google::container::v1::Operation > RollbackNodePoolUpgrade(std::string const &name, Options opts={})
Rolls back a previously Aborted or Failed NodePool upgrade.
The ClusterManagerConnection object for ClusterManagerClient.
Definition: cluster_manager_connection.h:61
Definition: cluster_manager_client.h:33