1// Copyright 2021 Google LLC.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// Code generated file. DO NOT EDIT.
6
7// Package container provides access to the Kubernetes Engine API.
8//
9// For product documentation, see: https://cloud.google.com/container-engine/
10//
11// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/container/v1beta1"
16//   ...
17//   ctx := context.Background()
18//   containerService, err := container.NewService(ctx)
19//
20// In this example, Google Application Default Credentials are used for authentication.
21//
22// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
23//
24// Other authentication options
25//
26// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
27//
28//   containerService, err := container.NewService(ctx, option.WithAPIKey("AIza..."))
29//
30// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
31//
32//   config := &oauth2.Config{...}
33//   // ...
34//   token, err := config.Exchange(ctx, ...)
35//   containerService, err := container.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
36//
37// See https://godoc.org/google.golang.org/api/option/ for details on options.
38package container // import "google.golang.org/api/container/v1beta1"
39
40import (
41	"bytes"
42	"context"
43	"encoding/json"
44	"errors"
45	"fmt"
46	"io"
47	"net/http"
48	"net/url"
49	"strconv"
50	"strings"
51
52	googleapi "google.golang.org/api/googleapi"
53	gensupport "google.golang.org/api/internal/gensupport"
54	option "google.golang.org/api/option"
55	internaloption "google.golang.org/api/option/internaloption"
56	htransport "google.golang.org/api/transport/http"
57)
58
59// Always reference these packages, just in case the auto-generated code
60// below doesn't.
61var _ = bytes.NewBuffer
62var _ = strconv.Itoa
63var _ = fmt.Sprintf
64var _ = json.NewDecoder
65var _ = io.Copy
66var _ = url.Parse
67var _ = gensupport.MarshalJSON
68var _ = googleapi.Version
69var _ = errors.New
70var _ = strings.Replace
71var _ = context.Canceled
72var _ = internaloption.WithDefaultEndpoint
73
74const apiId = "container:v1beta1"
75const apiName = "container"
76const apiVersion = "v1beta1"
77const basePath = "https://container.googleapis.com/"
78const mtlsBasePath = "https://container.mtls.googleapis.com/"
79
80// OAuth2 scopes used by this API.
81const (
82	// View and manage your data across Google Cloud Platform services
83	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
84)
85
86// NewService creates a new Service.
87func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
88	scopesOption := option.WithScopes(
89		"https://www.googleapis.com/auth/cloud-platform",
90	)
91	// NOTE: prepend, so we don't override user-specified scopes.
92	opts = append([]option.ClientOption{scopesOption}, opts...)
93	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
94	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
95	client, endpoint, err := htransport.NewClient(ctx, opts...)
96	if err != nil {
97		return nil, err
98	}
99	s, err := New(client)
100	if err != nil {
101		return nil, err
102	}
103	if endpoint != "" {
104		s.BasePath = endpoint
105	}
106	return s, nil
107}
108
109// New creates a new Service. It uses the provided http.Client for requests.
110//
111// Deprecated: please use NewService instead.
112// To provide a custom HTTP client, use option.WithHTTPClient.
113// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
114func New(client *http.Client) (*Service, error) {
115	if client == nil {
116		return nil, errors.New("client is nil")
117	}
118	s := &Service{client: client, BasePath: basePath}
119	s.Projects = NewProjectsService(s)
120	return s, nil
121}
122
123type Service struct {
124	client    *http.Client
125	BasePath  string // API endpoint base URL
126	UserAgent string // optional additional User-Agent fragment
127
128	Projects *ProjectsService
129}
130
131func (s *Service) userAgent() string {
132	if s.UserAgent == "" {
133		return googleapi.UserAgent
134	}
135	return googleapi.UserAgent + " " + s.UserAgent
136}
137
138func NewProjectsService(s *Service) *ProjectsService {
139	rs := &ProjectsService{s: s}
140	rs.Aggregated = NewProjectsAggregatedService(s)
141	rs.Locations = NewProjectsLocationsService(s)
142	rs.Zones = NewProjectsZonesService(s)
143	return rs
144}
145
146type ProjectsService struct {
147	s *Service
148
149	Aggregated *ProjectsAggregatedService
150
151	Locations *ProjectsLocationsService
152
153	Zones *ProjectsZonesService
154}
155
156func NewProjectsAggregatedService(s *Service) *ProjectsAggregatedService {
157	rs := &ProjectsAggregatedService{s: s}
158	rs.UsableSubnetworks = NewProjectsAggregatedUsableSubnetworksService(s)
159	return rs
160}
161
162type ProjectsAggregatedService struct {
163	s *Service
164
165	UsableSubnetworks *ProjectsAggregatedUsableSubnetworksService
166}
167
168func NewProjectsAggregatedUsableSubnetworksService(s *Service) *ProjectsAggregatedUsableSubnetworksService {
169	rs := &ProjectsAggregatedUsableSubnetworksService{s: s}
170	return rs
171}
172
173type ProjectsAggregatedUsableSubnetworksService struct {
174	s *Service
175}
176
177func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
178	rs := &ProjectsLocationsService{s: s}
179	rs.Clusters = NewProjectsLocationsClustersService(s)
180	rs.Operations = NewProjectsLocationsOperationsService(s)
181	return rs
182}
183
184type ProjectsLocationsService struct {
185	s *Service
186
187	Clusters *ProjectsLocationsClustersService
188
189	Operations *ProjectsLocationsOperationsService
190}
191
192func NewProjectsLocationsClustersService(s *Service) *ProjectsLocationsClustersService {
193	rs := &ProjectsLocationsClustersService{s: s}
194	rs.NodePools = NewProjectsLocationsClustersNodePoolsService(s)
195	rs.WellKnown = NewProjectsLocationsClustersWellKnownService(s)
196	return rs
197}
198
199type ProjectsLocationsClustersService struct {
200	s *Service
201
202	NodePools *ProjectsLocationsClustersNodePoolsService
203
204	WellKnown *ProjectsLocationsClustersWellKnownService
205}
206
207func NewProjectsLocationsClustersNodePoolsService(s *Service) *ProjectsLocationsClustersNodePoolsService {
208	rs := &ProjectsLocationsClustersNodePoolsService{s: s}
209	return rs
210}
211
212type ProjectsLocationsClustersNodePoolsService struct {
213	s *Service
214}
215
216func NewProjectsLocationsClustersWellKnownService(s *Service) *ProjectsLocationsClustersWellKnownService {
217	rs := &ProjectsLocationsClustersWellKnownService{s: s}
218	return rs
219}
220
221type ProjectsLocationsClustersWellKnownService struct {
222	s *Service
223}
224
225func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
226	rs := &ProjectsLocationsOperationsService{s: s}
227	return rs
228}
229
230type ProjectsLocationsOperationsService struct {
231	s *Service
232}
233
234func NewProjectsZonesService(s *Service) *ProjectsZonesService {
235	rs := &ProjectsZonesService{s: s}
236	rs.Clusters = NewProjectsZonesClustersService(s)
237	rs.Operations = NewProjectsZonesOperationsService(s)
238	return rs
239}
240
241type ProjectsZonesService struct {
242	s *Service
243
244	Clusters *ProjectsZonesClustersService
245
246	Operations *ProjectsZonesOperationsService
247}
248
249func NewProjectsZonesClustersService(s *Service) *ProjectsZonesClustersService {
250	rs := &ProjectsZonesClustersService{s: s}
251	rs.NodePools = NewProjectsZonesClustersNodePoolsService(s)
252	return rs
253}
254
255type ProjectsZonesClustersService struct {
256	s *Service
257
258	NodePools *ProjectsZonesClustersNodePoolsService
259}
260
261func NewProjectsZonesClustersNodePoolsService(s *Service) *ProjectsZonesClustersNodePoolsService {
262	rs := &ProjectsZonesClustersNodePoolsService{s: s}
263	return rs
264}
265
266type ProjectsZonesClustersNodePoolsService struct {
267	s *Service
268}
269
270func NewProjectsZonesOperationsService(s *Service) *ProjectsZonesOperationsService {
271	rs := &ProjectsZonesOperationsService{s: s}
272	return rs
273}
274
275type ProjectsZonesOperationsService struct {
276	s *Service
277}
278
279// AcceleratorConfig: AcceleratorConfig represents a Hardware
280// Accelerator request.
281type AcceleratorConfig struct {
282	// AcceleratorCount: The number of the accelerator cards exposed to an
283	// instance.
284	AcceleratorCount int64 `json:"acceleratorCount,omitempty,string"`
285
286	// AcceleratorType: The accelerator type resource name. List of
287	// supported accelerators here
288	// (https://cloud.google.com/compute/docs/gpus)
289	AcceleratorType string `json:"acceleratorType,omitempty"`
290
291	// ForceSendFields is a list of field names (e.g. "AcceleratorCount") to
292	// unconditionally include in API requests. By default, fields with
293	// empty values are omitted from API requests. However, any non-pointer,
294	// non-interface field appearing in ForceSendFields will be sent to the
295	// server regardless of whether the field is empty or not. This may be
296	// used to include empty fields in Patch requests.
297	ForceSendFields []string `json:"-"`
298
299	// NullFields is a list of field names (e.g. "AcceleratorCount") to
300	// include in API requests with the JSON null value. By default, fields
301	// with empty values are omitted from API requests. However, any field
302	// with an empty value appearing in NullFields will be sent to the
303	// server as null. It is an error if a field in this list has a
304	// non-empty value. This may be used to include null fields in Patch
305	// requests.
306	NullFields []string `json:"-"`
307}
308
309func (s *AcceleratorConfig) MarshalJSON() ([]byte, error) {
310	type NoMethod AcceleratorConfig
311	raw := NoMethod(*s)
312	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
313}
314
315// AddonsConfig: Configuration for the addons that can be automatically
316// spun up in the cluster, enabling additional functionality.
317type AddonsConfig struct {
318	// CloudRunConfig: Configuration for the Cloud Run addon. The
319	// `IstioConfig` addon must be enabled in order to enable Cloud Run
320	// addon. This option can only be enabled at cluster creation time.
321	CloudRunConfig *CloudRunConfig `json:"cloudRunConfig,omitempty"`
322
323	// ConfigConnectorConfig: Configuration for the ConfigConnector add-on,
324	// a Kubernetes extension to manage hosted GCP services through the
325	// Kubernetes API
326	ConfigConnectorConfig *ConfigConnectorConfig `json:"configConnectorConfig,omitempty"`
327
328	// DnsCacheConfig: Configuration for NodeLocalDNS, a dns cache running
329	// on cluster nodes
330	DnsCacheConfig *DnsCacheConfig `json:"dnsCacheConfig,omitempty"`
331
332	// GcePersistentDiskCsiDriverConfig: Configuration for the Compute
333	// Engine Persistent Disk CSI driver.
334	GcePersistentDiskCsiDriverConfig *GcePersistentDiskCsiDriverConfig `json:"gcePersistentDiskCsiDriverConfig,omitempty"`
335
336	// HorizontalPodAutoscaling: Configuration for the horizontal pod
337	// autoscaling feature, which increases or decreases the number of
338	// replica pods a replication controller has based on the resource usage
339	// of the existing pods.
340	HorizontalPodAutoscaling *HorizontalPodAutoscaling `json:"horizontalPodAutoscaling,omitempty"`
341
342	// HttpLoadBalancing: Configuration for the HTTP (L7) load balancing
343	// controller addon, which makes it easy to set up HTTP load balancers
344	// for services in a cluster.
345	HttpLoadBalancing *HttpLoadBalancing `json:"httpLoadBalancing,omitempty"`
346
347	// IstioConfig: Configuration for Istio, an open platform to connect,
348	// manage, and secure microservices.
349	IstioConfig *IstioConfig `json:"istioConfig,omitempty"`
350
351	// KalmConfig: Configuration for the KALM addon, which manages the
352	// lifecycle of k8s applications.
353	KalmConfig *KalmConfig `json:"kalmConfig,omitempty"`
354
355	// KubernetesDashboard: Configuration for the Kubernetes Dashboard. This
356	// addon is deprecated, and will be disabled in 1.15. It is recommended
357	// to use the Cloud Console to manage and monitor your Kubernetes
358	// clusters, workloads and applications. For more information, see:
359	// https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
360	KubernetesDashboard *KubernetesDashboard `json:"kubernetesDashboard,omitempty"`
361
362	// NetworkPolicyConfig: Configuration for NetworkPolicy. This only
363	// tracks whether the addon is enabled or not on the Master, it does not
364	// track whether network policy is enabled for the nodes.
365	NetworkPolicyConfig *NetworkPolicyConfig `json:"networkPolicyConfig,omitempty"`
366
367	// ForceSendFields is a list of field names (e.g. "CloudRunConfig") to
368	// unconditionally include in API requests. By default, fields with
369	// empty values are omitted from API requests. However, any non-pointer,
370	// non-interface field appearing in ForceSendFields will be sent to the
371	// server regardless of whether the field is empty or not. This may be
372	// used to include empty fields in Patch requests.
373	ForceSendFields []string `json:"-"`
374
375	// NullFields is a list of field names (e.g. "CloudRunConfig") to
376	// include in API requests with the JSON null value. By default, fields
377	// with empty values are omitted from API requests. However, any field
378	// with an empty value appearing in NullFields will be sent to the
379	// server as null. It is an error if a field in this list has a
380	// non-empty value. This may be used to include null fields in Patch
381	// requests.
382	NullFields []string `json:"-"`
383}
384
385func (s *AddonsConfig) MarshalJSON() ([]byte, error) {
386	type NoMethod AddonsConfig
387	raw := NoMethod(*s)
388	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
389}
390
391// AuthenticatorGroupsConfig: Configuration for returning group
392// information from authenticators.
393type AuthenticatorGroupsConfig struct {
394	// Enabled: Whether this cluster should return group membership lookups
395	// during authentication using a group of security groups.
396	Enabled bool `json:"enabled,omitempty"`
397
398	// SecurityGroup: The name of the security group-of-groups to be used.
399	// Only relevant if enabled = true.
400	SecurityGroup string `json:"securityGroup,omitempty"`
401
402	// ForceSendFields is a list of field names (e.g. "Enabled") to
403	// unconditionally include in API requests. By default, fields with
404	// empty values are omitted from API requests. However, any non-pointer,
405	// non-interface field appearing in ForceSendFields will be sent to the
406	// server regardless of whether the field is empty or not. This may be
407	// used to include empty fields in Patch requests.
408	ForceSendFields []string `json:"-"`
409
410	// NullFields is a list of field names (e.g. "Enabled") to include in
411	// API requests with the JSON null value. By default, fields with empty
412	// values are omitted from API requests. However, any field with an
413	// empty value appearing in NullFields will be sent to the server as
414	// null. It is an error if a field in this list has a non-empty value.
415	// This may be used to include null fields in Patch requests.
416	NullFields []string `json:"-"`
417}
418
419func (s *AuthenticatorGroupsConfig) MarshalJSON() ([]byte, error) {
420	type NoMethod AuthenticatorGroupsConfig
421	raw := NoMethod(*s)
422	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
423}
424
425// AutoUpgradeOptions: AutoUpgradeOptions defines the set of options for
426// the user to control how the Auto Upgrades will proceed.
427type AutoUpgradeOptions struct {
428	// AutoUpgradeStartTime: [Output only] This field is set when upgrades
429	// are about to commence with the approximate start time for the
430	// upgrades, in RFC3339 (https://www.ietf.org/rfc/rfc3339.txt) text
431	// format.
432	AutoUpgradeStartTime string `json:"autoUpgradeStartTime,omitempty"`
433
434	// Description: [Output only] This field is set when upgrades are about
435	// to commence with the description of the upgrade.
436	Description string `json:"description,omitempty"`
437
438	// ForceSendFields is a list of field names (e.g.
439	// "AutoUpgradeStartTime") to unconditionally include in API requests.
440	// By default, fields with empty values are omitted from API requests.
441	// However, any non-pointer, non-interface field appearing in
442	// ForceSendFields will be sent to the server regardless of whether the
443	// field is empty or not. This may be used to include empty fields in
444	// Patch requests.
445	ForceSendFields []string `json:"-"`
446
447	// NullFields is a list of field names (e.g. "AutoUpgradeStartTime") to
448	// include in API requests with the JSON null value. By default, fields
449	// with empty values are omitted from API requests. However, any field
450	// with an empty value appearing in NullFields will be sent to the
451	// server as null. It is an error if a field in this list has a
452	// non-empty value. This may be used to include null fields in Patch
453	// requests.
454	NullFields []string `json:"-"`
455}
456
457func (s *AutoUpgradeOptions) MarshalJSON() ([]byte, error) {
458	type NoMethod AutoUpgradeOptions
459	raw := NoMethod(*s)
460	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
461}
462
463// Autopilot: Autopilot is the configuration for Autopilot settings on
464// the cluster.
465type Autopilot struct {
466	// Enabled: Enable Autopilot
467	Enabled bool `json:"enabled,omitempty"`
468
469	// ForceSendFields is a list of field names (e.g. "Enabled") to
470	// unconditionally include in API requests. By default, fields with
471	// empty values are omitted from API requests. However, any non-pointer,
472	// non-interface field appearing in ForceSendFields will be sent to the
473	// server regardless of whether the field is empty or not. This may be
474	// used to include empty fields in Patch requests.
475	ForceSendFields []string `json:"-"`
476
477	// NullFields is a list of field names (e.g. "Enabled") to include in
478	// API requests with the JSON null value. By default, fields with empty
479	// values are omitted from API requests. However, any field with an
480	// empty value appearing in NullFields will be sent to the server as
481	// null. It is an error if a field in this list has a non-empty value.
482	// This may be used to include null fields in Patch requests.
483	NullFields []string `json:"-"`
484}
485
486func (s *Autopilot) MarshalJSON() ([]byte, error) {
487	type NoMethod Autopilot
488	raw := NoMethod(*s)
489	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
490}
491
492// AutoprovisioningNodePoolDefaults: AutoprovisioningNodePoolDefaults
493// contains defaults for a node pool created by NAP.
494type AutoprovisioningNodePoolDefaults struct {
495	// BootDiskKmsKey:  The Customer Managed Encryption Key used to encrypt
496	// the boot disk attached to each node in the node pool. This should be
497	// of the form
498	// projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cr
499	// yptoKeys/[KEY_NAME]. For more information about protecting resources
500	// with Cloud KMS Keys please see:
501	// https://cloud.google.com/compute/docs/disks/customer-managed-encryption
502	BootDiskKmsKey string `json:"bootDiskKmsKey,omitempty"`
503
504	// DiskSizeGb: Size of the disk attached to each node, specified in GB.
505	// The smallest allowed disk size is 10GB. If unspecified, the default
506	// disk size is 100GB.
507	DiskSizeGb int64 `json:"diskSizeGb,omitempty"`
508
509	// DiskType: Type of the disk attached to each node (e.g. 'pd-standard',
510	// 'pd-ssd' or 'pd-balanced') If unspecified, the default disk type is
511	// 'pd-standard'
512	DiskType string `json:"diskType,omitempty"`
513
514	// Management: NodeManagement configuration for this NodePool.
515	Management *NodeManagement `json:"management,omitempty"`
516
517	// MinCpuPlatform: Minimum CPU platform to be used by this instance. The
518	// instance may be scheduled on the specified or newer CPU platform.
519	// Applicable values are the friendly names of CPU platforms, such as
520	// `minCpuPlatform: "Intel Haswell" or `minCpuPlatform: "Intel Sandy
521	// Bridge". For more information, read how to specify min CPU platform
522	// (https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
523	// To unset the min cpu platform field pass "automatic" as field value.
524	MinCpuPlatform string `json:"minCpuPlatform,omitempty"`
525
526	// OauthScopes: The set of Google API scopes to be made available on all
527	// of the node VMs under the "default" service account. The following
528	// scopes are recommended, but not required, and by default are not
529	// included: * `https://www.googleapis.com/auth/compute` is required for
530	// mounting persistent storage on your nodes. *
531	// `https://www.googleapis.com/auth/devstorage.read_only` is required
532	// for communicating with **gcr.io** (the Google Container Registry
533	// (https://cloud.google.com/container-registry/)). If unspecified, no
534	// scopes are added, unless Cloud Logging or Cloud Monitoring are
535	// enabled, in which case their required scopes will be added.
536	OauthScopes []string `json:"oauthScopes,omitempty"`
537
538	// ServiceAccount: The Google Cloud Platform Service Account to be used
539	// by the node VMs. Specify the email address of the Service Account;
540	// otherwise, if no Service Account is specified, the "default" service
541	// account is used.
542	ServiceAccount string `json:"serviceAccount,omitempty"`
543
544	// ShieldedInstanceConfig: Shielded Instance options.
545	ShieldedInstanceConfig *ShieldedInstanceConfig `json:"shieldedInstanceConfig,omitempty"`
546
547	// UpgradeSettings: Upgrade settings control disruption and speed of the
548	// upgrade.
549	UpgradeSettings *UpgradeSettings `json:"upgradeSettings,omitempty"`
550
551	// ForceSendFields is a list of field names (e.g. "BootDiskKmsKey") to
552	// unconditionally include in API requests. By default, fields with
553	// empty values are omitted from API requests. However, any non-pointer,
554	// non-interface field appearing in ForceSendFields will be sent to the
555	// server regardless of whether the field is empty or not. This may be
556	// used to include empty fields in Patch requests.
557	ForceSendFields []string `json:"-"`
558
559	// NullFields is a list of field names (e.g. "BootDiskKmsKey") to
560	// include in API requests with the JSON null value. By default, fields
561	// with empty values are omitted from API requests. However, any field
562	// with an empty value appearing in NullFields will be sent to the
563	// server as null. It is an error if a field in this list has a
564	// non-empty value. This may be used to include null fields in Patch
565	// requests.
566	NullFields []string `json:"-"`
567}
568
569func (s *AutoprovisioningNodePoolDefaults) MarshalJSON() ([]byte, error) {
570	type NoMethod AutoprovisioningNodePoolDefaults
571	raw := NoMethod(*s)
572	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
573}
574
575// AvailableVersion: Deprecated.
576type AvailableVersion struct {
577	// Reason: Reason for availability.
578	Reason string `json:"reason,omitempty"`
579
580	// Version: Kubernetes version.
581	Version string `json:"version,omitempty"`
582
583	// ForceSendFields is a list of field names (e.g. "Reason") to
584	// unconditionally include in API requests. By default, fields with
585	// empty values are omitted from API requests. However, any non-pointer,
586	// non-interface field appearing in ForceSendFields will be sent to the
587	// server regardless of whether the field is empty or not. This may be
588	// used to include empty fields in Patch requests.
589	ForceSendFields []string `json:"-"`
590
591	// NullFields is a list of field names (e.g. "Reason") to include in API
592	// requests with the JSON null value. By default, fields with empty
593	// values are omitted from API requests. However, any field with an
594	// empty value appearing in NullFields will be sent to the server as
595	// null. It is an error if a field in this list has a non-empty value.
596	// This may be used to include null fields in Patch requests.
597	NullFields []string `json:"-"`
598}
599
600func (s *AvailableVersion) MarshalJSON() ([]byte, error) {
601	type NoMethod AvailableVersion
602	raw := NoMethod(*s)
603	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
604}
605
606// BigQueryDestination: Parameters for using BigQuery as the destination
607// of resource usage export.
608type BigQueryDestination struct {
609	// DatasetId: The ID of a BigQuery Dataset.
610	DatasetId string `json:"datasetId,omitempty"`
611
612	// ForceSendFields is a list of field names (e.g. "DatasetId") to
613	// unconditionally include in API requests. By default, fields with
614	// empty values are omitted from API requests. However, any non-pointer,
615	// non-interface field appearing in ForceSendFields will be sent to the
616	// server regardless of whether the field is empty or not. This may be
617	// used to include empty fields in Patch requests.
618	ForceSendFields []string `json:"-"`
619
620	// NullFields is a list of field names (e.g. "DatasetId") to include in
621	// API requests with the JSON null value. By default, fields with empty
622	// values are omitted from API requests. However, any field with an
623	// empty value appearing in NullFields will be sent to the server as
624	// null. It is an error if a field in this list has a non-empty value.
625	// This may be used to include null fields in Patch requests.
626	NullFields []string `json:"-"`
627}
628
629func (s *BigQueryDestination) MarshalJSON() ([]byte, error) {
630	type NoMethod BigQueryDestination
631	raw := NoMethod(*s)
632	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
633}
634
635// BinaryAuthorization: Configuration for Binary Authorization.
636type BinaryAuthorization struct {
637	// Enabled: Enable Binary Authorization for this cluster. If enabled,
638	// all container images will be validated by Google Binauthz.
639	Enabled bool `json:"enabled,omitempty"`
640
641	// ForceSendFields is a list of field names (e.g. "Enabled") to
642	// unconditionally include in API requests. By default, fields with
643	// empty values are omitted from API requests. However, any non-pointer,
644	// non-interface field appearing in ForceSendFields will be sent to the
645	// server regardless of whether the field is empty or not. This may be
646	// used to include empty fields in Patch requests.
647	ForceSendFields []string `json:"-"`
648
649	// NullFields is a list of field names (e.g. "Enabled") to include in
650	// API requests with the JSON null value. By default, fields with empty
651	// values are omitted from API requests. However, any field with an
652	// empty value appearing in NullFields will be sent to the server as
653	// null. It is an error if a field in this list has a non-empty value.
654	// This may be used to include null fields in Patch requests.
655	NullFields []string `json:"-"`
656}
657
658func (s *BinaryAuthorization) MarshalJSON() ([]byte, error) {
659	type NoMethod BinaryAuthorization
660	raw := NoMethod(*s)
661	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
662}
663
664// CancelOperationRequest: CancelOperationRequest cancels a single
665// operation.
666type CancelOperationRequest struct {
667	// Name: The name (project, location, operation id) of the operation to
668	// cancel. Specified in the format
669	// `projects/*/locations/*/operations/*`.
670	Name string `json:"name,omitempty"`
671
672	// OperationId: Required. Deprecated. The server-assigned `name` of the
673	// operation. This field has been deprecated and replaced by the name
674	// field.
675	OperationId string `json:"operationId,omitempty"`
676
677	// ProjectId: Required. Deprecated. The Google Developers Console
678	// project ID or project number
679	// (https://support.google.com/cloud/answer/6158840). This field has
680	// been deprecated and replaced by the name field.
681	ProjectId string `json:"projectId,omitempty"`
682
683	// Zone: Required. Deprecated. The name of the Google Compute Engine
684	// zone (https://cloud.google.com/compute/docs/zones#available) in which
685	// the operation resides. This field has been deprecated and replaced by
686	// the name field.
687	Zone string `json:"zone,omitempty"`
688
689	// ForceSendFields is a list of field names (e.g. "Name") to
690	// unconditionally include in API requests. By default, fields with
691	// empty values are omitted from API requests. However, any non-pointer,
692	// non-interface field appearing in ForceSendFields will be sent to the
693	// server regardless of whether the field is empty or not. This may be
694	// used to include empty fields in Patch requests.
695	ForceSendFields []string `json:"-"`
696
697	// NullFields is a list of field names (e.g. "Name") to include in API
698	// requests with the JSON null value. By default, fields with empty
699	// values are omitted from API requests. However, any field with an
700	// empty value appearing in NullFields will be sent to the server as
701	// null. It is an error if a field in this list has a non-empty value.
702	// This may be used to include null fields in Patch requests.
703	NullFields []string `json:"-"`
704}
705
706func (s *CancelOperationRequest) MarshalJSON() ([]byte, error) {
707	type NoMethod CancelOperationRequest
708	raw := NoMethod(*s)
709	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
710}
711
712// CidrBlock: CidrBlock contains an optional name and one CIDR block.
713type CidrBlock struct {
714	// CidrBlock: cidr_block must be specified in CIDR notation.
715	CidrBlock string `json:"cidrBlock,omitempty"`
716
717	// DisplayName: display_name is an optional field for users to identify
718	// CIDR blocks.
719	DisplayName string `json:"displayName,omitempty"`
720
721	// ForceSendFields is a list of field names (e.g. "CidrBlock") to
722	// unconditionally include in API requests. By default, fields with
723	// empty values are omitted from API requests. However, any non-pointer,
724	// non-interface field appearing in ForceSendFields will be sent to the
725	// server regardless of whether the field is empty or not. This may be
726	// used to include empty fields in Patch requests.
727	ForceSendFields []string `json:"-"`
728
729	// NullFields is a list of field names (e.g. "CidrBlock") to include in
730	// API requests with the JSON null value. By default, fields with empty
731	// values are omitted from API requests. However, any field with an
732	// empty value appearing in NullFields will be sent to the server as
733	// null. It is an error if a field in this list has a non-empty value.
734	// This may be used to include null fields in Patch requests.
735	NullFields []string `json:"-"`
736}
737
738func (s *CidrBlock) MarshalJSON() ([]byte, error) {
739	type NoMethod CidrBlock
740	raw := NoMethod(*s)
741	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
742}
743
744// ClientCertificateConfig: Configuration for client certificates on the
745// cluster.
746type ClientCertificateConfig struct {
747	// IssueClientCertificate: Issue a client certificate.
748	IssueClientCertificate bool `json:"issueClientCertificate,omitempty"`
749
750	// ForceSendFields is a list of field names (e.g.
751	// "IssueClientCertificate") to unconditionally include in API requests.
752	// By default, fields with empty values are omitted from API requests.
753	// However, any non-pointer, non-interface field appearing in
754	// ForceSendFields will be sent to the server regardless of whether the
755	// field is empty or not. This may be used to include empty fields in
756	// Patch requests.
757	ForceSendFields []string `json:"-"`
758
759	// NullFields is a list of field names (e.g. "IssueClientCertificate")
760	// to include in API requests with the JSON null value. By default,
761	// fields with empty values are omitted from API requests. However, any
762	// field with an empty value appearing in NullFields will be sent to the
763	// server as null. It is an error if a field in this list has a
764	// non-empty value. This may be used to include null fields in Patch
765	// requests.
766	NullFields []string `json:"-"`
767}
768
769func (s *ClientCertificateConfig) MarshalJSON() ([]byte, error) {
770	type NoMethod ClientCertificateConfig
771	raw := NoMethod(*s)
772	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
773}
774
775// CloudRunConfig: Configuration options for the Cloud Run feature.
776type CloudRunConfig struct {
777	// Disabled: Whether Cloud Run addon is enabled for this cluster.
778	Disabled bool `json:"disabled,omitempty"`
779
780	// LoadBalancerType: Which load balancer type is installed for Cloud
781	// Run.
782	//
783	// Possible values:
784	//   "LOAD_BALANCER_TYPE_UNSPECIFIED" - Load balancer type for Cloud Run
785	// is unspecified.
786	//   "LOAD_BALANCER_TYPE_EXTERNAL" - Install external load balancer for
787	// Cloud Run.
788	//   "LOAD_BALANCER_TYPE_INTERNAL" - Install internal load balancer for
789	// Cloud Run.
790	LoadBalancerType string `json:"loadBalancerType,omitempty"`
791
792	// ForceSendFields is a list of field names (e.g. "Disabled") to
793	// unconditionally include in API requests. By default, fields with
794	// empty values are omitted from API requests. However, any non-pointer,
795	// non-interface field appearing in ForceSendFields will be sent to the
796	// server regardless of whether the field is empty or not. This may be
797	// used to include empty fields in Patch requests.
798	ForceSendFields []string `json:"-"`
799
800	// NullFields is a list of field names (e.g. "Disabled") to include in
801	// API requests with the JSON null value. By default, fields with empty
802	// values are omitted from API requests. However, any field with an
803	// empty value appearing in NullFields will be sent to the server as
804	// null. It is an error if a field in this list has a non-empty value.
805	// This may be used to include null fields in Patch requests.
806	NullFields []string `json:"-"`
807}
808
809func (s *CloudRunConfig) MarshalJSON() ([]byte, error) {
810	type NoMethod CloudRunConfig
811	raw := NoMethod(*s)
812	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
813}
814
815// Cluster: A Google Kubernetes Engine cluster.
816type Cluster struct {
817	// AddonsConfig: Configurations for the various addons available to run
818	// in the cluster.
819	AddonsConfig *AddonsConfig `json:"addonsConfig,omitempty"`
820
821	// AuthenticatorGroupsConfig: Configuration controlling RBAC group
822	// membership information.
823	AuthenticatorGroupsConfig *AuthenticatorGroupsConfig `json:"authenticatorGroupsConfig,omitempty"`
824
825	// Autopilot: Autopilot configuration for the cluster.
826	Autopilot *Autopilot `json:"autopilot,omitempty"`
827
828	// Autoscaling: Cluster-level autoscaling configuration.
829	Autoscaling *ClusterAutoscaling `json:"autoscaling,omitempty"`
830
831	// BinaryAuthorization: Configuration for Binary Authorization.
832	BinaryAuthorization *BinaryAuthorization `json:"binaryAuthorization,omitempty"`
833
834	// ClusterIpv4Cidr: The IP address range of the container pods in this
835	// cluster, in CIDR
836	// (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
837	// notation (e.g. `10.96.0.0/14`). Leave blank to have one automatically
838	// chosen or specify a `/14` block in `10.0.0.0/8`.
839	ClusterIpv4Cidr string `json:"clusterIpv4Cidr,omitempty"`
840
841	// ClusterTelemetry: Telemetry integration for the cluster.
842	ClusterTelemetry *ClusterTelemetry `json:"clusterTelemetry,omitempty"`
843
844	// Conditions: Which conditions caused the current cluster state.
845	Conditions []*StatusCondition `json:"conditions,omitempty"`
846
847	// ConfidentialNodes: Configuration of Confidential Nodes
848	ConfidentialNodes *ConfidentialNodes `json:"confidentialNodes,omitempty"`
849
850	// CreateTime: [Output only] The time the cluster was created, in
851	// RFC3339 (https://www.ietf.org/rfc/rfc3339.txt) text format.
852	CreateTime string `json:"createTime,omitempty"`
853
854	// CurrentMasterVersion: [Output only] The current software version of
855	// the master endpoint.
856	CurrentMasterVersion string `json:"currentMasterVersion,omitempty"`
857
858	// CurrentNodeCount: [Output only] The number of nodes currently in the
859	// cluster. Deprecated. Call Kubernetes API directly to retrieve node
860	// information.
861	CurrentNodeCount int64 `json:"currentNodeCount,omitempty"`
862
863	// CurrentNodeVersion: [Output only] Deprecated, use NodePool.version
864	// (https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.nodePools)
865	// instead. The current version of the node software components. If they
866	// are currently at multiple versions because they're in the process of
867	// being upgraded, this reflects the minimum version of all nodes.
868	CurrentNodeVersion string `json:"currentNodeVersion,omitempty"`
869
870	// DatabaseEncryption: Configuration of etcd encryption.
871	DatabaseEncryption *DatabaseEncryption `json:"databaseEncryption,omitempty"`
872
873	// DefaultMaxPodsConstraint: The default constraint on the maximum
874	// number of pods that can be run simultaneously on a node in the node
875	// pool of this cluster. Only honored if cluster created with IP Alias
876	// support.
877	DefaultMaxPodsConstraint *MaxPodsConstraint `json:"defaultMaxPodsConstraint,omitempty"`
878
879	// Description: An optional description of this cluster.
880	Description string `json:"description,omitempty"`
881
882	// EnableKubernetesAlpha: Kubernetes alpha features are enabled on this
883	// cluster. This includes alpha API groups (e.g. v1beta1) and features
884	// that may not be production ready in the kubernetes version of the
885	// master and nodes. The cluster has no SLA for uptime and master/node
886	// upgrades are disabled. Alpha enabled clusters are automatically
887	// deleted thirty days after creation.
888	EnableKubernetesAlpha bool `json:"enableKubernetesAlpha,omitempty"`
889
890	// EnableTpu: Enable the ability to use Cloud TPUs in this cluster. This
891	// field is deprecated, use tpu_config.enabled instead.
892	EnableTpu bool `json:"enableTpu,omitempty"`
893
894	// Endpoint: [Output only] The IP address of this cluster's master
895	// endpoint. The endpoint can be accessed from the internet at
896	// `https://username:password@endpoint/`. See the `masterAuth` property
897	// of this resource for username and password information.
898	Endpoint string `json:"endpoint,omitempty"`
899
900	// ExpireTime: [Output only] The time the cluster will be automatically
901	// deleted in RFC3339 (https://www.ietf.org/rfc/rfc3339.txt) text
902	// format.
903	ExpireTime string `json:"expireTime,omitempty"`
904
905	// InitialClusterVersion: The initial Kubernetes version for this
906	// cluster. Valid versions are those found in validMasterVersions
907	// returned by getServerConfig. The version can be upgraded over time;
908	// such upgrades are reflected in currentMasterVersion and
909	// currentNodeVersion. Users may specify either explicit versions
910	// offered by Kubernetes Engine or version aliases, which have the
911	// following behavior: - "latest": picks the highest valid Kubernetes
912	// version - "1.X": picks the highest valid patch+gke.N patch in the 1.X
913	// version - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y
914	// version - "1.X.Y-gke.N": picks an explicit Kubernetes version -
915	// "","-": picks the default Kubernetes version
916	InitialClusterVersion string `json:"initialClusterVersion,omitempty"`
917
918	// InitialNodeCount: The number of nodes to create in this cluster. You
919	// must ensure that your Compute Engine resource quota
920	// (https://cloud.google.com/compute/quotas) is sufficient for this
921	// number of instances. You must also have available firewall and routes
922	// quota. For requests, this field should only be used in lieu of a
923	// "node_pool" object, since this configuration (along with the
924	// "node_config") will be used to create a "NodePool" object with an
925	// auto-generated name. Do not use this and a node_pool at the same
926	// time. This field is deprecated, use node_pool.initial_node_count
927	// instead.
928	InitialNodeCount int64 `json:"initialNodeCount,omitempty"`
929
930	// InstanceGroupUrls: Deprecated. Use node_pools.instance_group_urls.
931	InstanceGroupUrls []string `json:"instanceGroupUrls,omitempty"`
932
933	// IpAllocationPolicy: Configuration for cluster IP allocation.
934	IpAllocationPolicy *IPAllocationPolicy `json:"ipAllocationPolicy,omitempty"`
935
936	// LabelFingerprint: The fingerprint of the set of labels for this
937	// cluster.
938	LabelFingerprint string `json:"labelFingerprint,omitempty"`
939
940	// LegacyAbac: Configuration for the legacy ABAC authorization mode.
941	LegacyAbac *LegacyAbac `json:"legacyAbac,omitempty"`
942
943	// Location: [Output only] The name of the Google Compute Engine zone
944	// (https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
945	// or region
946	// (https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
947	// in which the cluster resides.
948	Location string `json:"location,omitempty"`
949
950	// Locations: The list of Google Compute Engine zones
951	// (https://cloud.google.com/compute/docs/zones#available) in which the
952	// cluster's nodes should be located. This field provides a default
953	// value if NodePool.Locations
954	// (https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations)
955	// are not specified during node pool creation. Warning: changing
956	// cluster locations will update the NodePool.Locations
957	// (https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations)
958	// of all node pools and will result in nodes being added and/or
959	// removed.
960	Locations []string `json:"locations,omitempty"`
961
962	// LoggingService: The logging service the cluster should use to write
963	// logs. Currently available options: *
964	// `logging.googleapis.com/kubernetes` - The Cloud Logging service with
965	// a Kubernetes-native resource model * `logging.googleapis.com` - The
966	// legacy Cloud Logging service (no longer available as of GKE 1.15). *
967	// `none` - no logs will be exported from the cluster. If left as an
968	// empty string,`logging.googleapis.com/kubernetes` will be used for GKE
969	// 1.14+ or `logging.googleapis.com` for earlier versions.
970	LoggingService string `json:"loggingService,omitempty"`
971
972	// MaintenancePolicy: Configure the maintenance policy for this cluster.
973	MaintenancePolicy *MaintenancePolicy `json:"maintenancePolicy,omitempty"`
974
975	// Master: Configuration for master components.
976	Master *Master `json:"master,omitempty"`
977
978	// MasterAuth: The authentication information for accessing the master
979	// endpoint. If unspecified, the defaults are used: For clusters before
980	// v1.12, if master_auth is unspecified, `username` will be set to
981	// "admin", a random password will be generated, and a client
982	// certificate will be issued.
983	MasterAuth *MasterAuth `json:"masterAuth,omitempty"`
984
985	// MasterAuthorizedNetworksConfig: The configuration options for master
986	// authorized networks feature.
987	MasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `json:"masterAuthorizedNetworksConfig,omitempty"`
988
989	// MasterIpv4CidrBlock: The IP prefix in CIDR notation to use for the
990	// hosted master network. This prefix will be used for assigning private
991	// IP addresses to the master or set of masters, as well as the ILB VIP.
992	// This field is deprecated, use
993	// private_cluster_config.master_ipv4_cidr_block instead.
994	MasterIpv4CidrBlock string `json:"masterIpv4CidrBlock,omitempty"`
995
996	// MonitoringService: The monitoring service the cluster should use to
997	// write metrics. Currently available options: *
998	// "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring service
999	// with a Kubernetes-native resource model * `monitoring.googleapis.com`
1000	// - The legacy Cloud Monitoring service (no longer available as of GKE
1001	// 1.15). * `none` - No metrics will be exported from the cluster. If
1002	// left as an empty string,`monitoring.googleapis.com/kubernetes` will
1003	// be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier
1004	// versions.
1005	MonitoringService string `json:"monitoringService,omitempty"`
1006
1007	// Name: The name of this cluster. The name must be unique within this
1008	// project and location (e.g. zone or region), and can be up to 40
1009	// characters with the following restrictions: * Lowercase letters,
1010	// numbers, and hyphens only. * Must start with a letter. * Must end
1011	// with a number or a letter.
1012	Name string `json:"name,omitempty"`
1013
1014	// Network: The name of the Google Compute Engine network
1015	// (https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
1016	// to which the cluster is connected. If left unspecified, the `default`
1017	// network will be used. On output this shows the network ID instead of
1018	// the name.
1019	Network string `json:"network,omitempty"`
1020
1021	// NetworkConfig: Configuration for cluster networking.
1022	NetworkConfig *NetworkConfig `json:"networkConfig,omitempty"`
1023
1024	// NetworkPolicy: Configuration options for the NetworkPolicy feature.
1025	NetworkPolicy *NetworkPolicy `json:"networkPolicy,omitempty"`
1026
1027	// NodeConfig: Parameters used in creating the cluster's nodes. For
1028	// requests, this field should only be used in lieu of a "node_pool"
1029	// object, since this configuration (along with the
1030	// "initial_node_count") will be used to create a "NodePool" object with
1031	// an auto-generated name. Do not use this and a node_pool at the same
1032	// time. For responses, this field will be populated with the node
1033	// configuration of the first node pool. (For configuration of each node
1034	// pool, see `node_pool.config`) If unspecified, the defaults are used.
1035	// This field is deprecated, use node_pool.config instead.
1036	NodeConfig *NodeConfig `json:"nodeConfig,omitempty"`
1037
1038	// NodeIpv4CidrSize: [Output only] The size of the address space on each
1039	// node for hosting containers. This is provisioned from within the
1040	// `container_ipv4_cidr` range. This field will only be set when cluster
1041	// is in route-based network mode.
1042	NodeIpv4CidrSize int64 `json:"nodeIpv4CidrSize,omitempty"`
1043
1044	// NodePools: The node pools associated with this cluster. This field
1045	// should not be set if "node_config" or "initial_node_count" are
1046	// specified.
1047	NodePools []*NodePool `json:"nodePools,omitempty"`
1048
1049	// NotificationConfig: Notification configuration of the cluster.
1050	NotificationConfig *NotificationConfig `json:"notificationConfig,omitempty"`
1051
1052	// PodSecurityPolicyConfig: Configuration for the PodSecurityPolicy
1053	// feature.
1054	PodSecurityPolicyConfig *PodSecurityPolicyConfig `json:"podSecurityPolicyConfig,omitempty"`
1055
1056	// PrivateCluster: If this is a private cluster setup. Private clusters
1057	// are clusters that, by default have no external IP addresses on the
1058	// nodes and where nodes and the master communicate over private IP
1059	// addresses. This field is deprecated, use
1060	// private_cluster_config.enable_private_nodes instead.
1061	PrivateCluster bool `json:"privateCluster,omitempty"`
1062
1063	// PrivateClusterConfig: Configuration for private cluster.
1064	PrivateClusterConfig *PrivateClusterConfig `json:"privateClusterConfig,omitempty"`
1065
1066	// ReleaseChannel: Release channel configuration.
1067	ReleaseChannel *ReleaseChannel `json:"releaseChannel,omitempty"`
1068
1069	// ResourceLabels: The resource labels for the cluster to use to
1070	// annotate any related Google Compute Engine resources.
1071	ResourceLabels map[string]string `json:"resourceLabels,omitempty"`
1072
1073	// ResourceUsageExportConfig: Configuration for exporting resource
1074	// usages. Resource usage export is disabled when this config
1075	// unspecified.
1076	ResourceUsageExportConfig *ResourceUsageExportConfig `json:"resourceUsageExportConfig,omitempty"`
1077
1078	// SelfLink: [Output only] Server-defined URL for the resource.
1079	SelfLink string `json:"selfLink,omitempty"`
1080
1081	// ServicesIpv4Cidr: [Output only] The IP address range of the
1082	// Kubernetes services in this cluster, in CIDR
1083	// (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1084	// notation (e.g. `1.2.3.4/29`). Service addresses are typically put in
1085	// the last `/16` from the container CIDR.
1086	ServicesIpv4Cidr string `json:"servicesIpv4Cidr,omitempty"`
1087
1088	// ShieldedNodes: Shielded Nodes configuration.
1089	ShieldedNodes *ShieldedNodes `json:"shieldedNodes,omitempty"`
1090
1091	// Status: [Output only] The current status of this cluster.
1092	//
1093	// Possible values:
1094	//   "STATUS_UNSPECIFIED" - Not set.
1095	//   "PROVISIONING" - The PROVISIONING state indicates the cluster is
1096	// being created.
1097	//   "RUNNING" - The RUNNING state indicates the cluster has been
1098	// created and is fully usable.
1099	//   "RECONCILING" - The RECONCILING state indicates that some work is
1100	// actively being done on the cluster, such as upgrading the master or
1101	// node software. Details can be found in the `statusMessage` field.
1102	//   "STOPPING" - The STOPPING state indicates the cluster is being
1103	// deleted.
1104	//   "ERROR" - The ERROR state indicates the cluster may be unusable.
1105	// Details can be found in the `statusMessage` field.
1106	//   "DEGRADED" - The DEGRADED state indicates the cluster requires user
1107	// action to restore full functionality. Details can be found in the
1108	// `statusMessage` field.
1109	Status string `json:"status,omitempty"`
1110
1111	// StatusMessage: [Output only] Deprecated. Use conditions instead.
1112	// Additional information about the current status of this cluster, if
1113	// available.
1114	StatusMessage string `json:"statusMessage,omitempty"`
1115
1116	// Subnetwork: The name of the Google Compute Engine subnetwork
1117	// (https://cloud.google.com/compute/docs/subnetworks) to which the
1118	// cluster is connected. On output this shows the subnetwork ID instead
1119	// of the name.
1120	Subnetwork string `json:"subnetwork,omitempty"`
1121
1122	// TpuConfig: Configuration for Cloud TPU support;
1123	TpuConfig *TpuConfig `json:"tpuConfig,omitempty"`
1124
1125	// TpuIpv4CidrBlock: [Output only] The IP address range of the Cloud
1126	// TPUs in this cluster, in CIDR
1127	// (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1128	// notation (e.g. `1.2.3.4/29`).
1129	TpuIpv4CidrBlock string `json:"tpuIpv4CidrBlock,omitempty"`
1130
1131	// VerticalPodAutoscaling: Cluster-level Vertical Pod Autoscaling
1132	// configuration.
1133	VerticalPodAutoscaling *VerticalPodAutoscaling `json:"verticalPodAutoscaling,omitempty"`
1134
1135	// WorkloadIdentityConfig: Configuration for the use of Kubernetes
1136	// Service Accounts in GCP IAM policies.
1137	WorkloadIdentityConfig *WorkloadIdentityConfig `json:"workloadIdentityConfig,omitempty"`
1138
1139	// Zone: [Output only] The name of the Google Compute Engine zone
1140	// (https://cloud.google.com/compute/docs/zones#available) in which the
1141	// cluster resides. This field is deprecated, use location instead.
1142	Zone string `json:"zone,omitempty"`
1143
1144	// ServerResponse contains the HTTP response code and headers from the
1145	// server.
1146	googleapi.ServerResponse `json:"-"`
1147
1148	// ForceSendFields is a list of field names (e.g. "AddonsConfig") to
1149	// unconditionally include in API requests. By default, fields with
1150	// empty values are omitted from API requests. However, any non-pointer,
1151	// non-interface field appearing in ForceSendFields will be sent to the
1152	// server regardless of whether the field is empty or not. This may be
1153	// used to include empty fields in Patch requests.
1154	ForceSendFields []string `json:"-"`
1155
1156	// NullFields is a list of field names (e.g. "AddonsConfig") to include
1157	// in API requests with the JSON null value. By default, fields with
1158	// empty values are omitted from API requests. However, any field with
1159	// an empty value appearing in NullFields will be sent to the server as
1160	// null. It is an error if a field in this list has a non-empty value.
1161	// This may be used to include null fields in Patch requests.
1162	NullFields []string `json:"-"`
1163}
1164
1165func (s *Cluster) MarshalJSON() ([]byte, error) {
1166	type NoMethod Cluster
1167	raw := NoMethod(*s)
1168	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1169}
1170
1171// ClusterAutoscaling: ClusterAutoscaling contains global, per-cluster
1172// information required by Cluster Autoscaler to automatically adjust
1173// the size of the cluster and create/delete node pools based on the
1174// current needs.
1175type ClusterAutoscaling struct {
1176	// AutoprovisioningLocations: The list of Google Compute Engine zones
1177	// (https://cloud.google.com/compute/docs/zones#available) in which the
1178	// NodePool's nodes can be created by NAP.
1179	AutoprovisioningLocations []string `json:"autoprovisioningLocations,omitempty"`
1180
1181	// AutoprovisioningNodePoolDefaults: AutoprovisioningNodePoolDefaults
1182	// contains defaults for a node pool created by NAP.
1183	AutoprovisioningNodePoolDefaults *AutoprovisioningNodePoolDefaults `json:"autoprovisioningNodePoolDefaults,omitempty"`
1184
1185	// AutoscalingProfile: Defines autoscaling behaviour.
1186	//
1187	// Possible values:
1188	//   "PROFILE_UNSPECIFIED" - No change to autoscaling configuration.
1189	//   "OPTIMIZE_UTILIZATION" - Prioritize optimizing utilization of
1190	// resources.
1191	//   "BALANCED" - Use default (balanced) autoscaling configuration.
1192	AutoscalingProfile string `json:"autoscalingProfile,omitempty"`
1193
1194	// EnableNodeAutoprovisioning: Enables automatic node pool creation and
1195	// deletion.
1196	EnableNodeAutoprovisioning bool `json:"enableNodeAutoprovisioning,omitempty"`
1197
1198	// ResourceLimits: Contains global constraints regarding minimum and
1199	// maximum amount of resources in the cluster.
1200	ResourceLimits []*ResourceLimit `json:"resourceLimits,omitempty"`
1201
1202	// ForceSendFields is a list of field names (e.g.
1203	// "AutoprovisioningLocations") to unconditionally include in API
1204	// requests. By default, fields with empty values are omitted from API
1205	// requests. However, any non-pointer, non-interface field appearing in
1206	// ForceSendFields will be sent to the server regardless of whether the
1207	// field is empty or not. This may be used to include empty fields in
1208	// Patch requests.
1209	ForceSendFields []string `json:"-"`
1210
1211	// NullFields is a list of field names (e.g.
1212	// "AutoprovisioningLocations") to include in API requests with the JSON
1213	// null value. By default, fields with empty values are omitted from API
1214	// requests. However, any field with an empty value appearing in
1215	// NullFields will be sent to the server as null. It is an error if a
1216	// field in this list has a non-empty value. This may be used to include
1217	// null fields in Patch requests.
1218	NullFields []string `json:"-"`
1219}
1220
1221func (s *ClusterAutoscaling) MarshalJSON() ([]byte, error) {
1222	type NoMethod ClusterAutoscaling
1223	raw := NoMethod(*s)
1224	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1225}
1226
1227// ClusterTelemetry: Telemetry integration for the cluster.
1228type ClusterTelemetry struct {
1229	// Type: Type of the integration.
1230	//
1231	// Possible values:
1232	//   "UNSPECIFIED" - Not set.
1233	//   "DISABLED" - Monitoring integration is disabled.
1234	//   "ENABLED" - Monitoring integration is enabled.
1235	//   "SYSTEM_ONLY" - Only system components are monitored and logged.
1236	Type string `json:"type,omitempty"`
1237
1238	// ForceSendFields is a list of field names (e.g. "Type") to
1239	// unconditionally include in API requests. By default, fields with
1240	// empty values are omitted from API requests. However, any non-pointer,
1241	// non-interface field appearing in ForceSendFields will be sent to the
1242	// server regardless of whether the field is empty or not. This may be
1243	// used to include empty fields in Patch requests.
1244	ForceSendFields []string `json:"-"`
1245
1246	// NullFields is a list of field names (e.g. "Type") to include in API
1247	// requests with the JSON null value. By default, fields with empty
1248	// values are omitted from API requests. However, any field with an
1249	// empty value appearing in NullFields will be sent to the server as
1250	// null. It is an error if a field in this list has a non-empty value.
1251	// This may be used to include null fields in Patch requests.
1252	NullFields []string `json:"-"`
1253}
1254
1255func (s *ClusterTelemetry) MarshalJSON() ([]byte, error) {
1256	type NoMethod ClusterTelemetry
1257	raw := NoMethod(*s)
1258	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1259}
1260
1261// ClusterUpdate: ClusterUpdate describes an update to the cluster.
1262// Exactly one update can be applied to a cluster with each request, so
1263// at most one field can be provided.
1264type ClusterUpdate struct {
1265	// DesiredAddonsConfig: Configurations for the various addons available
1266	// to run in the cluster.
1267	DesiredAddonsConfig *AddonsConfig `json:"desiredAddonsConfig,omitempty"`
1268
1269	// DesiredBinaryAuthorization: The desired configuration options for the
1270	// Binary Authorization feature.
1271	DesiredBinaryAuthorization *BinaryAuthorization `json:"desiredBinaryAuthorization,omitempty"`
1272
1273	// DesiredClusterAutoscaling: Cluster-level autoscaling configuration.
1274	DesiredClusterAutoscaling *ClusterAutoscaling `json:"desiredClusterAutoscaling,omitempty"`
1275
1276	// DesiredClusterTelemetry: The desired telemetry integration for the
1277	// cluster.
1278	DesiredClusterTelemetry *ClusterTelemetry `json:"desiredClusterTelemetry,omitempty"`
1279
1280	// DesiredDatabaseEncryption: Configuration of etcd encryption.
1281	DesiredDatabaseEncryption *DatabaseEncryption `json:"desiredDatabaseEncryption,omitempty"`
1282
1283	// DesiredDatapathProvider: The desired datapath provider for the
1284	// cluster.
1285	//
1286	// Possible values:
1287	//   "DATAPATH_PROVIDER_UNSPECIFIED" - Default value.
1288	//   "LEGACY_DATAPATH" - Use the IPTables implementation based on
1289	// kube-proxy.
1290	//   "ADVANCED_DATAPATH" - Use the eBPF based GKE Dataplane V2 with
1291	// additional features. See the [GKE Dataplane V2
1292	// documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/
1293	// dataplane-v2) for more.
1294	DesiredDatapathProvider string `json:"desiredDatapathProvider,omitempty"`
1295
1296	// DesiredDefaultSnatStatus: The desired status of whether to disable
1297	// default sNAT for this cluster.
1298	DesiredDefaultSnatStatus *DefaultSnatStatus `json:"desiredDefaultSnatStatus,omitempty"`
1299
1300	// DesiredImageType: The desired image type for the node pool. NOTE: Set
1301	// the "desired_node_pool" field as well.
1302	DesiredImageType string `json:"desiredImageType,omitempty"`
1303
1304	// DesiredIntraNodeVisibilityConfig: The desired config of Intra-node
1305	// visibility.
1306	DesiredIntraNodeVisibilityConfig *IntraNodeVisibilityConfig `json:"desiredIntraNodeVisibilityConfig,omitempty"`
1307
1308	// DesiredL4ilbSubsettingConfig: The desired L4 Internal Load Balancer
1309	// Subsetting configuration.
1310	DesiredL4ilbSubsettingConfig *ILBSubsettingConfig `json:"desiredL4ilbSubsettingConfig,omitempty"`
1311
1312	// DesiredLocations: The desired list of Google Compute Engine zones
1313	// (https://cloud.google.com/compute/docs/zones#available) in which the
1314	// cluster's nodes should be located. This list must always include the
1315	// cluster's primary zone. Warning: changing cluster locations will
1316	// update the locations of all node pools and will result in nodes being
1317	// added and/or removed.
1318	DesiredLocations []string `json:"desiredLocations,omitempty"`
1319
1320	// DesiredLoggingService: The logging service the cluster should use to
1321	// write logs. Currently available options: *
1322	// `logging.googleapis.com/kubernetes` - The Cloud Logging service with
1323	// a Kubernetes-native resource model * `logging.googleapis.com` - The
1324	// legacy Cloud Logging service (no longer available as of GKE 1.15). *
1325	// `none` - no logs will be exported from the cluster. If left as an
1326	// empty string,`logging.googleapis.com/kubernetes` will be used for GKE
1327	// 1.14+ or `logging.googleapis.com` for earlier versions.
1328	DesiredLoggingService string `json:"desiredLoggingService,omitempty"`
1329
1330	// DesiredMaster: Configuration for master components.
1331	DesiredMaster *Master `json:"desiredMaster,omitempty"`
1332
1333	// DesiredMasterAuthorizedNetworksConfig: The desired configuration
1334	// options for master authorized networks feature.
1335	DesiredMasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `json:"desiredMasterAuthorizedNetworksConfig,omitempty"`
1336
1337	// DesiredMasterVersion: The Kubernetes version to change the master to.
1338	// The only valid value is the latest supported version. Users may
1339	// specify either explicit versions offered by Kubernetes Engine or
1340	// version aliases, which have the following behavior: - "latest": picks
1341	// the highest valid Kubernetes version - "1.X": picks the highest valid
1342	// patch+gke.N patch in the 1.X version - "1.X.Y": picks the highest
1343	// valid gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": picks an
1344	// explicit Kubernetes version - "-": picks the default Kubernetes
1345	// version
1346	DesiredMasterVersion string `json:"desiredMasterVersion,omitempty"`
1347
1348	// DesiredMonitoringService: The monitoring service the cluster should
1349	// use to write metrics. Currently available options: *
1350	// "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring service
1351	// with a Kubernetes-native resource model * `monitoring.googleapis.com`
1352	// - The legacy Cloud Monitoring service (no longer available as of GKE
1353	// 1.15). * `none` - No metrics will be exported from the cluster. If
1354	// left as an empty string,`monitoring.googleapis.com/kubernetes` will
1355	// be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier
1356	// versions.
1357	DesiredMonitoringService string `json:"desiredMonitoringService,omitempty"`
1358
1359	// DesiredNodePoolAutoscaling: Autoscaler configuration for the node
1360	// pool specified in desired_node_pool_id. If there is only one pool in
1361	// the cluster and desired_node_pool_id is not provided then the change
1362	// applies to that single node pool.
1363	DesiredNodePoolAutoscaling *NodePoolAutoscaling `json:"desiredNodePoolAutoscaling,omitempty"`
1364
1365	// DesiredNodePoolId: The node pool to be upgraded. This field is
1366	// mandatory if "desired_node_version", "desired_image_family",
1367	// "desired_node_pool_autoscaling", or
1368	// "desired_workload_metadata_config" is specified and there is more
1369	// than one node pool on the cluster.
1370	DesiredNodePoolId string `json:"desiredNodePoolId,omitempty"`
1371
1372	// DesiredNodeVersion: The Kubernetes version to change the nodes to
1373	// (typically an upgrade). Users may specify either explicit versions
1374	// offered by Kubernetes Engine or version aliases, which have the
1375	// following behavior: - "latest": picks the highest valid Kubernetes
1376	// version - "1.X": picks the highest valid patch+gke.N patch in the 1.X
1377	// version - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y
1378	// version - "1.X.Y-gke.N": picks an explicit Kubernetes version - "-":
1379	// picks the Kubernetes master version
1380	DesiredNodeVersion string `json:"desiredNodeVersion,omitempty"`
1381
1382	// DesiredNotificationConfig: The desired notification configuration.
1383	DesiredNotificationConfig *NotificationConfig `json:"desiredNotificationConfig,omitempty"`
1384
1385	// DesiredPodSecurityPolicyConfig: The desired configuration options for
1386	// the PodSecurityPolicy feature.
1387	DesiredPodSecurityPolicyConfig *PodSecurityPolicyConfig `json:"desiredPodSecurityPolicyConfig,omitempty"`
1388
1389	// DesiredPrivateClusterConfig: The desired private cluster
1390	// configuration.
1391	DesiredPrivateClusterConfig *PrivateClusterConfig `json:"desiredPrivateClusterConfig,omitempty"`
1392
1393	// DesiredPrivateIpv6GoogleAccess: The desired state of IPv6
1394	// connectivity to Google Services.
1395	//
1396	// Possible values:
1397	//   "PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED" - Default value. Same as
1398	// DISABLED
1399	//   "PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED" - No private access to or
1400	// from Google Services
1401	//   "PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE" - Enables private IPv6
1402	// access to Google Services from GKE
1403	//   "PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL" - Enables priate IPv6
1404	// access to and from Google Services
1405	DesiredPrivateIpv6GoogleAccess string `json:"desiredPrivateIpv6GoogleAccess,omitempty"`
1406
1407	// DesiredReleaseChannel: The desired release channel configuration.
1408	DesiredReleaseChannel *ReleaseChannel `json:"desiredReleaseChannel,omitempty"`
1409
1410	// DesiredResourceUsageExportConfig: The desired configuration for
1411	// exporting resource usage.
1412	DesiredResourceUsageExportConfig *ResourceUsageExportConfig `json:"desiredResourceUsageExportConfig,omitempty"`
1413
1414	// DesiredShieldedNodes: Configuration for Shielded Nodes.
1415	DesiredShieldedNodes *ShieldedNodes `json:"desiredShieldedNodes,omitempty"`
1416
1417	// DesiredTpuConfig: The desired Cloud TPU configuration.
1418	DesiredTpuConfig *TpuConfig `json:"desiredTpuConfig,omitempty"`
1419
1420	// DesiredVerticalPodAutoscaling: Cluster-level Vertical Pod Autoscaling
1421	// configuration.
1422	DesiredVerticalPodAutoscaling *VerticalPodAutoscaling `json:"desiredVerticalPodAutoscaling,omitempty"`
1423
1424	// DesiredWorkloadIdentityConfig: Configuration for Workload Identity.
1425	DesiredWorkloadIdentityConfig *WorkloadIdentityConfig `json:"desiredWorkloadIdentityConfig,omitempty"`
1426
1427	// ForceSendFields is a list of field names (e.g. "DesiredAddonsConfig")
1428	// to unconditionally include in API requests. By default, fields with
1429	// empty values are omitted from API requests. However, any non-pointer,
1430	// non-interface field appearing in ForceSendFields will be sent to the
1431	// server regardless of whether the field is empty or not. This may be
1432	// used to include empty fields in Patch requests.
1433	ForceSendFields []string `json:"-"`
1434
1435	// NullFields is a list of field names (e.g. "DesiredAddonsConfig") to
1436	// include in API requests with the JSON null value. By default, fields
1437	// with empty values are omitted from API requests. However, any field
1438	// with an empty value appearing in NullFields will be sent to the
1439	// server as null. It is an error if a field in this list has a
1440	// non-empty value. This may be used to include null fields in Patch
1441	// requests.
1442	NullFields []string `json:"-"`
1443}
1444
1445func (s *ClusterUpdate) MarshalJSON() ([]byte, error) {
1446	type NoMethod ClusterUpdate
1447	raw := NoMethod(*s)
1448	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1449}
1450
1451// CompleteIPRotationRequest: CompleteIPRotationRequest moves the
1452// cluster master back into single-IP mode.
1453type CompleteIPRotationRequest struct {
1454	// ClusterId: Required. Deprecated. The name of the cluster. This field
1455	// has been deprecated and replaced by the name field.
1456	ClusterId string `json:"clusterId,omitempty"`
1457
1458	// Name: The name (project, location, cluster id) of the cluster to
1459	// complete IP rotation. Specified in the format
1460	// `projects/*/locations/*/clusters/*`.
1461	Name string `json:"name,omitempty"`
1462
1463	// ProjectId: Required. Deprecated. The Google Developers Console
1464	// project ID or project number
1465	// (https://developers.google.com/console/help/new/#projectnumber). This
1466	// field has been deprecated and replaced by the name field.
1467	ProjectId string `json:"projectId,omitempty"`
1468
1469	// Zone: Required. Deprecated. The name of the Google Compute Engine
1470	// zone (https://cloud.google.com/compute/docs/zones#available) in which
1471	// the cluster resides. This field has been deprecated and replaced by
1472	// the name field.
1473	Zone string `json:"zone,omitempty"`
1474
1475	// ForceSendFields is a list of field names (e.g. "ClusterId") to
1476	// unconditionally include in API requests. By default, fields with
1477	// empty values are omitted from API requests. However, any non-pointer,
1478	// non-interface field appearing in ForceSendFields will be sent to the
1479	// server regardless of whether the field is empty or not. This may be
1480	// used to include empty fields in Patch requests.
1481	ForceSendFields []string `json:"-"`
1482
1483	// NullFields is a list of field names (e.g. "ClusterId") to include in
1484	// API requests with the JSON null value. By default, fields with empty
1485	// values are omitted from API requests. However, any field with an
1486	// empty value appearing in NullFields will be sent to the server as
1487	// null. It is an error if a field in this list has a non-empty value.
1488	// This may be used to include null fields in Patch requests.
1489	NullFields []string `json:"-"`
1490}
1491
1492func (s *CompleteIPRotationRequest) MarshalJSON() ([]byte, error) {
1493	type NoMethod CompleteIPRotationRequest
1494	raw := NoMethod(*s)
1495	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1496}
1497
1498// ConfidentialNodes: ConfidentialNodes is configuration for the
1499// confidential nodes feature, which makes nodes run on confidential
1500// VMs.
1501type ConfidentialNodes struct {
1502	// Enabled: Whether Confidential Nodes feature is enabled for all nodes
1503	// in this cluster.
1504	Enabled bool `json:"enabled,omitempty"`
1505
1506	// ForceSendFields is a list of field names (e.g. "Enabled") to
1507	// unconditionally include in API requests. By default, fields with
1508	// empty values are omitted from API requests. However, any non-pointer,
1509	// non-interface field appearing in ForceSendFields will be sent to the
1510	// server regardless of whether the field is empty or not. This may be
1511	// used to include empty fields in Patch requests.
1512	ForceSendFields []string `json:"-"`
1513
1514	// NullFields is a list of field names (e.g. "Enabled") to include in
1515	// API requests with the JSON null value. By default, fields with empty
1516	// values are omitted from API requests. However, any field with an
1517	// empty value appearing in NullFields will be sent to the server as
1518	// null. It is an error if a field in this list has a non-empty value.
1519	// This may be used to include null fields in Patch requests.
1520	NullFields []string `json:"-"`
1521}
1522
1523func (s *ConfidentialNodes) MarshalJSON() ([]byte, error) {
1524	type NoMethod ConfidentialNodes
1525	raw := NoMethod(*s)
1526	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1527}
1528
1529// ConfigConnectorConfig: Configuration options for the Config Connector
1530// add-on.
1531type ConfigConnectorConfig struct {
1532	// Enabled: Whether Cloud Connector is enabled for this cluster.
1533	Enabled bool `json:"enabled,omitempty"`
1534
1535	// ForceSendFields is a list of field names (e.g. "Enabled") to
1536	// unconditionally include in API requests. By default, fields with
1537	// empty values are omitted from API requests. However, any non-pointer,
1538	// non-interface field appearing in ForceSendFields will be sent to the
1539	// server regardless of whether the field is empty or not. This may be
1540	// used to include empty fields in Patch requests.
1541	ForceSendFields []string `json:"-"`
1542
1543	// NullFields is a list of field names (e.g. "Enabled") to include in
1544	// API requests with the JSON null value. By default, fields with empty
1545	// values are omitted from API requests. However, any field with an
1546	// empty value appearing in NullFields will be sent to the server as
1547	// null. It is an error if a field in this list has a non-empty value.
1548	// This may be used to include null fields in Patch requests.
1549	NullFields []string `json:"-"`
1550}
1551
1552func (s *ConfigConnectorConfig) MarshalJSON() ([]byte, error) {
1553	type NoMethod ConfigConnectorConfig
1554	raw := NoMethod(*s)
1555	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1556}
1557
1558// ConsumptionMeteringConfig: Parameters for controlling consumption
1559// metering.
1560type ConsumptionMeteringConfig struct {
1561	// Enabled: Whether to enable consumption metering for this cluster. If
1562	// enabled, a second BigQuery table will be created to hold resource
1563	// consumption records.
1564	Enabled bool `json:"enabled,omitempty"`
1565
1566	// ForceSendFields is a list of field names (e.g. "Enabled") to
1567	// unconditionally include in API requests. By default, fields with
1568	// empty values are omitted from API requests. However, any non-pointer,
1569	// non-interface field appearing in ForceSendFields will be sent to the
1570	// server regardless of whether the field is empty or not. This may be
1571	// used to include empty fields in Patch requests.
1572	ForceSendFields []string `json:"-"`
1573
1574	// NullFields is a list of field names (e.g. "Enabled") to include in
1575	// API requests with the JSON null value. By default, fields with empty
1576	// values are omitted from API requests. However, any field with an
1577	// empty value appearing in NullFields will be sent to the server as
1578	// null. It is an error if a field in this list has a non-empty value.
1579	// This may be used to include null fields in Patch requests.
1580	NullFields []string `json:"-"`
1581}
1582
1583func (s *ConsumptionMeteringConfig) MarshalJSON() ([]byte, error) {
1584	type NoMethod ConsumptionMeteringConfig
1585	raw := NoMethod(*s)
1586	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1587}
1588
1589// CreateClusterRequest: CreateClusterRequest creates a cluster.
1590type CreateClusterRequest struct {
1591	// Cluster: Required. A cluster resource
1592	// (https://cloud.google.com/container-engine/reference/rest/v1beta1/projects.locations.clusters)
1593	Cluster *Cluster `json:"cluster,omitempty"`
1594
1595	// Parent: The parent (project and location) where the cluster will be
1596	// created. Specified in the format `projects/*/locations/*`.
1597	Parent string `json:"parent,omitempty"`
1598
1599	// ProjectId: Required. Deprecated. The Google Developers Console
1600	// project ID or project number
1601	// (https://support.google.com/cloud/answer/6158840). This field has
1602	// been deprecated and replaced by the parent field.
1603	ProjectId string `json:"projectId,omitempty"`
1604
1605	// Zone: Required. Deprecated. The name of the Google Compute Engine
1606	// zone (https://cloud.google.com/compute/docs/zones#available) in which
1607	// the cluster resides. This field has been deprecated and replaced by
1608	// the parent field.
1609	Zone string `json:"zone,omitempty"`
1610
1611	// ForceSendFields is a list of field names (e.g. "Cluster") to
1612	// unconditionally include in API requests. By default, fields with
1613	// empty values are omitted from API requests. However, any non-pointer,
1614	// non-interface field appearing in ForceSendFields will be sent to the
1615	// server regardless of whether the field is empty or not. This may be
1616	// used to include empty fields in Patch requests.
1617	ForceSendFields []string `json:"-"`
1618
1619	// NullFields is a list of field names (e.g. "Cluster") to include in
1620	// API requests with the JSON null value. By default, fields with empty
1621	// values are omitted from API requests. However, any field with an
1622	// empty value appearing in NullFields will be sent to the server as
1623	// null. It is an error if a field in this list has a non-empty value.
1624	// This may be used to include null fields in Patch requests.
1625	NullFields []string `json:"-"`
1626}
1627
1628func (s *CreateClusterRequest) MarshalJSON() ([]byte, error) {
1629	type NoMethod CreateClusterRequest
1630	raw := NoMethod(*s)
1631	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1632}
1633
1634// CreateNodePoolRequest: CreateNodePoolRequest creates a node pool for
1635// a cluster.
1636type CreateNodePoolRequest struct {
1637	// ClusterId: Required. Deprecated. The name of the cluster. This field
1638	// has been deprecated and replaced by the parent field.
1639	ClusterId string `json:"clusterId,omitempty"`
1640
1641	// NodePool: Required. The node pool to create.
1642	NodePool *NodePool `json:"nodePool,omitempty"`
1643
1644	// Parent: The parent (project, location, cluster id) where the node
1645	// pool will be created. Specified in the format
1646	// `projects/*/locations/*/clusters/*`.
1647	Parent string `json:"parent,omitempty"`
1648
1649	// ProjectId: Required. Deprecated. The Google Developers Console
1650	// project ID or project number
1651	// (https://developers.google.com/console/help/new/#projectnumber). This
1652	// field has been deprecated and replaced by the parent field.
1653	ProjectId string `json:"projectId,omitempty"`
1654
1655	// Zone: Required. Deprecated. The name of the Google Compute Engine
1656	// zone (https://cloud.google.com/compute/docs/zones#available) in which
1657	// the cluster resides. This field has been deprecated and replaced by
1658	// the parent field.
1659	Zone string `json:"zone,omitempty"`
1660
1661	// ForceSendFields is a list of field names (e.g. "ClusterId") to
1662	// unconditionally include in API requests. By default, fields with
1663	// empty values are omitted from API requests. However, any non-pointer,
1664	// non-interface field appearing in ForceSendFields will be sent to the
1665	// server regardless of whether the field is empty or not. This may be
1666	// used to include empty fields in Patch requests.
1667	ForceSendFields []string `json:"-"`
1668
1669	// NullFields is a list of field names (e.g. "ClusterId") to include in
1670	// API requests with the JSON null value. By default, fields with empty
1671	// values are omitted from API requests. However, any field with an
1672	// empty value appearing in NullFields will be sent to the server as
1673	// null. It is an error if a field in this list has a non-empty value.
1674	// This may be used to include null fields in Patch requests.
1675	NullFields []string `json:"-"`
1676}
1677
1678func (s *CreateNodePoolRequest) MarshalJSON() ([]byte, error) {
1679	type NoMethod CreateNodePoolRequest
1680	raw := NoMethod(*s)
1681	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1682}
1683
1684// DailyMaintenanceWindow: Time window specified for daily maintenance
1685// operations.
1686type DailyMaintenanceWindow struct {
1687	// Duration: [Output only] Duration of the time window, automatically
1688	// chosen to be smallest possible in the given scenario.
1689	Duration string `json:"duration,omitempty"`
1690
1691	// StartTime: Time within the maintenance window to start the
1692	// maintenance operations. It must be in format "HH:MM", where HH :
1693	// [00-23] and MM : [00-59] GMT.
1694	StartTime string `json:"startTime,omitempty"`
1695
1696	// ForceSendFields is a list of field names (e.g. "Duration") to
1697	// unconditionally include in API requests. By default, fields with
1698	// empty values are omitted from API requests. However, any non-pointer,
1699	// non-interface field appearing in ForceSendFields will be sent to the
1700	// server regardless of whether the field is empty or not. This may be
1701	// used to include empty fields in Patch requests.
1702	ForceSendFields []string `json:"-"`
1703
1704	// NullFields is a list of field names (e.g. "Duration") to include in
1705	// API requests with the JSON null value. By default, fields with empty
1706	// values are omitted from API requests. However, any field with an
1707	// empty value appearing in NullFields will be sent to the server as
1708	// null. It is an error if a field in this list has a non-empty value.
1709	// This may be used to include null fields in Patch requests.
1710	NullFields []string `json:"-"`
1711}
1712
1713func (s *DailyMaintenanceWindow) MarshalJSON() ([]byte, error) {
1714	type NoMethod DailyMaintenanceWindow
1715	raw := NoMethod(*s)
1716	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1717}
1718
1719// DatabaseEncryption: Configuration of etcd encryption.
1720type DatabaseEncryption struct {
1721	// KeyName: Name of CloudKMS key to use for the encryption of secrets in
1722	// etcd. Ex.
1723	// projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-ke
1724	// y
1725	KeyName string `json:"keyName,omitempty"`
1726
1727	// State: Denotes the state of etcd encryption.
1728	//
1729	// Possible values:
1730	//   "UNKNOWN" - Should never be set
1731	//   "ENCRYPTED" - Secrets in etcd are encrypted.
1732	//   "DECRYPTED" - Secrets in etcd are stored in plain text (at etcd
1733	// level) - this is unrelated to Compute Engine level full disk
1734	// encryption.
1735	State string `json:"state,omitempty"`
1736
1737	// ForceSendFields is a list of field names (e.g. "KeyName") to
1738	// unconditionally include in API requests. By default, fields with
1739	// empty values are omitted from API requests. However, any non-pointer,
1740	// non-interface field appearing in ForceSendFields will be sent to the
1741	// server regardless of whether the field is empty or not. This may be
1742	// used to include empty fields in Patch requests.
1743	ForceSendFields []string `json:"-"`
1744
1745	// NullFields is a list of field names (e.g. "KeyName") to include in
1746	// API requests with the JSON null value. By default, fields with empty
1747	// values are omitted from API requests. However, any field with an
1748	// empty value appearing in NullFields will be sent to the server as
1749	// null. It is an error if a field in this list has a non-empty value.
1750	// This may be used to include null fields in Patch requests.
1751	NullFields []string `json:"-"`
1752}
1753
1754func (s *DatabaseEncryption) MarshalJSON() ([]byte, error) {
1755	type NoMethod DatabaseEncryption
1756	raw := NoMethod(*s)
1757	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1758}
1759
1760// DefaultSnatStatus: DefaultSnatStatus contains the desired state of
1761// whether default sNAT should be disabled on the cluster.
1762type DefaultSnatStatus struct {
1763	// Disabled: Disables cluster default sNAT rules.
1764	Disabled bool `json:"disabled,omitempty"`
1765
1766	// ForceSendFields is a list of field names (e.g. "Disabled") to
1767	// unconditionally include in API requests. By default, fields with
1768	// empty values are omitted from API requests. However, any non-pointer,
1769	// non-interface field appearing in ForceSendFields will be sent to the
1770	// server regardless of whether the field is empty or not. This may be
1771	// used to include empty fields in Patch requests.
1772	ForceSendFields []string `json:"-"`
1773
1774	// NullFields is a list of field names (e.g. "Disabled") to include in
1775	// API requests with the JSON null value. By default, fields with empty
1776	// values are omitted from API requests. However, any field with an
1777	// empty value appearing in NullFields will be sent to the server as
1778	// null. It is an error if a field in this list has a non-empty value.
1779	// This may be used to include null fields in Patch requests.
1780	NullFields []string `json:"-"`
1781}
1782
1783func (s *DefaultSnatStatus) MarshalJSON() ([]byte, error) {
1784	type NoMethod DefaultSnatStatus
1785	raw := NoMethod(*s)
1786	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1787}
1788
1789// DnsCacheConfig: Configuration for NodeLocal DNSCache
1790type DnsCacheConfig struct {
1791	// Enabled: Whether NodeLocal DNSCache is enabled for this cluster.
1792	Enabled bool `json:"enabled,omitempty"`
1793
1794	// ForceSendFields is a list of field names (e.g. "Enabled") to
1795	// unconditionally include in API requests. By default, fields with
1796	// empty values are omitted from API requests. However, any non-pointer,
1797	// non-interface field appearing in ForceSendFields will be sent to the
1798	// server regardless of whether the field is empty or not. This may be
1799	// used to include empty fields in Patch requests.
1800	ForceSendFields []string `json:"-"`
1801
1802	// NullFields is a list of field names (e.g. "Enabled") to include in
1803	// API requests with the JSON null value. By default, fields with empty
1804	// values are omitted from API requests. However, any field with an
1805	// empty value appearing in NullFields will be sent to the server as
1806	// null. It is an error if a field in this list has a non-empty value.
1807	// This may be used to include null fields in Patch requests.
1808	NullFields []string `json:"-"`
1809}
1810
1811func (s *DnsCacheConfig) MarshalJSON() ([]byte, error) {
1812	type NoMethod DnsCacheConfig
1813	raw := NoMethod(*s)
1814	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1815}
1816
1817// Empty: A generic empty message that you can re-use to avoid defining
1818// duplicated empty messages in your APIs. A typical example is to use
1819// it as the request or the response type of an API method. For
1820// instance: service Foo { rpc Bar(google.protobuf.Empty) returns
1821// (google.protobuf.Empty); } The JSON representation for `Empty` is
1822// empty JSON object `{}`.
1823type Empty struct {
1824	// ServerResponse contains the HTTP response code and headers from the
1825	// server.
1826	googleapi.ServerResponse `json:"-"`
1827}
1828
1829// EphemeralStorageConfig: EphemeralStorageConfig contains configuration
1830// for the ephemeral storage filesystem.
1831type EphemeralStorageConfig struct {
1832	// LocalSsdCount: Number of local SSDs to use to back ephemeral storage.
1833	// Uses NVMe interfaces. Each local SSD is 375 GB in size. If zero, it
1834	// means to disable using local SSDs as ephemeral storage.
1835	LocalSsdCount int64 `json:"localSsdCount,omitempty"`
1836
1837	// ForceSendFields is a list of field names (e.g. "LocalSsdCount") to
1838	// unconditionally include in API requests. By default, fields with
1839	// empty values are omitted from API requests. However, any non-pointer,
1840	// non-interface field appearing in ForceSendFields will be sent to the
1841	// server regardless of whether the field is empty or not. This may be
1842	// used to include empty fields in Patch requests.
1843	ForceSendFields []string `json:"-"`
1844
1845	// NullFields is a list of field names (e.g. "LocalSsdCount") to include
1846	// in API requests with the JSON null value. By default, fields with
1847	// empty values are omitted from API requests. However, any field with
1848	// an empty value appearing in NullFields will be sent to the server as
1849	// null. It is an error if a field in this list has a non-empty value.
1850	// This may be used to include null fields in Patch requests.
1851	NullFields []string `json:"-"`
1852}
1853
1854func (s *EphemeralStorageConfig) MarshalJSON() ([]byte, error) {
1855	type NoMethod EphemeralStorageConfig
1856	raw := NoMethod(*s)
1857	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1858}
1859
1860// GcePersistentDiskCsiDriverConfig: Configuration for the Compute
1861// Engine PD CSI driver.
1862type GcePersistentDiskCsiDriverConfig struct {
1863	// Enabled: Whether the Compute Engine PD CSI driver is enabled for this
1864	// cluster.
1865	Enabled bool `json:"enabled,omitempty"`
1866
1867	// ForceSendFields is a list of field names (e.g. "Enabled") to
1868	// unconditionally include in API requests. By default, fields with
1869	// empty values are omitted from API requests. However, any non-pointer,
1870	// non-interface field appearing in ForceSendFields will be sent to the
1871	// server regardless of whether the field is empty or not. This may be
1872	// used to include empty fields in Patch requests.
1873	ForceSendFields []string `json:"-"`
1874
1875	// NullFields is a list of field names (e.g. "Enabled") to include in
1876	// API requests with the JSON null value. By default, fields with empty
1877	// values are omitted from API requests. However, any field with an
1878	// empty value appearing in NullFields will be sent to the server as
1879	// null. It is an error if a field in this list has a non-empty value.
1880	// This may be used to include null fields in Patch requests.
1881	NullFields []string `json:"-"`
1882}
1883
1884func (s *GcePersistentDiskCsiDriverConfig) MarshalJSON() ([]byte, error) {
1885	type NoMethod GcePersistentDiskCsiDriverConfig
1886	raw := NoMethod(*s)
1887	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1888}
1889
1890// GetJSONWebKeysResponse: GetJSONWebKeysResponse is a valid JSON Web
1891// Key Set as specififed in rfc 7517
1892type GetJSONWebKeysResponse struct {
1893	// CacheHeader: OnePlatform automatically extracts this field and uses
1894	// it to set the HTTP Cache-Control header.
1895	CacheHeader *HttpCacheControlResponseHeader `json:"cacheHeader,omitempty"`
1896
1897	// Keys: The public component of the keys used by the cluster to sign
1898	// token requests.
1899	Keys []*Jwk `json:"keys,omitempty"`
1900
1901	// ServerResponse contains the HTTP response code and headers from the
1902	// server.
1903	googleapi.ServerResponse `json:"-"`
1904
1905	// ForceSendFields is a list of field names (e.g. "CacheHeader") to
1906	// unconditionally include in API requests. By default, fields with
1907	// empty values are omitted from API requests. However, any non-pointer,
1908	// non-interface field appearing in ForceSendFields will be sent to the
1909	// server regardless of whether the field is empty or not. This may be
1910	// used to include empty fields in Patch requests.
1911	ForceSendFields []string `json:"-"`
1912
1913	// NullFields is a list of field names (e.g. "CacheHeader") to include
1914	// in API requests with the JSON null value. By default, fields with
1915	// empty values are omitted from API requests. However, any field with
1916	// an empty value appearing in NullFields will be sent to the server as
1917	// null. It is an error if a field in this list has a non-empty value.
1918	// This may be used to include null fields in Patch requests.
1919	NullFields []string `json:"-"`
1920}
1921
1922func (s *GetJSONWebKeysResponse) MarshalJSON() ([]byte, error) {
1923	type NoMethod GetJSONWebKeysResponse
1924	raw := NoMethod(*s)
1925	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1926}
1927
1928// GetOpenIDConfigResponse: GetOpenIDConfigResponse is an OIDC discovery
1929// document for the cluster. See the OpenID Connect Discovery 1.0
1930// specification for details.
1931type GetOpenIDConfigResponse struct {
1932	// CacheHeader: OnePlatform automatically extracts this field and uses
1933	// it to set the HTTP Cache-Control header.
1934	CacheHeader *HttpCacheControlResponseHeader `json:"cacheHeader,omitempty"`
1935
1936	// ClaimsSupported: Supported claims.
1937	ClaimsSupported []string `json:"claims_supported,omitempty"`
1938
1939	// GrantTypes: Supported grant types.
1940	GrantTypes []string `json:"grant_types,omitempty"`
1941
1942	// IdTokenSigningAlgValuesSupported: supported ID Token signing
1943	// Algorithms.
1944	IdTokenSigningAlgValuesSupported []string `json:"id_token_signing_alg_values_supported,omitempty"`
1945
1946	// Issuer: OIDC Issuer.
1947	Issuer string `json:"issuer,omitempty"`
1948
1949	// JwksUri: JSON Web Key uri.
1950	JwksUri string `json:"jwks_uri,omitempty"`
1951
1952	// ResponseTypesSupported: Supported response types.
1953	ResponseTypesSupported []string `json:"response_types_supported,omitempty"`
1954
1955	// SubjectTypesSupported: Supported subject types.
1956	SubjectTypesSupported []string `json:"subject_types_supported,omitempty"`
1957
1958	// ServerResponse contains the HTTP response code and headers from the
1959	// server.
1960	googleapi.ServerResponse `json:"-"`
1961
1962	// ForceSendFields is a list of field names (e.g. "CacheHeader") to
1963	// unconditionally include in API requests. By default, fields with
1964	// empty values are omitted from API requests. However, any non-pointer,
1965	// non-interface field appearing in ForceSendFields will be sent to the
1966	// server regardless of whether the field is empty or not. This may be
1967	// used to include empty fields in Patch requests.
1968	ForceSendFields []string `json:"-"`
1969
1970	// NullFields is a list of field names (e.g. "CacheHeader") to include
1971	// in API requests with the JSON null value. By default, fields with
1972	// empty values are omitted from API requests. However, any field with
1973	// an empty value appearing in NullFields will be sent to the server as
1974	// null. It is an error if a field in this list has a non-empty value.
1975	// This may be used to include null fields in Patch requests.
1976	NullFields []string `json:"-"`
1977}
1978
1979func (s *GetOpenIDConfigResponse) MarshalJSON() ([]byte, error) {
1980	type NoMethod GetOpenIDConfigResponse
1981	raw := NoMethod(*s)
1982	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1983}
1984
1985// HorizontalPodAutoscaling: Configuration options for the horizontal
1986// pod autoscaling feature, which increases or decreases the number of
1987// replica pods a replication controller has based on the resource usage
1988// of the existing pods.
1989type HorizontalPodAutoscaling struct {
1990	// Disabled: Whether the Horizontal Pod Autoscaling feature is enabled
1991	// in the cluster. When enabled, it ensures that metrics are collected
1992	// into Stackdriver Monitoring.
1993	Disabled bool `json:"disabled,omitempty"`
1994
1995	// ForceSendFields is a list of field names (e.g. "Disabled") to
1996	// unconditionally include in API requests. By default, fields with
1997	// empty values are omitted from API requests. However, any non-pointer,
1998	// non-interface field appearing in ForceSendFields will be sent to the
1999	// server regardless of whether the field is empty or not. This may be
2000	// used to include empty fields in Patch requests.
2001	ForceSendFields []string `json:"-"`
2002
2003	// NullFields is a list of field names (e.g. "Disabled") to include in
2004	// API requests with the JSON null value. By default, fields with empty
2005	// values are omitted from API requests. However, any field with an
2006	// empty value appearing in NullFields will be sent to the server as
2007	// null. It is an error if a field in this list has a non-empty value.
2008	// This may be used to include null fields in Patch requests.
2009	NullFields []string `json:"-"`
2010}
2011
2012func (s *HorizontalPodAutoscaling) MarshalJSON() ([]byte, error) {
2013	type NoMethod HorizontalPodAutoscaling
2014	raw := NoMethod(*s)
2015	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2016}
2017
2018// HttpCacheControlResponseHeader: RFC-2616: cache control support
2019type HttpCacheControlResponseHeader struct {
2020	// Age: 14.6 response cache age, in seconds since the response is
2021	// generated
2022	Age int64 `json:"age,omitempty,string"`
2023
2024	// Directive: 14.9 request and response directives
2025	Directive string `json:"directive,omitempty"`
2026
2027	// Expires: 14.21 response cache expires, in RFC 1123 date format
2028	Expires string `json:"expires,omitempty"`
2029
2030	// ForceSendFields is a list of field names (e.g. "Age") to
2031	// unconditionally include in API requests. By default, fields with
2032	// empty values are omitted from API requests. However, any non-pointer,
2033	// non-interface field appearing in ForceSendFields will be sent to the
2034	// server regardless of whether the field is empty or not. This may be
2035	// used to include empty fields in Patch requests.
2036	ForceSendFields []string `json:"-"`
2037
2038	// NullFields is a list of field names (e.g. "Age") to include in API
2039	// requests with the JSON null value. By default, fields with empty
2040	// values are omitted from API requests. However, any field with an
2041	// empty value appearing in NullFields will be sent to the server as
2042	// null. It is an error if a field in this list has a non-empty value.
2043	// This may be used to include null fields in Patch requests.
2044	NullFields []string `json:"-"`
2045}
2046
2047func (s *HttpCacheControlResponseHeader) MarshalJSON() ([]byte, error) {
2048	type NoMethod HttpCacheControlResponseHeader
2049	raw := NoMethod(*s)
2050	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2051}
2052
2053// HttpLoadBalancing: Configuration options for the HTTP (L7) load
2054// balancing controller addon, which makes it easy to set up HTTP load
2055// balancers for services in a cluster.
2056type HttpLoadBalancing struct {
2057	// Disabled: Whether the HTTP Load Balancing controller is enabled in
2058	// the cluster. When enabled, it runs a small pod in the cluster that
2059	// manages the load balancers.
2060	Disabled bool `json:"disabled,omitempty"`
2061
2062	// ForceSendFields is a list of field names (e.g. "Disabled") to
2063	// unconditionally include in API requests. By default, fields with
2064	// empty values are omitted from API requests. However, any non-pointer,
2065	// non-interface field appearing in ForceSendFields will be sent to the
2066	// server regardless of whether the field is empty or not. This may be
2067	// used to include empty fields in Patch requests.
2068	ForceSendFields []string `json:"-"`
2069
2070	// NullFields is a list of field names (e.g. "Disabled") to include in
2071	// API requests with the JSON null value. By default, fields with empty
2072	// values are omitted from API requests. However, any field with an
2073	// empty value appearing in NullFields will be sent to the server as
2074	// null. It is an error if a field in this list has a non-empty value.
2075	// This may be used to include null fields in Patch requests.
2076	NullFields []string `json:"-"`
2077}
2078
2079func (s *HttpLoadBalancing) MarshalJSON() ([]byte, error) {
2080	type NoMethod HttpLoadBalancing
2081	raw := NoMethod(*s)
2082	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2083}
2084
2085// ILBSubsettingConfig: ILBSubsettingConfig contains the desired config
2086// of L4 Internal LoadBalancer subsetting on this cluster.
2087type ILBSubsettingConfig struct {
2088	// Enabled: Enables l4 ILB subsetting for this cluster
2089	Enabled bool `json:"enabled,omitempty"`
2090
2091	// ForceSendFields is a list of field names (e.g. "Enabled") to
2092	// unconditionally include in API requests. By default, fields with
2093	// empty values are omitted from API requests. However, any non-pointer,
2094	// non-interface field appearing in ForceSendFields will be sent to the
2095	// server regardless of whether the field is empty or not. This may be
2096	// used to include empty fields in Patch requests.
2097	ForceSendFields []string `json:"-"`
2098
2099	// NullFields is a list of field names (e.g. "Enabled") to include in
2100	// API requests with the JSON null value. By default, fields with empty
2101	// values are omitted from API requests. However, any field with an
2102	// empty value appearing in NullFields will be sent to the server as
2103	// null. It is an error if a field in this list has a non-empty value.
2104	// This may be used to include null fields in Patch requests.
2105	NullFields []string `json:"-"`
2106}
2107
2108func (s *ILBSubsettingConfig) MarshalJSON() ([]byte, error) {
2109	type NoMethod ILBSubsettingConfig
2110	raw := NoMethod(*s)
2111	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2112}
2113
2114// IPAllocationPolicy: Configuration for controlling how IPs are
2115// allocated in the cluster.
2116type IPAllocationPolicy struct {
2117	// AllowRouteOverlap: If true, allow allocation of cluster CIDR ranges
2118	// that overlap with certain kinds of network routes. By default we do
2119	// not allow cluster CIDR ranges to intersect with any user declared
2120	// routes. With allow_route_overlap == true, we allow overlapping with
2121	// CIDR ranges that are larger than the cluster CIDR range. If this
2122	// field is set to true, then cluster and services CIDRs must be
2123	// fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means: 1)
2124	// When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and
2125	// `services_ipv4_cidr_block` must be fully-specified. 2) When
2126	// `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be
2127	// fully-specified.
2128	AllowRouteOverlap bool `json:"allowRouteOverlap,omitempty"`
2129
2130	// ClusterIpv4Cidr: This field is deprecated, use
2131	// cluster_ipv4_cidr_block.
2132	ClusterIpv4Cidr string `json:"clusterIpv4Cidr,omitempty"`
2133
2134	// ClusterIpv4CidrBlock: The IP address range for the cluster pod IPs.
2135	// If this field is set, then `cluster.cluster_ipv4_cidr` must be left
2136	// blank. This field is only applicable when `use_ip_aliases` is true.
2137	// Set to blank to have a range chosen with the default size. Set to
2138	// /netmask (e.g. `/14`) to have a range chosen with a specific netmask.
2139	// Set to a CIDR
2140	// (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2141	// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks
2142	// (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a
2143	// specific range to use.
2144	ClusterIpv4CidrBlock string `json:"clusterIpv4CidrBlock,omitempty"`
2145
2146	// ClusterSecondaryRangeName: The name of the secondary range to be used
2147	// for the cluster CIDR block. The secondary range will be used for pod
2148	// IP addresses. This must be an existing secondary range associated
2149	// with the cluster subnetwork. This field is only applicable with
2150	// use_ip_aliases and create_subnetwork is false.
2151	ClusterSecondaryRangeName string `json:"clusterSecondaryRangeName,omitempty"`
2152
2153	// CreateSubnetwork: Whether a new subnetwork will be created
2154	// automatically for the cluster. This field is only applicable when
2155	// `use_ip_aliases` is true.
2156	CreateSubnetwork bool `json:"createSubnetwork,omitempty"`
2157
2158	// NodeIpv4Cidr: This field is deprecated, use node_ipv4_cidr_block.
2159	NodeIpv4Cidr string `json:"nodeIpv4Cidr,omitempty"`
2160
2161	// NodeIpv4CidrBlock: The IP address range of the instance IPs in this
2162	// cluster. This is applicable only if `create_subnetwork` is true. Set
2163	// to blank to have a range chosen with the default size. Set to
2164	// /netmask (e.g. `/14`) to have a range chosen with a specific netmask.
2165	// Set to a CIDR
2166	// (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2167	// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks
2168	// (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a
2169	// specific range to use.
2170	NodeIpv4CidrBlock string `json:"nodeIpv4CidrBlock,omitempty"`
2171
2172	// ServicesIpv4Cidr: This field is deprecated, use
2173	// services_ipv4_cidr_block.
2174	ServicesIpv4Cidr string `json:"servicesIpv4Cidr,omitempty"`
2175
2176	// ServicesIpv4CidrBlock: The IP address range of the services IPs in
2177	// this cluster. If blank, a range will be automatically chosen with the
2178	// default size. This field is only applicable when `use_ip_aliases` is
2179	// true. Set to blank to have a range chosen with the default size. Set
2180	// to /netmask (e.g. `/14`) to have a range chosen with a specific
2181	// netmask. Set to a CIDR
2182	// (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2183	// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks
2184	// (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a
2185	// specific range to use.
2186	ServicesIpv4CidrBlock string `json:"servicesIpv4CidrBlock,omitempty"`
2187
2188	// ServicesSecondaryRangeName: The name of the secondary range to be
2189	// used as for the services CIDR block. The secondary range will be used
2190	// for service ClusterIPs. This must be an existing secondary range
2191	// associated with the cluster subnetwork. This field is only applicable
2192	// with use_ip_aliases and create_subnetwork is false.
2193	ServicesSecondaryRangeName string `json:"servicesSecondaryRangeName,omitempty"`
2194
2195	// SubnetworkName: A custom subnetwork name to be used if
2196	// `create_subnetwork` is true. If this field is empty, then an
2197	// automatic name will be chosen for the new subnetwork.
2198	SubnetworkName string `json:"subnetworkName,omitempty"`
2199
2200	// TpuIpv4CidrBlock: The IP address range of the Cloud TPUs in this
2201	// cluster. If unspecified, a range will be automatically chosen with
2202	// the default size. This field is only applicable when `use_ip_aliases`
2203	// is true. If unspecified, the range will use the default size. Set to
2204	// /netmask (e.g. `/14`) to have a range chosen with a specific netmask.
2205	// Set to a CIDR
2206	// (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2207	// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks
2208	// (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a
2209	// specific range to use. This field is deprecated, use
2210	// cluster.tpu_config.ipv4_cidr_block instead.
2211	TpuIpv4CidrBlock string `json:"tpuIpv4CidrBlock,omitempty"`
2212
2213	// UseIpAliases: Whether alias IPs will be used for pod IPs in the
2214	// cluster. This is used in conjunction with use_routes. It cannot be
2215	// true if use_routes is true. If both use_ip_aliases and use_routes are
2216	// false, then the server picks the default IP allocation mode
2217	UseIpAliases bool `json:"useIpAliases,omitempty"`
2218
2219	// UseRoutes: Whether routes will be used for pod IPs in the cluster.
2220	// This is used in conjunction with use_ip_aliases. It cannot be true if
2221	// use_ip_aliases is true. If both use_ip_aliases and use_routes are
2222	// false, then the server picks the default IP allocation mode
2223	UseRoutes bool `json:"useRoutes,omitempty"`
2224
2225	// ForceSendFields is a list of field names (e.g. "AllowRouteOverlap")
2226	// to unconditionally include in API requests. By default, fields with
2227	// empty values are omitted from API requests. However, any non-pointer,
2228	// non-interface field appearing in ForceSendFields will be sent to the
2229	// server regardless of whether the field is empty or not. This may be
2230	// used to include empty fields in Patch requests.
2231	ForceSendFields []string `json:"-"`
2232
2233	// NullFields is a list of field names (e.g. "AllowRouteOverlap") to
2234	// include in API requests with the JSON null value. By default, fields
2235	// with empty values are omitted from API requests. However, any field
2236	// with an empty value appearing in NullFields will be sent to the
2237	// server as null. It is an error if a field in this list has a
2238	// non-empty value. This may be used to include null fields in Patch
2239	// requests.
2240	NullFields []string `json:"-"`
2241}
2242
2243func (s *IPAllocationPolicy) MarshalJSON() ([]byte, error) {
2244	type NoMethod IPAllocationPolicy
2245	raw := NoMethod(*s)
2246	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2247}
2248
2249// IntraNodeVisibilityConfig: IntraNodeVisibilityConfig contains the
2250// desired config of the intra-node visibility on this cluster.
2251type IntraNodeVisibilityConfig struct {
2252	// Enabled: Enables intra node visibility for this cluster.
2253	Enabled bool `json:"enabled,omitempty"`
2254
2255	// ForceSendFields is a list of field names (e.g. "Enabled") to
2256	// unconditionally include in API requests. By default, fields with
2257	// empty values are omitted from API requests. However, any non-pointer,
2258	// non-interface field appearing in ForceSendFields will be sent to the
2259	// server regardless of whether the field is empty or not. This may be
2260	// used to include empty fields in Patch requests.
2261	ForceSendFields []string `json:"-"`
2262
2263	// NullFields is a list of field names (e.g. "Enabled") to include in
2264	// API requests with the JSON null value. By default, fields with empty
2265	// values are omitted from API requests. However, any field with an
2266	// empty value appearing in NullFields will be sent to the server as
2267	// null. It is an error if a field in this list has a non-empty value.
2268	// This may be used to include null fields in Patch requests.
2269	NullFields []string `json:"-"`
2270}
2271
2272func (s *IntraNodeVisibilityConfig) MarshalJSON() ([]byte, error) {
2273	type NoMethod IntraNodeVisibilityConfig
2274	raw := NoMethod(*s)
2275	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2276}
2277
2278// IstioConfig: Configuration options for Istio addon.
2279type IstioConfig struct {
2280	// Auth: The specified Istio auth mode, either none, or mutual TLS.
2281	//
2282	// Possible values:
2283	//   "AUTH_NONE" - auth not enabled
2284	//   "AUTH_MUTUAL_TLS" - auth mutual TLS enabled
2285	Auth string `json:"auth,omitempty"`
2286
2287	// Disabled: Whether Istio is enabled for this cluster.
2288	Disabled bool `json:"disabled,omitempty"`
2289
2290	// ForceSendFields is a list of field names (e.g. "Auth") to
2291	// unconditionally include in API requests. By default, fields with
2292	// empty values are omitted from API requests. However, any non-pointer,
2293	// non-interface field appearing in ForceSendFields will be sent to the
2294	// server regardless of whether the field is empty or not. This may be
2295	// used to include empty fields in Patch requests.
2296	ForceSendFields []string `json:"-"`
2297
2298	// NullFields is a list of field names (e.g. "Auth") to include in API
2299	// requests with the JSON null value. By default, fields with empty
2300	// values are omitted from API requests. However, any field with an
2301	// empty value appearing in NullFields will be sent to the server as
2302	// null. It is an error if a field in this list has a non-empty value.
2303	// This may be used to include null fields in Patch requests.
2304	NullFields []string `json:"-"`
2305}
2306
2307func (s *IstioConfig) MarshalJSON() ([]byte, error) {
2308	type NoMethod IstioConfig
2309	raw := NoMethod(*s)
2310	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2311}
2312
2313// Jwk: Jwk is a JSON Web Key as specified in RFC 7517
2314type Jwk struct {
2315	// Alg: Algorithm.
2316	Alg string `json:"alg,omitempty"`
2317
2318	// Crv: Used for ECDSA keys.
2319	Crv string `json:"crv,omitempty"`
2320
2321	// E: Used for RSA keys.
2322	E string `json:"e,omitempty"`
2323
2324	// Kid: Key ID.
2325	Kid string `json:"kid,omitempty"`
2326
2327	// Kty: Key Type.
2328	Kty string `json:"kty,omitempty"`
2329
2330	// N: Used for RSA keys.
2331	N string `json:"n,omitempty"`
2332
2333	// Use: Permitted uses for the public keys.
2334	Use string `json:"use,omitempty"`
2335
2336	// X: Used for ECDSA keys.
2337	X string `json:"x,omitempty"`
2338
2339	// Y: Used for ECDSA keys.
2340	Y string `json:"y,omitempty"`
2341
2342	// ForceSendFields is a list of field names (e.g. "Alg") to
2343	// unconditionally include in API requests. By default, fields with
2344	// empty values are omitted from API requests. However, any non-pointer,
2345	// non-interface field appearing in ForceSendFields will be sent to the
2346	// server regardless of whether the field is empty or not. This may be
2347	// used to include empty fields in Patch requests.
2348	ForceSendFields []string `json:"-"`
2349
2350	// NullFields is a list of field names (e.g. "Alg") to include in API
2351	// requests with the JSON null value. By default, fields with empty
2352	// values are omitted from API requests. However, any field with an
2353	// empty value appearing in NullFields will be sent to the server as
2354	// null. It is an error if a field in this list has a non-empty value.
2355	// This may be used to include null fields in Patch requests.
2356	NullFields []string `json:"-"`
2357}
2358
2359func (s *Jwk) MarshalJSON() ([]byte, error) {
2360	type NoMethod Jwk
2361	raw := NoMethod(*s)
2362	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2363}
2364
2365// KalmConfig: Configuration options for the KALM addon.
2366type KalmConfig struct {
2367	// Enabled: Whether KALM is enabled for this cluster.
2368	Enabled bool `json:"enabled,omitempty"`
2369
2370	// ForceSendFields is a list of field names (e.g. "Enabled") to
2371	// unconditionally include in API requests. By default, fields with
2372	// empty values are omitted from API requests. However, any non-pointer,
2373	// non-interface field appearing in ForceSendFields will be sent to the
2374	// server regardless of whether the field is empty or not. This may be
2375	// used to include empty fields in Patch requests.
2376	ForceSendFields []string `json:"-"`
2377
2378	// NullFields is a list of field names (e.g. "Enabled") to include in
2379	// API requests with the JSON null value. By default, fields with empty
2380	// values are omitted from API requests. However, any field with an
2381	// empty value appearing in NullFields will be sent to the server as
2382	// null. It is an error if a field in this list has a non-empty value.
2383	// This may be used to include null fields in Patch requests.
2384	NullFields []string `json:"-"`
2385}
2386
2387func (s *KalmConfig) MarshalJSON() ([]byte, error) {
2388	type NoMethod KalmConfig
2389	raw := NoMethod(*s)
2390	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2391}
2392
2393// KubernetesDashboard: Configuration for the Kubernetes Dashboard.
2394type KubernetesDashboard struct {
2395	// Disabled: Whether the Kubernetes Dashboard is enabled for this
2396	// cluster.
2397	Disabled bool `json:"disabled,omitempty"`
2398
2399	// ForceSendFields is a list of field names (e.g. "Disabled") to
2400	// unconditionally include in API requests. By default, fields with
2401	// empty values are omitted from API requests. However, any non-pointer,
2402	// non-interface field appearing in ForceSendFields will be sent to the
2403	// server regardless of whether the field is empty or not. This may be
2404	// used to include empty fields in Patch requests.
2405	ForceSendFields []string `json:"-"`
2406
2407	// NullFields is a list of field names (e.g. "Disabled") to include in
2408	// API requests with the JSON null value. By default, fields with empty
2409	// values are omitted from API requests. However, any field with an
2410	// empty value appearing in NullFields will be sent to the server as
2411	// null. It is an error if a field in this list has a non-empty value.
2412	// This may be used to include null fields in Patch requests.
2413	NullFields []string `json:"-"`
2414}
2415
2416func (s *KubernetesDashboard) MarshalJSON() ([]byte, error) {
2417	type NoMethod KubernetesDashboard
2418	raw := NoMethod(*s)
2419	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2420}
2421
2422// LegacyAbac: Configuration for the legacy Attribute Based Access
2423// Control authorization mode.
2424type LegacyAbac struct {
2425	// Enabled: Whether the ABAC authorizer is enabled for this cluster.
2426	// When enabled, identities in the system, including service accounts,
2427	// nodes, and controllers, will have statically granted permissions
2428	// beyond those provided by the RBAC configuration or IAM.
2429	Enabled bool `json:"enabled,omitempty"`
2430
2431	// ForceSendFields is a list of field names (e.g. "Enabled") to
2432	// unconditionally include in API requests. By default, fields with
2433	// empty values are omitted from API requests. However, any non-pointer,
2434	// non-interface field appearing in ForceSendFields will be sent to the
2435	// server regardless of whether the field is empty or not. This may be
2436	// used to include empty fields in Patch requests.
2437	ForceSendFields []string `json:"-"`
2438
2439	// NullFields is a list of field names (e.g. "Enabled") to include in
2440	// API requests with the JSON null value. By default, fields with empty
2441	// values are omitted from API requests. However, any field with an
2442	// empty value appearing in NullFields will be sent to the server as
2443	// null. It is an error if a field in this list has a non-empty value.
2444	// This may be used to include null fields in Patch requests.
2445	NullFields []string `json:"-"`
2446}
2447
2448func (s *LegacyAbac) MarshalJSON() ([]byte, error) {
2449	type NoMethod LegacyAbac
2450	raw := NoMethod(*s)
2451	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2452}
2453
2454// LinuxNodeConfig: Parameters that can be configured on Linux nodes.
2455type LinuxNodeConfig struct {
2456	// Sysctls: The Linux kernel parameters to be applied to the nodes and
2457	// all pods running on the nodes. The following parameters are
2458	// supported. net.core.netdev_max_backlog net.core.rmem_max
2459	// net.core.wmem_default net.core.wmem_max net.core.optmem_max
2460	// net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem
2461	// net.ipv4.tcp_tw_reuse
2462	Sysctls map[string]string `json:"sysctls,omitempty"`
2463
2464	// ForceSendFields is a list of field names (e.g. "Sysctls") to
2465	// unconditionally include in API requests. By default, fields with
2466	// empty values are omitted from API requests. However, any non-pointer,
2467	// non-interface field appearing in ForceSendFields will be sent to the
2468	// server regardless of whether the field is empty or not. This may be
2469	// used to include empty fields in Patch requests.
2470	ForceSendFields []string `json:"-"`
2471
2472	// NullFields is a list of field names (e.g. "Sysctls") to include in
2473	// API requests with the JSON null value. By default, fields with empty
2474	// values are omitted from API requests. However, any field with an
2475	// empty value appearing in NullFields will be sent to the server as
2476	// null. It is an error if a field in this list has a non-empty value.
2477	// This may be used to include null fields in Patch requests.
2478	NullFields []string `json:"-"`
2479}
2480
2481func (s *LinuxNodeConfig) MarshalJSON() ([]byte, error) {
2482	type NoMethod LinuxNodeConfig
2483	raw := NoMethod(*s)
2484	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2485}
2486
2487// ListClustersResponse: ListClustersResponse is the result of
2488// ListClustersRequest.
2489type ListClustersResponse struct {
2490	// Clusters: A list of clusters in the project in the specified zone, or
2491	// across all ones.
2492	Clusters []*Cluster `json:"clusters,omitempty"`
2493
2494	// MissingZones: If any zones are listed here, the list of clusters
2495	// returned may be missing those zones.
2496	MissingZones []string `json:"missingZones,omitempty"`
2497
2498	// ServerResponse contains the HTTP response code and headers from the
2499	// server.
2500	googleapi.ServerResponse `json:"-"`
2501
2502	// ForceSendFields is a list of field names (e.g. "Clusters") to
2503	// unconditionally include in API requests. By default, fields with
2504	// empty values are omitted from API requests. However, any non-pointer,
2505	// non-interface field appearing in ForceSendFields will be sent to the
2506	// server regardless of whether the field is empty or not. This may be
2507	// used to include empty fields in Patch requests.
2508	ForceSendFields []string `json:"-"`
2509
2510	// NullFields is a list of field names (e.g. "Clusters") to include in
2511	// API requests with the JSON null value. By default, fields with empty
2512	// values are omitted from API requests. However, any field with an
2513	// empty value appearing in NullFields will be sent to the server as
2514	// null. It is an error if a field in this list has a non-empty value.
2515	// This may be used to include null fields in Patch requests.
2516	NullFields []string `json:"-"`
2517}
2518
2519func (s *ListClustersResponse) MarshalJSON() ([]byte, error) {
2520	type NoMethod ListClustersResponse
2521	raw := NoMethod(*s)
2522	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2523}
2524
2525// ListLocationsResponse: ListLocationsResponse returns the list of all
2526// GKE locations and their recommendation state.
2527type ListLocationsResponse struct {
2528	// Locations: A full list of GKE locations.
2529	Locations []*Location `json:"locations,omitempty"`
2530
2531	// NextPageToken: Only return ListLocationsResponse that occur after the
2532	// page_token. This value should be populated from the
2533	// ListLocationsResponse.next_page_token if that response token was set
2534	// (which happens when listing more Locations than fit in a single
2535	// ListLocationsResponse).
2536	NextPageToken string `json:"nextPageToken,omitempty"`
2537
2538	// ServerResponse contains the HTTP response code and headers from the
2539	// server.
2540	googleapi.ServerResponse `json:"-"`
2541
2542	// ForceSendFields is a list of field names (e.g. "Locations") to
2543	// unconditionally include in API requests. By default, fields with
2544	// empty values are omitted from API requests. However, any non-pointer,
2545	// non-interface field appearing in ForceSendFields will be sent to the
2546	// server regardless of whether the field is empty or not. This may be
2547	// used to include empty fields in Patch requests.
2548	ForceSendFields []string `json:"-"`
2549
2550	// NullFields is a list of field names (e.g. "Locations") to include in
2551	// API requests with the JSON null value. By default, fields with empty
2552	// values are omitted from API requests. However, any field with an
2553	// empty value appearing in NullFields will be sent to the server as
2554	// null. It is an error if a field in this list has a non-empty value.
2555	// This may be used to include null fields in Patch requests.
2556	NullFields []string `json:"-"`
2557}
2558
2559func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) {
2560	type NoMethod ListLocationsResponse
2561	raw := NoMethod(*s)
2562	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2563}
2564
2565// ListNodePoolsResponse: ListNodePoolsResponse is the result of
2566// ListNodePoolsRequest.
2567type ListNodePoolsResponse struct {
2568	// NodePools: A list of node pools for a cluster.
2569	NodePools []*NodePool `json:"nodePools,omitempty"`
2570
2571	// ServerResponse contains the HTTP response code and headers from the
2572	// server.
2573	googleapi.ServerResponse `json:"-"`
2574
2575	// ForceSendFields is a list of field names (e.g. "NodePools") to
2576	// unconditionally include in API requests. By default, fields with
2577	// empty values are omitted from API requests. However, any non-pointer,
2578	// non-interface field appearing in ForceSendFields will be sent to the
2579	// server regardless of whether the field is empty or not. This may be
2580	// used to include empty fields in Patch requests.
2581	ForceSendFields []string `json:"-"`
2582
2583	// NullFields is a list of field names (e.g. "NodePools") to include in
2584	// API requests with the JSON null value. By default, fields with empty
2585	// values are omitted from API requests. However, any field with an
2586	// empty value appearing in NullFields will be sent to the server as
2587	// null. It is an error if a field in this list has a non-empty value.
2588	// This may be used to include null fields in Patch requests.
2589	NullFields []string `json:"-"`
2590}
2591
2592func (s *ListNodePoolsResponse) MarshalJSON() ([]byte, error) {
2593	type NoMethod ListNodePoolsResponse
2594	raw := NoMethod(*s)
2595	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2596}
2597
2598// ListOperationsResponse: ListOperationsResponse is the result of
2599// ListOperationsRequest.
2600type ListOperationsResponse struct {
2601	// MissingZones: If any zones are listed here, the list of operations
2602	// returned may be missing the operations from those zones.
2603	MissingZones []string `json:"missingZones,omitempty"`
2604
2605	// Operations: A list of operations in the project in the specified
2606	// zone.
2607	Operations []*Operation `json:"operations,omitempty"`
2608
2609	// ServerResponse contains the HTTP response code and headers from the
2610	// server.
2611	googleapi.ServerResponse `json:"-"`
2612
2613	// ForceSendFields is a list of field names (e.g. "MissingZones") to
2614	// unconditionally include in API requests. By default, fields with
2615	// empty values are omitted from API requests. However, any non-pointer,
2616	// non-interface field appearing in ForceSendFields will be sent to the
2617	// server regardless of whether the field is empty or not. This may be
2618	// used to include empty fields in Patch requests.
2619	ForceSendFields []string `json:"-"`
2620
2621	// NullFields is a list of field names (e.g. "MissingZones") to include
2622	// in API requests with the JSON null value. By default, fields with
2623	// empty values are omitted from API requests. However, any field with
2624	// an empty value appearing in NullFields will be sent to the server as
2625	// null. It is an error if a field in this list has a non-empty value.
2626	// This may be used to include null fields in Patch requests.
2627	NullFields []string `json:"-"`
2628}
2629
2630func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
2631	type NoMethod ListOperationsResponse
2632	raw := NoMethod(*s)
2633	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2634}
2635
2636// ListUsableSubnetworksResponse: ListUsableSubnetworksResponse is the
2637// response of ListUsableSubnetworksRequest.
2638type ListUsableSubnetworksResponse struct {
2639	// NextPageToken: This token allows you to get the next page of results
2640	// for list requests. If the number of results is larger than
2641	// `page_size`, use the `next_page_token` as a value for the query
2642	// parameter `page_token` in the next request. The value will become
2643	// empty when there are no more pages.
2644	NextPageToken string `json:"nextPageToken,omitempty"`
2645
2646	// Subnetworks: A list of usable subnetworks in the specified network
2647	// project.
2648	Subnetworks []*UsableSubnetwork `json:"subnetworks,omitempty"`
2649
2650	// ServerResponse contains the HTTP response code and headers from the
2651	// server.
2652	googleapi.ServerResponse `json:"-"`
2653
2654	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
2655	// unconditionally include in API requests. By default, fields with
2656	// empty values are omitted from API requests. However, any non-pointer,
2657	// non-interface field appearing in ForceSendFields will be sent to the
2658	// server regardless of whether the field is empty or not. This may be
2659	// used to include empty fields in Patch requests.
2660	ForceSendFields []string `json:"-"`
2661
2662	// NullFields is a list of field names (e.g. "NextPageToken") to include
2663	// in API requests with the JSON null value. By default, fields with
2664	// empty values are omitted from API requests. However, any field with
2665	// an empty value appearing in NullFields will be sent to the server as
2666	// null. It is an error if a field in this list has a non-empty value.
2667	// This may be used to include null fields in Patch requests.
2668	NullFields []string `json:"-"`
2669}
2670
2671func (s *ListUsableSubnetworksResponse) MarshalJSON() ([]byte, error) {
2672	type NoMethod ListUsableSubnetworksResponse
2673	raw := NoMethod(*s)
2674	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2675}
2676
2677// Location: Location returns the location name, and if the location is
2678// recommended for GKE cluster scheduling.
2679type Location struct {
2680	// Name: Contains the name of the resource requested. Specified in the
2681	// format `projects/*/locations/*`.
2682	Name string `json:"name,omitempty"`
2683
2684	// Recommended: Whether the location is recomended for GKE cluster
2685	// scheduling.
2686	Recommended bool `json:"recommended,omitempty"`
2687
2688	// Type: Contains the type of location this Location is for. Regional or
2689	// Zonal.
2690	//
2691	// Possible values:
2692	//   "LOCATION_TYPE_UNSPECIFIED" - LOCATION_TYPE_UNSPECIFIED means the
2693	// location type was not determined.
2694	//   "ZONE" - A GKE Location where Zonal clusters can be created.
2695	//   "REGION" - A GKE Location where Regional clusters can be created.
2696	Type string `json:"type,omitempty"`
2697
2698	// ForceSendFields is a list of field names (e.g. "Name") to
2699	// unconditionally include in API requests. By default, fields with
2700	// empty values are omitted from API requests. However, any non-pointer,
2701	// non-interface field appearing in ForceSendFields will be sent to the
2702	// server regardless of whether the field is empty or not. This may be
2703	// used to include empty fields in Patch requests.
2704	ForceSendFields []string `json:"-"`
2705
2706	// NullFields is a list of field names (e.g. "Name") to include in API
2707	// requests with the JSON null value. By default, fields with empty
2708	// values are omitted from API requests. However, any field with an
2709	// empty value appearing in NullFields will be sent to the server as
2710	// null. It is an error if a field in this list has a non-empty value.
2711	// This may be used to include null fields in Patch requests.
2712	NullFields []string `json:"-"`
2713}
2714
2715func (s *Location) MarshalJSON() ([]byte, error) {
2716	type NoMethod Location
2717	raw := NoMethod(*s)
2718	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2719}
2720
2721// MaintenancePolicy: MaintenancePolicy defines the maintenance policy
2722// to be used for the cluster.
2723type MaintenancePolicy struct {
2724	// ResourceVersion: A hash identifying the version of this policy, so
2725	// that updates to fields of the policy won't accidentally undo
2726	// intermediate changes (and so that users of the API unaware of some
2727	// fields won't accidentally remove other fields). Make a `get()`
2728	// request to the cluster to get the current resource version and
2729	// include it with requests to set the policy.
2730	ResourceVersion string `json:"resourceVersion,omitempty"`
2731
2732	// Window: Specifies the maintenance window in which maintenance may be
2733	// performed.
2734	Window *MaintenanceWindow `json:"window,omitempty"`
2735
2736	// ForceSendFields is a list of field names (e.g. "ResourceVersion") to
2737	// unconditionally include in API requests. By default, fields with
2738	// empty values are omitted from API requests. However, any non-pointer,
2739	// non-interface field appearing in ForceSendFields will be sent to the
2740	// server regardless of whether the field is empty or not. This may be
2741	// used to include empty fields in Patch requests.
2742	ForceSendFields []string `json:"-"`
2743
2744	// NullFields is a list of field names (e.g. "ResourceVersion") to
2745	// include in API requests with the JSON null value. By default, fields
2746	// with empty values are omitted from API requests. However, any field
2747	// with an empty value appearing in NullFields will be sent to the
2748	// server as null. It is an error if a field in this list has a
2749	// non-empty value. This may be used to include null fields in Patch
2750	// requests.
2751	NullFields []string `json:"-"`
2752}
2753
2754func (s *MaintenancePolicy) MarshalJSON() ([]byte, error) {
2755	type NoMethod MaintenancePolicy
2756	raw := NoMethod(*s)
2757	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2758}
2759
2760// MaintenanceWindow: MaintenanceWindow defines the maintenance window
2761// to be used for the cluster.
2762type MaintenanceWindow struct {
2763	// DailyMaintenanceWindow: DailyMaintenanceWindow specifies a daily
2764	// maintenance operation window.
2765	DailyMaintenanceWindow *DailyMaintenanceWindow `json:"dailyMaintenanceWindow,omitempty"`
2766
2767	// MaintenanceExclusions: Exceptions to maintenance window.
2768	// Non-emergency maintenance should not occur in these windows.
2769	MaintenanceExclusions map[string]TimeWindow `json:"maintenanceExclusions,omitempty"`
2770
2771	// RecurringWindow: RecurringWindow specifies some number of recurring
2772	// time periods for maintenance to occur. The time windows may be
2773	// overlapping. If no maintenance windows are set, maintenance can occur
2774	// at any time.
2775	RecurringWindow *RecurringTimeWindow `json:"recurringWindow,omitempty"`
2776
2777	// ForceSendFields is a list of field names (e.g.
2778	// "DailyMaintenanceWindow") to unconditionally include in API requests.
2779	// By default, fields with empty values are omitted from API requests.
2780	// However, any non-pointer, non-interface field appearing in
2781	// ForceSendFields will be sent to the server regardless of whether the
2782	// field is empty or not. This may be used to include empty fields in
2783	// Patch requests.
2784	ForceSendFields []string `json:"-"`
2785
2786	// NullFields is a list of field names (e.g. "DailyMaintenanceWindow")
2787	// to include in API requests with the JSON null value. By default,
2788	// fields with empty values are omitted from API requests. However, any
2789	// field with an empty value appearing in NullFields will be sent to the
2790	// server as null. It is an error if a field in this list has a
2791	// non-empty value. This may be used to include null fields in Patch
2792	// requests.
2793	NullFields []string `json:"-"`
2794}
2795
2796func (s *MaintenanceWindow) MarshalJSON() ([]byte, error) {
2797	type NoMethod MaintenanceWindow
2798	raw := NoMethod(*s)
2799	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2800}
2801
2802// Master: Master is the configuration for components on master.
2803type Master struct {
2804}
2805
2806// MasterAuth: The authentication information for accessing the master
2807// endpoint. Authentication can be done using HTTP basic auth or using
2808// client certificates.
2809type MasterAuth struct {
2810	// ClientCertificate: [Output only] Base64-encoded public certificate
2811	// used by clients to authenticate to the cluster endpoint.
2812	ClientCertificate string `json:"clientCertificate,omitempty"`
2813
2814	// ClientCertificateConfig: Configuration for client certificate
2815	// authentication on the cluster. For clusters before v1.12, if no
2816	// configuration is specified, a client certificate is issued.
2817	ClientCertificateConfig *ClientCertificateConfig `json:"clientCertificateConfig,omitempty"`
2818
2819	// ClientKey: [Output only] Base64-encoded private key used by clients
2820	// to authenticate to the cluster endpoint.
2821	ClientKey string `json:"clientKey,omitempty"`
2822
2823	ClusterCaCertificate string `json:"clusterCaCertificate,omitempty"`
2824
2825	// Password: The password to use for HTTP basic authentication to the
2826	// master endpoint. Because the master endpoint is open to the Internet,
2827	// you should create a strong password. If a password is provided for
2828	// cluster creation, username must be non-empty. Warning: basic
2829	// authentication is deprecated, and will be removed in GKE control
2830	// plane versions 1.19 and newer. For a list of recommended
2831	// authentication methods, see:
2832	// https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-authentication
2833	Password string `json:"password,omitempty"`
2834
2835	// Username: The username to use for HTTP basic authentication to the
2836	// master endpoint. For clusters v1.6.0 and later, basic authentication
2837	// can be disabled by leaving username unspecified (or setting it to the
2838	// empty string). Warning: basic authentication is deprecated, and will
2839	// be removed in GKE control plane versions 1.19 and newer. For a list
2840	// of recommended authentication methods, see:
2841	// https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-authentication
2842	Username string `json:"username,omitempty"`
2843
2844	// ForceSendFields is a list of field names (e.g. "ClientCertificate")
2845	// to unconditionally include in API requests. By default, fields with
2846	// empty values are omitted from API requests. However, any non-pointer,
2847	// non-interface field appearing in ForceSendFields will be sent to the
2848	// server regardless of whether the field is empty or not. This may be
2849	// used to include empty fields in Patch requests.
2850	ForceSendFields []string `json:"-"`
2851
2852	// NullFields is a list of field names (e.g. "ClientCertificate") to
2853	// include in API requests with the JSON null value. By default, fields
2854	// with empty values are omitted from API requests. However, any field
2855	// with an empty value appearing in NullFields will be sent to the
2856	// server as null. It is an error if a field in this list has a
2857	// non-empty value. This may be used to include null fields in Patch
2858	// requests.
2859	NullFields []string `json:"-"`
2860}
2861
2862func (s *MasterAuth) MarshalJSON() ([]byte, error) {
2863	type NoMethod MasterAuth
2864	raw := NoMethod(*s)
2865	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2866}
2867
2868// MasterAuthorizedNetworksConfig: Configuration options for the master
2869// authorized networks feature. Enabled master authorized networks will
2870// disallow all external traffic to access Kubernetes master through
2871// HTTPS except traffic from the given CIDR blocks, Google Compute
2872// Engine Public IPs and Google Prod IPs.
2873type MasterAuthorizedNetworksConfig struct {
2874	// CidrBlocks: cidr_blocks define up to 10 external networks that could
2875	// access Kubernetes master through HTTPS.
2876	CidrBlocks []*CidrBlock `json:"cidrBlocks,omitempty"`
2877
2878	// Enabled: Whether or not master authorized networks is enabled.
2879	Enabled bool `json:"enabled,omitempty"`
2880
2881	// ForceSendFields is a list of field names (e.g. "CidrBlocks") to
2882	// unconditionally include in API requests. By default, fields with
2883	// empty values are omitted from API requests. However, any non-pointer,
2884	// non-interface field appearing in ForceSendFields will be sent to the
2885	// server regardless of whether the field is empty or not. This may be
2886	// used to include empty fields in Patch requests.
2887	ForceSendFields []string `json:"-"`
2888
2889	// NullFields is a list of field names (e.g. "CidrBlocks") to include in
2890	// API requests with the JSON null value. By default, fields with empty
2891	// values are omitted from API requests. However, any field with an
2892	// empty value appearing in NullFields will be sent to the server as
2893	// null. It is an error if a field in this list has a non-empty value.
2894	// This may be used to include null fields in Patch requests.
2895	NullFields []string `json:"-"`
2896}
2897
2898func (s *MasterAuthorizedNetworksConfig) MarshalJSON() ([]byte, error) {
2899	type NoMethod MasterAuthorizedNetworksConfig
2900	raw := NoMethod(*s)
2901	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2902}
2903
2904// MaxPodsConstraint: Constraints applied to pods.
2905type MaxPodsConstraint struct {
2906	// MaxPodsPerNode: Constraint enforced on the max num of pods per node.
2907	MaxPodsPerNode int64 `json:"maxPodsPerNode,omitempty,string"`
2908
2909	// ForceSendFields is a list of field names (e.g. "MaxPodsPerNode") to
2910	// unconditionally include in API requests. By default, fields with
2911	// empty values are omitted from API requests. However, any non-pointer,
2912	// non-interface field appearing in ForceSendFields will be sent to the
2913	// server regardless of whether the field is empty or not. This may be
2914	// used to include empty fields in Patch requests.
2915	ForceSendFields []string `json:"-"`
2916
2917	// NullFields is a list of field names (e.g. "MaxPodsPerNode") to
2918	// include in API requests with the JSON null value. By default, fields
2919	// with empty values are omitted from API requests. However, any field
2920	// with an empty value appearing in NullFields will be sent to the
2921	// server as null. It is an error if a field in this list has a
2922	// non-empty value. This may be used to include null fields in Patch
2923	// requests.
2924	NullFields []string `json:"-"`
2925}
2926
2927func (s *MaxPodsConstraint) MarshalJSON() ([]byte, error) {
2928	type NoMethod MaxPodsConstraint
2929	raw := NoMethod(*s)
2930	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2931}
2932
2933// Metric: Progress metric is (string, int|float|string) pair.
2934type Metric struct {
2935	// DoubleValue: For metrics with floating point value.
2936	DoubleValue float64 `json:"doubleValue,omitempty"`
2937
2938	// IntValue: For metrics with integer value.
2939	IntValue int64 `json:"intValue,omitempty,string"`
2940
2941	// Name: Required. Metric name, e.g., "nodes total", "percent done".
2942	Name string `json:"name,omitempty"`
2943
2944	// StringValue: For metrics with custom values (ratios, visual progress,
2945	// etc.).
2946	StringValue string `json:"stringValue,omitempty"`
2947
2948	// ForceSendFields is a list of field names (e.g. "DoubleValue") to
2949	// unconditionally include in API requests. By default, fields with
2950	// empty values are omitted from API requests. However, any non-pointer,
2951	// non-interface field appearing in ForceSendFields will be sent to the
2952	// server regardless of whether the field is empty or not. This may be
2953	// used to include empty fields in Patch requests.
2954	ForceSendFields []string `json:"-"`
2955
2956	// NullFields is a list of field names (e.g. "DoubleValue") to include
2957	// in API requests with the JSON null value. By default, fields with
2958	// empty values are omitted from API requests. However, any field with
2959	// an empty value appearing in NullFields will be sent to the server as
2960	// null. It is an error if a field in this list has a non-empty value.
2961	// This may be used to include null fields in Patch requests.
2962	NullFields []string `json:"-"`
2963}
2964
2965func (s *Metric) MarshalJSON() ([]byte, error) {
2966	type NoMethod Metric
2967	raw := NoMethod(*s)
2968	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2969}
2970
2971func (s *Metric) UnmarshalJSON(data []byte) error {
2972	type NoMethod Metric
2973	var s1 struct {
2974		DoubleValue gensupport.JSONFloat64 `json:"doubleValue"`
2975		*NoMethod
2976	}
2977	s1.NoMethod = (*NoMethod)(s)
2978	if err := json.Unmarshal(data, &s1); err != nil {
2979		return err
2980	}
2981	s.DoubleValue = float64(s1.DoubleValue)
2982	return nil
2983}
2984
2985// NetworkConfig: NetworkConfig reports the relative names of network &
2986// subnetwork.
2987type NetworkConfig struct {
2988	// DatapathProvider: The desired datapath provider for this cluster. By
2989	// default, uses the IPTables-based kube-proxy implementation.
2990	//
2991	// Possible values:
2992	//   "DATAPATH_PROVIDER_UNSPECIFIED" - Default value.
2993	//   "LEGACY_DATAPATH" - Use the IPTables implementation based on
2994	// kube-proxy.
2995	//   "ADVANCED_DATAPATH" - Use the eBPF based GKE Dataplane V2 with
2996	// additional features. See the [GKE Dataplane V2
2997	// documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/
2998	// dataplane-v2) for more.
2999	DatapathProvider string `json:"datapathProvider,omitempty"`
3000
3001	// DefaultSnatStatus: Whether the cluster disables default in-node sNAT
3002	// rules. In-node sNAT rules will be disabled when default_snat_status
3003	// is disabled. When disabled is set to false, default IP masquerade
3004	// rules will be applied to the nodes to prevent sNAT on cluster
3005	// internal traffic.
3006	DefaultSnatStatus *DefaultSnatStatus `json:"defaultSnatStatus,omitempty"`
3007
3008	// EnableIntraNodeVisibility: Whether Intra-node visibility is enabled
3009	// for this cluster. This makes same node pod to pod traffic visible for
3010	// VPC network.
3011	EnableIntraNodeVisibility bool `json:"enableIntraNodeVisibility,omitempty"`
3012
3013	// EnableL4ilbSubsetting: Whether L4ILB Subsetting is enabled for this
3014	// cluster.
3015	EnableL4ilbSubsetting bool `json:"enableL4ilbSubsetting,omitempty"`
3016
3017	// Network: Output only. The relative name of the Google Compute Engine
3018	// network(https://cloud.google.com/compute/docs/networks-and-firewalls#n
3019	// etworks) to which the cluster is connected. Example:
3020	// projects/my-project/global/networks/my-network
3021	Network string `json:"network,omitempty"`
3022
3023	// PrivateIpv6GoogleAccess: The desired state of IPv6 connectivity to
3024	// Google Services. By default, no private IPv6 access to or from Google
3025	// Services (all access will be via IPv4)
3026	//
3027	// Possible values:
3028	//   "PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED" - Default value. Same as
3029	// DISABLED
3030	//   "PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED" - No private access to or
3031	// from Google Services
3032	//   "PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE" - Enables private IPv6
3033	// access to Google Services from GKE
3034	//   "PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL" - Enables priate IPv6
3035	// access to and from Google Services
3036	PrivateIpv6GoogleAccess string `json:"privateIpv6GoogleAccess,omitempty"`
3037
3038	// Subnetwork: Output only. The relative name of the Google Compute
3039	// Engine subnetwork (https://cloud.google.com/compute/docs/vpc) to
3040	// which the cluster is connected. Example:
3041	// projects/my-project/regions/us-central1/subnetworks/my-subnet
3042	Subnetwork string `json:"subnetwork,omitempty"`
3043
3044	// ForceSendFields is a list of field names (e.g. "DatapathProvider") to
3045	// unconditionally include in API requests. By default, fields with
3046	// empty values are omitted from API requests. However, any non-pointer,
3047	// non-interface field appearing in ForceSendFields will be sent to the
3048	// server regardless of whether the field is empty or not. This may be
3049	// used to include empty fields in Patch requests.
3050	ForceSendFields []string `json:"-"`
3051
3052	// NullFields is a list of field names (e.g. "DatapathProvider") to
3053	// include in API requests with the JSON null value. By default, fields
3054	// with empty values are omitted from API requests. However, any field
3055	// with an empty value appearing in NullFields will be sent to the
3056	// server as null. It is an error if a field in this list has a
3057	// non-empty value. This may be used to include null fields in Patch
3058	// requests.
3059	NullFields []string `json:"-"`
3060}
3061
3062func (s *NetworkConfig) MarshalJSON() ([]byte, error) {
3063	type NoMethod NetworkConfig
3064	raw := NoMethod(*s)
3065	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3066}
3067
3068// NetworkPolicy: Configuration options for the NetworkPolicy feature.
3069// https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
3070type NetworkPolicy struct {
3071	// Enabled: Whether network policy is enabled on the cluster.
3072	Enabled bool `json:"enabled,omitempty"`
3073
3074	// Provider: The selected network policy provider.
3075	//
3076	// Possible values:
3077	//   "PROVIDER_UNSPECIFIED" - Not set
3078	//   "CALICO" - Tigera (Calico Felix).
3079	Provider string `json:"provider,omitempty"`
3080
3081	// ForceSendFields is a list of field names (e.g. "Enabled") to
3082	// unconditionally include in API requests. By default, fields with
3083	// empty values are omitted from API requests. However, any non-pointer,
3084	// non-interface field appearing in ForceSendFields will be sent to the
3085	// server regardless of whether the field is empty or not. This may be
3086	// used to include empty fields in Patch requests.
3087	ForceSendFields []string `json:"-"`
3088
3089	// NullFields is a list of field names (e.g. "Enabled") to include in
3090	// API requests with the JSON null value. By default, fields with empty
3091	// values are omitted from API requests. However, any field with an
3092	// empty value appearing in NullFields will be sent to the server as
3093	// null. It is an error if a field in this list has a non-empty value.
3094	// This may be used to include null fields in Patch requests.
3095	NullFields []string `json:"-"`
3096}
3097
3098func (s *NetworkPolicy) MarshalJSON() ([]byte, error) {
3099	type NoMethod NetworkPolicy
3100	raw := NoMethod(*s)
3101	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3102}
3103
3104// NetworkPolicyConfig: Configuration for NetworkPolicy. This only
3105// tracks whether the addon is enabled or not on the Master, it does not
3106// track whether network policy is enabled for the nodes.
3107type NetworkPolicyConfig struct {
3108	// Disabled: Whether NetworkPolicy is enabled for this cluster.
3109	Disabled bool `json:"disabled,omitempty"`
3110
3111	// ForceSendFields is a list of field names (e.g. "Disabled") to
3112	// unconditionally include in API requests. By default, fields with
3113	// empty values are omitted from API requests. However, any non-pointer,
3114	// non-interface field appearing in ForceSendFields will be sent to the
3115	// server regardless of whether the field is empty or not. This may be
3116	// used to include empty fields in Patch requests.
3117	ForceSendFields []string `json:"-"`
3118
3119	// NullFields is a list of field names (e.g. "Disabled") to include in
3120	// API requests with the JSON null value. By default, fields with empty
3121	// values are omitted from API requests. However, any field with an
3122	// empty value appearing in NullFields will be sent to the server as
3123	// null. It is an error if a field in this list has a non-empty value.
3124	// This may be used to include null fields in Patch requests.
3125	NullFields []string `json:"-"`
3126}
3127
3128func (s *NetworkPolicyConfig) MarshalJSON() ([]byte, error) {
3129	type NoMethod NetworkPolicyConfig
3130	raw := NoMethod(*s)
3131	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3132}
3133
3134// NetworkTags: Collection of Compute Engine network tags that can be
3135// applied to a node's underyling VM instance. (See `tags` field in
3136// `NodeConfig` (/kubernetes-engine/docs/reference/rest/v1/NodeConfig)).
3137type NetworkTags struct {
3138	// Tags: List of network tags.
3139	Tags []string `json:"tags,omitempty"`
3140
3141	// ForceSendFields is a list of field names (e.g. "Tags") to
3142	// unconditionally include in API requests. By default, fields with
3143	// empty values are omitted from API requests. However, any non-pointer,
3144	// non-interface field appearing in ForceSendFields will be sent to the
3145	// server regardless of whether the field is empty or not. This may be
3146	// used to include empty fields in Patch requests.
3147	ForceSendFields []string `json:"-"`
3148
3149	// NullFields is a list of field names (e.g. "Tags") to include in API
3150	// requests with the JSON null value. By default, fields with empty
3151	// values are omitted from API requests. However, any field with an
3152	// empty value appearing in NullFields will be sent to the server as
3153	// null. It is an error if a field in this list has a non-empty value.
3154	// This may be used to include null fields in Patch requests.
3155	NullFields []string `json:"-"`
3156}
3157
3158func (s *NetworkTags) MarshalJSON() ([]byte, error) {
3159	type NoMethod NetworkTags
3160	raw := NoMethod(*s)
3161	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3162}
3163
3164// NodeConfig: Parameters that describe the nodes in a cluster.
3165type NodeConfig struct {
3166	// Accelerators: A list of hardware accelerators to be attached to each
3167	// node. See https://cloud.google.com/compute/docs/gpus for more
3168	// information about support for GPUs.
3169	Accelerators []*AcceleratorConfig `json:"accelerators,omitempty"`
3170
3171	// BootDiskKmsKey:  The Customer Managed Encryption Key used to encrypt
3172	// the boot disk attached to each node in the node pool. This should be
3173	// of the form
3174	// projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cr
3175	// yptoKeys/[KEY_NAME]. For more information about protecting resources
3176	// with Cloud KMS Keys please see:
3177	// https://cloud.google.com/compute/docs/disks/customer-managed-encryption
3178	BootDiskKmsKey string `json:"bootDiskKmsKey,omitempty"`
3179
3180	// DiskSizeGb: Size of the disk attached to each node, specified in GB.
3181	// The smallest allowed disk size is 10GB. If unspecified, the default
3182	// disk size is 100GB.
3183	DiskSizeGb int64 `json:"diskSizeGb,omitempty"`
3184
3185	// DiskType: Type of the disk attached to each node (e.g. 'pd-standard',
3186	// 'pd-ssd' or 'pd-balanced') If unspecified, the default disk type is
3187	// 'pd-standard'
3188	DiskType string `json:"diskType,omitempty"`
3189
3190	// EphemeralStorageConfig: Parameters for the ephemeral storage
3191	// filesystem. If unspecified, ephemeral storage is backed by the boot
3192	// disk.
3193	EphemeralStorageConfig *EphemeralStorageConfig `json:"ephemeralStorageConfig,omitempty"`
3194
3195	// ImageType: The image type to use for this node. Note that for a given
3196	// image type, the latest version of it will be used.
3197	ImageType string `json:"imageType,omitempty"`
3198
3199	// KubeletConfig: Node kubelet configs.
3200	KubeletConfig *NodeKubeletConfig `json:"kubeletConfig,omitempty"`
3201
3202	// Labels: The map of Kubernetes labels (key/value pairs) to be applied
3203	// to each node. These will added in addition to any default label(s)
3204	// that Kubernetes may apply to the node. In case of conflict in label
3205	// keys, the applied set may differ depending on the Kubernetes version
3206	// -- it's best to assume the behavior is undefined and conflicts should
3207	// be avoided. For more information, including usage and the valid
3208	// values, see:
3209	// https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
3210	Labels map[string]string `json:"labels,omitempty"`
3211
3212	// LinuxNodeConfig: Parameters that can be configured on Linux nodes.
3213	LinuxNodeConfig *LinuxNodeConfig `json:"linuxNodeConfig,omitempty"`
3214
3215	// LocalSsdCount: The number of local SSD disks to be attached to the
3216	// node. The limit for this value is dependent upon the maximum number
3217	// of disks available on a machine per zone. See:
3218	// https://cloud.google.com/compute/docs/disks/local-ssd for more
3219	// information.
3220	LocalSsdCount int64 `json:"localSsdCount,omitempty"`
3221
3222	// MachineType: The name of a Google Compute Engine machine type
3223	// (https://cloud.google.com/compute/docs/machine-types). If
3224	// unspecified, the default machine type is `e2-medium`.
3225	MachineType string `json:"machineType,omitempty"`
3226
3227	// Metadata: The metadata key/value pairs assigned to instances in the
3228	// cluster. Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less
3229	// than 128 bytes in length. These are reflected as part of a URL in the
3230	// metadata server. Additionally, to avoid ambiguity, keys must not
3231	// conflict with any other metadata keys for the project or be one of
3232	// the reserved keys: - "cluster-location" - "cluster-name" -
3233	// "cluster-uid" - "configure-sh" - "containerd-configure-sh" -
3234	// "enable-oslogin" - "gci-ensure-gke-docker" - "gci-metrics-enabled" -
3235	// "gci-update-strategy" - "instance-template" - "kube-env" -
3236	// "startup-script" - "user-data" - "disable-address-manager" -
3237	// "windows-startup-script-ps1" - "common-psm1" - "k8s-node-setup-psm1"
3238	// - "install-ssh-psm1" - "user-profile-psm1" The following keys are
3239	// reserved for Windows nodes: - "serial-port-logging-enable" Values are
3240	// free-form strings, and only have meaning as interpreted by the image
3241	// running in the instance. The only restriction placed on them is that
3242	// each value's size must be less than or equal to 32 KB. The total size
3243	// of all keys and values must be less than 512 KB.
3244	Metadata map[string]string `json:"metadata,omitempty"`
3245
3246	// MinCpuPlatform: Minimum CPU platform to be used by this instance. The
3247	// instance may be scheduled on the specified or newer CPU platform.
3248	// Applicable values are the friendly names of CPU platforms, such as
3249	// `minCpuPlatform: "Intel Haswell" or `minCpuPlatform: "Intel Sandy
3250	// Bridge". For more information, read how to specify min CPU platform
3251	// (https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
3252	MinCpuPlatform string `json:"minCpuPlatform,omitempty"`
3253
3254	// NodeGroup: Setting this field will assign instances of this pool to
3255	// run on the specified node group. This is useful for running workloads
3256	// on sole tenant nodes
3257	// (https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).
3258	NodeGroup string `json:"nodeGroup,omitempty"`
3259
3260	// OauthScopes: The set of Google API scopes to be made available on all
3261	// of the node VMs under the "default" service account. The following
3262	// scopes are recommended, but not required, and by default are not
3263	// included: * `https://www.googleapis.com/auth/compute` is required for
3264	// mounting persistent storage on your nodes. *
3265	// `https://www.googleapis.com/auth/devstorage.read_only` is required
3266	// for communicating with **gcr.io** (the Google Container Registry
3267	// (https://cloud.google.com/container-registry/)). If unspecified, no
3268	// scopes are added, unless Cloud Logging or Cloud Monitoring are
3269	// enabled, in which case their required scopes will be added.
3270	OauthScopes []string `json:"oauthScopes,omitempty"`
3271
3272	// Preemptible: Whether the nodes are created as preemptible VM
3273	// instances. See:
3274	// https://cloud.google.com/compute/docs/instances/preemptible for more
3275	// inforamtion about preemptible VM instances.
3276	Preemptible bool `json:"preemptible,omitempty"`
3277
3278	// ReservationAffinity: The optional reservation affinity. Setting this
3279	// field will apply the specified Zonal Compute Reservation
3280	// (https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
3281	// to this node pool.
3282	ReservationAffinity *ReservationAffinity `json:"reservationAffinity,omitempty"`
3283
3284	// SandboxConfig: Sandbox configuration for this node.
3285	SandboxConfig *SandboxConfig `json:"sandboxConfig,omitempty"`
3286
3287	// ServiceAccount: The Google Cloud Platform Service Account to be used
3288	// by the node VMs. Specify the email address of the Service Account;
3289	// otherwise, if no Service Account is specified, the "default" service
3290	// account is used.
3291	ServiceAccount string `json:"serviceAccount,omitempty"`
3292
3293	// ShieldedInstanceConfig: Shielded Instance options.
3294	ShieldedInstanceConfig *ShieldedInstanceConfig `json:"shieldedInstanceConfig,omitempty"`
3295
3296	// Tags: The list of instance tags applied to all nodes. Tags are used
3297	// to identify valid sources or targets for network firewalls and are
3298	// specified by the client during cluster or node pool creation. Each
3299	// tag within the list must comply with RFC1035.
3300	Tags []string `json:"tags,omitempty"`
3301
3302	// Taints: List of kubernetes taints to be applied to each node. For
3303	// more information, including usage and the valid values, see:
3304	// https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
3305	Taints []*NodeTaint `json:"taints,omitempty"`
3306
3307	// WorkloadMetadataConfig: The workload metadata configuration for this
3308	// node.
3309	WorkloadMetadataConfig *WorkloadMetadataConfig `json:"workloadMetadataConfig,omitempty"`
3310
3311	// ForceSendFields is a list of field names (e.g. "Accelerators") to
3312	// unconditionally include in API requests. By default, fields with
3313	// empty values are omitted from API requests. However, any non-pointer,
3314	// non-interface field appearing in ForceSendFields will be sent to the
3315	// server regardless of whether the field is empty or not. This may be
3316	// used to include empty fields in Patch requests.
3317	ForceSendFields []string `json:"-"`
3318
3319	// NullFields is a list of field names (e.g. "Accelerators") to include
3320	// in API requests with the JSON null value. By default, fields with
3321	// empty values are omitted from API requests. However, any field with
3322	// an empty value appearing in NullFields will be sent to the server as
3323	// null. It is an error if a field in this list has a non-empty value.
3324	// This may be used to include null fields in Patch requests.
3325	NullFields []string `json:"-"`
3326}
3327
3328func (s *NodeConfig) MarshalJSON() ([]byte, error) {
3329	type NoMethod NodeConfig
3330	raw := NoMethod(*s)
3331	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3332}
3333
3334// NodeKubeletConfig: Node kubelet configs.
3335type NodeKubeletConfig struct {
3336	// CpuCfsQuota: Enable CPU CFS quota enforcement for containers that
3337	// specify CPU limits. This option is enabled by default which makes
3338	// kubelet use CFS quota
3339	// (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to
3340	// enforce container CPU limits. Otherwise, CPU limits will not be
3341	// enforced at all. Disable this option to mitigate CPU throttling
3342	// problems while still having your pods to be in Guaranteed QoS class
3343	// by specifying the CPU limits. The default value is 'true' if
3344	// unspecified.
3345	CpuCfsQuota bool `json:"cpuCfsQuota,omitempty"`
3346
3347	// CpuCfsQuotaPeriod: Set the CPU CFS quota period value
3348	// 'cpu.cfs_period_us'. The string must be a sequence of decimal
3349	// numbers, each with optional fraction and a unit suffix, such as
3350	// "300ms". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m",
3351	// "h". The value must be a positive duration.
3352	CpuCfsQuotaPeriod string `json:"cpuCfsQuotaPeriod,omitempty"`
3353
3354	// CpuManagerPolicy: Control the CPU management policy on the node. See
3355	// https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/
3356	// The following values are allowed. - "none": the default, which
3357	// represents the existing scheduling behavior. - "static": allows pods
3358	// with certain resource characteristics to be granted increased CPU
3359	// affinity and exclusivity on the node. The default value is 'none' if
3360	// unspecified.
3361	CpuManagerPolicy string `json:"cpuManagerPolicy,omitempty"`
3362
3363	// ForceSendFields is a list of field names (e.g. "CpuCfsQuota") to
3364	// unconditionally include in API requests. By default, fields with
3365	// empty values are omitted from API requests. However, any non-pointer,
3366	// non-interface field appearing in ForceSendFields will be sent to the
3367	// server regardless of whether the field is empty or not. This may be
3368	// used to include empty fields in Patch requests.
3369	ForceSendFields []string `json:"-"`
3370
3371	// NullFields is a list of field names (e.g. "CpuCfsQuota") to include
3372	// in API requests with the JSON null value. By default, fields with
3373	// empty values are omitted from API requests. However, any field with
3374	// an empty value appearing in NullFields will be sent to the server as
3375	// null. It is an error if a field in this list has a non-empty value.
3376	// This may be used to include null fields in Patch requests.
3377	NullFields []string `json:"-"`
3378}
3379
3380func (s *NodeKubeletConfig) MarshalJSON() ([]byte, error) {
3381	type NoMethod NodeKubeletConfig
3382	raw := NoMethod(*s)
3383	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3384}
3385
3386// NodeLabels: Collection of node-level Kubernetes labels
3387// (https://kubernetes.io/docs/concepts/overview/working-with-objects/labels).
3388type NodeLabels struct {
3389	// Labels: Map of node label keys and node label values.
3390	Labels map[string]string `json:"labels,omitempty"`
3391
3392	// ForceSendFields is a list of field names (e.g. "Labels") to
3393	// unconditionally include in API requests. By default, fields with
3394	// empty values are omitted from API requests. However, any non-pointer,
3395	// non-interface field appearing in ForceSendFields will be sent to the
3396	// server regardless of whether the field is empty or not. This may be
3397	// used to include empty fields in Patch requests.
3398	ForceSendFields []string `json:"-"`
3399
3400	// NullFields is a list of field names (e.g. "Labels") to include in API
3401	// requests with the JSON null value. By default, fields with empty
3402	// values are omitted from API requests. However, any field with an
3403	// empty value appearing in NullFields will be sent to the server as
3404	// null. It is an error if a field in this list has a non-empty value.
3405	// This may be used to include null fields in Patch requests.
3406	NullFields []string `json:"-"`
3407}
3408
3409func (s *NodeLabels) MarshalJSON() ([]byte, error) {
3410	type NoMethod NodeLabels
3411	raw := NoMethod(*s)
3412	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3413}
3414
3415// NodeManagement: NodeManagement defines the set of node management
3416// services turned on for the node pool.
3417type NodeManagement struct {
3418	// AutoRepair: Whether the nodes will be automatically repaired.
3419	AutoRepair bool `json:"autoRepair,omitempty"`
3420
3421	// AutoUpgrade: Whether the nodes will be automatically upgraded.
3422	AutoUpgrade bool `json:"autoUpgrade,omitempty"`
3423
3424	// UpgradeOptions: Specifies the Auto Upgrade knobs for the node pool.
3425	UpgradeOptions *AutoUpgradeOptions `json:"upgradeOptions,omitempty"`
3426
3427	// ForceSendFields is a list of field names (e.g. "AutoRepair") to
3428	// unconditionally include in API requests. By default, fields with
3429	// empty values are omitted from API requests. However, any non-pointer,
3430	// non-interface field appearing in ForceSendFields will be sent to the
3431	// server regardless of whether the field is empty or not. This may be
3432	// used to include empty fields in Patch requests.
3433	ForceSendFields []string `json:"-"`
3434
3435	// NullFields is a list of field names (e.g. "AutoRepair") to include in
3436	// API requests with the JSON null value. By default, fields with empty
3437	// values are omitted from API requests. However, any field with an
3438	// empty value appearing in NullFields will be sent to the server as
3439	// null. It is an error if a field in this list has a non-empty value.
3440	// This may be used to include null fields in Patch requests.
3441	NullFields []string `json:"-"`
3442}
3443
3444func (s *NodeManagement) MarshalJSON() ([]byte, error) {
3445	type NoMethod NodeManagement
3446	raw := NoMethod(*s)
3447	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3448}
3449
3450// NodeNetworkConfig: Parameters for node pool-level network config.
3451// Only applicable if `ip_allocation_policy.use_ip_aliases` is true.
3452type NodeNetworkConfig struct {
3453	// CreatePodRange: Input only. Whether to create a new range for pod IPs
3454	// in this node pool. Defaults are provided for `pod_range` and
3455	// `pod_ipv4_cidr_block` if they are not specified. If neither
3456	// `create_pod_range` or `pod_range` are specified, the cluster-level
3457	// default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used.
3458	CreatePodRange bool `json:"createPodRange,omitempty"`
3459
3460	// PodIpv4CidrBlock: The IP address range for pod IPs in this node pool.
3461	// Only applicable if `create_pod_range` is true. Set to blank to have a
3462	// range chosen with the default size. Set to /netmask (e.g. `/14`) to
3463	// have a range chosen with a specific netmask. Set to a CIDR
3464	// (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
3465	// notation (e.g. `10.96.0.0/14`) to pick a specific range to use.
3466	PodIpv4CidrBlock string `json:"podIpv4CidrBlock,omitempty"`
3467
3468	// PodRange: The ID of the secondary range for pod IPs. If
3469	// `create_pod_range` is true, this ID is used for the new range. If
3470	// `create_pod_range` is false, uses an existing secondary range with
3471	// this ID.
3472	PodRange string `json:"podRange,omitempty"`
3473
3474	// ForceSendFields is a list of field names (e.g. "CreatePodRange") to
3475	// unconditionally include in API requests. By default, fields with
3476	// empty values are omitted from API requests. However, any non-pointer,
3477	// non-interface field appearing in ForceSendFields will be sent to the
3478	// server regardless of whether the field is empty or not. This may be
3479	// used to include empty fields in Patch requests.
3480	ForceSendFields []string `json:"-"`
3481
3482	// NullFields is a list of field names (e.g. "CreatePodRange") to
3483	// include in API requests with the JSON null value. By default, fields
3484	// with empty values are omitted from API requests. However, any field
3485	// with an empty value appearing in NullFields will be sent to the
3486	// server as null. It is an error if a field in this list has a
3487	// non-empty value. This may be used to include null fields in Patch
3488	// requests.
3489	NullFields []string `json:"-"`
3490}
3491
3492func (s *NodeNetworkConfig) MarshalJSON() ([]byte, error) {
3493	type NoMethod NodeNetworkConfig
3494	raw := NoMethod(*s)
3495	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3496}
3497
3498// NodePool: NodePool contains the name and configuration for a
3499// cluster's node pool. Node pools are a set of nodes (i.e. VM's), with
3500// a common configuration and specification, under the control of the
3501// cluster master. They may have a set of Kubernetes labels applied to
3502// them, which may be used to reference them during pod scheduling. They
3503// may also be resized up or down, to accommodate the workload.
3504type NodePool struct {
3505	// Autoscaling: Autoscaler configuration for this NodePool. Autoscaler
3506	// is enabled only if a valid configuration is present.
3507	Autoscaling *NodePoolAutoscaling `json:"autoscaling,omitempty"`
3508
3509	// Conditions: Which conditions caused the current node pool state.
3510	Conditions []*StatusCondition `json:"conditions,omitempty"`
3511
3512	// Config: The node configuration of the pool.
3513	Config *NodeConfig `json:"config,omitempty"`
3514
3515	// InitialNodeCount: The initial node count for the pool. You must
3516	// ensure that your Compute Engine resource quota
3517	// (https://cloud.google.com/compute/quotas) is sufficient for this
3518	// number of instances. You must also have available firewall and routes
3519	// quota.
3520	InitialNodeCount int64 `json:"initialNodeCount,omitempty"`
3521
3522	// InstanceGroupUrls: [Output only] The resource URLs of the managed
3523	// instance groups
3524	// (https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
3525	// associated with this node pool.
3526	InstanceGroupUrls []string `json:"instanceGroupUrls,omitempty"`
3527
3528	// Locations: The list of Google Compute Engine zones
3529	// (https://cloud.google.com/compute/docs/zones#available) in which the
3530	// NodePool's nodes should be located. If this value is unspecified
3531	// during node pool creation, the Cluster.Locations
3532	// (https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations)
3533	// value will be used, instead. Warning: changing node pool locations
3534	// will result in nodes being added and/or removed.
3535	Locations []string `json:"locations,omitempty"`
3536
3537	// Management: NodeManagement configuration for this NodePool.
3538	Management *NodeManagement `json:"management,omitempty"`
3539
3540	// MaxPodsConstraint: The constraint on the maximum number of pods that
3541	// can be run simultaneously on a node in the node pool.
3542	MaxPodsConstraint *MaxPodsConstraint `json:"maxPodsConstraint,omitempty"`
3543
3544	// Name: The name of the node pool.
3545	Name string `json:"name,omitempty"`
3546
3547	// NetworkConfig: Networking configuration for this NodePool. If
3548	// specified, it overrides the cluster-level defaults.
3549	NetworkConfig *NodeNetworkConfig `json:"networkConfig,omitempty"`
3550
3551	// PodIpv4CidrSize: [Output only] The pod CIDR block size per node in
3552	// this node pool.
3553	PodIpv4CidrSize int64 `json:"podIpv4CidrSize,omitempty"`
3554
3555	// SelfLink: [Output only] Server-defined URL for the resource.
3556	SelfLink string `json:"selfLink,omitempty"`
3557
3558	// Status: [Output only] The status of the nodes in this pool instance.
3559	//
3560	// Possible values:
3561	//   "STATUS_UNSPECIFIED" - Not set.
3562	//   "PROVISIONING" - The PROVISIONING state indicates the node pool is
3563	// being created.
3564	//   "RUNNING" - The RUNNING state indicates the node pool has been
3565	// created and is fully usable.
3566	//   "RUNNING_WITH_ERROR" - The RUNNING_WITH_ERROR state indicates the
3567	// node pool has been created and is partially usable. Some error state
3568	// has occurred and some functionality may be impaired. Customer may
3569	// need to reissue a request or trigger a new update.
3570	//   "RECONCILING" - The RECONCILING state indicates that some work is
3571	// actively being done on the node pool, such as upgrading node
3572	// software. Details can be found in the `statusMessage` field.
3573	//   "STOPPING" - The STOPPING state indicates the node pool is being
3574	// deleted.
3575	//   "ERROR" - The ERROR state indicates the node pool may be unusable.
3576	// Details can be found in the `statusMessage` field.
3577	Status string `json:"status,omitempty"`
3578
3579	// StatusMessage: [Output only] Deprecated. Use conditions instead.
3580	// Additional information about the current status of this node pool
3581	// instance, if available.
3582	StatusMessage string `json:"statusMessage,omitempty"`
3583
3584	// UpgradeSettings: Upgrade settings control disruption and speed of the
3585	// upgrade.
3586	UpgradeSettings *UpgradeSettings `json:"upgradeSettings,omitempty"`
3587
3588	// Version: The version of the Kubernetes of this node.
3589	Version string `json:"version,omitempty"`
3590
3591	// ServerResponse contains the HTTP response code and headers from the
3592	// server.
3593	googleapi.ServerResponse `json:"-"`
3594
3595	// ForceSendFields is a list of field names (e.g. "Autoscaling") to
3596	// unconditionally include in API requests. By default, fields with
3597	// empty values are omitted from API requests. However, any non-pointer,
3598	// non-interface field appearing in ForceSendFields will be sent to the
3599	// server regardless of whether the field is empty or not. This may be
3600	// used to include empty fields in Patch requests.
3601	ForceSendFields []string `json:"-"`
3602
3603	// NullFields is a list of field names (e.g. "Autoscaling") to include
3604	// in API requests with the JSON null value. By default, fields with
3605	// empty values are omitted from API requests. However, any field with
3606	// an empty value appearing in NullFields will be sent to the server as
3607	// null. It is an error if a field in this list has a non-empty value.
3608	// This may be used to include null fields in Patch requests.
3609	NullFields []string `json:"-"`
3610}
3611
3612func (s *NodePool) MarshalJSON() ([]byte, error) {
3613	type NoMethod NodePool
3614	raw := NoMethod(*s)
3615	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3616}
3617
3618// NodePoolAutoscaling: NodePoolAutoscaling contains information
3619// required by cluster autoscaler to adjust the size of the node pool to
3620// the current cluster usage.
3621type NodePoolAutoscaling struct {
3622	// Autoprovisioned: Can this node pool be deleted automatically.
3623	Autoprovisioned bool `json:"autoprovisioned,omitempty"`
3624
3625	// Enabled: Is autoscaling enabled for this node pool.
3626	Enabled bool `json:"enabled,omitempty"`
3627
3628	// MaxNodeCount: Maximum number of nodes in the NodePool. Must be >=
3629	// min_node_count. There has to enough quota to scale up the cluster.
3630	MaxNodeCount int64 `json:"maxNodeCount,omitempty"`
3631
3632	// MinNodeCount: Minimum number of nodes in the NodePool. Must be >= 1
3633	// and <= max_node_count.
3634	MinNodeCount int64 `json:"minNodeCount,omitempty"`
3635
3636	// ForceSendFields is a list of field names (e.g. "Autoprovisioned") to
3637	// unconditionally include in API requests. By default, fields with
3638	// empty values are omitted from API requests. However, any non-pointer,
3639	// non-interface field appearing in ForceSendFields will be sent to the
3640	// server regardless of whether the field is empty or not. This may be
3641	// used to include empty fields in Patch requests.
3642	ForceSendFields []string `json:"-"`
3643
3644	// NullFields is a list of field names (e.g. "Autoprovisioned") to
3645	// include in API requests with the JSON null value. By default, fields
3646	// with empty values are omitted from API requests. However, any field
3647	// with an empty value appearing in NullFields will be sent to the
3648	// server as null. It is an error if a field in this list has a
3649	// non-empty value. This may be used to include null fields in Patch
3650	// requests.
3651	NullFields []string `json:"-"`
3652}
3653
3654func (s *NodePoolAutoscaling) MarshalJSON() ([]byte, error) {
3655	type NoMethod NodePoolAutoscaling
3656	raw := NoMethod(*s)
3657	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3658}
3659
3660// NodeTaint: Kubernetes taint is comprised of three fields: key, value,
3661// and effect. Effect can only be one of three types: NoSchedule,
3662// PreferNoSchedule or NoExecute. See here
3663// (https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
3664// for more information, including usage and the valid values.
3665type NodeTaint struct {
3666	// Effect: Effect for taint.
3667	//
3668	// Possible values:
3669	//   "EFFECT_UNSPECIFIED" - Not set
3670	//   "NO_SCHEDULE" - NoSchedule
3671	//   "PREFER_NO_SCHEDULE" - PreferNoSchedule
3672	//   "NO_EXECUTE" - NoExecute
3673	Effect string `json:"effect,omitempty"`
3674
3675	// Key: Key for taint.
3676	Key string `json:"key,omitempty"`
3677
3678	// Value: Value for taint.
3679	Value string `json:"value,omitempty"`
3680
3681	// ForceSendFields is a list of field names (e.g. "Effect") to
3682	// unconditionally include in API requests. By default, fields with
3683	// empty values are omitted from API requests. However, any non-pointer,
3684	// non-interface field appearing in ForceSendFields will be sent to the
3685	// server regardless of whether the field is empty or not. This may be
3686	// used to include empty fields in Patch requests.
3687	ForceSendFields []string `json:"-"`
3688
3689	// NullFields is a list of field names (e.g. "Effect") to include in API
3690	// requests with the JSON null value. By default, fields with empty
3691	// values are omitted from API requests. However, any field with an
3692	// empty value appearing in NullFields will be sent to the server as
3693	// null. It is an error if a field in this list has a non-empty value.
3694	// This may be used to include null fields in Patch requests.
3695	NullFields []string `json:"-"`
3696}
3697
3698func (s *NodeTaint) MarshalJSON() ([]byte, error) {
3699	type NoMethod NodeTaint
3700	raw := NoMethod(*s)
3701	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3702}
3703
3704// NodeTaints: Collection of Kubernetes node taints
3705// (https://kubernetes.io/docs/concepts/configuration/taint-and-toleration).
3706type NodeTaints struct {
3707	// Taints: List of node taints.
3708	Taints []*NodeTaint `json:"taints,omitempty"`
3709
3710	// ForceSendFields is a list of field names (e.g. "Taints") to
3711	// unconditionally include in API requests. By default, fields with
3712	// empty values are omitted from API requests. However, any non-pointer,
3713	// non-interface field appearing in ForceSendFields will be sent to the
3714	// server regardless of whether the field is empty or not. This may be
3715	// used to include empty fields in Patch requests.
3716	ForceSendFields []string `json:"-"`
3717
3718	// NullFields is a list of field names (e.g. "Taints") to include in API
3719	// requests with the JSON null value. By default, fields with empty
3720	// values are omitted from API requests. However, any field with an
3721	// empty value appearing in NullFields will be sent to the server as
3722	// null. It is an error if a field in this list has a non-empty value.
3723	// This may be used to include null fields in Patch requests.
3724	NullFields []string `json:"-"`
3725}
3726
3727func (s *NodeTaints) MarshalJSON() ([]byte, error) {
3728	type NoMethod NodeTaints
3729	raw := NoMethod(*s)
3730	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3731}
3732
3733// NotificationConfig: NotificationConfig is the configuration of
3734// notifications.
3735type NotificationConfig struct {
3736	// Pubsub: Notification config for Pub/Sub.
3737	Pubsub *PubSub `json:"pubsub,omitempty"`
3738
3739	// ForceSendFields is a list of field names (e.g. "Pubsub") to
3740	// unconditionally include in API requests. By default, fields with
3741	// empty values are omitted from API requests. However, any non-pointer,
3742	// non-interface field appearing in ForceSendFields will be sent to the
3743	// server regardless of whether the field is empty or not. This may be
3744	// used to include empty fields in Patch requests.
3745	ForceSendFields []string `json:"-"`
3746
3747	// NullFields is a list of field names (e.g. "Pubsub") to include in API
3748	// requests with the JSON null value. By default, fields with empty
3749	// values are omitted from API requests. However, any field with an
3750	// empty value appearing in NullFields will be sent to the server as
3751	// null. It is an error if a field in this list has a non-empty value.
3752	// This may be used to include null fields in Patch requests.
3753	NullFields []string `json:"-"`
3754}
3755
3756func (s *NotificationConfig) MarshalJSON() ([]byte, error) {
3757	type NoMethod NotificationConfig
3758	raw := NoMethod(*s)
3759	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3760}
3761
3762// Operation: This operation resource represents operations that may
3763// have happened or are happening on the cluster. All fields are output
3764// only.
3765type Operation struct {
3766	// ClusterConditions: Which conditions caused the current cluster state.
3767	// Deprecated. Use field error instead.
3768	ClusterConditions []*StatusCondition `json:"clusterConditions,omitempty"`
3769
3770	// Detail: Detailed operation progress, if available.
3771	Detail string `json:"detail,omitempty"`
3772
3773	// EndTime: [Output only] The time the operation completed, in RFC3339
3774	// (https://www.ietf.org/rfc/rfc3339.txt) text format.
3775	EndTime string `json:"endTime,omitempty"`
3776
3777	// Error: The error result of the operation in case of failure.
3778	Error *Status `json:"error,omitempty"`
3779
3780	// Location: [Output only] The name of the Google Compute Engine zone
3781	// (https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
3782	// or region
3783	// (https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
3784	// in which the cluster resides.
3785	Location string `json:"location,omitempty"`
3786
3787	// Name: The server-assigned ID for the operation.
3788	Name string `json:"name,omitempty"`
3789
3790	// NodepoolConditions: Which conditions caused the current node pool
3791	// state. Deprecated. Use field error instead.
3792	NodepoolConditions []*StatusCondition `json:"nodepoolConditions,omitempty"`
3793
3794	// OperationType: The operation type.
3795	//
3796	// Possible values:
3797	//   "TYPE_UNSPECIFIED" - Not set.
3798	//   "CREATE_CLUSTER" - Cluster create.
3799	//   "DELETE_CLUSTER" - Cluster delete.
3800	//   "UPGRADE_MASTER" - A master upgrade.
3801	//   "UPGRADE_NODES" - A node upgrade.
3802	//   "REPAIR_CLUSTER" - Cluster repair.
3803	//   "UPDATE_CLUSTER" - Cluster update.
3804	//   "CREATE_NODE_POOL" - Node pool create.
3805	//   "DELETE_NODE_POOL" - Node pool delete.
3806	//   "SET_NODE_POOL_MANAGEMENT" - Set node pool management.
3807	//   "AUTO_REPAIR_NODES" - Automatic node pool repair.
3808	//   "AUTO_UPGRADE_NODES" - Automatic node upgrade.
3809	//   "SET_LABELS" - Set labels.
3810	//   "SET_MASTER_AUTH" - Set/generate master auth materials
3811	//   "SET_NODE_POOL_SIZE" - Set node pool size.
3812	//   "SET_NETWORK_POLICY" - Updates network policy for a cluster.
3813	//   "SET_MAINTENANCE_POLICY" - Set the maintenance policy.
3814	OperationType string `json:"operationType,omitempty"`
3815
3816	// Progress: Output only. [Output only] Progress information for an
3817	// operation.
3818	Progress *OperationProgress `json:"progress,omitempty"`
3819
3820	// SelfLink: Server-defined URL for the resource.
3821	SelfLink string `json:"selfLink,omitempty"`
3822
3823	// StartTime: [Output only] The time the operation started, in RFC3339
3824	// (https://www.ietf.org/rfc/rfc3339.txt) text format.
3825	StartTime string `json:"startTime,omitempty"`
3826
3827	// Status: The current status of the operation.
3828	//
3829	// Possible values:
3830	//   "STATUS_UNSPECIFIED" - Not set.
3831	//   "PENDING" - The operation has been created.
3832	//   "RUNNING" - The operation is currently running.
3833	//   "DONE" - The operation is done, either cancelled or completed.
3834	//   "ABORTING" - The operation is aborting.
3835	Status string `json:"status,omitempty"`
3836
3837	// StatusMessage: Output only. If an error has occurred, a textual
3838	// description of the error. Deprecated. Use field error instead.
3839	StatusMessage string `json:"statusMessage,omitempty"`
3840
3841	// TargetLink: Server-defined URL for the target of the operation.
3842	TargetLink string `json:"targetLink,omitempty"`
3843
3844	// Zone: The name of the Google Compute Engine zone
3845	// (https://cloud.google.com/compute/docs/zones#available) in which the
3846	// operation is taking place. This field is deprecated, use location
3847	// instead.
3848	Zone string `json:"zone,omitempty"`
3849
3850	// ServerResponse contains the HTTP response code and headers from the
3851	// server.
3852	googleapi.ServerResponse `json:"-"`
3853
3854	// ForceSendFields is a list of field names (e.g. "ClusterConditions")
3855	// to unconditionally include in API requests. By default, fields with
3856	// empty values are omitted from API requests. However, any non-pointer,
3857	// non-interface field appearing in ForceSendFields will be sent to the
3858	// server regardless of whether the field is empty or not. This may be
3859	// used to include empty fields in Patch requests.
3860	ForceSendFields []string `json:"-"`
3861
3862	// NullFields is a list of field names (e.g. "ClusterConditions") to
3863	// include in API requests with the JSON null value. By default, fields
3864	// with empty values are omitted from API requests. However, any field
3865	// with an empty value appearing in NullFields will be sent to the
3866	// server as null. It is an error if a field in this list has a
3867	// non-empty value. This may be used to include null fields in Patch
3868	// requests.
3869	NullFields []string `json:"-"`
3870}
3871
3872func (s *Operation) MarshalJSON() ([]byte, error) {
3873	type NoMethod Operation
3874	raw := NoMethod(*s)
3875	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3876}
3877
3878// OperationProgress: Information about operation (or operation stage)
3879// progress.
3880type OperationProgress struct {
3881	// Metrics: Progress metric bundle, for example: metrics: [{name: "nodes
3882	// done", int_value: 15}, {name: "nodes total", int_value: 32}] or
3883	// metrics: [{name: "progress", double_value: 0.56}, {name: "progress
3884	// scale", double_value: 1.0}]
3885	Metrics []*Metric `json:"metrics,omitempty"`
3886
3887	// Name: A non-parameterized string describing an operation stage. Unset
3888	// for single-stage operations.
3889	Name string `json:"name,omitempty"`
3890
3891	// Stages: Substages of an operation or a stage.
3892	Stages []*OperationProgress `json:"stages,omitempty"`
3893
3894	// Status: Status of an operation stage. Unset for single-stage
3895	// operations.
3896	//
3897	// Possible values:
3898	//   "STATUS_UNSPECIFIED" - Not set.
3899	//   "PENDING" - The operation has been created.
3900	//   "RUNNING" - The operation is currently running.
3901	//   "DONE" - The operation is done, either cancelled or completed.
3902	//   "ABORTING" - The operation is aborting.
3903	Status string `json:"status,omitempty"`
3904
3905	// ForceSendFields is a list of field names (e.g. "Metrics") to
3906	// unconditionally include in API requests. By default, fields with
3907	// empty values are omitted from API requests. However, any non-pointer,
3908	// non-interface field appearing in ForceSendFields will be sent to the
3909	// server regardless of whether the field is empty or not. This may be
3910	// used to include empty fields in Patch requests.
3911	ForceSendFields []string `json:"-"`
3912
3913	// NullFields is a list of field names (e.g. "Metrics") to include in
3914	// API requests with the JSON null value. By default, fields with empty
3915	// values are omitted from API requests. However, any field with an
3916	// empty value appearing in NullFields will be sent to the server as
3917	// null. It is an error if a field in this list has a non-empty value.
3918	// This may be used to include null fields in Patch requests.
3919	NullFields []string `json:"-"`
3920}
3921
3922func (s *OperationProgress) MarshalJSON() ([]byte, error) {
3923	type NoMethod OperationProgress
3924	raw := NoMethod(*s)
3925	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3926}
3927
3928// PodSecurityPolicyConfig: Configuration for the PodSecurityPolicy
3929// feature.
3930type PodSecurityPolicyConfig struct {
3931	// Enabled: Enable the PodSecurityPolicy controller for this cluster. If
3932	// enabled, pods must be valid under a PodSecurityPolicy to be created.
3933	Enabled bool `json:"enabled,omitempty"`
3934
3935	// ForceSendFields is a list of field names (e.g. "Enabled") to
3936	// unconditionally include in API requests. By default, fields with
3937	// empty values are omitted from API requests. However, any non-pointer,
3938	// non-interface field appearing in ForceSendFields will be sent to the
3939	// server regardless of whether the field is empty or not. This may be
3940	// used to include empty fields in Patch requests.
3941	ForceSendFields []string `json:"-"`
3942
3943	// NullFields is a list of field names (e.g. "Enabled") to include in
3944	// API requests with the JSON null value. By default, fields with empty
3945	// values are omitted from API requests. However, any field with an
3946	// empty value appearing in NullFields will be sent to the server as
3947	// null. It is an error if a field in this list has a non-empty value.
3948	// This may be used to include null fields in Patch requests.
3949	NullFields []string `json:"-"`
3950}
3951
3952func (s *PodSecurityPolicyConfig) MarshalJSON() ([]byte, error) {
3953	type NoMethod PodSecurityPolicyConfig
3954	raw := NoMethod(*s)
3955	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3956}
3957
3958// PrivateClusterConfig: Configuration options for private clusters.
3959type PrivateClusterConfig struct {
3960	// EnablePrivateEndpoint: Whether the master's internal IP address is
3961	// used as the cluster endpoint.
3962	EnablePrivateEndpoint bool `json:"enablePrivateEndpoint,omitempty"`
3963
3964	// EnablePrivateNodes: Whether nodes have internal IP addresses only. If
3965	// enabled, all nodes are given only RFC 1918 private addresses and
3966	// communicate with the master via private networking.
3967	EnablePrivateNodes bool `json:"enablePrivateNodes,omitempty"`
3968
3969	// MasterGlobalAccessConfig: Controls master global access settings.
3970	MasterGlobalAccessConfig *PrivateClusterMasterGlobalAccessConfig `json:"masterGlobalAccessConfig,omitempty"`
3971
3972	// MasterIpv4CidrBlock: The IP range in CIDR notation to use for the
3973	// hosted master network. This range will be used for assigning internal
3974	// IP addresses to the master or set of masters, as well as the ILB VIP.
3975	// This range must not overlap with any other ranges in use within the
3976	// cluster's network.
3977	MasterIpv4CidrBlock string `json:"masterIpv4CidrBlock,omitempty"`
3978
3979	// PeeringName: Output only. The peering name in the customer VPC used
3980	// by this cluster.
3981	PeeringName string `json:"peeringName,omitempty"`
3982
3983	// PrivateEndpoint: Output only. The internal IP address of this
3984	// cluster's master endpoint.
3985	PrivateEndpoint string `json:"privateEndpoint,omitempty"`
3986
3987	// PublicEndpoint: Output only. The external IP address of this
3988	// cluster's master endpoint.
3989	PublicEndpoint string `json:"publicEndpoint,omitempty"`
3990
3991	// ForceSendFields is a list of field names (e.g.
3992	// "EnablePrivateEndpoint") to unconditionally include in API requests.
3993	// By default, fields with empty values are omitted from API requests.
3994	// However, any non-pointer, non-interface field appearing in
3995	// ForceSendFields will be sent to the server regardless of whether the
3996	// field is empty or not. This may be used to include empty fields in
3997	// Patch requests.
3998	ForceSendFields []string `json:"-"`
3999
4000	// NullFields is a list of field names (e.g. "EnablePrivateEndpoint") to
4001	// include in API requests with the JSON null value. By default, fields
4002	// with empty values are omitted from API requests. However, any field
4003	// with an empty value appearing in NullFields will be sent to the
4004	// server as null. It is an error if a field in this list has a
4005	// non-empty value. This may be used to include null fields in Patch
4006	// requests.
4007	NullFields []string `json:"-"`
4008}
4009
4010func (s *PrivateClusterConfig) MarshalJSON() ([]byte, error) {
4011	type NoMethod PrivateClusterConfig
4012	raw := NoMethod(*s)
4013	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4014}
4015
4016// PrivateClusterMasterGlobalAccessConfig: Configuration for controlling
4017// master global access settings.
4018type PrivateClusterMasterGlobalAccessConfig struct {
4019	// Enabled: Whenever master is accessible globally or not.
4020	Enabled bool `json:"enabled,omitempty"`
4021
4022	// ForceSendFields is a list of field names (e.g. "Enabled") to
4023	// unconditionally include in API requests. By default, fields with
4024	// empty values are omitted from API requests. However, any non-pointer,
4025	// non-interface field appearing in ForceSendFields will be sent to the
4026	// server regardless of whether the field is empty or not. This may be
4027	// used to include empty fields in Patch requests.
4028	ForceSendFields []string `json:"-"`
4029
4030	// NullFields is a list of field names (e.g. "Enabled") to include in
4031	// API requests with the JSON null value. By default, fields with empty
4032	// values are omitted from API requests. However, any field with an
4033	// empty value appearing in NullFields will be sent to the server as
4034	// null. It is an error if a field in this list has a non-empty value.
4035	// This may be used to include null fields in Patch requests.
4036	NullFields []string `json:"-"`
4037}
4038
4039func (s *PrivateClusterMasterGlobalAccessConfig) MarshalJSON() ([]byte, error) {
4040	type NoMethod PrivateClusterMasterGlobalAccessConfig
4041	raw := NoMethod(*s)
4042	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4043}
4044
4045// PubSub: Pub/Sub specific notification config.
4046type PubSub struct {
4047	// Enabled: Enable notifications for Pub/Sub.
4048	Enabled bool `json:"enabled,omitempty"`
4049
4050	// Topic: The desired Pub/Sub topic to which notifications will be sent
4051	// by GKE. Format is `projects/{project}/topics/{topic}`.
4052	Topic string `json:"topic,omitempty"`
4053
4054	// ForceSendFields is a list of field names (e.g. "Enabled") to
4055	// unconditionally include in API requests. By default, fields with
4056	// empty values are omitted from API requests. However, any non-pointer,
4057	// non-interface field appearing in ForceSendFields will be sent to the
4058	// server regardless of whether the field is empty or not. This may be
4059	// used to include empty fields in Patch requests.
4060	ForceSendFields []string `json:"-"`
4061
4062	// NullFields is a list of field names (e.g. "Enabled") to include in
4063	// API requests with the JSON null value. By default, fields with empty
4064	// values are omitted from API requests. However, any field with an
4065	// empty value appearing in NullFields will be sent to the server as
4066	// null. It is an error if a field in this list has a non-empty value.
4067	// This may be used to include null fields in Patch requests.
4068	NullFields []string `json:"-"`
4069}
4070
4071func (s *PubSub) MarshalJSON() ([]byte, error) {
4072	type NoMethod PubSub
4073	raw := NoMethod(*s)
4074	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4075}
4076
4077// RecurringTimeWindow: Represents an arbitrary window of time that
4078// recurs.
4079type RecurringTimeWindow struct {
4080	// Recurrence: An RRULE
4081	// (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how this
4082	// window reccurs. They go on for the span of time between the start and
4083	// end time. For example, to have something repeat every weekday, you'd
4084	// use: `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR` To repeat some window daily
4085	// (equivalent to the DailyMaintenanceWindow): `FREQ=DAILY` For the
4086	// first weekend of every month: `FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU`
4087	// This specifies how frequently the window starts. Eg, if you wanted to
4088	// have a 9-5 UTC-4 window every weekday, you'd use something like: ```
4089	// start time = 2019-01-01T09:00:00-0400 end time =
4090	// 2019-01-01T17:00:00-0400 recurrence =
4091	// FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR ``` Windows can span multiple days.
4092	// Eg, to make the window encompass every weekend from midnight Saturday
4093	// till the last minute of Sunday UTC: ``` start time =
4094	// 2019-01-05T00:00:00Z end time = 2019-01-07T23:59:00Z recurrence =
4095	// FREQ=WEEKLY;BYDAY=SA ``` Note the start and end time's specific dates
4096	// are largely arbitrary except to specify duration of the window and
4097	// when it first starts. The FREQ values of HOURLY, MINUTELY, and
4098	// SECONDLY are not supported.
4099	Recurrence string `json:"recurrence,omitempty"`
4100
4101	// Window: The window of the first recurrence.
4102	Window *TimeWindow `json:"window,omitempty"`
4103
4104	// ForceSendFields is a list of field names (e.g. "Recurrence") to
4105	// unconditionally include in API requests. By default, fields with
4106	// empty values are omitted from API requests. However, any non-pointer,
4107	// non-interface field appearing in ForceSendFields will be sent to the
4108	// server regardless of whether the field is empty or not. This may be
4109	// used to include empty fields in Patch requests.
4110	ForceSendFields []string `json:"-"`
4111
4112	// NullFields is a list of field names (e.g. "Recurrence") to include in
4113	// API requests with the JSON null value. By default, fields with empty
4114	// values are omitted from API requests. However, any field with an
4115	// empty value appearing in NullFields will be sent to the server as
4116	// null. It is an error if a field in this list has a non-empty value.
4117	// This may be used to include null fields in Patch requests.
4118	NullFields []string `json:"-"`
4119}
4120
4121func (s *RecurringTimeWindow) MarshalJSON() ([]byte, error) {
4122	type NoMethod RecurringTimeWindow
4123	raw := NoMethod(*s)
4124	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4125}
4126
4127// ReleaseChannel: ReleaseChannel indicates which release channel a
4128// cluster is subscribed to. Release channels are arranged in order of
4129// risk. When a cluster is subscribed to a release channel, Google
4130// maintains both the master version and the node version. Node
4131// auto-upgrade defaults to true and cannot be disabled.
4132type ReleaseChannel struct {
4133	// Channel: channel specifies which release channel the cluster is
4134	// subscribed to.
4135	//
4136	// Possible values:
4137	//   "UNSPECIFIED" - No channel specified.
4138	//   "RAPID" - RAPID channel is offered on an early access basis for
4139	// customers who want to test new releases. WARNING: Versions available
4140	// in the RAPID Channel may be subject to unresolved issues with no
4141	// known workaround and are not subject to any SLAs.
4142	//   "REGULAR" - Clusters subscribed to REGULAR receive versions that
4143	// are considered GA quality. REGULAR is intended for production users
4144	// who want to take advantage of new features.
4145	//   "STABLE" - Clusters subscribed to STABLE receive versions that are
4146	// known to be stable and reliable in production.
4147	Channel string `json:"channel,omitempty"`
4148
4149	// ForceSendFields is a list of field names (e.g. "Channel") to
4150	// unconditionally include in API requests. By default, fields with
4151	// empty values are omitted from API requests. However, any non-pointer,
4152	// non-interface field appearing in ForceSendFields will be sent to the
4153	// server regardless of whether the field is empty or not. This may be
4154	// used to include empty fields in Patch requests.
4155	ForceSendFields []string `json:"-"`
4156
4157	// NullFields is a list of field names (e.g. "Channel") to include in
4158	// API requests with the JSON null value. By default, fields with empty
4159	// values are omitted from API requests. However, any field with an
4160	// empty value appearing in NullFields will be sent to the server as
4161	// null. It is an error if a field in this list has a non-empty value.
4162	// This may be used to include null fields in Patch requests.
4163	NullFields []string `json:"-"`
4164}
4165
4166func (s *ReleaseChannel) MarshalJSON() ([]byte, error) {
4167	type NoMethod ReleaseChannel
4168	raw := NoMethod(*s)
4169	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4170}
4171
4172// ReleaseChannelConfig: ReleaseChannelConfig exposes configuration for
4173// a release channel.
4174type ReleaseChannelConfig struct {
4175	// AvailableVersions: Deprecated. This field has been deprecated and
4176	// replaced with the valid_versions field.
4177	AvailableVersions []*AvailableVersion `json:"availableVersions,omitempty"`
4178
4179	// Channel: The release channel this configuration applies to.
4180	//
4181	// Possible values:
4182	//   "UNSPECIFIED" - No channel specified.
4183	//   "RAPID" - RAPID channel is offered on an early access basis for
4184	// customers who want to test new releases. WARNING: Versions available
4185	// in the RAPID Channel may be subject to unresolved issues with no
4186	// known workaround and are not subject to any SLAs.
4187	//   "REGULAR" - Clusters subscribed to REGULAR receive versions that
4188	// are considered GA quality. REGULAR is intended for production users
4189	// who want to take advantage of new features.
4190	//   "STABLE" - Clusters subscribed to STABLE receive versions that are
4191	// known to be stable and reliable in production.
4192	Channel string `json:"channel,omitempty"`
4193
4194	// DefaultVersion: The default version for newly created clusters on the
4195	// channel.
4196	DefaultVersion string `json:"defaultVersion,omitempty"`
4197
4198	// ValidVersions: List of valid versions for the channel.
4199	ValidVersions []string `json:"validVersions,omitempty"`
4200
4201	// ForceSendFields is a list of field names (e.g. "AvailableVersions")
4202	// to unconditionally include in API requests. By default, fields with
4203	// empty values are omitted from API requests. However, any non-pointer,
4204	// non-interface field appearing in ForceSendFields will be sent to the
4205	// server regardless of whether the field is empty or not. This may be
4206	// used to include empty fields in Patch requests.
4207	ForceSendFields []string `json:"-"`
4208
4209	// NullFields is a list of field names (e.g. "AvailableVersions") to
4210	// include in API requests with the JSON null value. By default, fields
4211	// with empty values are omitted from API requests. However, any field
4212	// with an empty value appearing in NullFields will be sent to the
4213	// server as null. It is an error if a field in this list has a
4214	// non-empty value. This may be used to include null fields in Patch
4215	// requests.
4216	NullFields []string `json:"-"`
4217}
4218
4219func (s *ReleaseChannelConfig) MarshalJSON() ([]byte, error) {
4220	type NoMethod ReleaseChannelConfig
4221	raw := NoMethod(*s)
4222	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4223}
4224
4225// ReservationAffinity: ReservationAffinity
4226// (https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
4227// is the configuration of desired reservation which instances could
4228// take capacity from.
4229type ReservationAffinity struct {
4230	// ConsumeReservationType: Corresponds to the type of reservation
4231	// consumption.
4232	//
4233	// Possible values:
4234	//   "UNSPECIFIED" - Default value. This should not be used.
4235	//   "NO_RESERVATION" - Do not consume from any reserved capacity.
4236	//   "ANY_RESERVATION" - Consume any reservation available.
4237	//   "SPECIFIC_RESERVATION" - Must consume from a specific reservation.
4238	// Must specify key value fields for specifying the reservations.
4239	ConsumeReservationType string `json:"consumeReservationType,omitempty"`
4240
4241	// Key: Corresponds to the label key of a reservation resource. To
4242	// target a SPECIFIC_RESERVATION by name, specify
4243	// "googleapis.com/reservation-name" as the key and specify the name of
4244	// your reservation as its value.
4245	Key string `json:"key,omitempty"`
4246
4247	// Values: Corresponds to the label value(s) of reservation resource(s).
4248	Values []string `json:"values,omitempty"`
4249
4250	// ForceSendFields is a list of field names (e.g.
4251	// "ConsumeReservationType") to unconditionally include in API requests.
4252	// By default, fields with empty values are omitted from API requests.
4253	// However, any non-pointer, non-interface field appearing in
4254	// ForceSendFields will be sent to the server regardless of whether the
4255	// field is empty or not. This may be used to include empty fields in
4256	// Patch requests.
4257	ForceSendFields []string `json:"-"`
4258
4259	// NullFields is a list of field names (e.g. "ConsumeReservationType")
4260	// to include in API requests with the JSON null value. By default,
4261	// fields with empty values are omitted from API requests. However, any
4262	// field with an empty value appearing in NullFields will be sent to the
4263	// server as null. It is an error if a field in this list has a
4264	// non-empty value. This may be used to include null fields in Patch
4265	// requests.
4266	NullFields []string `json:"-"`
4267}
4268
4269func (s *ReservationAffinity) MarshalJSON() ([]byte, error) {
4270	type NoMethod ReservationAffinity
4271	raw := NoMethod(*s)
4272	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4273}
4274
4275// ResourceLimit: Contains information about amount of some resource in
4276// the cluster. For memory, value should be in GB.
4277type ResourceLimit struct {
4278	// Maximum: Maximum amount of the resource in the cluster.
4279	Maximum int64 `json:"maximum,omitempty,string"`
4280
4281	// Minimum: Minimum amount of the resource in the cluster.
4282	Minimum int64 `json:"minimum,omitempty,string"`
4283
4284	// ResourceType: Resource name "cpu", "memory" or gpu-specific string.
4285	ResourceType string `json:"resourceType,omitempty"`
4286
4287	// ForceSendFields is a list of field names (e.g. "Maximum") to
4288	// unconditionally include in API requests. By default, fields with
4289	// empty values are omitted from API requests. However, any non-pointer,
4290	// non-interface field appearing in ForceSendFields will be sent to the
4291	// server regardless of whether the field is empty or not. This may be
4292	// used to include empty fields in Patch requests.
4293	ForceSendFields []string `json:"-"`
4294
4295	// NullFields is a list of field names (e.g. "Maximum") to include in
4296	// API requests with the JSON null value. By default, fields with empty
4297	// values are omitted from API requests. However, any field with an
4298	// empty value appearing in NullFields will be sent to the server as
4299	// null. It is an error if a field in this list has a non-empty value.
4300	// This may be used to include null fields in Patch requests.
4301	NullFields []string `json:"-"`
4302}
4303
4304func (s *ResourceLimit) MarshalJSON() ([]byte, error) {
4305	type NoMethod ResourceLimit
4306	raw := NoMethod(*s)
4307	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4308}
4309
4310// ResourceUsageExportConfig: Configuration for exporting cluster
4311// resource usages.
4312type ResourceUsageExportConfig struct {
4313	// BigqueryDestination: Configuration to use BigQuery as usage export
4314	// destination.
4315	BigqueryDestination *BigQueryDestination `json:"bigqueryDestination,omitempty"`
4316
4317	// ConsumptionMeteringConfig: Configuration to enable resource
4318	// consumption metering.
4319	ConsumptionMeteringConfig *ConsumptionMeteringConfig `json:"consumptionMeteringConfig,omitempty"`
4320
4321	// EnableNetworkEgressMetering: Whether to enable network egress
4322	// metering for this cluster. If enabled, a daemonset will be created in
4323	// the cluster to meter network egress traffic.
4324	EnableNetworkEgressMetering bool `json:"enableNetworkEgressMetering,omitempty"`
4325
4326	// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
4327	// to unconditionally include in API requests. By default, fields with
4328	// empty values are omitted from API requests. However, any non-pointer,
4329	// non-interface field appearing in ForceSendFields will be sent to the
4330	// server regardless of whether the field is empty or not. This may be
4331	// used to include empty fields in Patch requests.
4332	ForceSendFields []string `json:"-"`
4333
4334	// NullFields is a list of field names (e.g. "BigqueryDestination") to
4335	// include in API requests with the JSON null value. By default, fields
4336	// with empty values are omitted from API requests. However, any field
4337	// with an empty value appearing in NullFields will be sent to the
4338	// server as null. It is an error if a field in this list has a
4339	// non-empty value. This may be used to include null fields in Patch
4340	// requests.
4341	NullFields []string `json:"-"`
4342}
4343
4344func (s *ResourceUsageExportConfig) MarshalJSON() ([]byte, error) {
4345	type NoMethod ResourceUsageExportConfig
4346	raw := NoMethod(*s)
4347	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4348}
4349
4350// RollbackNodePoolUpgradeRequest: RollbackNodePoolUpgradeRequest
4351// rollbacks the previously Aborted or Failed NodePool upgrade. This
4352// will be an no-op if the last upgrade successfully completed.
4353type RollbackNodePoolUpgradeRequest struct {
4354	// ClusterId: Required. Deprecated. The name of the cluster to rollback.
4355	// This field has been deprecated and replaced by the name field.
4356	ClusterId string `json:"clusterId,omitempty"`
4357
4358	// Name: The name (project, location, cluster, node pool id) of the node
4359	// poll to rollback upgrade. Specified in the format
4360	// `projects/*/locations/*/clusters/*/nodePools/*`.
4361	Name string `json:"name,omitempty"`
4362
4363	// NodePoolId: Required. Deprecated. The name of the node pool to
4364	// rollback. This field has been deprecated and replaced by the name
4365	// field.
4366	NodePoolId string `json:"nodePoolId,omitempty"`
4367
4368	// ProjectId: Required. Deprecated. The Google Developers Console
4369	// project ID or project number
4370	// (https://support.google.com/cloud/answer/6158840). This field has
4371	// been deprecated and replaced by the name field.
4372	ProjectId string `json:"projectId,omitempty"`
4373
4374	// Zone: Required. Deprecated. The name of the Google Compute Engine
4375	// zone (https://cloud.google.com/compute/docs/zones#available) in which
4376	// the cluster resides. This field has been deprecated and replaced by
4377	// the name field.
4378	Zone string `json:"zone,omitempty"`
4379
4380	// ForceSendFields is a list of field names (e.g. "ClusterId") to
4381	// unconditionally include in API requests. By default, fields with
4382	// empty values are omitted from API requests. However, any non-pointer,
4383	// non-interface field appearing in ForceSendFields will be sent to the
4384	// server regardless of whether the field is empty or not. This may be
4385	// used to include empty fields in Patch requests.
4386	ForceSendFields []string `json:"-"`
4387
4388	// NullFields is a list of field names (e.g. "ClusterId") to include in
4389	// API requests with the JSON null value. By default, fields with empty
4390	// values are omitted from API requests. However, any field with an
4391	// empty value appearing in NullFields will be sent to the server as
4392	// null. It is an error if a field in this list has a non-empty value.
4393	// This may be used to include null fields in Patch requests.
4394	NullFields []string `json:"-"`
4395}
4396
4397func (s *RollbackNodePoolUpgradeRequest) MarshalJSON() ([]byte, error) {
4398	type NoMethod RollbackNodePoolUpgradeRequest
4399	raw := NoMethod(*s)
4400	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4401}
4402
4403// SandboxConfig: SandboxConfig contains configurations of the sandbox
4404// to use for the node.
4405type SandboxConfig struct {
4406	// SandboxType: Type of the sandbox to use for the node (e.g. 'gvisor')
4407	SandboxType string `json:"sandboxType,omitempty"`
4408
4409	// Type: Type of the sandbox to use for the node.
4410	//
4411	// Possible values:
4412	//   "UNSPECIFIED" - Default value. This should not be used.
4413	//   "GVISOR" - Run sandbox using gvisor.
4414	Type string `json:"type,omitempty"`
4415
4416	// ForceSendFields is a list of field names (e.g. "SandboxType") to
4417	// unconditionally include in API requests. By default, fields with
4418	// empty values are omitted from API requests. However, any non-pointer,
4419	// non-interface field appearing in ForceSendFields will be sent to the
4420	// server regardless of whether the field is empty or not. This may be
4421	// used to include empty fields in Patch requests.
4422	ForceSendFields []string `json:"-"`
4423
4424	// NullFields is a list of field names (e.g. "SandboxType") to include
4425	// in API requests with the JSON null value. By default, fields with
4426	// empty values are omitted from API requests. However, any field with
4427	// an empty value appearing in NullFields will be sent to the server as
4428	// null. It is an error if a field in this list has a non-empty value.
4429	// This may be used to include null fields in Patch requests.
4430	NullFields []string `json:"-"`
4431}
4432
4433func (s *SandboxConfig) MarshalJSON() ([]byte, error) {
4434	type NoMethod SandboxConfig
4435	raw := NoMethod(*s)
4436	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4437}
4438
4439// ServerConfig: Kubernetes Engine service configuration.
4440type ServerConfig struct {
4441	// Channels: List of release channel configurations.
4442	Channels []*ReleaseChannelConfig `json:"channels,omitempty"`
4443
4444	// DefaultClusterVersion: Version of Kubernetes the service deploys by
4445	// default.
4446	DefaultClusterVersion string `json:"defaultClusterVersion,omitempty"`
4447
4448	// DefaultImageType: Default image type.
4449	DefaultImageType string `json:"defaultImageType,omitempty"`
4450
4451	// ValidImageTypes: List of valid image types.
4452	ValidImageTypes []string `json:"validImageTypes,omitempty"`
4453
4454	// ValidMasterVersions: List of valid master versions, in descending
4455	// order.
4456	ValidMasterVersions []string `json:"validMasterVersions,omitempty"`
4457
4458	// ValidNodeVersions: List of valid node upgrade target versions, in
4459	// descending order.
4460	ValidNodeVersions []string `json:"validNodeVersions,omitempty"`
4461
4462	// ServerResponse contains the HTTP response code and headers from the
4463	// server.
4464	googleapi.ServerResponse `json:"-"`
4465
4466	// ForceSendFields is a list of field names (e.g. "Channels") to
4467	// unconditionally include in API requests. By default, fields with
4468	// empty values are omitted from API requests. However, any non-pointer,
4469	// non-interface field appearing in ForceSendFields will be sent to the
4470	// server regardless of whether the field is empty or not. This may be
4471	// used to include empty fields in Patch requests.
4472	ForceSendFields []string `json:"-"`
4473
4474	// NullFields is a list of field names (e.g. "Channels") to include in
4475	// API requests with the JSON null value. By default, fields with empty
4476	// values are omitted from API requests. However, any field with an
4477	// empty value appearing in NullFields will be sent to the server as
4478	// null. It is an error if a field in this list has a non-empty value.
4479	// This may be used to include null fields in Patch requests.
4480	NullFields []string `json:"-"`
4481}
4482
4483func (s *ServerConfig) MarshalJSON() ([]byte, error) {
4484	type NoMethod ServerConfig
4485	raw := NoMethod(*s)
4486	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4487}
4488
4489// SetAddonsConfigRequest: SetAddonsRequest sets the addons associated
4490// with the cluster.
4491type SetAddonsConfigRequest struct {
4492	// AddonsConfig: Required. The desired configurations for the various
4493	// addons available to run in the cluster.
4494	AddonsConfig *AddonsConfig `json:"addonsConfig,omitempty"`
4495
4496	// ClusterId: Required. Deprecated. The name of the cluster to upgrade.
4497	// This field has been deprecated and replaced by the name field.
4498	ClusterId string `json:"clusterId,omitempty"`
4499
4500	// Name: The name (project, location, cluster) of the cluster to set
4501	// addons. Specified in the format `projects/*/locations/*/clusters/*`.
4502	Name string `json:"name,omitempty"`
4503
4504	// ProjectId: Required. Deprecated. The Google Developers Console
4505	// project ID or project number
4506	// (https://support.google.com/cloud/answer/6158840). This field has
4507	// been deprecated and replaced by the name field.
4508	ProjectId string `json:"projectId,omitempty"`
4509
4510	// Zone: Required. Deprecated. The name of the Google Compute Engine
4511	// zone (https://cloud.google.com/compute/docs/zones#available) in which
4512	// the cluster resides. This field has been deprecated and replaced by
4513	// the name field.
4514	Zone string `json:"zone,omitempty"`
4515
4516	// ForceSendFields is a list of field names (e.g. "AddonsConfig") to
4517	// unconditionally include in API requests. By default, fields with
4518	// empty values are omitted from API requests. However, any non-pointer,
4519	// non-interface field appearing in ForceSendFields will be sent to the
4520	// server regardless of whether the field is empty or not. This may be
4521	// used to include empty fields in Patch requests.
4522	ForceSendFields []string `json:"-"`
4523
4524	// NullFields is a list of field names (e.g. "AddonsConfig") to include
4525	// in API requests with the JSON null value. By default, fields with
4526	// empty values are omitted from API requests. However, any field with
4527	// an empty value appearing in NullFields will be sent to the server as
4528	// null. It is an error if a field in this list has a non-empty value.
4529	// This may be used to include null fields in Patch requests.
4530	NullFields []string `json:"-"`
4531}
4532
4533func (s *SetAddonsConfigRequest) MarshalJSON() ([]byte, error) {
4534	type NoMethod SetAddonsConfigRequest
4535	raw := NoMethod(*s)
4536	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4537}
4538
4539// SetLabelsRequest: SetLabelsRequest sets the Google Cloud Platform
4540// labels on a Google Container Engine cluster, which will in turn set
4541// them for Google Compute Engine resources used by that cluster
4542type SetLabelsRequest struct {
4543	// ClusterId: Required. Deprecated. The name of the cluster. This field
4544	// has been deprecated and replaced by the name field.
4545	ClusterId string `json:"clusterId,omitempty"`
4546
4547	// LabelFingerprint: Required. The fingerprint of the previous set of
4548	// labels for this resource, used to detect conflicts. The fingerprint
4549	// is initially generated by Kubernetes Engine and changes after every
4550	// request to modify or update labels. You must always provide an
4551	// up-to-date fingerprint hash when updating or changing labels. Make a
4552	// `get()` request to the resource to get the latest fingerprint.
4553	LabelFingerprint string `json:"labelFingerprint,omitempty"`
4554
4555	// Name: The name (project, location, cluster id) of the cluster to set
4556	// labels. Specified in the format `projects/*/locations/*/clusters/*`.
4557	Name string `json:"name,omitempty"`
4558
4559	// ProjectId: Required. Deprecated. The Google Developers Console
4560	// project ID or project number
4561	// (https://developers.google.com/console/help/new/#projectnumber). This
4562	// field has been deprecated and replaced by the name field.
4563	ProjectId string `json:"projectId,omitempty"`
4564
4565	// ResourceLabels: Required. The labels to set for that cluster.
4566	ResourceLabels map[string]string `json:"resourceLabels,omitempty"`
4567
4568	// Zone: Required. Deprecated. The name of the Google Compute Engine
4569	// zone (https://cloud.google.com/compute/docs/zones#available) in which
4570	// the cluster resides. This field has been deprecated and replaced by
4571	// the name field.
4572	Zone string `json:"zone,omitempty"`
4573
4574	// ForceSendFields is a list of field names (e.g. "ClusterId") to
4575	// unconditionally include in API requests. By default, fields with
4576	// empty values are omitted from API requests. However, any non-pointer,
4577	// non-interface field appearing in ForceSendFields will be sent to the
4578	// server regardless of whether the field is empty or not. This may be
4579	// used to include empty fields in Patch requests.
4580	ForceSendFields []string `json:"-"`
4581
4582	// NullFields is a list of field names (e.g. "ClusterId") to include in
4583	// API requests with the JSON null value. By default, fields with empty
4584	// values are omitted from API requests. However, any field with an
4585	// empty value appearing in NullFields will be sent to the server as
4586	// null. It is an error if a field in this list has a non-empty value.
4587	// This may be used to include null fields in Patch requests.
4588	NullFields []string `json:"-"`
4589}
4590
4591func (s *SetLabelsRequest) MarshalJSON() ([]byte, error) {
4592	type NoMethod SetLabelsRequest
4593	raw := NoMethod(*s)
4594	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4595}
4596
4597// SetLegacyAbacRequest: SetLegacyAbacRequest enables or disables the
4598// ABAC authorization mechanism for a cluster.
4599type SetLegacyAbacRequest struct {
4600	// ClusterId: Required. Deprecated. The name of the cluster to update.
4601	// This field has been deprecated and replaced by the name field.
4602	ClusterId string `json:"clusterId,omitempty"`
4603
4604	// Enabled: Required. Whether ABAC authorization will be enabled in the
4605	// cluster.
4606	Enabled bool `json:"enabled,omitempty"`
4607
4608	// Name: The name (project, location, cluster id) of the cluster to set
4609	// legacy abac. Specified in the format
4610	// `projects/*/locations/*/clusters/*`.
4611	Name string `json:"name,omitempty"`
4612
4613	// ProjectId: Required. Deprecated. The Google Developers Console
4614	// project ID or project number
4615	// (https://support.google.com/cloud/answer/6158840). This field has
4616	// been deprecated and replaced by the name field.
4617	ProjectId string `json:"projectId,omitempty"`
4618
4619	// Zone: Required. Deprecated. The name of the Google Compute Engine
4620	// zone (https://cloud.google.com/compute/docs/zones#available) in which
4621	// the cluster resides. This field has been deprecated and replaced by
4622	// the name field.
4623	Zone string `json:"zone,omitempty"`
4624
4625	// ForceSendFields is a list of field names (e.g. "ClusterId") to
4626	// unconditionally include in API requests. By default, fields with
4627	// empty values are omitted from API requests. However, any non-pointer,
4628	// non-interface field appearing in ForceSendFields will be sent to the
4629	// server regardless of whether the field is empty or not. This may be
4630	// used to include empty fields in Patch requests.
4631	ForceSendFields []string `json:"-"`
4632
4633	// NullFields is a list of field names (e.g. "ClusterId") to include in
4634	// API requests with the JSON null value. By default, fields with empty
4635	// values are omitted from API requests. However, any field with an
4636	// empty value appearing in NullFields will be sent to the server as
4637	// null. It is an error if a field in this list has a non-empty value.
4638	// This may be used to include null fields in Patch requests.
4639	NullFields []string `json:"-"`
4640}
4641
4642func (s *SetLegacyAbacRequest) MarshalJSON() ([]byte, error) {
4643	type NoMethod SetLegacyAbacRequest
4644	raw := NoMethod(*s)
4645	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4646}
4647
4648// SetLocationsRequest: SetLocationsRequest sets the locations of the
4649// cluster.
4650type SetLocationsRequest struct {
4651	// ClusterId: Required. Deprecated. The name of the cluster to upgrade.
4652	// This field has been deprecated and replaced by the name field.
4653	ClusterId string `json:"clusterId,omitempty"`
4654
4655	// Locations: Required. The desired list of Google Compute Engine zones
4656	// (https://cloud.google.com/compute/docs/zones#available) in which the
4657	// cluster's nodes should be located. Changing the locations a cluster
4658	// is in will result in nodes being either created or removed from the
4659	// cluster, depending on whether locations are being added or removed.
4660	// This list must always include the cluster's primary zone.
4661	Locations []string `json:"locations,omitempty"`
4662
4663	// Name: The name (project, location, cluster) of the cluster to set
4664	// locations. Specified in the format
4665	// `projects/*/locations/*/clusters/*`.
4666	Name string `json:"name,omitempty"`
4667
4668	// ProjectId: Required. Deprecated. The Google Developers Console
4669	// project ID or project number
4670	// (https://support.google.com/cloud/answer/6158840). This field has
4671	// been deprecated and replaced by the name field.
4672	ProjectId string `json:"projectId,omitempty"`
4673
4674	// Zone: Required. Deprecated. The name of the Google Compute Engine
4675	// zone (https://cloud.google.com/compute/docs/zones#available) in which
4676	// the cluster resides. This field has been deprecated and replaced by
4677	// the name field.
4678	Zone string `json:"zone,omitempty"`
4679
4680	// ForceSendFields is a list of field names (e.g. "ClusterId") to
4681	// unconditionally include in API requests. By default, fields with
4682	// empty values are omitted from API requests. However, any non-pointer,
4683	// non-interface field appearing in ForceSendFields will be sent to the
4684	// server regardless of whether the field is empty or not. This may be
4685	// used to include empty fields in Patch requests.
4686	ForceSendFields []string `json:"-"`
4687
4688	// NullFields is a list of field names (e.g. "ClusterId") to include in
4689	// API requests with the JSON null value. By default, fields with empty
4690	// values are omitted from API requests. However, any field with an
4691	// empty value appearing in NullFields will be sent to the server as
4692	// null. It is an error if a field in this list has a non-empty value.
4693	// This may be used to include null fields in Patch requests.
4694	NullFields []string `json:"-"`
4695}
4696
4697func (s *SetLocationsRequest) MarshalJSON() ([]byte, error) {
4698	type NoMethod SetLocationsRequest
4699	raw := NoMethod(*s)
4700	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4701}
4702
4703// SetLoggingServiceRequest: SetLoggingServiceRequest sets the logging
4704// service of a cluster.
4705type SetLoggingServiceRequest struct {
4706	// ClusterId: Required. Deprecated. The name of the cluster to upgrade.
4707	// This field has been deprecated and replaced by the name field.
4708	ClusterId string `json:"clusterId,omitempty"`
4709
4710	// LoggingService: Required. The logging service the cluster should use
4711	// to write logs. Currently available options: *
4712	// `logging.googleapis.com/kubernetes` - The Cloud Logging service with
4713	// a Kubernetes-native resource model * `logging.googleapis.com` - The
4714	// legacy Cloud Logging service (no longer available as of GKE 1.15). *
4715	// `none` - no logs will be exported from the cluster. If left as an
4716	// empty string,`logging.googleapis.com/kubernetes` will be used for GKE
4717	// 1.14+ or `logging.googleapis.com` for earlier versions.
4718	LoggingService string `json:"loggingService,omitempty"`
4719
4720	// Name: The name (project, location, cluster) of the cluster to set
4721	// logging. Specified in the format `projects/*/locations/*/clusters/*`.
4722	Name string `json:"name,omitempty"`
4723
4724	// ProjectId: Required. Deprecated. The Google Developers Console
4725	// project ID or project number
4726	// (https://support.google.com/cloud/answer/6158840). This field has
4727	// been deprecated and replaced by the name field.
4728	ProjectId string `json:"projectId,omitempty"`
4729
4730	// Zone: Required. Deprecated. The name of the Google Compute Engine
4731	// zone (https://cloud.google.com/compute/docs/zones#available) in which
4732	// the cluster resides. This field has been deprecated and replaced by
4733	// the name field.
4734	Zone string `json:"zone,omitempty"`
4735
4736	// ForceSendFields is a list of field names (e.g. "ClusterId") to
4737	// unconditionally include in API requests. By default, fields with
4738	// empty values are omitted from API requests. However, any non-pointer,
4739	// non-interface field appearing in ForceSendFields will be sent to the
4740	// server regardless of whether the field is empty or not. This may be
4741	// used to include empty fields in Patch requests.
4742	ForceSendFields []string `json:"-"`
4743
4744	// NullFields is a list of field names (e.g. "ClusterId") to include in
4745	// API requests with the JSON null value. By default, fields with empty
4746	// values are omitted from API requests. However, any field with an
4747	// empty value appearing in NullFields will be sent to the server as
4748	// null. It is an error if a field in this list has a non-empty value.
4749	// This may be used to include null fields in Patch requests.
4750	NullFields []string `json:"-"`
4751}
4752
4753func (s *SetLoggingServiceRequest) MarshalJSON() ([]byte, error) {
4754	type NoMethod SetLoggingServiceRequest
4755	raw := NoMethod(*s)
4756	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4757}
4758
4759// SetMaintenancePolicyRequest: SetMaintenancePolicyRequest sets the
4760// maintenance policy for a cluster.
4761type SetMaintenancePolicyRequest struct {
4762	// ClusterId: Required. The name of the cluster to update.
4763	ClusterId string `json:"clusterId,omitempty"`
4764
4765	// MaintenancePolicy: Required. The maintenance policy to be set for the
4766	// cluster. An empty field clears the existing maintenance policy.
4767	MaintenancePolicy *MaintenancePolicy `json:"maintenancePolicy,omitempty"`
4768
4769	// Name: The name (project, location, cluster id) of the cluster to set
4770	// maintenance policy. Specified in the format
4771	// `projects/*/locations/*/clusters/*`.
4772	Name string `json:"name,omitempty"`
4773
4774	// ProjectId: Required. The Google Developers Console project ID or
4775	// project number (https://support.google.com/cloud/answer/6158840).
4776	ProjectId string `json:"projectId,omitempty"`
4777
4778	// Zone: Required. The name of the Google Compute Engine zone
4779	// (https://cloud.google.com/compute/docs/zones#available) in which the
4780	// cluster resides.
4781	Zone string `json:"zone,omitempty"`
4782
4783	// ForceSendFields is a list of field names (e.g. "ClusterId") to
4784	// unconditionally include in API requests. By default, fields with
4785	// empty values are omitted from API requests. However, any non-pointer,
4786	// non-interface field appearing in ForceSendFields will be sent to the
4787	// server regardless of whether the field is empty or not. This may be
4788	// used to include empty fields in Patch requests.
4789	ForceSendFields []string `json:"-"`
4790
4791	// NullFields is a list of field names (e.g. "ClusterId") to include in
4792	// API requests with the JSON null value. By default, fields with empty
4793	// values are omitted from API requests. However, any field with an
4794	// empty value appearing in NullFields will be sent to the server as
4795	// null. It is an error if a field in this list has a non-empty value.
4796	// This may be used to include null fields in Patch requests.
4797	NullFields []string `json:"-"`
4798}
4799
4800func (s *SetMaintenancePolicyRequest) MarshalJSON() ([]byte, error) {
4801	type NoMethod SetMaintenancePolicyRequest
4802	raw := NoMethod(*s)
4803	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4804}
4805
4806// SetMasterAuthRequest: SetMasterAuthRequest updates the admin password
4807// of a cluster.
4808type SetMasterAuthRequest struct {
4809	// Action: Required. The exact form of action to be taken on the master
4810	// auth.
4811	//
4812	// Possible values:
4813	//   "UNKNOWN" - Operation is unknown and will error out.
4814	//   "SET_PASSWORD" - Set the password to a user generated value.
4815	//   "GENERATE_PASSWORD" - Generate a new password and set it to that.
4816	//   "SET_USERNAME" - Set the username. If an empty username is
4817	// provided, basic authentication is disabled for the cluster. If a
4818	// non-empty username is provided, basic authentication is enabled, with
4819	// either a provided password or a generated one.
4820	Action string `json:"action,omitempty"`
4821
4822	// ClusterId: Required. Deprecated. The name of the cluster to upgrade.
4823	// This field has been deprecated and replaced by the name field.
4824	ClusterId string `json:"clusterId,omitempty"`
4825
4826	// Name: The name (project, location, cluster) of the cluster to set
4827	// auth. Specified in the format `projects/*/locations/*/clusters/*`.
4828	Name string `json:"name,omitempty"`
4829
4830	// ProjectId: Required. Deprecated. The Google Developers Console
4831	// project ID or project number
4832	// (https://support.google.com/cloud/answer/6158840). This field has
4833	// been deprecated and replaced by the name field.
4834	ProjectId string `json:"projectId,omitempty"`
4835
4836	// Update: Required. A description of the update.
4837	Update *MasterAuth `json:"update,omitempty"`
4838
4839	// Zone: Required. Deprecated. The name of the Google Compute Engine
4840	// zone (https://cloud.google.com/compute/docs/zones#available) in which
4841	// the cluster resides. This field has been deprecated and replaced by
4842	// the name field.
4843	Zone string `json:"zone,omitempty"`
4844
4845	// ForceSendFields is a list of field names (e.g. "Action") to
4846	// unconditionally include in API requests. By default, fields with
4847	// empty values are omitted from API requests. However, any non-pointer,
4848	// non-interface field appearing in ForceSendFields will be sent to the
4849	// server regardless of whether the field is empty or not. This may be
4850	// used to include empty fields in Patch requests.
4851	ForceSendFields []string `json:"-"`
4852
4853	// NullFields is a list of field names (e.g. "Action") to include in API
4854	// requests with the JSON null value. By default, fields with empty
4855	// values are omitted from API requests. However, any field with an
4856	// empty value appearing in NullFields will be sent to the server as
4857	// null. It is an error if a field in this list has a non-empty value.
4858	// This may be used to include null fields in Patch requests.
4859	NullFields []string `json:"-"`
4860}
4861
4862func (s *SetMasterAuthRequest) MarshalJSON() ([]byte, error) {
4863	type NoMethod SetMasterAuthRequest
4864	raw := NoMethod(*s)
4865	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4866}
4867
4868// SetMonitoringServiceRequest: SetMonitoringServiceRequest sets the
4869// monitoring service of a cluster.
4870type SetMonitoringServiceRequest struct {
4871	// ClusterId: Required. Deprecated. The name of the cluster to upgrade.
4872	// This field has been deprecated and replaced by the name field.
4873	ClusterId string `json:"clusterId,omitempty"`
4874
4875	// MonitoringService: Required. The monitoring service the cluster
4876	// should use to write metrics. Currently available options: *
4877	// "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring service
4878	// with a Kubernetes-native resource model * `monitoring.googleapis.com`
4879	// - The legacy Cloud Monitoring service (no longer available as of GKE
4880	// 1.15). * `none` - No metrics will be exported from the cluster. If
4881	// left as an empty string,`monitoring.googleapis.com/kubernetes` will
4882	// be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier
4883	// versions.
4884	MonitoringService string `json:"monitoringService,omitempty"`
4885
4886	// Name: The name (project, location, cluster) of the cluster to set
4887	// monitoring. Specified in the format
4888	// `projects/*/locations/*/clusters/*`.
4889	Name string `json:"name,omitempty"`
4890
4891	// ProjectId: Required. Deprecated. The Google Developers Console
4892	// project ID or project number
4893	// (https://support.google.com/cloud/answer/6158840). This field has
4894	// been deprecated and replaced by the name field.
4895	ProjectId string `json:"projectId,omitempty"`
4896
4897	// Zone: Required. Deprecated. The name of the Google Compute Engine
4898	// zone (https://cloud.google.com/compute/docs/zones#available) in which
4899	// the cluster resides. This field has been deprecated and replaced by
4900	// the name field.
4901	Zone string `json:"zone,omitempty"`
4902
4903	// ForceSendFields is a list of field names (e.g. "ClusterId") to
4904	// unconditionally include in API requests. By default, fields with
4905	// empty values are omitted from API requests. However, any non-pointer,
4906	// non-interface field appearing in ForceSendFields will be sent to the
4907	// server regardless of whether the field is empty or not. This may be
4908	// used to include empty fields in Patch requests.
4909	ForceSendFields []string `json:"-"`
4910
4911	// NullFields is a list of field names (e.g. "ClusterId") to include in
4912	// API requests with the JSON null value. By default, fields with empty
4913	// values are omitted from API requests. However, any field with an
4914	// empty value appearing in NullFields will be sent to the server as
4915	// null. It is an error if a field in this list has a non-empty value.
4916	// This may be used to include null fields in Patch requests.
4917	NullFields []string `json:"-"`
4918}
4919
4920func (s *SetMonitoringServiceRequest) MarshalJSON() ([]byte, error) {
4921	type NoMethod SetMonitoringServiceRequest
4922	raw := NoMethod(*s)
4923	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4924}
4925
4926// SetNetworkPolicyRequest: SetNetworkPolicyRequest enables/disables
4927// network policy for a cluster.
4928type SetNetworkPolicyRequest struct {
4929	// ClusterId: Required. Deprecated. The name of the cluster. This field
4930	// has been deprecated and replaced by the name field.
4931	ClusterId string `json:"clusterId,omitempty"`
4932
4933	// Name: The name (project, location, cluster id) of the cluster to set
4934	// networking policy. Specified in the format
4935	// `projects/*/locations/*/clusters/*`.
4936	Name string `json:"name,omitempty"`
4937
4938	// NetworkPolicy: Required. Configuration options for the NetworkPolicy
4939	// feature.
4940	NetworkPolicy *NetworkPolicy `json:"networkPolicy,omitempty"`
4941
4942	// ProjectId: Required. Deprecated. The Google Developers Console
4943	// project ID or project number
4944	// (https://developers.google.com/console/help/new/#projectnumber). This
4945	// field has been deprecated and replaced by the name field.
4946	ProjectId string `json:"projectId,omitempty"`
4947
4948	// Zone: Required. Deprecated. The name of the Google Compute Engine
4949	// zone (https://cloud.google.com/compute/docs/zones#available) in which
4950	// the cluster resides. This field has been deprecated and replaced by
4951	// the name field.
4952	Zone string `json:"zone,omitempty"`
4953
4954	// ForceSendFields is a list of field names (e.g. "ClusterId") to
4955	// unconditionally include in API requests. By default, fields with
4956	// empty values are omitted from API requests. However, any non-pointer,
4957	// non-interface field appearing in ForceSendFields will be sent to the
4958	// server regardless of whether the field is empty or not. This may be
4959	// used to include empty fields in Patch requests.
4960	ForceSendFields []string `json:"-"`
4961
4962	// NullFields is a list of field names (e.g. "ClusterId") to include in
4963	// API requests with the JSON null value. By default, fields with empty
4964	// values are omitted from API requests. However, any field with an
4965	// empty value appearing in NullFields will be sent to the server as
4966	// null. It is an error if a field in this list has a non-empty value.
4967	// This may be used to include null fields in Patch requests.
4968	NullFields []string `json:"-"`
4969}
4970
4971func (s *SetNetworkPolicyRequest) MarshalJSON() ([]byte, error) {
4972	type NoMethod SetNetworkPolicyRequest
4973	raw := NoMethod(*s)
4974	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4975}
4976
4977// SetNodePoolAutoscalingRequest: SetNodePoolAutoscalingRequest sets the
4978// autoscaler settings of a node pool.
4979type SetNodePoolAutoscalingRequest struct {
4980	// Autoscaling: Required. Autoscaling configuration for the node pool.
4981	Autoscaling *NodePoolAutoscaling `json:"autoscaling,omitempty"`
4982
4983	// ClusterId: Required. Deprecated. The name of the cluster to upgrade.
4984	// This field has been deprecated and replaced by the name field.
4985	ClusterId string `json:"clusterId,omitempty"`
4986
4987	// Name: The name (project, location, cluster, node pool) of the node
4988	// pool to set autoscaler settings. Specified in the format
4989	// `projects/*/locations/*/clusters/*/nodePools/*`.
4990	Name string `json:"name,omitempty"`
4991
4992	// NodePoolId: Required. Deprecated. The name of the node pool to
4993	// upgrade. This field has been deprecated and replaced by the name
4994	// field.
4995	NodePoolId string `json:"nodePoolId,omitempty"`
4996
4997	// ProjectId: Required. Deprecated. The Google Developers Console
4998	// project ID or project number
4999	// (https://support.google.com/cloud/answer/6158840). This field has
5000	// been deprecated and replaced by the name field.
5001	ProjectId string `json:"projectId,omitempty"`
5002
5003	// Zone: Required. Deprecated. The name of the Google Compute Engine
5004	// zone (https://cloud.google.com/compute/docs/zones#available) in which
5005	// the cluster resides. This field has been deprecated and replaced by
5006	// the name field.
5007	Zone string `json:"zone,omitempty"`
5008
5009	// ForceSendFields is a list of field names (e.g. "Autoscaling") to
5010	// unconditionally include in API requests. By default, fields with
5011	// empty values are omitted from API requests. However, any non-pointer,
5012	// non-interface field appearing in ForceSendFields will be sent to the
5013	// server regardless of whether the field is empty or not. This may be
5014	// used to include empty fields in Patch requests.
5015	ForceSendFields []string `json:"-"`
5016
5017	// NullFields is a list of field names (e.g. "Autoscaling") to include
5018	// in API requests with the JSON null value. By default, fields with
5019	// empty values are omitted from API requests. However, any field with
5020	// an empty value appearing in NullFields will be sent to the server as
5021	// null. It is an error if a field in this list has a non-empty value.
5022	// This may be used to include null fields in Patch requests.
5023	NullFields []string `json:"-"`
5024}
5025
5026func (s *SetNodePoolAutoscalingRequest) MarshalJSON() ([]byte, error) {
5027	type NoMethod SetNodePoolAutoscalingRequest
5028	raw := NoMethod(*s)
5029	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5030}
5031
5032// SetNodePoolManagementRequest: SetNodePoolManagementRequest sets the
5033// node management properties of a node pool.
5034type SetNodePoolManagementRequest struct {
5035	// ClusterId: Required. Deprecated. The name of the cluster to update.
5036	// This field has been deprecated and replaced by the name field.
5037	ClusterId string `json:"clusterId,omitempty"`
5038
5039	// Management: Required. NodeManagement configuration for the node pool.
5040	Management *NodeManagement `json:"management,omitempty"`
5041
5042	// Name: The name (project, location, cluster, node pool id) of the node
5043	// pool to set management properties. Specified in the format
5044	// `projects/*/locations/*/clusters/*/nodePools/*`.
5045	Name string `json:"name,omitempty"`
5046
5047	// NodePoolId: Required. Deprecated. The name of the node pool to
5048	// update. This field has been deprecated and replaced by the name
5049	// field.
5050	NodePoolId string `json:"nodePoolId,omitempty"`
5051
5052	// ProjectId: Required. Deprecated. The Google Developers Console
5053	// project ID or project number
5054	// (https://support.google.com/cloud/answer/6158840). This field has
5055	// been deprecated and replaced by the name field.
5056	ProjectId string `json:"projectId,omitempty"`
5057
5058	// Zone: Required. Deprecated. The name of the Google Compute Engine
5059	// zone (https://cloud.google.com/compute/docs/zones#available) in which
5060	// the cluster resides. This field has been deprecated and replaced by
5061	// the name field.
5062	Zone string `json:"zone,omitempty"`
5063
5064	// ForceSendFields is a list of field names (e.g. "ClusterId") to
5065	// unconditionally include in API requests. By default, fields with
5066	// empty values are omitted from API requests. However, any non-pointer,
5067	// non-interface field appearing in ForceSendFields will be sent to the
5068	// server regardless of whether the field is empty or not. This may be
5069	// used to include empty fields in Patch requests.
5070	ForceSendFields []string `json:"-"`
5071
5072	// NullFields is a list of field names (e.g. "ClusterId") to include in
5073	// API requests with the JSON null value. By default, fields with empty
5074	// values are omitted from API requests. However, any field with an
5075	// empty value appearing in NullFields will be sent to the server as
5076	// null. It is an error if a field in this list has a non-empty value.
5077	// This may be used to include null fields in Patch requests.
5078	NullFields []string `json:"-"`
5079}
5080
5081func (s *SetNodePoolManagementRequest) MarshalJSON() ([]byte, error) {
5082	type NoMethod SetNodePoolManagementRequest
5083	raw := NoMethod(*s)
5084	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5085}
5086
5087// SetNodePoolSizeRequest: SetNodePoolSizeRequest sets the size of a
5088// node pool.
5089type SetNodePoolSizeRequest struct {
5090	// ClusterId: Required. Deprecated. The name of the cluster to update.
5091	// This field has been deprecated and replaced by the name field.
5092	ClusterId string `json:"clusterId,omitempty"`
5093
5094	// Name: The name (project, location, cluster, node pool id) of the node
5095	// pool to set size. Specified in the format
5096	// `projects/*/locations/*/clusters/*/nodePools/*`.
5097	Name string `json:"name,omitempty"`
5098
5099	// NodeCount: Required. The desired node count for the pool.
5100	NodeCount int64 `json:"nodeCount,omitempty"`
5101
5102	// NodePoolId: Required. Deprecated. The name of the node pool to
5103	// update. This field has been deprecated and replaced by the name
5104	// field.
5105	NodePoolId string `json:"nodePoolId,omitempty"`
5106
5107	// ProjectId: Required. Deprecated. The Google Developers Console
5108	// project ID or project number
5109	// (https://support.google.com/cloud/answer/6158840). This field has
5110	// been deprecated and replaced by the name field.
5111	ProjectId string `json:"projectId,omitempty"`
5112
5113	// Zone: Required. Deprecated. The name of the Google Compute Engine
5114	// zone (https://cloud.google.com/compute/docs/zones#available) in which
5115	// the cluster resides. This field has been deprecated and replaced by
5116	// the name field.
5117	Zone string `json:"zone,omitempty"`
5118
5119	// ForceSendFields is a list of field names (e.g. "ClusterId") to
5120	// unconditionally include in API requests. By default, fields with
5121	// empty values are omitted from API requests. However, any non-pointer,
5122	// non-interface field appearing in ForceSendFields will be sent to the
5123	// server regardless of whether the field is empty or not. This may be
5124	// used to include empty fields in Patch requests.
5125	ForceSendFields []string `json:"-"`
5126
5127	// NullFields is a list of field names (e.g. "ClusterId") to include in
5128	// API requests with the JSON null value. By default, fields with empty
5129	// values are omitted from API requests. However, any field with an
5130	// empty value appearing in NullFields will be sent to the server as
5131	// null. It is an error if a field in this list has a non-empty value.
5132	// This may be used to include null fields in Patch requests.
5133	NullFields []string `json:"-"`
5134}
5135
5136func (s *SetNodePoolSizeRequest) MarshalJSON() ([]byte, error) {
5137	type NoMethod SetNodePoolSizeRequest
5138	raw := NoMethod(*s)
5139	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5140}
5141
5142// ShieldedInstanceConfig: A set of Shielded Instance options.
5143type ShieldedInstanceConfig struct {
5144	// EnableIntegrityMonitoring: Defines whether the instance has integrity
5145	// monitoring enabled. Enables monitoring and attestation of the boot
5146	// integrity of the instance. The attestation is performed against the
5147	// integrity policy baseline. This baseline is initially derived from
5148	// the implicitly trusted boot image when the instance is created.
5149	EnableIntegrityMonitoring bool `json:"enableIntegrityMonitoring,omitempty"`
5150
5151	// EnableSecureBoot: Defines whether the instance has Secure Boot
5152	// enabled. Secure Boot helps ensure that the system only runs authentic
5153	// software by verifying the digital signature of all boot components,
5154	// and halting the boot process if signature verification fails.
5155	EnableSecureBoot bool `json:"enableSecureBoot,omitempty"`
5156
5157	// ForceSendFields is a list of field names (e.g.
5158	// "EnableIntegrityMonitoring") to unconditionally include in API
5159	// requests. By default, fields with empty values are omitted from API
5160	// requests. However, any non-pointer, non-interface field appearing in
5161	// ForceSendFields will be sent to the server regardless of whether the
5162	// field is empty or not. This may be used to include empty fields in
5163	// Patch requests.
5164	ForceSendFields []string `json:"-"`
5165
5166	// NullFields is a list of field names (e.g.
5167	// "EnableIntegrityMonitoring") to include in API requests with the JSON
5168	// null value. By default, fields with empty values are omitted from API
5169	// requests. However, any field with an empty value appearing in
5170	// NullFields will be sent to the server as null. It is an error if a
5171	// field in this list has a non-empty value. This may be used to include
5172	// null fields in Patch requests.
5173	NullFields []string `json:"-"`
5174}
5175
5176func (s *ShieldedInstanceConfig) MarshalJSON() ([]byte, error) {
5177	type NoMethod ShieldedInstanceConfig
5178	raw := NoMethod(*s)
5179	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5180}
5181
5182// ShieldedNodes: Configuration of Shielded Nodes feature.
5183type ShieldedNodes struct {
5184	// Enabled: Whether Shielded Nodes features are enabled on all nodes in
5185	// this cluster.
5186	Enabled bool `json:"enabled,omitempty"`
5187
5188	// ForceSendFields is a list of field names (e.g. "Enabled") to
5189	// unconditionally include in API requests. By default, fields with
5190	// empty values are omitted from API requests. However, any non-pointer,
5191	// non-interface field appearing in ForceSendFields will be sent to the
5192	// server regardless of whether the field is empty or not. This may be
5193	// used to include empty fields in Patch requests.
5194	ForceSendFields []string `json:"-"`
5195
5196	// NullFields is a list of field names (e.g. "Enabled") to include in
5197	// API requests with the JSON null value. By default, fields with empty
5198	// values are omitted from API requests. However, any field with an
5199	// empty value appearing in NullFields will be sent to the server as
5200	// null. It is an error if a field in this list has a non-empty value.
5201	// This may be used to include null fields in Patch requests.
5202	NullFields []string `json:"-"`
5203}
5204
5205func (s *ShieldedNodes) MarshalJSON() ([]byte, error) {
5206	type NoMethod ShieldedNodes
5207	raw := NoMethod(*s)
5208	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5209}
5210
5211// StartIPRotationRequest: StartIPRotationRequest creates a new IP for
5212// the cluster and then performs a node upgrade on each node pool to
5213// point to the new IP.
5214type StartIPRotationRequest struct {
5215	// ClusterId: Required. Deprecated. The name of the cluster. This field
5216	// has been deprecated and replaced by the name field.
5217	ClusterId string `json:"clusterId,omitempty"`
5218
5219	// Name: The name (project, location, cluster id) of the cluster to
5220	// start IP rotation. Specified in the format
5221	// `projects/*/locations/*/clusters/*`.
5222	Name string `json:"name,omitempty"`
5223
5224	// ProjectId: Required. Deprecated. The Google Developers Console
5225	// project ID or project number
5226	// (https://developers.google.com/console/help/new/#projectnumber). This
5227	// field has been deprecated and replaced by the name field.
5228	ProjectId string `json:"projectId,omitempty"`
5229
5230	// RotateCredentials: Whether to rotate credentials during IP rotation.
5231	RotateCredentials bool `json:"rotateCredentials,omitempty"`
5232
5233	// Zone: Required. Deprecated. The name of the Google Compute Engine
5234	// zone (https://cloud.google.com/compute/docs/zones#available) in which
5235	// the cluster resides. This field has been deprecated and replaced by
5236	// the name field.
5237	Zone string `json:"zone,omitempty"`
5238
5239	// ForceSendFields is a list of field names (e.g. "ClusterId") to
5240	// unconditionally include in API requests. By default, fields with
5241	// empty values are omitted from API requests. However, any non-pointer,
5242	// non-interface field appearing in ForceSendFields will be sent to the
5243	// server regardless of whether the field is empty or not. This may be
5244	// used to include empty fields in Patch requests.
5245	ForceSendFields []string `json:"-"`
5246
5247	// NullFields is a list of field names (e.g. "ClusterId") to include in
5248	// API requests with the JSON null value. By default, fields with empty
5249	// values are omitted from API requests. However, any field with an
5250	// empty value appearing in NullFields will be sent to the server as
5251	// null. It is an error if a field in this list has a non-empty value.
5252	// This may be used to include null fields in Patch requests.
5253	NullFields []string `json:"-"`
5254}
5255
5256func (s *StartIPRotationRequest) MarshalJSON() ([]byte, error) {
5257	type NoMethod StartIPRotationRequest
5258	raw := NoMethod(*s)
5259	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5260}
5261
5262// Status: The `Status` type defines a logical error model that is
5263// suitable for different programming environments, including REST APIs
5264// and RPC APIs. It is used by gRPC (https://github.com/grpc). Each
5265// `Status` message contains three pieces of data: error code, error
5266// message, and error details. You can find out more about this error
5267// model and how to work with it in the API Design Guide
5268// (https://cloud.google.com/apis/design/errors).
5269type Status struct {
5270	// Code: The status code, which should be an enum value of
5271	// google.rpc.Code.
5272	Code int64 `json:"code,omitempty"`
5273
5274	// Details: A list of messages that carry the error details. There is a
5275	// common set of message types for APIs to use.
5276	Details []googleapi.RawMessage `json:"details,omitempty"`
5277
5278	// Message: A developer-facing error message, which should be in
5279	// English. Any user-facing error message should be localized and sent
5280	// in the google.rpc.Status.details field, or localized by the client.
5281	Message string `json:"message,omitempty"`
5282
5283	// ForceSendFields is a list of field names (e.g. "Code") to
5284	// unconditionally include in API requests. By default, fields with
5285	// empty values are omitted from API requests. However, any non-pointer,
5286	// non-interface field appearing in ForceSendFields will be sent to the
5287	// server regardless of whether the field is empty or not. This may be
5288	// used to include empty fields in Patch requests.
5289	ForceSendFields []string `json:"-"`
5290
5291	// NullFields is a list of field names (e.g. "Code") to include in API
5292	// requests with the JSON null value. By default, fields with empty
5293	// values are omitted from API requests. However, any field with an
5294	// empty value appearing in NullFields will be sent to the server as
5295	// null. It is an error if a field in this list has a non-empty value.
5296	// This may be used to include null fields in Patch requests.
5297	NullFields []string `json:"-"`
5298}
5299
5300func (s *Status) MarshalJSON() ([]byte, error) {
5301	type NoMethod Status
5302	raw := NoMethod(*s)
5303	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5304}
5305
5306// StatusCondition: StatusCondition describes why a cluster or a node
5307// pool has a certain status (e.g., ERROR or DEGRADED).
5308type StatusCondition struct {
5309	// CanonicalCode: Canonical code of the condition.
5310	//
5311	// Possible values:
5312	//   "OK" - Not an error; returned on success HTTP Mapping: 200 OK
5313	//   "CANCELLED" - The operation was cancelled, typically by the caller.
5314	// HTTP Mapping: 499 Client Closed Request
5315	//   "UNKNOWN" - Unknown error. For example, this error may be returned
5316	// when a `Status` value received from another address space belongs to
5317	// an error space that is not known in this address space. Also errors
5318	// raised by APIs that do not return enough error information may be
5319	// converted to this error. HTTP Mapping: 500 Internal Server Error
5320	//   "INVALID_ARGUMENT" - The client specified an invalid argument. Note
5321	// that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT`
5322	// indicates arguments that are problematic regardless of the state of
5323	// the system (e.g., a malformed file name). HTTP Mapping: 400 Bad
5324	// Request
5325	//   "DEADLINE_EXCEEDED" - The deadline expired before the operation
5326	// could complete. For operations that change the state of the system,
5327	// this error may be returned even if the operation has completed
5328	// successfully. For example, a successful response from a server could
5329	// have been delayed long enough for the deadline to expire. HTTP
5330	// Mapping: 504 Gateway Timeout
5331	//   "NOT_FOUND" - Some requested entity (e.g., file or directory) was
5332	// not found. Note to server developers: if a request is denied for an
5333	// entire class of users, such as gradual feature rollout or
5334	// undocumented allowlist, `NOT_FOUND` may be used. If a request is
5335	// denied for some users within a class of users, such as user-based
5336	// access control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404
5337	// Not Found
5338	//   "ALREADY_EXISTS" - The entity that a client attempted to create
5339	// (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict
5340	//   "PERMISSION_DENIED" - The caller does not have permission to
5341	// execute the specified operation. `PERMISSION_DENIED` must not be used
5342	// for rejections caused by exhausting some resource (use
5343	// `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED`
5344	// must not be used if the caller can not be identified (use
5345	// `UNAUTHENTICATED` instead for those errors). This error code does not
5346	// imply the request is valid or the requested entity exists or
5347	// satisfies other pre-conditions. HTTP Mapping: 403 Forbidden
5348	//   "UNAUTHENTICATED" - The request does not have valid authentication
5349	// credentials for the operation. HTTP Mapping: 401 Unauthorized
5350	//   "RESOURCE_EXHAUSTED" - Some resource has been exhausted, perhaps a
5351	// per-user quota, or perhaps the entire file system is out of space.
5352	// HTTP Mapping: 429 Too Many Requests
5353	//   "FAILED_PRECONDITION" - The operation was rejected because the
5354	// system is not in a state required for the operation's execution. For
5355	// example, the directory to be deleted is non-empty, an rmdir operation
5356	// is applied to a non-directory, etc. Service implementors can use the
5357	// following guidelines to decide between `FAILED_PRECONDITION`,
5358	// `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can
5359	// retry just the failing call. (b) Use `ABORTED` if the client should
5360	// retry at a higher level (e.g., when a client-specified test-and-set
5361	// fails, indicating the client should restart a read-modify-write
5362	// sequence). (c) Use `FAILED_PRECONDITION` if the client should not
5363	// retry until the system state has been explicitly fixed. E.g., if an
5364	// "rmdir" fails because the directory is non-empty,
5365	// `FAILED_PRECONDITION` should be returned since the client should not
5366	// retry unless the files are deleted from the directory. HTTP Mapping:
5367	// 400 Bad Request
5368	//   "ABORTED" - The operation was aborted, typically due to a
5369	// concurrency issue such as a sequencer check failure or transaction
5370	// abort. See the guidelines above for deciding between
5371	// `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping:
5372	// 409 Conflict
5373	//   "OUT_OF_RANGE" - The operation was attempted past the valid range.
5374	// E.g., seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`,
5375	// this error indicates a problem that may be fixed if the system state
5376	// changes. For example, a 32-bit file system will generate
5377	// `INVALID_ARGUMENT` if asked to read at an offset that is not in the
5378	// range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to
5379	// read from an offset past the current file size. There is a fair bit
5380	// of overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We
5381	// recommend using `OUT_OF_RANGE` (the more specific error) when it
5382	// applies so that callers who are iterating through a space can easily
5383	// look for an `OUT_OF_RANGE` error to detect when they are done. HTTP
5384	// Mapping: 400 Bad Request
5385	//   "UNIMPLEMENTED" - The operation is not implemented or is not
5386	// supported/enabled in this service. HTTP Mapping: 501 Not Implemented
5387	//   "INTERNAL" - Internal errors. This means that some invariants
5388	// expected by the underlying system have been broken. This error code
5389	// is reserved for serious errors. HTTP Mapping: 500 Internal Server
5390	// Error
5391	//   "UNAVAILABLE" - The service is currently unavailable. This is most
5392	// likely a transient condition, which can be corrected by retrying with
5393	// a backoff. Note that it is not always safe to retry non-idempotent
5394	// operations. See the guidelines above for deciding between
5395	// `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping:
5396	// 503 Service Unavailable
5397	//   "DATA_LOSS" - Unrecoverable data loss or corruption. HTTP Mapping:
5398	// 500 Internal Server Error
5399	CanonicalCode string `json:"canonicalCode,omitempty"`
5400
5401	// Code: Machine-friendly representation of the condition Deprecated.
5402	// Use canonical_code instead.
5403	//
5404	// Possible values:
5405	//   "UNKNOWN" - UNKNOWN indicates a generic condition.
5406	//   "GCE_STOCKOUT" - GCE_STOCKOUT indicates that Google Compute Engine
5407	// resources are temporarily unavailable.
5408	//   "GKE_SERVICE_ACCOUNT_DELETED" - GKE_SERVICE_ACCOUNT_DELETED
5409	// indicates that the user deleted their robot service account.
5410	//   "GCE_QUOTA_EXCEEDED" - Google Compute Engine quota was exceeded.
5411	//   "SET_BY_OPERATOR" - Cluster state was manually changed by an SRE
5412	// due to a system logic error.
5413	//   "CLOUD_KMS_KEY_ERROR" - Unable to perform an encrypt operation
5414	// against the CloudKMS key used for etcd level encryption. More codes
5415	// TBA
5416	Code string `json:"code,omitempty"`
5417
5418	// Message: Human-friendly representation of the condition
5419	Message string `json:"message,omitempty"`
5420
5421	// ForceSendFields is a list of field names (e.g. "CanonicalCode") to
5422	// unconditionally include in API requests. By default, fields with
5423	// empty values are omitted from API requests. However, any non-pointer,
5424	// non-interface field appearing in ForceSendFields will be sent to the
5425	// server regardless of whether the field is empty or not. This may be
5426	// used to include empty fields in Patch requests.
5427	ForceSendFields []string `json:"-"`
5428
5429	// NullFields is a list of field names (e.g. "CanonicalCode") to include
5430	// in API requests with the JSON null value. By default, fields with
5431	// empty values are omitted from API requests. However, any field with
5432	// an empty value appearing in NullFields will be sent to the server as
5433	// null. It is an error if a field in this list has a non-empty value.
5434	// This may be used to include null fields in Patch requests.
5435	NullFields []string `json:"-"`
5436}
5437
5438func (s *StatusCondition) MarshalJSON() ([]byte, error) {
5439	type NoMethod StatusCondition
5440	raw := NoMethod(*s)
5441	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5442}
5443
5444// TimeWindow: Represents an arbitrary window of time.
5445type TimeWindow struct {
5446	// EndTime: The time that the window ends. The end time should take
5447	// place after the start time.
5448	EndTime string `json:"endTime,omitempty"`
5449
5450	// StartTime: The time that the window first starts.
5451	StartTime string `json:"startTime,omitempty"`
5452
5453	// ForceSendFields is a list of field names (e.g. "EndTime") to
5454	// unconditionally include in API requests. By default, fields with
5455	// empty values are omitted from API requests. However, any non-pointer,
5456	// non-interface field appearing in ForceSendFields will be sent to the
5457	// server regardless of whether the field is empty or not. This may be
5458	// used to include empty fields in Patch requests.
5459	ForceSendFields []string `json:"-"`
5460
5461	// NullFields is a list of field names (e.g. "EndTime") to include in
5462	// API requests with the JSON null value. By default, fields with empty
5463	// values are omitted from API requests. However, any field with an
5464	// empty value appearing in NullFields will be sent to the server as
5465	// null. It is an error if a field in this list has a non-empty value.
5466	// This may be used to include null fields in Patch requests.
5467	NullFields []string `json:"-"`
5468}
5469
5470func (s *TimeWindow) MarshalJSON() ([]byte, error) {
5471	type NoMethod TimeWindow
5472	raw := NoMethod(*s)
5473	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5474}
5475
5476// TpuConfig: Configuration for Cloud TPU.
5477type TpuConfig struct {
5478	// Enabled: Whether Cloud TPU integration is enabled or not.
5479	Enabled bool `json:"enabled,omitempty"`
5480
5481	// Ipv4CidrBlock: IPv4 CIDR block reserved for Cloud TPU in the VPC.
5482	Ipv4CidrBlock string `json:"ipv4CidrBlock,omitempty"`
5483
5484	// UseServiceNetworking: Whether to use service networking for Cloud TPU
5485	// or not.
5486	UseServiceNetworking bool `json:"useServiceNetworking,omitempty"`
5487
5488	// ForceSendFields is a list of field names (e.g. "Enabled") to
5489	// unconditionally include in API requests. By default, fields with
5490	// empty values are omitted from API requests. However, any non-pointer,
5491	// non-interface field appearing in ForceSendFields will be sent to the
5492	// server regardless of whether the field is empty or not. This may be
5493	// used to include empty fields in Patch requests.
5494	ForceSendFields []string `json:"-"`
5495
5496	// NullFields is a list of field names (e.g. "Enabled") to include in
5497	// API requests with the JSON null value. By default, fields with empty
5498	// values are omitted from API requests. However, any field with an
5499	// empty value appearing in NullFields will be sent to the server as
5500	// null. It is an error if a field in this list has a non-empty value.
5501	// This may be used to include null fields in Patch requests.
5502	NullFields []string `json:"-"`
5503}
5504
5505func (s *TpuConfig) MarshalJSON() ([]byte, error) {
5506	type NoMethod TpuConfig
5507	raw := NoMethod(*s)
5508	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5509}
5510
5511// UpdateClusterRequest: UpdateClusterRequest updates the settings of a
5512// cluster.
5513type UpdateClusterRequest struct {
5514	// ClusterId: Required. Deprecated. The name of the cluster to upgrade.
5515	// This field has been deprecated and replaced by the name field.
5516	ClusterId string `json:"clusterId,omitempty"`
5517
5518	// Name: The name (project, location, cluster) of the cluster to update.
5519	// Specified in the format `projects/*/locations/*/clusters/*`.
5520	Name string `json:"name,omitempty"`
5521
5522	// ProjectId: Required. Deprecated. The Google Developers Console
5523	// project ID or project number
5524	// (https://support.google.com/cloud/answer/6158840). This field has
5525	// been deprecated and replaced by the name field.
5526	ProjectId string `json:"projectId,omitempty"`
5527
5528	// Update: Required. A description of the update.
5529	Update *ClusterUpdate `json:"update,omitempty"`
5530
5531	// Zone: Required. Deprecated. The name of the Google Compute Engine
5532	// zone (https://cloud.google.com/compute/docs/zones#available) in which
5533	// the cluster resides. This field has been deprecated and replaced by
5534	// the name field.
5535	Zone string `json:"zone,omitempty"`
5536
5537	// ForceSendFields is a list of field names (e.g. "ClusterId") to
5538	// unconditionally include in API requests. By default, fields with
5539	// empty values are omitted from API requests. However, any non-pointer,
5540	// non-interface field appearing in ForceSendFields will be sent to the
5541	// server regardless of whether the field is empty or not. This may be
5542	// used to include empty fields in Patch requests.
5543	ForceSendFields []string `json:"-"`
5544
5545	// NullFields is a list of field names (e.g. "ClusterId") to include in
5546	// API requests with the JSON null value. By default, fields with empty
5547	// values are omitted from API requests. However, any field with an
5548	// empty value appearing in NullFields will be sent to the server as
5549	// null. It is an error if a field in this list has a non-empty value.
5550	// This may be used to include null fields in Patch requests.
5551	NullFields []string `json:"-"`
5552}
5553
5554func (s *UpdateClusterRequest) MarshalJSON() ([]byte, error) {
5555	type NoMethod UpdateClusterRequest
5556	raw := NoMethod(*s)
5557	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5558}
5559
5560// UpdateMasterRequest: UpdateMasterRequest updates the master of the
5561// cluster.
5562type UpdateMasterRequest struct {
5563	// ClusterId: Required. Deprecated. The name of the cluster to upgrade.
5564	// This field has been deprecated and replaced by the name field.
5565	ClusterId string `json:"clusterId,omitempty"`
5566
5567	// MasterVersion: Required. The Kubernetes version to change the master
5568	// to. Users may specify either explicit versions offered by Kubernetes
5569	// Engine or version aliases, which have the following behavior: -
5570	// "latest": picks the highest valid Kubernetes version - "1.X": picks
5571	// the highest valid patch+gke.N patch in the 1.X version - "1.X.Y":
5572	// picks the highest valid gke.N patch in the 1.X.Y version -
5573	// "1.X.Y-gke.N": picks an explicit Kubernetes version - "-": picks the
5574	// default Kubernetes version
5575	MasterVersion string `json:"masterVersion,omitempty"`
5576
5577	// Name: The name (project, location, cluster) of the cluster to update.
5578	// Specified in the format `projects/*/locations/*/clusters/*`.
5579	Name string `json:"name,omitempty"`
5580
5581	// ProjectId: Required. Deprecated. The Google Developers Console
5582	// project ID or project number
5583	// (https://support.google.com/cloud/answer/6158840). This field has
5584	// been deprecated and replaced by the name field.
5585	ProjectId string `json:"projectId,omitempty"`
5586
5587	// Zone: Required. Deprecated. The name of the Google Compute Engine
5588	// zone (https://cloud.google.com/compute/docs/zones#available) in which
5589	// the cluster resides. This field has been deprecated and replaced by
5590	// the name field.
5591	Zone string `json:"zone,omitempty"`
5592
5593	// ForceSendFields is a list of field names (e.g. "ClusterId") to
5594	// unconditionally include in API requests. By default, fields with
5595	// empty values are omitted from API requests. However, any non-pointer,
5596	// non-interface field appearing in ForceSendFields will be sent to the
5597	// server regardless of whether the field is empty or not. This may be
5598	// used to include empty fields in Patch requests.
5599	ForceSendFields []string `json:"-"`
5600
5601	// NullFields is a list of field names (e.g. "ClusterId") to include in
5602	// API requests with the JSON null value. By default, fields with empty
5603	// values are omitted from API requests. However, any field with an
5604	// empty value appearing in NullFields will be sent to the server as
5605	// null. It is an error if a field in this list has a non-empty value.
5606	// This may be used to include null fields in Patch requests.
5607	NullFields []string `json:"-"`
5608}
5609
5610func (s *UpdateMasterRequest) MarshalJSON() ([]byte, error) {
5611	type NoMethod UpdateMasterRequest
5612	raw := NoMethod(*s)
5613	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5614}
5615
5616// UpdateNodePoolRequest: SetNodePoolVersionRequest updates the version
5617// of a node pool.
5618type UpdateNodePoolRequest struct {
5619	// ClusterId: Required. Deprecated. The name of the cluster to upgrade.
5620	// This field has been deprecated and replaced by the name field.
5621	ClusterId string `json:"clusterId,omitempty"`
5622
5623	// ImageType: Required. The desired image type for the node pool.
5624	ImageType string `json:"imageType,omitempty"`
5625
5626	// KubeletConfig: Node kubelet configs.
5627	KubeletConfig *NodeKubeletConfig `json:"kubeletConfig,omitempty"`
5628
5629	// Labels: The desired node labels to be applied to all nodes in the
5630	// node pool. If this field is not present, the labels will not be
5631	// changed. Otherwise, the existing node labels will be *replaced* with
5632	// the provided labels.
5633	Labels *NodeLabels `json:"labels,omitempty"`
5634
5635	// LinuxNodeConfig: Parameters that can be configured on Linux nodes.
5636	LinuxNodeConfig *LinuxNodeConfig `json:"linuxNodeConfig,omitempty"`
5637
5638	// Locations: The desired list of Google Compute Engine zones
5639	// (https://cloud.google.com/compute/docs/zones#available) in which the
5640	// node pool's nodes should be located. Changing the locations for a
5641	// node pool will result in nodes being either created or removed from
5642	// the node pool, depending on whether locations are being added or
5643	// removed.
5644	Locations []string `json:"locations,omitempty"`
5645
5646	// Name: The name (project, location, cluster, node pool) of the node
5647	// pool to update. Specified in the format
5648	// `projects/*/locations/*/clusters/*/nodePools/*`.
5649	Name string `json:"name,omitempty"`
5650
5651	// NodePoolId: Required. Deprecated. The name of the node pool to
5652	// upgrade. This field has been deprecated and replaced by the name
5653	// field.
5654	NodePoolId string `json:"nodePoolId,omitempty"`
5655
5656	// NodeVersion: Required. The Kubernetes version to change the nodes to
5657	// (typically an upgrade). Users may specify either explicit versions
5658	// offered by Kubernetes Engine or version aliases, which have the
5659	// following behavior: - "latest": picks the highest valid Kubernetes
5660	// version - "1.X": picks the highest valid patch+gke.N patch in the 1.X
5661	// version - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y
5662	// version - "1.X.Y-gke.N": picks an explicit Kubernetes version - "-":
5663	// picks the Kubernetes master version
5664	NodeVersion string `json:"nodeVersion,omitempty"`
5665
5666	// ProjectId: Required. Deprecated. The Google Developers Console
5667	// project ID or project number
5668	// (https://support.google.com/cloud/answer/6158840). This field has
5669	// been deprecated and replaced by the name field.
5670	ProjectId string `json:"projectId,omitempty"`
5671
5672	// Tags: The desired network tags to be applied to all nodes in the node
5673	// pool. If this field is not present, the tags will not be changed.
5674	// Otherwise, the existing network tags will be *replaced* with the
5675	// provided tags.
5676	Tags *NetworkTags `json:"tags,omitempty"`
5677
5678	// Taints: The desired node taints to be applied to all nodes in the
5679	// node pool. If this field is not present, the taints will not be
5680	// changed. Otherwise, the existing node taints will be *replaced* with
5681	// the provided taints.
5682	Taints *NodeTaints `json:"taints,omitempty"`
5683
5684	// UpgradeSettings: Upgrade settings control disruption and speed of the
5685	// upgrade.
5686	UpgradeSettings *UpgradeSettings `json:"upgradeSettings,omitempty"`
5687
5688	// WorkloadMetadataConfig: The desired workload metadata config for the
5689	// node pool.
5690	WorkloadMetadataConfig *WorkloadMetadataConfig `json:"workloadMetadataConfig,omitempty"`
5691
5692	// Zone: Required. Deprecated. The name of the Google Compute Engine
5693	// zone (https://cloud.google.com/compute/docs/zones#available) in which
5694	// the cluster resides. This field has been deprecated and replaced by
5695	// the name field.
5696	Zone string `json:"zone,omitempty"`
5697
5698	// ForceSendFields is a list of field names (e.g. "ClusterId") to
5699	// unconditionally include in API requests. By default, fields with
5700	// empty values are omitted from API requests. However, any non-pointer,
5701	// non-interface field appearing in ForceSendFields will be sent to the
5702	// server regardless of whether the field is empty or not. This may be
5703	// used to include empty fields in Patch requests.
5704	ForceSendFields []string `json:"-"`
5705
5706	// NullFields is a list of field names (e.g. "ClusterId") to include in
5707	// API requests with the JSON null value. By default, fields with empty
5708	// values are omitted from API requests. However, any field with an
5709	// empty value appearing in NullFields will be sent to the server as
5710	// null. It is an error if a field in this list has a non-empty value.
5711	// This may be used to include null fields in Patch requests.
5712	NullFields []string `json:"-"`
5713}
5714
5715func (s *UpdateNodePoolRequest) MarshalJSON() ([]byte, error) {
5716	type NoMethod UpdateNodePoolRequest
5717	raw := NoMethod(*s)
5718	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5719}
5720
5721// UpgradeAvailableEvent: UpgradeAvailableEvent is a notification sent
5722// to customers when a new available version is released.
5723type UpgradeAvailableEvent struct {
5724	// ReleaseChannel: The release channel of the version. If empty, it
5725	// means a non-channel release.
5726	ReleaseChannel *ReleaseChannel `json:"releaseChannel,omitempty"`
5727
5728	// Resource: Optional. Optional relative path to the resource. For
5729	// example, the relative path of the node pool.
5730	Resource string `json:"resource,omitempty"`
5731
5732	// ResourceType: The resource type of the release version.
5733	//
5734	// Possible values:
5735	//   "UPGRADE_RESOURCE_TYPE_UNSPECIFIED" - Default value. This shouldn't
5736	// be used.
5737	//   "MASTER" - Master / control plane
5738	//   "NODE_POOL" - Node pool
5739	ResourceType string `json:"resourceType,omitempty"`
5740
5741	// Version: The release version available for upgrade.
5742	Version string `json:"version,omitempty"`
5743
5744	// ForceSendFields is a list of field names (e.g. "ReleaseChannel") to
5745	// unconditionally include in API requests. By default, fields with
5746	// empty values are omitted from API requests. However, any non-pointer,
5747	// non-interface field appearing in ForceSendFields will be sent to the
5748	// server regardless of whether the field is empty or not. This may be
5749	// used to include empty fields in Patch requests.
5750	ForceSendFields []string `json:"-"`
5751
5752	// NullFields is a list of field names (e.g. "ReleaseChannel") to
5753	// include in API requests with the JSON null value. By default, fields
5754	// with empty values are omitted from API requests. However, any field
5755	// with an empty value appearing in NullFields will be sent to the
5756	// server as null. It is an error if a field in this list has a
5757	// non-empty value. This may be used to include null fields in Patch
5758	// requests.
5759	NullFields []string `json:"-"`
5760}
5761
5762func (s *UpgradeAvailableEvent) MarshalJSON() ([]byte, error) {
5763	type NoMethod UpgradeAvailableEvent
5764	raw := NoMethod(*s)
5765	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5766}
5767
5768// UpgradeEvent: UpgradeEvent is a notification sent to customers by the
5769// cluster server when a resource is upgrading.
5770type UpgradeEvent struct {
5771	// CurrentVersion: The current version before the upgrade.
5772	CurrentVersion string `json:"currentVersion,omitempty"`
5773
5774	// Operation: The operation associated with this upgrade.
5775	Operation string `json:"operation,omitempty"`
5776
5777	// OperationStartTime: The time when the operation was started.
5778	OperationStartTime string `json:"operationStartTime,omitempty"`
5779
5780	// Resource: Optional relative path to the resource. For example in node
5781	// pool upgrades, the relative path of the node pool.
5782	Resource string `json:"resource,omitempty"`
5783
5784	// ResourceType: The resource type that is upgrading.
5785	//
5786	// Possible values:
5787	//   "UPGRADE_RESOURCE_TYPE_UNSPECIFIED" - Default value. This shouldn't
5788	// be used.
5789	//   "MASTER" - Master / control plane
5790	//   "NODE_POOL" - Node pool
5791	ResourceType string `json:"resourceType,omitempty"`
5792
5793	// TargetVersion: The target version for the upgrade.
5794	TargetVersion string `json:"targetVersion,omitempty"`
5795
5796	// ForceSendFields is a list of field names (e.g. "CurrentVersion") to
5797	// unconditionally include in API requests. By default, fields with
5798	// empty values are omitted from API requests. However, any non-pointer,
5799	// non-interface field appearing in ForceSendFields will be sent to the
5800	// server regardless of whether the field is empty or not. This may be
5801	// used to include empty fields in Patch requests.
5802	ForceSendFields []string `json:"-"`
5803
5804	// NullFields is a list of field names (e.g. "CurrentVersion") to
5805	// include in API requests with the JSON null value. By default, fields
5806	// with empty values are omitted from API requests. However, any field
5807	// with an empty value appearing in NullFields will be sent to the
5808	// server as null. It is an error if a field in this list has a
5809	// non-empty value. This may be used to include null fields in Patch
5810	// requests.
5811	NullFields []string `json:"-"`
5812}
5813
5814func (s *UpgradeEvent) MarshalJSON() ([]byte, error) {
5815	type NoMethod UpgradeEvent
5816	raw := NoMethod(*s)
5817	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5818}
5819
5820// UpgradeSettings: These upgrade settings control the level of
5821// parallelism and the level of disruption caused by an upgrade.
5822// maxUnavailable controls the number of nodes that can be
5823// simultaneously unavailable. maxSurge controls the number of
5824// additional nodes that can be added to the node pool temporarily for
5825// the time of the upgrade to increase the number of available nodes.
5826// (maxUnavailable + maxSurge) determines the level of parallelism (how
5827// many nodes are being upgraded at the same time). Note: upgrades
5828// inevitably introduce some disruption since workloads need to be moved
5829// from old nodes to new, upgraded ones. Even if maxUnavailable=0, this
5830// holds true. (Disruption stays within the limits of
5831// PodDisruptionBudget, if it is configured.) Consider a hypothetical
5832// node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This
5833// means the upgrade process upgrades 3 nodes simultaneously. It creates
5834// 2 additional (upgraded) nodes, then it brings down 3 old (not yet
5835// upgraded) nodes at the same time. This ensures that there are always
5836// at least 4 nodes available.
5837type UpgradeSettings struct {
5838	// MaxSurge: The maximum number of nodes that can be created beyond the
5839	// current size of the node pool during the upgrade process.
5840	MaxSurge int64 `json:"maxSurge,omitempty"`
5841
5842	// MaxUnavailable: The maximum number of nodes that can be
5843	// simultaneously unavailable during the upgrade process. A node is
5844	// considered available if its status is Ready.
5845	MaxUnavailable int64 `json:"maxUnavailable,omitempty"`
5846
5847	// ForceSendFields is a list of field names (e.g. "MaxSurge") to
5848	// unconditionally include in API requests. By default, fields with
5849	// empty values are omitted from API requests. However, any non-pointer,
5850	// non-interface field appearing in ForceSendFields will be sent to the
5851	// server regardless of whether the field is empty or not. This may be
5852	// used to include empty fields in Patch requests.
5853	ForceSendFields []string `json:"-"`
5854
5855	// NullFields is a list of field names (e.g. "MaxSurge") to include in
5856	// API requests with the JSON null value. By default, fields with empty
5857	// values are omitted from API requests. However, any field with an
5858	// empty value appearing in NullFields will be sent to the server as
5859	// null. It is an error if a field in this list has a non-empty value.
5860	// This may be used to include null fields in Patch requests.
5861	NullFields []string `json:"-"`
5862}
5863
5864func (s *UpgradeSettings) MarshalJSON() ([]byte, error) {
5865	type NoMethod UpgradeSettings
5866	raw := NoMethod(*s)
5867	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5868}
5869
5870// UsableSubnetwork: UsableSubnetwork resource returns the subnetwork
5871// name, its associated network and the primary CIDR range.
5872type UsableSubnetwork struct {
5873	// IpCidrRange: The range of internal addresses that are owned by this
5874	// subnetwork.
5875	IpCidrRange string `json:"ipCidrRange,omitempty"`
5876
5877	// Network: Network Name. Example:
5878	// projects/my-project/global/networks/my-network
5879	Network string `json:"network,omitempty"`
5880
5881	// SecondaryIpRanges: Secondary IP ranges.
5882	SecondaryIpRanges []*UsableSubnetworkSecondaryRange `json:"secondaryIpRanges,omitempty"`
5883
5884	// StatusMessage: A human readable status message representing the
5885	// reasons for cases where the caller cannot use the secondary ranges
5886	// under the subnet. For example if the secondary_ip_ranges is empty due
5887	// to a permission issue, an insufficient permission message will be
5888	// given by status_message.
5889	StatusMessage string `json:"statusMessage,omitempty"`
5890
5891	// Subnetwork: Subnetwork Name. Example:
5892	// projects/my-project/regions/us-central1/subnetworks/my-subnet
5893	Subnetwork string `json:"subnetwork,omitempty"`
5894
5895	// ForceSendFields is a list of field names (e.g. "IpCidrRange") to
5896	// unconditionally include in API requests. By default, fields with
5897	// empty values are omitted from API requests. However, any non-pointer,
5898	// non-interface field appearing in ForceSendFields will be sent to the
5899	// server regardless of whether the field is empty or not. This may be
5900	// used to include empty fields in Patch requests.
5901	ForceSendFields []string `json:"-"`
5902
5903	// NullFields is a list of field names (e.g. "IpCidrRange") to include
5904	// in API requests with the JSON null value. By default, fields with
5905	// empty values are omitted from API requests. However, any field with
5906	// an empty value appearing in NullFields will be sent to the server as
5907	// null. It is an error if a field in this list has a non-empty value.
5908	// This may be used to include null fields in Patch requests.
5909	NullFields []string `json:"-"`
5910}
5911
5912func (s *UsableSubnetwork) MarshalJSON() ([]byte, error) {
5913	type NoMethod UsableSubnetwork
5914	raw := NoMethod(*s)
5915	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5916}
5917
5918// UsableSubnetworkSecondaryRange: Secondary IP range of a usable
5919// subnetwork.
5920type UsableSubnetworkSecondaryRange struct {
5921	// IpCidrRange: The range of IP addresses belonging to this subnetwork
5922	// secondary range.
5923	IpCidrRange string `json:"ipCidrRange,omitempty"`
5924
5925	// RangeName: The name associated with this subnetwork secondary range,
5926	// used when adding an alias IP range to a VM instance.
5927	RangeName string `json:"rangeName,omitempty"`
5928
5929	// Status: This field is to determine the status of the secondary range
5930	// programmably.
5931	//
5932	// Possible values:
5933	//   "UNKNOWN" - UNKNOWN is the zero value of the Status enum. It's not
5934	// a valid status.
5935	//   "UNUSED" - UNUSED denotes that this range is unclaimed by any
5936	// cluster.
5937	//   "IN_USE_SERVICE" - IN_USE_SERVICE denotes that this range is
5938	// claimed by a cluster for services. It cannot be used for other
5939	// clusters.
5940	//   "IN_USE_SHAREABLE_POD" - IN_USE_SHAREABLE_POD denotes this range
5941	// was created by the network admin and is currently claimed by a
5942	// cluster for pods. It can only be used by other clusters as a pod
5943	// range.
5944	//   "IN_USE_MANAGED_POD" - IN_USE_MANAGED_POD denotes this range was
5945	// created by GKE and is claimed for pods. It cannot be used for other
5946	// clusters.
5947	Status string `json:"status,omitempty"`
5948
5949	// ForceSendFields is a list of field names (e.g. "IpCidrRange") to
5950	// unconditionally include in API requests. By default, fields with
5951	// empty values are omitted from API requests. However, any non-pointer,
5952	// non-interface field appearing in ForceSendFields will be sent to the
5953	// server regardless of whether the field is empty or not. This may be
5954	// used to include empty fields in Patch requests.
5955	ForceSendFields []string `json:"-"`
5956
5957	// NullFields is a list of field names (e.g. "IpCidrRange") to include
5958	// in API requests with the JSON null value. By default, fields with
5959	// empty values are omitted from API requests. However, any field with
5960	// an empty value appearing in NullFields will be sent to the server as
5961	// null. It is an error if a field in this list has a non-empty value.
5962	// This may be used to include null fields in Patch requests.
5963	NullFields []string `json:"-"`
5964}
5965
5966func (s *UsableSubnetworkSecondaryRange) MarshalJSON() ([]byte, error) {
5967	type NoMethod UsableSubnetworkSecondaryRange
5968	raw := NoMethod(*s)
5969	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5970}
5971
5972// VerticalPodAutoscaling: VerticalPodAutoscaling contains global,
5973// per-cluster information required by Vertical Pod Autoscaler to
5974// automatically adjust the resources of pods controlled by it.
5975type VerticalPodAutoscaling struct {
5976	// Enabled: Enables vertical pod autoscaling.
5977	Enabled bool `json:"enabled,omitempty"`
5978
5979	// ForceSendFields is a list of field names (e.g. "Enabled") to
5980	// unconditionally include in API requests. By default, fields with
5981	// empty values are omitted from API requests. However, any non-pointer,
5982	// non-interface field appearing in ForceSendFields will be sent to the
5983	// server regardless of whether the field is empty or not. This may be
5984	// used to include empty fields in Patch requests.
5985	ForceSendFields []string `json:"-"`
5986
5987	// NullFields is a list of field names (e.g. "Enabled") to include in
5988	// API requests with the JSON null value. By default, fields with empty
5989	// values are omitted from API requests. However, any field with an
5990	// empty value appearing in NullFields will be sent to the server as
5991	// null. It is an error if a field in this list has a non-empty value.
5992	// This may be used to include null fields in Patch requests.
5993	NullFields []string `json:"-"`
5994}
5995
5996func (s *VerticalPodAutoscaling) MarshalJSON() ([]byte, error) {
5997	type NoMethod VerticalPodAutoscaling
5998	raw := NoMethod(*s)
5999	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6000}
6001
6002// WorkloadIdentityConfig: Configuration for the use of Kubernetes
6003// Service Accounts in GCP IAM policies.
6004type WorkloadIdentityConfig struct {
6005	// IdentityNamespace: IAM Identity Namespace to attach all Kubernetes
6006	// Service Accounts to.
6007	IdentityNamespace string `json:"identityNamespace,omitempty"`
6008
6009	// IdentityProvider: identity provider is the third party identity
6010	// provider.
6011	IdentityProvider string `json:"identityProvider,omitempty"`
6012
6013	// WorkloadPool: The workload pool to attach all Kubernetes service
6014	// accounts to.
6015	WorkloadPool string `json:"workloadPool,omitempty"`
6016
6017	// ForceSendFields is a list of field names (e.g. "IdentityNamespace")
6018	// to unconditionally include in API requests. By default, fields with
6019	// empty values are omitted from API requests. However, any non-pointer,
6020	// non-interface field appearing in ForceSendFields will be sent to the
6021	// server regardless of whether the field is empty or not. This may be
6022	// used to include empty fields in Patch requests.
6023	ForceSendFields []string `json:"-"`
6024
6025	// NullFields is a list of field names (e.g. "IdentityNamespace") to
6026	// include in API requests with the JSON null value. By default, fields
6027	// with empty values are omitted from API requests. However, any field
6028	// with an empty value appearing in NullFields will be sent to the
6029	// server as null. It is an error if a field in this list has a
6030	// non-empty value. This may be used to include null fields in Patch
6031	// requests.
6032	NullFields []string `json:"-"`
6033}
6034
6035func (s *WorkloadIdentityConfig) MarshalJSON() ([]byte, error) {
6036	type NoMethod WorkloadIdentityConfig
6037	raw := NoMethod(*s)
6038	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6039}
6040
6041// WorkloadMetadataConfig: WorkloadMetadataConfig defines the metadata
6042// configuration to expose to workloads on the node pool.
6043type WorkloadMetadataConfig struct {
6044	// Mode: Mode is the configuration for how to expose metadata to
6045	// workloads running on the node pool.
6046	//
6047	// Possible values:
6048	//   "MODE_UNSPECIFIED" - Not set.
6049	//   "GCE_METADATA" - Expose all Compute Engine metadata to pods.
6050	//   "GKE_METADATA" - Run the GKE Metadata Server on this node. The GKE
6051	// Metadata Server exposes a metadata API to workloads that is
6052	// compatible with the V1 Compute Metadata APIs exposed by the Compute
6053	// Engine and App Engine Metadata Servers. This feature can only be
6054	// enabled if Workload Identity is enabled at the cluster level.
6055	Mode string `json:"mode,omitempty"`
6056
6057	// NodeMetadata: NodeMetadata is the configuration for how to expose
6058	// metadata to the workloads running on the node.
6059	//
6060	// Possible values:
6061	//   "UNSPECIFIED" - Not set.
6062	//   "SECURE" - Prevent workloads not in hostNetwork from accessing
6063	// certain VM metadata, specifically kube-env, which contains Kubelet
6064	// credentials, and the instance identity token. Metadata concealment is
6065	// a temporary security solution available while the bootstrapping
6066	// process for cluster nodes is being redesigned with significant
6067	// security improvements. This feature is scheduled to be deprecated in
6068	// the future and later removed.
6069	//   "EXPOSE" - Expose all VM metadata to pods.
6070	//   "GKE_METADATA_SERVER" - Run the GKE Metadata Server on this node.
6071	// The GKE Metadata Server exposes a metadata API to workloads that is
6072	// compatible with the V1 Compute Metadata APIs exposed by the Compute
6073	// Engine and App Engine Metadata Servers. This feature can only be
6074	// enabled if Workload Identity is enabled at the cluster level.
6075	NodeMetadata string `json:"nodeMetadata,omitempty"`
6076
6077	// ForceSendFields is a list of field names (e.g. "Mode") to
6078	// unconditionally include in API requests. By default, fields with
6079	// empty values are omitted from API requests. However, any non-pointer,
6080	// non-interface field appearing in ForceSendFields will be sent to the
6081	// server regardless of whether the field is empty or not. This may be
6082	// used to include empty fields in Patch requests.
6083	ForceSendFields []string `json:"-"`
6084
6085	// NullFields is a list of field names (e.g. "Mode") to include in API
6086	// requests with the JSON null value. By default, fields with empty
6087	// values are omitted from API requests. However, any field with an
6088	// empty value appearing in NullFields will be sent to the server as
6089	// null. It is an error if a field in this list has a non-empty value.
6090	// This may be used to include null fields in Patch requests.
6091	NullFields []string `json:"-"`
6092}
6093
6094func (s *WorkloadMetadataConfig) MarshalJSON() ([]byte, error) {
6095	type NoMethod WorkloadMetadataConfig
6096	raw := NoMethod(*s)
6097	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6098}
6099
6100// method id "container.projects.aggregated.usableSubnetworks.list":
6101
6102type ProjectsAggregatedUsableSubnetworksListCall struct {
6103	s            *Service
6104	parent       string
6105	urlParams_   gensupport.URLParams
6106	ifNoneMatch_ string
6107	ctx_         context.Context
6108	header_      http.Header
6109}
6110
6111// List: Lists subnetworks that can be used for creating clusters in a
6112// project.
6113//
6114// - parent: The parent project where subnetworks are usable. Specified
6115//   in the format `projects/*`.
6116func (r *ProjectsAggregatedUsableSubnetworksService) List(parent string) *ProjectsAggregatedUsableSubnetworksListCall {
6117	c := &ProjectsAggregatedUsableSubnetworksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6118	c.parent = parent
6119	return c
6120}
6121
6122// Filter sets the optional parameter "filter": Filtering currently only
6123// supports equality on the networkProjectId and must be in the form:
6124// "networkProjectId=[PROJECTID]", where `networkProjectId` is the
6125// project which owns the listed subnetworks. This defaults to the
6126// parent project ID.
6127func (c *ProjectsAggregatedUsableSubnetworksListCall) Filter(filter string) *ProjectsAggregatedUsableSubnetworksListCall {
6128	c.urlParams_.Set("filter", filter)
6129	return c
6130}
6131
6132// PageSize sets the optional parameter "pageSize": The max number of
6133// results per page that should be returned. If the number of available
6134// results is larger than `page_size`, a `next_page_token` is returned
6135// which can be used to get the next page of results in subsequent
6136// requests. Acceptable values are 0 to 500, inclusive. (Default: 500)
6137func (c *ProjectsAggregatedUsableSubnetworksListCall) PageSize(pageSize int64) *ProjectsAggregatedUsableSubnetworksListCall {
6138	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
6139	return c
6140}
6141
6142// PageToken sets the optional parameter "pageToken": Specifies a page
6143// token to use. Set this to the nextPageToken returned by previous list
6144// requests to get the next page of results.
6145func (c *ProjectsAggregatedUsableSubnetworksListCall) PageToken(pageToken string) *ProjectsAggregatedUsableSubnetworksListCall {
6146	c.urlParams_.Set("pageToken", pageToken)
6147	return c
6148}
6149
6150// Fields allows partial responses to be retrieved. See
6151// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6152// for more information.
6153func (c *ProjectsAggregatedUsableSubnetworksListCall) Fields(s ...googleapi.Field) *ProjectsAggregatedUsableSubnetworksListCall {
6154	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6155	return c
6156}
6157
6158// IfNoneMatch sets the optional parameter which makes the operation
6159// fail if the object's ETag matches the given value. This is useful for
6160// getting updates only after the object has changed since the last
6161// request. Use googleapi.IsNotModified to check whether the response
6162// error from Do is the result of In-None-Match.
6163func (c *ProjectsAggregatedUsableSubnetworksListCall) IfNoneMatch(entityTag string) *ProjectsAggregatedUsableSubnetworksListCall {
6164	c.ifNoneMatch_ = entityTag
6165	return c
6166}
6167
6168// Context sets the context to be used in this call's Do method. Any
6169// pending HTTP request will be aborted if the provided context is
6170// canceled.
6171func (c *ProjectsAggregatedUsableSubnetworksListCall) Context(ctx context.Context) *ProjectsAggregatedUsableSubnetworksListCall {
6172	c.ctx_ = ctx
6173	return c
6174}
6175
6176// Header returns an http.Header that can be modified by the caller to
6177// add HTTP headers to the request.
6178func (c *ProjectsAggregatedUsableSubnetworksListCall) Header() http.Header {
6179	if c.header_ == nil {
6180		c.header_ = make(http.Header)
6181	}
6182	return c.header_
6183}
6184
6185func (c *ProjectsAggregatedUsableSubnetworksListCall) doRequest(alt string) (*http.Response, error) {
6186	reqHeaders := make(http.Header)
6187	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6188	for k, v := range c.header_ {
6189		reqHeaders[k] = v
6190	}
6191	reqHeaders.Set("User-Agent", c.s.userAgent())
6192	if c.ifNoneMatch_ != "" {
6193		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6194	}
6195	var body io.Reader = nil
6196	c.urlParams_.Set("alt", alt)
6197	c.urlParams_.Set("prettyPrint", "false")
6198	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/aggregated/usableSubnetworks")
6199	urls += "?" + c.urlParams_.Encode()
6200	req, err := http.NewRequest("GET", urls, body)
6201	if err != nil {
6202		return nil, err
6203	}
6204	req.Header = reqHeaders
6205	googleapi.Expand(req.URL, map[string]string{
6206		"parent": c.parent,
6207	})
6208	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6209}
6210
6211// Do executes the "container.projects.aggregated.usableSubnetworks.list" call.
6212// Exactly one of *ListUsableSubnetworksResponse or error will be
6213// non-nil. Any non-2xx status code is an error. Response headers are in
6214// either *ListUsableSubnetworksResponse.ServerResponse.Header or (if a
6215// response was returned at all) in error.(*googleapi.Error).Header. Use
6216// googleapi.IsNotModified to check whether the returned error was
6217// because http.StatusNotModified was returned.
6218func (c *ProjectsAggregatedUsableSubnetworksListCall) Do(opts ...googleapi.CallOption) (*ListUsableSubnetworksResponse, error) {
6219	gensupport.SetOptions(c.urlParams_, opts...)
6220	res, err := c.doRequest("json")
6221	if res != nil && res.StatusCode == http.StatusNotModified {
6222		if res.Body != nil {
6223			res.Body.Close()
6224		}
6225		return nil, &googleapi.Error{
6226			Code:   res.StatusCode,
6227			Header: res.Header,
6228		}
6229	}
6230	if err != nil {
6231		return nil, err
6232	}
6233	defer googleapi.CloseBody(res)
6234	if err := googleapi.CheckResponse(res); err != nil {
6235		return nil, err
6236	}
6237	ret := &ListUsableSubnetworksResponse{
6238		ServerResponse: googleapi.ServerResponse{
6239			Header:         res.Header,
6240			HTTPStatusCode: res.StatusCode,
6241		},
6242	}
6243	target := &ret
6244	if err := gensupport.DecodeResponse(target, res); err != nil {
6245		return nil, err
6246	}
6247	return ret, nil
6248	// {
6249	//   "description": "Lists subnetworks that can be used for creating clusters in a project.",
6250	//   "flatPath": "v1beta1/projects/{projectsId}/aggregated/usableSubnetworks",
6251	//   "httpMethod": "GET",
6252	//   "id": "container.projects.aggregated.usableSubnetworks.list",
6253	//   "parameterOrder": [
6254	//     "parent"
6255	//   ],
6256	//   "parameters": {
6257	//     "filter": {
6258	//       "description": "Filtering currently only supports equality on the networkProjectId and must be in the form: \"networkProjectId=[PROJECTID]\", where `networkProjectId` is the project which owns the listed subnetworks. This defaults to the parent project ID.",
6259	//       "location": "query",
6260	//       "type": "string"
6261	//     },
6262	//     "pageSize": {
6263	//       "description": "The max number of results per page that should be returned. If the number of available results is larger than `page_size`, a `next_page_token` is returned which can be used to get the next page of results in subsequent requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
6264	//       "format": "int32",
6265	//       "location": "query",
6266	//       "type": "integer"
6267	//     },
6268	//     "pageToken": {
6269	//       "description": "Specifies a page token to use. Set this to the nextPageToken returned by previous list requests to get the next page of results.",
6270	//       "location": "query",
6271	//       "type": "string"
6272	//     },
6273	//     "parent": {
6274	//       "description": "Required. The parent project where subnetworks are usable. Specified in the format `projects/*`.",
6275	//       "location": "path",
6276	//       "pattern": "^projects/[^/]+$",
6277	//       "required": true,
6278	//       "type": "string"
6279	//     }
6280	//   },
6281	//   "path": "v1beta1/{+parent}/aggregated/usableSubnetworks",
6282	//   "response": {
6283	//     "$ref": "ListUsableSubnetworksResponse"
6284	//   },
6285	//   "scopes": [
6286	//     "https://www.googleapis.com/auth/cloud-platform"
6287	//   ]
6288	// }
6289
6290}
6291
6292// Pages invokes f for each page of results.
6293// A non-nil error returned from f will halt the iteration.
6294// The provided context supersedes any context provided to the Context method.
6295func (c *ProjectsAggregatedUsableSubnetworksListCall) Pages(ctx context.Context, f func(*ListUsableSubnetworksResponse) error) error {
6296	c.ctx_ = ctx
6297	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
6298	for {
6299		x, err := c.Do()
6300		if err != nil {
6301			return err
6302		}
6303		if err := f(x); err != nil {
6304			return err
6305		}
6306		if x.NextPageToken == "" {
6307			return nil
6308		}
6309		c.PageToken(x.NextPageToken)
6310	}
6311}
6312
6313// method id "container.projects.locations.getServerConfig":
6314
6315type ProjectsLocationsGetServerConfigCall struct {
6316	s            *Service
6317	name         string
6318	urlParams_   gensupport.URLParams
6319	ifNoneMatch_ string
6320	ctx_         context.Context
6321	header_      http.Header
6322}
6323
6324// GetServerConfig: Returns configuration info about the Google
6325// Kubernetes Engine service.
6326//
6327// - name: The name (project and location) of the server config to get,
6328//   specified in the format `projects/*/locations/*`.
6329func (r *ProjectsLocationsService) GetServerConfig(name string) *ProjectsLocationsGetServerConfigCall {
6330	c := &ProjectsLocationsGetServerConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6331	c.name = name
6332	return c
6333}
6334
6335// ProjectId sets the optional parameter "projectId": Required.
6336// Deprecated. The Google Developers Console project ID or project
6337// number (https://support.google.com/cloud/answer/6158840). This field
6338// has been deprecated and replaced by the name field.
6339func (c *ProjectsLocationsGetServerConfigCall) ProjectId(projectId string) *ProjectsLocationsGetServerConfigCall {
6340	c.urlParams_.Set("projectId", projectId)
6341	return c
6342}
6343
6344// Zone sets the optional parameter "zone": Required. Deprecated. The
6345// name of the Google Compute Engine zone
6346// (https://cloud.google.com/compute/docs/zones#available) to return
6347// operations for. This field has been deprecated and replaced by the
6348// name field.
6349func (c *ProjectsLocationsGetServerConfigCall) Zone(zone string) *ProjectsLocationsGetServerConfigCall {
6350	c.urlParams_.Set("zone", zone)
6351	return c
6352}
6353
6354// Fields allows partial responses to be retrieved. See
6355// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6356// for more information.
6357func (c *ProjectsLocationsGetServerConfigCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetServerConfigCall {
6358	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6359	return c
6360}
6361
6362// IfNoneMatch sets the optional parameter which makes the operation
6363// fail if the object's ETag matches the given value. This is useful for
6364// getting updates only after the object has changed since the last
6365// request. Use googleapi.IsNotModified to check whether the response
6366// error from Do is the result of In-None-Match.
6367func (c *ProjectsLocationsGetServerConfigCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetServerConfigCall {
6368	c.ifNoneMatch_ = entityTag
6369	return c
6370}
6371
6372// Context sets the context to be used in this call's Do method. Any
6373// pending HTTP request will be aborted if the provided context is
6374// canceled.
6375func (c *ProjectsLocationsGetServerConfigCall) Context(ctx context.Context) *ProjectsLocationsGetServerConfigCall {
6376	c.ctx_ = ctx
6377	return c
6378}
6379
6380// Header returns an http.Header that can be modified by the caller to
6381// add HTTP headers to the request.
6382func (c *ProjectsLocationsGetServerConfigCall) Header() http.Header {
6383	if c.header_ == nil {
6384		c.header_ = make(http.Header)
6385	}
6386	return c.header_
6387}
6388
6389func (c *ProjectsLocationsGetServerConfigCall) doRequest(alt string) (*http.Response, error) {
6390	reqHeaders := make(http.Header)
6391	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6392	for k, v := range c.header_ {
6393		reqHeaders[k] = v
6394	}
6395	reqHeaders.Set("User-Agent", c.s.userAgent())
6396	if c.ifNoneMatch_ != "" {
6397		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6398	}
6399	var body io.Reader = nil
6400	c.urlParams_.Set("alt", alt)
6401	c.urlParams_.Set("prettyPrint", "false")
6402	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/serverConfig")
6403	urls += "?" + c.urlParams_.Encode()
6404	req, err := http.NewRequest("GET", urls, body)
6405	if err != nil {
6406		return nil, err
6407	}
6408	req.Header = reqHeaders
6409	googleapi.Expand(req.URL, map[string]string{
6410		"name": c.name,
6411	})
6412	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6413}
6414
6415// Do executes the "container.projects.locations.getServerConfig" call.
6416// Exactly one of *ServerConfig or error will be non-nil. Any non-2xx
6417// status code is an error. Response headers are in either
6418// *ServerConfig.ServerResponse.Header or (if a response was returned at
6419// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6420// to check whether the returned error was because
6421// http.StatusNotModified was returned.
6422func (c *ProjectsLocationsGetServerConfigCall) Do(opts ...googleapi.CallOption) (*ServerConfig, error) {
6423	gensupport.SetOptions(c.urlParams_, opts...)
6424	res, err := c.doRequest("json")
6425	if res != nil && res.StatusCode == http.StatusNotModified {
6426		if res.Body != nil {
6427			res.Body.Close()
6428		}
6429		return nil, &googleapi.Error{
6430			Code:   res.StatusCode,
6431			Header: res.Header,
6432		}
6433	}
6434	if err != nil {
6435		return nil, err
6436	}
6437	defer googleapi.CloseBody(res)
6438	if err := googleapi.CheckResponse(res); err != nil {
6439		return nil, err
6440	}
6441	ret := &ServerConfig{
6442		ServerResponse: googleapi.ServerResponse{
6443			Header:         res.Header,
6444			HTTPStatusCode: res.StatusCode,
6445		},
6446	}
6447	target := &ret
6448	if err := gensupport.DecodeResponse(target, res); err != nil {
6449		return nil, err
6450	}
6451	return ret, nil
6452	// {
6453	//   "description": "Returns configuration info about the Google Kubernetes Engine service.",
6454	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverConfig",
6455	//   "httpMethod": "GET",
6456	//   "id": "container.projects.locations.getServerConfig",
6457	//   "parameterOrder": [
6458	//     "name"
6459	//   ],
6460	//   "parameters": {
6461	//     "name": {
6462	//       "description": "The name (project and location) of the server config to get, specified in the format `projects/*/locations/*`.",
6463	//       "location": "path",
6464	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
6465	//       "required": true,
6466	//       "type": "string"
6467	//     },
6468	//     "projectId": {
6469	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
6470	//       "location": "query",
6471	//       "type": "string"
6472	//     },
6473	//     "zone": {
6474	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for. This field has been deprecated and replaced by the name field.",
6475	//       "location": "query",
6476	//       "type": "string"
6477	//     }
6478	//   },
6479	//   "path": "v1beta1/{+name}/serverConfig",
6480	//   "response": {
6481	//     "$ref": "ServerConfig"
6482	//   },
6483	//   "scopes": [
6484	//     "https://www.googleapis.com/auth/cloud-platform"
6485	//   ]
6486	// }
6487
6488}
6489
6490// method id "container.projects.locations.list":
6491
6492type ProjectsLocationsListCall struct {
6493	s            *Service
6494	parent       string
6495	urlParams_   gensupport.URLParams
6496	ifNoneMatch_ string
6497	ctx_         context.Context
6498	header_      http.Header
6499}
6500
6501// List: Fetches locations that offer Google Kubernetes Engine.
6502//
6503// - parent: Contains the name of the resource requested. Specified in
6504//   the format `projects/*`.
6505func (r *ProjectsLocationsService) List(parent string) *ProjectsLocationsListCall {
6506	c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6507	c.parent = parent
6508	return c
6509}
6510
6511// Fields allows partial responses to be retrieved. See
6512// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6513// for more information.
6514func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
6515	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6516	return c
6517}
6518
6519// IfNoneMatch sets the optional parameter which makes the operation
6520// fail if the object's ETag matches the given value. This is useful for
6521// getting updates only after the object has changed since the last
6522// request. Use googleapi.IsNotModified to check whether the response
6523// error from Do is the result of In-None-Match.
6524func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
6525	c.ifNoneMatch_ = entityTag
6526	return c
6527}
6528
6529// Context sets the context to be used in this call's Do method. Any
6530// pending HTTP request will be aborted if the provided context is
6531// canceled.
6532func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
6533	c.ctx_ = ctx
6534	return c
6535}
6536
6537// Header returns an http.Header that can be modified by the caller to
6538// add HTTP headers to the request.
6539func (c *ProjectsLocationsListCall) Header() http.Header {
6540	if c.header_ == nil {
6541		c.header_ = make(http.Header)
6542	}
6543	return c.header_
6544}
6545
6546func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
6547	reqHeaders := make(http.Header)
6548	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6549	for k, v := range c.header_ {
6550		reqHeaders[k] = v
6551	}
6552	reqHeaders.Set("User-Agent", c.s.userAgent())
6553	if c.ifNoneMatch_ != "" {
6554		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6555	}
6556	var body io.Reader = nil
6557	c.urlParams_.Set("alt", alt)
6558	c.urlParams_.Set("prettyPrint", "false")
6559	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/locations")
6560	urls += "?" + c.urlParams_.Encode()
6561	req, err := http.NewRequest("GET", urls, body)
6562	if err != nil {
6563		return nil, err
6564	}
6565	req.Header = reqHeaders
6566	googleapi.Expand(req.URL, map[string]string{
6567		"parent": c.parent,
6568	})
6569	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6570}
6571
6572// Do executes the "container.projects.locations.list" call.
6573// Exactly one of *ListLocationsResponse or error will be non-nil. Any
6574// non-2xx status code is an error. Response headers are in either
6575// *ListLocationsResponse.ServerResponse.Header or (if a response was
6576// returned at all) in error.(*googleapi.Error).Header. Use
6577// googleapi.IsNotModified to check whether the returned error was
6578// because http.StatusNotModified was returned.
6579func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
6580	gensupport.SetOptions(c.urlParams_, opts...)
6581	res, err := c.doRequest("json")
6582	if res != nil && res.StatusCode == http.StatusNotModified {
6583		if res.Body != nil {
6584			res.Body.Close()
6585		}
6586		return nil, &googleapi.Error{
6587			Code:   res.StatusCode,
6588			Header: res.Header,
6589		}
6590	}
6591	if err != nil {
6592		return nil, err
6593	}
6594	defer googleapi.CloseBody(res)
6595	if err := googleapi.CheckResponse(res); err != nil {
6596		return nil, err
6597	}
6598	ret := &ListLocationsResponse{
6599		ServerResponse: googleapi.ServerResponse{
6600			Header:         res.Header,
6601			HTTPStatusCode: res.StatusCode,
6602		},
6603	}
6604	target := &ret
6605	if err := gensupport.DecodeResponse(target, res); err != nil {
6606		return nil, err
6607	}
6608	return ret, nil
6609	// {
6610	//   "description": "Fetches locations that offer Google Kubernetes Engine.",
6611	//   "flatPath": "v1beta1/projects/{projectsId}/locations",
6612	//   "httpMethod": "GET",
6613	//   "id": "container.projects.locations.list",
6614	//   "parameterOrder": [
6615	//     "parent"
6616	//   ],
6617	//   "parameters": {
6618	//     "parent": {
6619	//       "description": "Required. Contains the name of the resource requested. Specified in the format `projects/*`.",
6620	//       "location": "path",
6621	//       "pattern": "^projects/[^/]+$",
6622	//       "required": true,
6623	//       "type": "string"
6624	//     }
6625	//   },
6626	//   "path": "v1beta1/{+parent}/locations",
6627	//   "response": {
6628	//     "$ref": "ListLocationsResponse"
6629	//   },
6630	//   "scopes": [
6631	//     "https://www.googleapis.com/auth/cloud-platform"
6632	//   ]
6633	// }
6634
6635}
6636
6637// method id "container.projects.locations.clusters.completeIpRotation":
6638
6639type ProjectsLocationsClustersCompleteIpRotationCall struct {
6640	s                         *Service
6641	name                      string
6642	completeiprotationrequest *CompleteIPRotationRequest
6643	urlParams_                gensupport.URLParams
6644	ctx_                      context.Context
6645	header_                   http.Header
6646}
6647
6648// CompleteIpRotation: Completes master IP rotation.
6649//
6650// - name: The name (project, location, cluster id) of the cluster to
6651//   complete IP rotation. Specified in the format
6652//   `projects/*/locations/*/clusters/*`.
6653func (r *ProjectsLocationsClustersService) CompleteIpRotation(name string, completeiprotationrequest *CompleteIPRotationRequest) *ProjectsLocationsClustersCompleteIpRotationCall {
6654	c := &ProjectsLocationsClustersCompleteIpRotationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6655	c.name = name
6656	c.completeiprotationrequest = completeiprotationrequest
6657	return c
6658}
6659
6660// Fields allows partial responses to be retrieved. See
6661// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6662// for more information.
6663func (c *ProjectsLocationsClustersCompleteIpRotationCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersCompleteIpRotationCall {
6664	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6665	return c
6666}
6667
6668// Context sets the context to be used in this call's Do method. Any
6669// pending HTTP request will be aborted if the provided context is
6670// canceled.
6671func (c *ProjectsLocationsClustersCompleteIpRotationCall) Context(ctx context.Context) *ProjectsLocationsClustersCompleteIpRotationCall {
6672	c.ctx_ = ctx
6673	return c
6674}
6675
6676// Header returns an http.Header that can be modified by the caller to
6677// add HTTP headers to the request.
6678func (c *ProjectsLocationsClustersCompleteIpRotationCall) Header() http.Header {
6679	if c.header_ == nil {
6680		c.header_ = make(http.Header)
6681	}
6682	return c.header_
6683}
6684
6685func (c *ProjectsLocationsClustersCompleteIpRotationCall) doRequest(alt string) (*http.Response, error) {
6686	reqHeaders := make(http.Header)
6687	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6688	for k, v := range c.header_ {
6689		reqHeaders[k] = v
6690	}
6691	reqHeaders.Set("User-Agent", c.s.userAgent())
6692	var body io.Reader = nil
6693	body, err := googleapi.WithoutDataWrapper.JSONReader(c.completeiprotationrequest)
6694	if err != nil {
6695		return nil, err
6696	}
6697	reqHeaders.Set("Content-Type", "application/json")
6698	c.urlParams_.Set("alt", alt)
6699	c.urlParams_.Set("prettyPrint", "false")
6700	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:completeIpRotation")
6701	urls += "?" + c.urlParams_.Encode()
6702	req, err := http.NewRequest("POST", urls, body)
6703	if err != nil {
6704		return nil, err
6705	}
6706	req.Header = reqHeaders
6707	googleapi.Expand(req.URL, map[string]string{
6708		"name": c.name,
6709	})
6710	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6711}
6712
6713// Do executes the "container.projects.locations.clusters.completeIpRotation" call.
6714// Exactly one of *Operation or error will be non-nil. Any non-2xx
6715// status code is an error. Response headers are in either
6716// *Operation.ServerResponse.Header or (if a response was returned at
6717// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6718// to check whether the returned error was because
6719// http.StatusNotModified was returned.
6720func (c *ProjectsLocationsClustersCompleteIpRotationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
6721	gensupport.SetOptions(c.urlParams_, opts...)
6722	res, err := c.doRequest("json")
6723	if res != nil && res.StatusCode == http.StatusNotModified {
6724		if res.Body != nil {
6725			res.Body.Close()
6726		}
6727		return nil, &googleapi.Error{
6728			Code:   res.StatusCode,
6729			Header: res.Header,
6730		}
6731	}
6732	if err != nil {
6733		return nil, err
6734	}
6735	defer googleapi.CloseBody(res)
6736	if err := googleapi.CheckResponse(res); err != nil {
6737		return nil, err
6738	}
6739	ret := &Operation{
6740		ServerResponse: googleapi.ServerResponse{
6741			Header:         res.Header,
6742			HTTPStatusCode: res.StatusCode,
6743		},
6744	}
6745	target := &ret
6746	if err := gensupport.DecodeResponse(target, res); err != nil {
6747		return nil, err
6748	}
6749	return ret, nil
6750	// {
6751	//   "description": "Completes master IP rotation.",
6752	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:completeIpRotation",
6753	//   "httpMethod": "POST",
6754	//   "id": "container.projects.locations.clusters.completeIpRotation",
6755	//   "parameterOrder": [
6756	//     "name"
6757	//   ],
6758	//   "parameters": {
6759	//     "name": {
6760	//       "description": "The name (project, location, cluster id) of the cluster to complete IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.",
6761	//       "location": "path",
6762	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
6763	//       "required": true,
6764	//       "type": "string"
6765	//     }
6766	//   },
6767	//   "path": "v1beta1/{+name}:completeIpRotation",
6768	//   "request": {
6769	//     "$ref": "CompleteIPRotationRequest"
6770	//   },
6771	//   "response": {
6772	//     "$ref": "Operation"
6773	//   },
6774	//   "scopes": [
6775	//     "https://www.googleapis.com/auth/cloud-platform"
6776	//   ]
6777	// }
6778
6779}
6780
6781// method id "container.projects.locations.clusters.create":
6782
6783type ProjectsLocationsClustersCreateCall struct {
6784	s                    *Service
6785	parent               string
6786	createclusterrequest *CreateClusterRequest
6787	urlParams_           gensupport.URLParams
6788	ctx_                 context.Context
6789	header_              http.Header
6790}
6791
6792// Create: Creates a cluster, consisting of the specified number and
6793// type of Google Compute Engine instances. By default, the cluster is
6794// created in the project's default network
6795// (https://cloud.google.com/compute/docs/networks-and-firewalls#networks).
6796// One firewall is added for the cluster. After cluster creation, the
6797// Kubelet creates routes for each node to allow the containers on that
6798// node to communicate with all other instances in the cluster. Finally,
6799// an entry is added to the project's global metadata indicating which
6800// CIDR range the cluster is using.
6801//
6802// - parent: The parent (project and location) where the cluster will be
6803//   created. Specified in the format `projects/*/locations/*`.
6804func (r *ProjectsLocationsClustersService) Create(parent string, createclusterrequest *CreateClusterRequest) *ProjectsLocationsClustersCreateCall {
6805	c := &ProjectsLocationsClustersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6806	c.parent = parent
6807	c.createclusterrequest = createclusterrequest
6808	return c
6809}
6810
6811// Fields allows partial responses to be retrieved. See
6812// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6813// for more information.
6814func (c *ProjectsLocationsClustersCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersCreateCall {
6815	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6816	return c
6817}
6818
6819// Context sets the context to be used in this call's Do method. Any
6820// pending HTTP request will be aborted if the provided context is
6821// canceled.
6822func (c *ProjectsLocationsClustersCreateCall) Context(ctx context.Context) *ProjectsLocationsClustersCreateCall {
6823	c.ctx_ = ctx
6824	return c
6825}
6826
6827// Header returns an http.Header that can be modified by the caller to
6828// add HTTP headers to the request.
6829func (c *ProjectsLocationsClustersCreateCall) Header() http.Header {
6830	if c.header_ == nil {
6831		c.header_ = make(http.Header)
6832	}
6833	return c.header_
6834}
6835
6836func (c *ProjectsLocationsClustersCreateCall) doRequest(alt string) (*http.Response, error) {
6837	reqHeaders := make(http.Header)
6838	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6839	for k, v := range c.header_ {
6840		reqHeaders[k] = v
6841	}
6842	reqHeaders.Set("User-Agent", c.s.userAgent())
6843	var body io.Reader = nil
6844	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createclusterrequest)
6845	if err != nil {
6846		return nil, err
6847	}
6848	reqHeaders.Set("Content-Type", "application/json")
6849	c.urlParams_.Set("alt", alt)
6850	c.urlParams_.Set("prettyPrint", "false")
6851	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/clusters")
6852	urls += "?" + c.urlParams_.Encode()
6853	req, err := http.NewRequest("POST", urls, body)
6854	if err != nil {
6855		return nil, err
6856	}
6857	req.Header = reqHeaders
6858	googleapi.Expand(req.URL, map[string]string{
6859		"parent": c.parent,
6860	})
6861	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6862}
6863
6864// Do executes the "container.projects.locations.clusters.create" call.
6865// Exactly one of *Operation or error will be non-nil. Any non-2xx
6866// status code is an error. Response headers are in either
6867// *Operation.ServerResponse.Header or (if a response was returned at
6868// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6869// to check whether the returned error was because
6870// http.StatusNotModified was returned.
6871func (c *ProjectsLocationsClustersCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
6872	gensupport.SetOptions(c.urlParams_, opts...)
6873	res, err := c.doRequest("json")
6874	if res != nil && res.StatusCode == http.StatusNotModified {
6875		if res.Body != nil {
6876			res.Body.Close()
6877		}
6878		return nil, &googleapi.Error{
6879			Code:   res.StatusCode,
6880			Header: res.Header,
6881		}
6882	}
6883	if err != nil {
6884		return nil, err
6885	}
6886	defer googleapi.CloseBody(res)
6887	if err := googleapi.CheckResponse(res); err != nil {
6888		return nil, err
6889	}
6890	ret := &Operation{
6891		ServerResponse: googleapi.ServerResponse{
6892			Header:         res.Header,
6893			HTTPStatusCode: res.StatusCode,
6894		},
6895	}
6896	target := &ret
6897	if err := gensupport.DecodeResponse(target, res); err != nil {
6898		return nil, err
6899	}
6900	return ret, nil
6901	// {
6902	//   "description": "Creates a cluster, consisting of the specified number and type of Google Compute Engine instances. By default, the cluster is created in the project's [default network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). One firewall is added for the cluster. After cluster creation, the Kubelet creates routes for each node to allow the containers on that node to communicate with all other instances in the cluster. Finally, an entry is added to the project's global metadata indicating which CIDR range the cluster is using.",
6903	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters",
6904	//   "httpMethod": "POST",
6905	//   "id": "container.projects.locations.clusters.create",
6906	//   "parameterOrder": [
6907	//     "parent"
6908	//   ],
6909	//   "parameters": {
6910	//     "parent": {
6911	//       "description": "The parent (project and location) where the cluster will be created. Specified in the format `projects/*/locations/*`.",
6912	//       "location": "path",
6913	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
6914	//       "required": true,
6915	//       "type": "string"
6916	//     }
6917	//   },
6918	//   "path": "v1beta1/{+parent}/clusters",
6919	//   "request": {
6920	//     "$ref": "CreateClusterRequest"
6921	//   },
6922	//   "response": {
6923	//     "$ref": "Operation"
6924	//   },
6925	//   "scopes": [
6926	//     "https://www.googleapis.com/auth/cloud-platform"
6927	//   ]
6928	// }
6929
6930}
6931
6932// method id "container.projects.locations.clusters.delete":
6933
6934type ProjectsLocationsClustersDeleteCall struct {
6935	s          *Service
6936	name       string
6937	urlParams_ gensupport.URLParams
6938	ctx_       context.Context
6939	header_    http.Header
6940}
6941
6942// Delete: Deletes the cluster, including the Kubernetes endpoint and
6943// all worker nodes. Firewalls and routes that were configured during
6944// cluster creation are also deleted. Other Google Compute Engine
6945// resources that might be in use by the cluster, such as load balancer
6946// resources, are not deleted if they weren't present when the cluster
6947// was initially created.
6948//
6949// - name: The name (project, location, cluster) of the cluster to
6950//   delete. Specified in the format
6951//   `projects/*/locations/*/clusters/*`.
6952func (r *ProjectsLocationsClustersService) Delete(name string) *ProjectsLocationsClustersDeleteCall {
6953	c := &ProjectsLocationsClustersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6954	c.name = name
6955	return c
6956}
6957
6958// ClusterId sets the optional parameter "clusterId": Required.
6959// Deprecated. The name of the cluster to delete. This field has been
6960// deprecated and replaced by the name field.
6961func (c *ProjectsLocationsClustersDeleteCall) ClusterId(clusterId string) *ProjectsLocationsClustersDeleteCall {
6962	c.urlParams_.Set("clusterId", clusterId)
6963	return c
6964}
6965
6966// ProjectId sets the optional parameter "projectId": Required.
6967// Deprecated. The Google Developers Console project ID or project
6968// number (https://support.google.com/cloud/answer/6158840). This field
6969// has been deprecated and replaced by the name field.
6970func (c *ProjectsLocationsClustersDeleteCall) ProjectId(projectId string) *ProjectsLocationsClustersDeleteCall {
6971	c.urlParams_.Set("projectId", projectId)
6972	return c
6973}
6974
6975// Zone sets the optional parameter "zone": Required. Deprecated. The
6976// name of the Google Compute Engine zone
6977// (https://cloud.google.com/compute/docs/zones#available) in which the
6978// cluster resides. This field has been deprecated and replaced by the
6979// name field.
6980func (c *ProjectsLocationsClustersDeleteCall) Zone(zone string) *ProjectsLocationsClustersDeleteCall {
6981	c.urlParams_.Set("zone", zone)
6982	return c
6983}
6984
6985// Fields allows partial responses to be retrieved. See
6986// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6987// for more information.
6988func (c *ProjectsLocationsClustersDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersDeleteCall {
6989	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6990	return c
6991}
6992
6993// Context sets the context to be used in this call's Do method. Any
6994// pending HTTP request will be aborted if the provided context is
6995// canceled.
6996func (c *ProjectsLocationsClustersDeleteCall) Context(ctx context.Context) *ProjectsLocationsClustersDeleteCall {
6997	c.ctx_ = ctx
6998	return c
6999}
7000
7001// Header returns an http.Header that can be modified by the caller to
7002// add HTTP headers to the request.
7003func (c *ProjectsLocationsClustersDeleteCall) Header() http.Header {
7004	if c.header_ == nil {
7005		c.header_ = make(http.Header)
7006	}
7007	return c.header_
7008}
7009
7010func (c *ProjectsLocationsClustersDeleteCall) doRequest(alt string) (*http.Response, error) {
7011	reqHeaders := make(http.Header)
7012	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7013	for k, v := range c.header_ {
7014		reqHeaders[k] = v
7015	}
7016	reqHeaders.Set("User-Agent", c.s.userAgent())
7017	var body io.Reader = nil
7018	c.urlParams_.Set("alt", alt)
7019	c.urlParams_.Set("prettyPrint", "false")
7020	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
7021	urls += "?" + c.urlParams_.Encode()
7022	req, err := http.NewRequest("DELETE", urls, body)
7023	if err != nil {
7024		return nil, err
7025	}
7026	req.Header = reqHeaders
7027	googleapi.Expand(req.URL, map[string]string{
7028		"name": c.name,
7029	})
7030	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7031}
7032
7033// Do executes the "container.projects.locations.clusters.delete" call.
7034// Exactly one of *Operation or error will be non-nil. Any non-2xx
7035// status code is an error. Response headers are in either
7036// *Operation.ServerResponse.Header or (if a response was returned at
7037// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7038// to check whether the returned error was because
7039// http.StatusNotModified was returned.
7040func (c *ProjectsLocationsClustersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
7041	gensupport.SetOptions(c.urlParams_, opts...)
7042	res, err := c.doRequest("json")
7043	if res != nil && res.StatusCode == http.StatusNotModified {
7044		if res.Body != nil {
7045			res.Body.Close()
7046		}
7047		return nil, &googleapi.Error{
7048			Code:   res.StatusCode,
7049			Header: res.Header,
7050		}
7051	}
7052	if err != nil {
7053		return nil, err
7054	}
7055	defer googleapi.CloseBody(res)
7056	if err := googleapi.CheckResponse(res); err != nil {
7057		return nil, err
7058	}
7059	ret := &Operation{
7060		ServerResponse: googleapi.ServerResponse{
7061			Header:         res.Header,
7062			HTTPStatusCode: res.StatusCode,
7063		},
7064	}
7065	target := &ret
7066	if err := gensupport.DecodeResponse(target, res); err != nil {
7067		return nil, err
7068	}
7069	return ret, nil
7070	// {
7071	//   "description": "Deletes the cluster, including the Kubernetes endpoint and all worker nodes. Firewalls and routes that were configured during cluster creation are also deleted. Other Google Compute Engine resources that might be in use by the cluster, such as load balancer resources, are not deleted if they weren't present when the cluster was initially created.",
7072	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}",
7073	//   "httpMethod": "DELETE",
7074	//   "id": "container.projects.locations.clusters.delete",
7075	//   "parameterOrder": [
7076	//     "name"
7077	//   ],
7078	//   "parameters": {
7079	//     "clusterId": {
7080	//       "description": "Required. Deprecated. The name of the cluster to delete. This field has been deprecated and replaced by the name field.",
7081	//       "location": "query",
7082	//       "type": "string"
7083	//     },
7084	//     "name": {
7085	//       "description": "The name (project, location, cluster) of the cluster to delete. Specified in the format `projects/*/locations/*/clusters/*`.",
7086	//       "location": "path",
7087	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
7088	//       "required": true,
7089	//       "type": "string"
7090	//     },
7091	//     "projectId": {
7092	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
7093	//       "location": "query",
7094	//       "type": "string"
7095	//     },
7096	//     "zone": {
7097	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
7098	//       "location": "query",
7099	//       "type": "string"
7100	//     }
7101	//   },
7102	//   "path": "v1beta1/{+name}",
7103	//   "response": {
7104	//     "$ref": "Operation"
7105	//   },
7106	//   "scopes": [
7107	//     "https://www.googleapis.com/auth/cloud-platform"
7108	//   ]
7109	// }
7110
7111}
7112
7113// method id "container.projects.locations.clusters.get":
7114
7115type ProjectsLocationsClustersGetCall struct {
7116	s            *Service
7117	name         string
7118	urlParams_   gensupport.URLParams
7119	ifNoneMatch_ string
7120	ctx_         context.Context
7121	header_      http.Header
7122}
7123
7124// Get: Gets the details for a specific cluster.
7125//
7126// - name: The name (project, location, cluster) of the cluster to
7127//   retrieve. Specified in the format
7128//   `projects/*/locations/*/clusters/*`.
7129func (r *ProjectsLocationsClustersService) Get(name string) *ProjectsLocationsClustersGetCall {
7130	c := &ProjectsLocationsClustersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7131	c.name = name
7132	return c
7133}
7134
7135// ClusterId sets the optional parameter "clusterId": Required.
7136// Deprecated. The name of the cluster to retrieve. This field has been
7137// deprecated and replaced by the name field.
7138func (c *ProjectsLocationsClustersGetCall) ClusterId(clusterId string) *ProjectsLocationsClustersGetCall {
7139	c.urlParams_.Set("clusterId", clusterId)
7140	return c
7141}
7142
7143// ProjectId sets the optional parameter "projectId": Required.
7144// Deprecated. The Google Developers Console project ID or project
7145// number (https://support.google.com/cloud/answer/6158840). This field
7146// has been deprecated and replaced by the name field.
7147func (c *ProjectsLocationsClustersGetCall) ProjectId(projectId string) *ProjectsLocationsClustersGetCall {
7148	c.urlParams_.Set("projectId", projectId)
7149	return c
7150}
7151
7152// Zone sets the optional parameter "zone": Required. Deprecated. The
7153// name of the Google Compute Engine zone
7154// (https://cloud.google.com/compute/docs/zones#available) in which the
7155// cluster resides. This field has been deprecated and replaced by the
7156// name field.
7157func (c *ProjectsLocationsClustersGetCall) Zone(zone string) *ProjectsLocationsClustersGetCall {
7158	c.urlParams_.Set("zone", zone)
7159	return c
7160}
7161
7162// Fields allows partial responses to be retrieved. See
7163// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7164// for more information.
7165func (c *ProjectsLocationsClustersGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersGetCall {
7166	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7167	return c
7168}
7169
7170// IfNoneMatch sets the optional parameter which makes the operation
7171// fail if the object's ETag matches the given value. This is useful for
7172// getting updates only after the object has changed since the last
7173// request. Use googleapi.IsNotModified to check whether the response
7174// error from Do is the result of In-None-Match.
7175func (c *ProjectsLocationsClustersGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsClustersGetCall {
7176	c.ifNoneMatch_ = entityTag
7177	return c
7178}
7179
7180// Context sets the context to be used in this call's Do method. Any
7181// pending HTTP request will be aborted if the provided context is
7182// canceled.
7183func (c *ProjectsLocationsClustersGetCall) Context(ctx context.Context) *ProjectsLocationsClustersGetCall {
7184	c.ctx_ = ctx
7185	return c
7186}
7187
7188// Header returns an http.Header that can be modified by the caller to
7189// add HTTP headers to the request.
7190func (c *ProjectsLocationsClustersGetCall) Header() http.Header {
7191	if c.header_ == nil {
7192		c.header_ = make(http.Header)
7193	}
7194	return c.header_
7195}
7196
7197func (c *ProjectsLocationsClustersGetCall) doRequest(alt string) (*http.Response, error) {
7198	reqHeaders := make(http.Header)
7199	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7200	for k, v := range c.header_ {
7201		reqHeaders[k] = v
7202	}
7203	reqHeaders.Set("User-Agent", c.s.userAgent())
7204	if c.ifNoneMatch_ != "" {
7205		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7206	}
7207	var body io.Reader = nil
7208	c.urlParams_.Set("alt", alt)
7209	c.urlParams_.Set("prettyPrint", "false")
7210	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
7211	urls += "?" + c.urlParams_.Encode()
7212	req, err := http.NewRequest("GET", urls, body)
7213	if err != nil {
7214		return nil, err
7215	}
7216	req.Header = reqHeaders
7217	googleapi.Expand(req.URL, map[string]string{
7218		"name": c.name,
7219	})
7220	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7221}
7222
7223// Do executes the "container.projects.locations.clusters.get" call.
7224// Exactly one of *Cluster or error will be non-nil. Any non-2xx status
7225// code is an error. Response headers are in either
7226// *Cluster.ServerResponse.Header or (if a response was returned at all)
7227// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7228// check whether the returned error was because http.StatusNotModified
7229// was returned.
7230func (c *ProjectsLocationsClustersGetCall) Do(opts ...googleapi.CallOption) (*Cluster, error) {
7231	gensupport.SetOptions(c.urlParams_, opts...)
7232	res, err := c.doRequest("json")
7233	if res != nil && res.StatusCode == http.StatusNotModified {
7234		if res.Body != nil {
7235			res.Body.Close()
7236		}
7237		return nil, &googleapi.Error{
7238			Code:   res.StatusCode,
7239			Header: res.Header,
7240		}
7241	}
7242	if err != nil {
7243		return nil, err
7244	}
7245	defer googleapi.CloseBody(res)
7246	if err := googleapi.CheckResponse(res); err != nil {
7247		return nil, err
7248	}
7249	ret := &Cluster{
7250		ServerResponse: googleapi.ServerResponse{
7251			Header:         res.Header,
7252			HTTPStatusCode: res.StatusCode,
7253		},
7254	}
7255	target := &ret
7256	if err := gensupport.DecodeResponse(target, res); err != nil {
7257		return nil, err
7258	}
7259	return ret, nil
7260	// {
7261	//   "description": "Gets the details for a specific cluster.",
7262	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}",
7263	//   "httpMethod": "GET",
7264	//   "id": "container.projects.locations.clusters.get",
7265	//   "parameterOrder": [
7266	//     "name"
7267	//   ],
7268	//   "parameters": {
7269	//     "clusterId": {
7270	//       "description": "Required. Deprecated. The name of the cluster to retrieve. This field has been deprecated and replaced by the name field.",
7271	//       "location": "query",
7272	//       "type": "string"
7273	//     },
7274	//     "name": {
7275	//       "description": "The name (project, location, cluster) of the cluster to retrieve. Specified in the format `projects/*/locations/*/clusters/*`.",
7276	//       "location": "path",
7277	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
7278	//       "required": true,
7279	//       "type": "string"
7280	//     },
7281	//     "projectId": {
7282	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
7283	//       "location": "query",
7284	//       "type": "string"
7285	//     },
7286	//     "zone": {
7287	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
7288	//       "location": "query",
7289	//       "type": "string"
7290	//     }
7291	//   },
7292	//   "path": "v1beta1/{+name}",
7293	//   "response": {
7294	//     "$ref": "Cluster"
7295	//   },
7296	//   "scopes": [
7297	//     "https://www.googleapis.com/auth/cloud-platform"
7298	//   ]
7299	// }
7300
7301}
7302
7303// method id "container.projects.locations.clusters.getJwks":
7304
7305type ProjectsLocationsClustersGetJwksCall struct {
7306	s            *Service
7307	parent       string
7308	urlParams_   gensupport.URLParams
7309	ifNoneMatch_ string
7310	ctx_         context.Context
7311	header_      http.Header
7312}
7313
7314// GetJwks: Gets the public component of the cluster signing keys in
7315// JSON Web Key format. This API is not yet intended for general use,
7316// and is not available for all clusters.
7317//
7318// - parent: The cluster (project, location, cluster id) to get keys
7319//   for. Specified in the format `projects/*/locations/*/clusters/*`.
7320func (r *ProjectsLocationsClustersService) GetJwks(parent string) *ProjectsLocationsClustersGetJwksCall {
7321	c := &ProjectsLocationsClustersGetJwksCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7322	c.parent = parent
7323	return c
7324}
7325
7326// Fields allows partial responses to be retrieved. See
7327// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7328// for more information.
7329func (c *ProjectsLocationsClustersGetJwksCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersGetJwksCall {
7330	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7331	return c
7332}
7333
7334// IfNoneMatch sets the optional parameter which makes the operation
7335// fail if the object's ETag matches the given value. This is useful for
7336// getting updates only after the object has changed since the last
7337// request. Use googleapi.IsNotModified to check whether the response
7338// error from Do is the result of In-None-Match.
7339func (c *ProjectsLocationsClustersGetJwksCall) IfNoneMatch(entityTag string) *ProjectsLocationsClustersGetJwksCall {
7340	c.ifNoneMatch_ = entityTag
7341	return c
7342}
7343
7344// Context sets the context to be used in this call's Do method. Any
7345// pending HTTP request will be aborted if the provided context is
7346// canceled.
7347func (c *ProjectsLocationsClustersGetJwksCall) Context(ctx context.Context) *ProjectsLocationsClustersGetJwksCall {
7348	c.ctx_ = ctx
7349	return c
7350}
7351
7352// Header returns an http.Header that can be modified by the caller to
7353// add HTTP headers to the request.
7354func (c *ProjectsLocationsClustersGetJwksCall) Header() http.Header {
7355	if c.header_ == nil {
7356		c.header_ = make(http.Header)
7357	}
7358	return c.header_
7359}
7360
7361func (c *ProjectsLocationsClustersGetJwksCall) doRequest(alt string) (*http.Response, error) {
7362	reqHeaders := make(http.Header)
7363	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7364	for k, v := range c.header_ {
7365		reqHeaders[k] = v
7366	}
7367	reqHeaders.Set("User-Agent", c.s.userAgent())
7368	if c.ifNoneMatch_ != "" {
7369		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7370	}
7371	var body io.Reader = nil
7372	c.urlParams_.Set("alt", alt)
7373	c.urlParams_.Set("prettyPrint", "false")
7374	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/jwks")
7375	urls += "?" + c.urlParams_.Encode()
7376	req, err := http.NewRequest("GET", urls, body)
7377	if err != nil {
7378		return nil, err
7379	}
7380	req.Header = reqHeaders
7381	googleapi.Expand(req.URL, map[string]string{
7382		"parent": c.parent,
7383	})
7384	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7385}
7386
7387// Do executes the "container.projects.locations.clusters.getJwks" call.
7388// Exactly one of *GetJSONWebKeysResponse or error will be non-nil. Any
7389// non-2xx status code is an error. Response headers are in either
7390// *GetJSONWebKeysResponse.ServerResponse.Header or (if a response was
7391// returned at all) in error.(*googleapi.Error).Header. Use
7392// googleapi.IsNotModified to check whether the returned error was
7393// because http.StatusNotModified was returned.
7394func (c *ProjectsLocationsClustersGetJwksCall) Do(opts ...googleapi.CallOption) (*GetJSONWebKeysResponse, error) {
7395	gensupport.SetOptions(c.urlParams_, opts...)
7396	res, err := c.doRequest("json")
7397	if res != nil && res.StatusCode == http.StatusNotModified {
7398		if res.Body != nil {
7399			res.Body.Close()
7400		}
7401		return nil, &googleapi.Error{
7402			Code:   res.StatusCode,
7403			Header: res.Header,
7404		}
7405	}
7406	if err != nil {
7407		return nil, err
7408	}
7409	defer googleapi.CloseBody(res)
7410	if err := googleapi.CheckResponse(res); err != nil {
7411		return nil, err
7412	}
7413	ret := &GetJSONWebKeysResponse{
7414		ServerResponse: googleapi.ServerResponse{
7415			Header:         res.Header,
7416			HTTPStatusCode: res.StatusCode,
7417		},
7418	}
7419	target := &ret
7420	if err := gensupport.DecodeResponse(target, res); err != nil {
7421		return nil, err
7422	}
7423	return ret, nil
7424	// {
7425	//   "description": "Gets the public component of the cluster signing keys in JSON Web Key format. This API is not yet intended for general use, and is not available for all clusters.",
7426	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/jwks",
7427	//   "httpMethod": "GET",
7428	//   "id": "container.projects.locations.clusters.getJwks",
7429	//   "parameterOrder": [
7430	//     "parent"
7431	//   ],
7432	//   "parameters": {
7433	//     "parent": {
7434	//       "description": "The cluster (project, location, cluster id) to get keys for. Specified in the format `projects/*/locations/*/clusters/*`.",
7435	//       "location": "path",
7436	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
7437	//       "required": true,
7438	//       "type": "string"
7439	//     }
7440	//   },
7441	//   "path": "v1beta1/{+parent}/jwks",
7442	//   "response": {
7443	//     "$ref": "GetJSONWebKeysResponse"
7444	//   }
7445	// }
7446
7447}
7448
7449// method id "container.projects.locations.clusters.list":
7450
7451type ProjectsLocationsClustersListCall struct {
7452	s            *Service
7453	parent       string
7454	urlParams_   gensupport.URLParams
7455	ifNoneMatch_ string
7456	ctx_         context.Context
7457	header_      http.Header
7458}
7459
7460// List: Lists all clusters owned by a project in either the specified
7461// zone or all zones.
7462//
7463// - parent: The parent (project and location) where the clusters will
7464//   be listed. Specified in the format `projects/*/locations/*`.
7465//   Location "-" matches all zones and all regions.
7466func (r *ProjectsLocationsClustersService) List(parent string) *ProjectsLocationsClustersListCall {
7467	c := &ProjectsLocationsClustersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7468	c.parent = parent
7469	return c
7470}
7471
7472// ProjectId sets the optional parameter "projectId": Required.
7473// Deprecated. The Google Developers Console project ID or project
7474// number (https://support.google.com/cloud/answer/6158840). This field
7475// has been deprecated and replaced by the parent field.
7476func (c *ProjectsLocationsClustersListCall) ProjectId(projectId string) *ProjectsLocationsClustersListCall {
7477	c.urlParams_.Set("projectId", projectId)
7478	return c
7479}
7480
7481// Zone sets the optional parameter "zone": Required. Deprecated. The
7482// name of the Google Compute Engine zone
7483// (https://cloud.google.com/compute/docs/zones#available) in which the
7484// cluster resides, or "-" for all zones. This field has been deprecated
7485// and replaced by the parent field.
7486func (c *ProjectsLocationsClustersListCall) Zone(zone string) *ProjectsLocationsClustersListCall {
7487	c.urlParams_.Set("zone", zone)
7488	return c
7489}
7490
7491// Fields allows partial responses to be retrieved. See
7492// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7493// for more information.
7494func (c *ProjectsLocationsClustersListCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersListCall {
7495	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7496	return c
7497}
7498
7499// IfNoneMatch sets the optional parameter which makes the operation
7500// fail if the object's ETag matches the given value. This is useful for
7501// getting updates only after the object has changed since the last
7502// request. Use googleapi.IsNotModified to check whether the response
7503// error from Do is the result of In-None-Match.
7504func (c *ProjectsLocationsClustersListCall) IfNoneMatch(entityTag string) *ProjectsLocationsClustersListCall {
7505	c.ifNoneMatch_ = entityTag
7506	return c
7507}
7508
7509// Context sets the context to be used in this call's Do method. Any
7510// pending HTTP request will be aborted if the provided context is
7511// canceled.
7512func (c *ProjectsLocationsClustersListCall) Context(ctx context.Context) *ProjectsLocationsClustersListCall {
7513	c.ctx_ = ctx
7514	return c
7515}
7516
7517// Header returns an http.Header that can be modified by the caller to
7518// add HTTP headers to the request.
7519func (c *ProjectsLocationsClustersListCall) Header() http.Header {
7520	if c.header_ == nil {
7521		c.header_ = make(http.Header)
7522	}
7523	return c.header_
7524}
7525
7526func (c *ProjectsLocationsClustersListCall) doRequest(alt string) (*http.Response, error) {
7527	reqHeaders := make(http.Header)
7528	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7529	for k, v := range c.header_ {
7530		reqHeaders[k] = v
7531	}
7532	reqHeaders.Set("User-Agent", c.s.userAgent())
7533	if c.ifNoneMatch_ != "" {
7534		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7535	}
7536	var body io.Reader = nil
7537	c.urlParams_.Set("alt", alt)
7538	c.urlParams_.Set("prettyPrint", "false")
7539	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/clusters")
7540	urls += "?" + c.urlParams_.Encode()
7541	req, err := http.NewRequest("GET", urls, body)
7542	if err != nil {
7543		return nil, err
7544	}
7545	req.Header = reqHeaders
7546	googleapi.Expand(req.URL, map[string]string{
7547		"parent": c.parent,
7548	})
7549	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7550}
7551
7552// Do executes the "container.projects.locations.clusters.list" call.
7553// Exactly one of *ListClustersResponse or error will be non-nil. Any
7554// non-2xx status code is an error. Response headers are in either
7555// *ListClustersResponse.ServerResponse.Header or (if a response was
7556// returned at all) in error.(*googleapi.Error).Header. Use
7557// googleapi.IsNotModified to check whether the returned error was
7558// because http.StatusNotModified was returned.
7559func (c *ProjectsLocationsClustersListCall) Do(opts ...googleapi.CallOption) (*ListClustersResponse, error) {
7560	gensupport.SetOptions(c.urlParams_, opts...)
7561	res, err := c.doRequest("json")
7562	if res != nil && res.StatusCode == http.StatusNotModified {
7563		if res.Body != nil {
7564			res.Body.Close()
7565		}
7566		return nil, &googleapi.Error{
7567			Code:   res.StatusCode,
7568			Header: res.Header,
7569		}
7570	}
7571	if err != nil {
7572		return nil, err
7573	}
7574	defer googleapi.CloseBody(res)
7575	if err := googleapi.CheckResponse(res); err != nil {
7576		return nil, err
7577	}
7578	ret := &ListClustersResponse{
7579		ServerResponse: googleapi.ServerResponse{
7580			Header:         res.Header,
7581			HTTPStatusCode: res.StatusCode,
7582		},
7583	}
7584	target := &ret
7585	if err := gensupport.DecodeResponse(target, res); err != nil {
7586		return nil, err
7587	}
7588	return ret, nil
7589	// {
7590	//   "description": "Lists all clusters owned by a project in either the specified zone or all zones.",
7591	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters",
7592	//   "httpMethod": "GET",
7593	//   "id": "container.projects.locations.clusters.list",
7594	//   "parameterOrder": [
7595	//     "parent"
7596	//   ],
7597	//   "parameters": {
7598	//     "parent": {
7599	//       "description": "The parent (project and location) where the clusters will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
7600	//       "location": "path",
7601	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
7602	//       "required": true,
7603	//       "type": "string"
7604	//     },
7605	//     "projectId": {
7606	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
7607	//       "location": "query",
7608	//       "type": "string"
7609	//     },
7610	//     "zone": {
7611	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides, or \"-\" for all zones. This field has been deprecated and replaced by the parent field.",
7612	//       "location": "query",
7613	//       "type": "string"
7614	//     }
7615	//   },
7616	//   "path": "v1beta1/{+parent}/clusters",
7617	//   "response": {
7618	//     "$ref": "ListClustersResponse"
7619	//   },
7620	//   "scopes": [
7621	//     "https://www.googleapis.com/auth/cloud-platform"
7622	//   ]
7623	// }
7624
7625}
7626
7627// method id "container.projects.locations.clusters.setAddons":
7628
7629type ProjectsLocationsClustersSetAddonsCall struct {
7630	s                      *Service
7631	name                   string
7632	setaddonsconfigrequest *SetAddonsConfigRequest
7633	urlParams_             gensupport.URLParams
7634	ctx_                   context.Context
7635	header_                http.Header
7636}
7637
7638// SetAddons: Sets the addons for a specific cluster.
7639//
7640// - name: The name (project, location, cluster) of the cluster to set
7641//   addons. Specified in the format
7642//   `projects/*/locations/*/clusters/*`.
7643func (r *ProjectsLocationsClustersService) SetAddons(name string, setaddonsconfigrequest *SetAddonsConfigRequest) *ProjectsLocationsClustersSetAddonsCall {
7644	c := &ProjectsLocationsClustersSetAddonsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7645	c.name = name
7646	c.setaddonsconfigrequest = setaddonsconfigrequest
7647	return c
7648}
7649
7650// Fields allows partial responses to be retrieved. See
7651// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7652// for more information.
7653func (c *ProjectsLocationsClustersSetAddonsCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersSetAddonsCall {
7654	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7655	return c
7656}
7657
7658// Context sets the context to be used in this call's Do method. Any
7659// pending HTTP request will be aborted if the provided context is
7660// canceled.
7661func (c *ProjectsLocationsClustersSetAddonsCall) Context(ctx context.Context) *ProjectsLocationsClustersSetAddonsCall {
7662	c.ctx_ = ctx
7663	return c
7664}
7665
7666// Header returns an http.Header that can be modified by the caller to
7667// add HTTP headers to the request.
7668func (c *ProjectsLocationsClustersSetAddonsCall) Header() http.Header {
7669	if c.header_ == nil {
7670		c.header_ = make(http.Header)
7671	}
7672	return c.header_
7673}
7674
7675func (c *ProjectsLocationsClustersSetAddonsCall) doRequest(alt string) (*http.Response, error) {
7676	reqHeaders := make(http.Header)
7677	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7678	for k, v := range c.header_ {
7679		reqHeaders[k] = v
7680	}
7681	reqHeaders.Set("User-Agent", c.s.userAgent())
7682	var body io.Reader = nil
7683	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setaddonsconfigrequest)
7684	if err != nil {
7685		return nil, err
7686	}
7687	reqHeaders.Set("Content-Type", "application/json")
7688	c.urlParams_.Set("alt", alt)
7689	c.urlParams_.Set("prettyPrint", "false")
7690	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setAddons")
7691	urls += "?" + c.urlParams_.Encode()
7692	req, err := http.NewRequest("POST", urls, body)
7693	if err != nil {
7694		return nil, err
7695	}
7696	req.Header = reqHeaders
7697	googleapi.Expand(req.URL, map[string]string{
7698		"name": c.name,
7699	})
7700	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7701}
7702
7703// Do executes the "container.projects.locations.clusters.setAddons" call.
7704// Exactly one of *Operation or error will be non-nil. Any non-2xx
7705// status code is an error. Response headers are in either
7706// *Operation.ServerResponse.Header or (if a response was returned at
7707// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7708// to check whether the returned error was because
7709// http.StatusNotModified was returned.
7710func (c *ProjectsLocationsClustersSetAddonsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
7711	gensupport.SetOptions(c.urlParams_, opts...)
7712	res, err := c.doRequest("json")
7713	if res != nil && res.StatusCode == http.StatusNotModified {
7714		if res.Body != nil {
7715			res.Body.Close()
7716		}
7717		return nil, &googleapi.Error{
7718			Code:   res.StatusCode,
7719			Header: res.Header,
7720		}
7721	}
7722	if err != nil {
7723		return nil, err
7724	}
7725	defer googleapi.CloseBody(res)
7726	if err := googleapi.CheckResponse(res); err != nil {
7727		return nil, err
7728	}
7729	ret := &Operation{
7730		ServerResponse: googleapi.ServerResponse{
7731			Header:         res.Header,
7732			HTTPStatusCode: res.StatusCode,
7733		},
7734	}
7735	target := &ret
7736	if err := gensupport.DecodeResponse(target, res); err != nil {
7737		return nil, err
7738	}
7739	return ret, nil
7740	// {
7741	//   "description": "Sets the addons for a specific cluster.",
7742	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setAddons",
7743	//   "httpMethod": "POST",
7744	//   "id": "container.projects.locations.clusters.setAddons",
7745	//   "parameterOrder": [
7746	//     "name"
7747	//   ],
7748	//   "parameters": {
7749	//     "name": {
7750	//       "description": "The name (project, location, cluster) of the cluster to set addons. Specified in the format `projects/*/locations/*/clusters/*`.",
7751	//       "location": "path",
7752	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
7753	//       "required": true,
7754	//       "type": "string"
7755	//     }
7756	//   },
7757	//   "path": "v1beta1/{+name}:setAddons",
7758	//   "request": {
7759	//     "$ref": "SetAddonsConfigRequest"
7760	//   },
7761	//   "response": {
7762	//     "$ref": "Operation"
7763	//   },
7764	//   "scopes": [
7765	//     "https://www.googleapis.com/auth/cloud-platform"
7766	//   ]
7767	// }
7768
7769}
7770
7771// method id "container.projects.locations.clusters.setLegacyAbac":
7772
7773type ProjectsLocationsClustersSetLegacyAbacCall struct {
7774	s                    *Service
7775	name                 string
7776	setlegacyabacrequest *SetLegacyAbacRequest
7777	urlParams_           gensupport.URLParams
7778	ctx_                 context.Context
7779	header_              http.Header
7780}
7781
7782// SetLegacyAbac: Enables or disables the ABAC authorization mechanism
7783// on a cluster.
7784//
7785// - name: The name (project, location, cluster id) of the cluster to
7786//   set legacy abac. Specified in the format
7787//   `projects/*/locations/*/clusters/*`.
7788func (r *ProjectsLocationsClustersService) SetLegacyAbac(name string, setlegacyabacrequest *SetLegacyAbacRequest) *ProjectsLocationsClustersSetLegacyAbacCall {
7789	c := &ProjectsLocationsClustersSetLegacyAbacCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7790	c.name = name
7791	c.setlegacyabacrequest = setlegacyabacrequest
7792	return c
7793}
7794
7795// Fields allows partial responses to be retrieved. See
7796// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7797// for more information.
7798func (c *ProjectsLocationsClustersSetLegacyAbacCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersSetLegacyAbacCall {
7799	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7800	return c
7801}
7802
7803// Context sets the context to be used in this call's Do method. Any
7804// pending HTTP request will be aborted if the provided context is
7805// canceled.
7806func (c *ProjectsLocationsClustersSetLegacyAbacCall) Context(ctx context.Context) *ProjectsLocationsClustersSetLegacyAbacCall {
7807	c.ctx_ = ctx
7808	return c
7809}
7810
7811// Header returns an http.Header that can be modified by the caller to
7812// add HTTP headers to the request.
7813func (c *ProjectsLocationsClustersSetLegacyAbacCall) Header() http.Header {
7814	if c.header_ == nil {
7815		c.header_ = make(http.Header)
7816	}
7817	return c.header_
7818}
7819
7820func (c *ProjectsLocationsClustersSetLegacyAbacCall) doRequest(alt string) (*http.Response, error) {
7821	reqHeaders := make(http.Header)
7822	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7823	for k, v := range c.header_ {
7824		reqHeaders[k] = v
7825	}
7826	reqHeaders.Set("User-Agent", c.s.userAgent())
7827	var body io.Reader = nil
7828	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setlegacyabacrequest)
7829	if err != nil {
7830		return nil, err
7831	}
7832	reqHeaders.Set("Content-Type", "application/json")
7833	c.urlParams_.Set("alt", alt)
7834	c.urlParams_.Set("prettyPrint", "false")
7835	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setLegacyAbac")
7836	urls += "?" + c.urlParams_.Encode()
7837	req, err := http.NewRequest("POST", urls, body)
7838	if err != nil {
7839		return nil, err
7840	}
7841	req.Header = reqHeaders
7842	googleapi.Expand(req.URL, map[string]string{
7843		"name": c.name,
7844	})
7845	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7846}
7847
7848// Do executes the "container.projects.locations.clusters.setLegacyAbac" call.
7849// Exactly one of *Operation or error will be non-nil. Any non-2xx
7850// status code is an error. Response headers are in either
7851// *Operation.ServerResponse.Header or (if a response was returned at
7852// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7853// to check whether the returned error was because
7854// http.StatusNotModified was returned.
7855func (c *ProjectsLocationsClustersSetLegacyAbacCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
7856	gensupport.SetOptions(c.urlParams_, opts...)
7857	res, err := c.doRequest("json")
7858	if res != nil && res.StatusCode == http.StatusNotModified {
7859		if res.Body != nil {
7860			res.Body.Close()
7861		}
7862		return nil, &googleapi.Error{
7863			Code:   res.StatusCode,
7864			Header: res.Header,
7865		}
7866	}
7867	if err != nil {
7868		return nil, err
7869	}
7870	defer googleapi.CloseBody(res)
7871	if err := googleapi.CheckResponse(res); err != nil {
7872		return nil, err
7873	}
7874	ret := &Operation{
7875		ServerResponse: googleapi.ServerResponse{
7876			Header:         res.Header,
7877			HTTPStatusCode: res.StatusCode,
7878		},
7879	}
7880	target := &ret
7881	if err := gensupport.DecodeResponse(target, res); err != nil {
7882		return nil, err
7883	}
7884	return ret, nil
7885	// {
7886	//   "description": "Enables or disables the ABAC authorization mechanism on a cluster.",
7887	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setLegacyAbac",
7888	//   "httpMethod": "POST",
7889	//   "id": "container.projects.locations.clusters.setLegacyAbac",
7890	//   "parameterOrder": [
7891	//     "name"
7892	//   ],
7893	//   "parameters": {
7894	//     "name": {
7895	//       "description": "The name (project, location, cluster id) of the cluster to set legacy abac. Specified in the format `projects/*/locations/*/clusters/*`.",
7896	//       "location": "path",
7897	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
7898	//       "required": true,
7899	//       "type": "string"
7900	//     }
7901	//   },
7902	//   "path": "v1beta1/{+name}:setLegacyAbac",
7903	//   "request": {
7904	//     "$ref": "SetLegacyAbacRequest"
7905	//   },
7906	//   "response": {
7907	//     "$ref": "Operation"
7908	//   },
7909	//   "scopes": [
7910	//     "https://www.googleapis.com/auth/cloud-platform"
7911	//   ]
7912	// }
7913
7914}
7915
7916// method id "container.projects.locations.clusters.setLocations":
7917
7918type ProjectsLocationsClustersSetLocationsCall struct {
7919	s                   *Service
7920	name                string
7921	setlocationsrequest *SetLocationsRequest
7922	urlParams_          gensupport.URLParams
7923	ctx_                context.Context
7924	header_             http.Header
7925}
7926
7927// SetLocations: Sets the locations for a specific cluster. Deprecated.
7928// Use projects.locations.clusters.update
7929// (https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update)
7930// instead.
7931//
7932// - name: The name (project, location, cluster) of the cluster to set
7933//   locations. Specified in the format
7934//   `projects/*/locations/*/clusters/*`.
7935func (r *ProjectsLocationsClustersService) SetLocations(name string, setlocationsrequest *SetLocationsRequest) *ProjectsLocationsClustersSetLocationsCall {
7936	c := &ProjectsLocationsClustersSetLocationsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7937	c.name = name
7938	c.setlocationsrequest = setlocationsrequest
7939	return c
7940}
7941
7942// Fields allows partial responses to be retrieved. See
7943// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7944// for more information.
7945func (c *ProjectsLocationsClustersSetLocationsCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersSetLocationsCall {
7946	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7947	return c
7948}
7949
7950// Context sets the context to be used in this call's Do method. Any
7951// pending HTTP request will be aborted if the provided context is
7952// canceled.
7953func (c *ProjectsLocationsClustersSetLocationsCall) Context(ctx context.Context) *ProjectsLocationsClustersSetLocationsCall {
7954	c.ctx_ = ctx
7955	return c
7956}
7957
7958// Header returns an http.Header that can be modified by the caller to
7959// add HTTP headers to the request.
7960func (c *ProjectsLocationsClustersSetLocationsCall) Header() http.Header {
7961	if c.header_ == nil {
7962		c.header_ = make(http.Header)
7963	}
7964	return c.header_
7965}
7966
7967func (c *ProjectsLocationsClustersSetLocationsCall) doRequest(alt string) (*http.Response, error) {
7968	reqHeaders := make(http.Header)
7969	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7970	for k, v := range c.header_ {
7971		reqHeaders[k] = v
7972	}
7973	reqHeaders.Set("User-Agent", c.s.userAgent())
7974	var body io.Reader = nil
7975	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setlocationsrequest)
7976	if err != nil {
7977		return nil, err
7978	}
7979	reqHeaders.Set("Content-Type", "application/json")
7980	c.urlParams_.Set("alt", alt)
7981	c.urlParams_.Set("prettyPrint", "false")
7982	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setLocations")
7983	urls += "?" + c.urlParams_.Encode()
7984	req, err := http.NewRequest("POST", urls, body)
7985	if err != nil {
7986		return nil, err
7987	}
7988	req.Header = reqHeaders
7989	googleapi.Expand(req.URL, map[string]string{
7990		"name": c.name,
7991	})
7992	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7993}
7994
7995// Do executes the "container.projects.locations.clusters.setLocations" call.
7996// Exactly one of *Operation or error will be non-nil. Any non-2xx
7997// status code is an error. Response headers are in either
7998// *Operation.ServerResponse.Header or (if a response was returned at
7999// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8000// to check whether the returned error was because
8001// http.StatusNotModified was returned.
8002func (c *ProjectsLocationsClustersSetLocationsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8003	gensupport.SetOptions(c.urlParams_, opts...)
8004	res, err := c.doRequest("json")
8005	if res != nil && res.StatusCode == http.StatusNotModified {
8006		if res.Body != nil {
8007			res.Body.Close()
8008		}
8009		return nil, &googleapi.Error{
8010			Code:   res.StatusCode,
8011			Header: res.Header,
8012		}
8013	}
8014	if err != nil {
8015		return nil, err
8016	}
8017	defer googleapi.CloseBody(res)
8018	if err := googleapi.CheckResponse(res); err != nil {
8019		return nil, err
8020	}
8021	ret := &Operation{
8022		ServerResponse: googleapi.ServerResponse{
8023			Header:         res.Header,
8024			HTTPStatusCode: res.StatusCode,
8025		},
8026	}
8027	target := &ret
8028	if err := gensupport.DecodeResponse(target, res); err != nil {
8029		return nil, err
8030	}
8031	return ret, nil
8032	// {
8033	//   "description": "Sets the locations for a specific cluster. Deprecated. Use [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update) instead.",
8034	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setLocations",
8035	//   "httpMethod": "POST",
8036	//   "id": "container.projects.locations.clusters.setLocations",
8037	//   "parameterOrder": [
8038	//     "name"
8039	//   ],
8040	//   "parameters": {
8041	//     "name": {
8042	//       "description": "The name (project, location, cluster) of the cluster to set locations. Specified in the format `projects/*/locations/*/clusters/*`.",
8043	//       "location": "path",
8044	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
8045	//       "required": true,
8046	//       "type": "string"
8047	//     }
8048	//   },
8049	//   "path": "v1beta1/{+name}:setLocations",
8050	//   "request": {
8051	//     "$ref": "SetLocationsRequest"
8052	//   },
8053	//   "response": {
8054	//     "$ref": "Operation"
8055	//   },
8056	//   "scopes": [
8057	//     "https://www.googleapis.com/auth/cloud-platform"
8058	//   ]
8059	// }
8060
8061}
8062
8063// method id "container.projects.locations.clusters.setLogging":
8064
8065type ProjectsLocationsClustersSetLoggingCall struct {
8066	s                        *Service
8067	name                     string
8068	setloggingservicerequest *SetLoggingServiceRequest
8069	urlParams_               gensupport.URLParams
8070	ctx_                     context.Context
8071	header_                  http.Header
8072}
8073
8074// SetLogging: Sets the logging service for a specific cluster.
8075//
8076// - name: The name (project, location, cluster) of the cluster to set
8077//   logging. Specified in the format
8078//   `projects/*/locations/*/clusters/*`.
8079func (r *ProjectsLocationsClustersService) SetLogging(name string, setloggingservicerequest *SetLoggingServiceRequest) *ProjectsLocationsClustersSetLoggingCall {
8080	c := &ProjectsLocationsClustersSetLoggingCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8081	c.name = name
8082	c.setloggingservicerequest = setloggingservicerequest
8083	return c
8084}
8085
8086// Fields allows partial responses to be retrieved. See
8087// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8088// for more information.
8089func (c *ProjectsLocationsClustersSetLoggingCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersSetLoggingCall {
8090	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8091	return c
8092}
8093
8094// Context sets the context to be used in this call's Do method. Any
8095// pending HTTP request will be aborted if the provided context is
8096// canceled.
8097func (c *ProjectsLocationsClustersSetLoggingCall) Context(ctx context.Context) *ProjectsLocationsClustersSetLoggingCall {
8098	c.ctx_ = ctx
8099	return c
8100}
8101
8102// Header returns an http.Header that can be modified by the caller to
8103// add HTTP headers to the request.
8104func (c *ProjectsLocationsClustersSetLoggingCall) Header() http.Header {
8105	if c.header_ == nil {
8106		c.header_ = make(http.Header)
8107	}
8108	return c.header_
8109}
8110
8111func (c *ProjectsLocationsClustersSetLoggingCall) doRequest(alt string) (*http.Response, error) {
8112	reqHeaders := make(http.Header)
8113	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8114	for k, v := range c.header_ {
8115		reqHeaders[k] = v
8116	}
8117	reqHeaders.Set("User-Agent", c.s.userAgent())
8118	var body io.Reader = nil
8119	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setloggingservicerequest)
8120	if err != nil {
8121		return nil, err
8122	}
8123	reqHeaders.Set("Content-Type", "application/json")
8124	c.urlParams_.Set("alt", alt)
8125	c.urlParams_.Set("prettyPrint", "false")
8126	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setLogging")
8127	urls += "?" + c.urlParams_.Encode()
8128	req, err := http.NewRequest("POST", urls, body)
8129	if err != nil {
8130		return nil, err
8131	}
8132	req.Header = reqHeaders
8133	googleapi.Expand(req.URL, map[string]string{
8134		"name": c.name,
8135	})
8136	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8137}
8138
8139// Do executes the "container.projects.locations.clusters.setLogging" call.
8140// Exactly one of *Operation or error will be non-nil. Any non-2xx
8141// status code is an error. Response headers are in either
8142// *Operation.ServerResponse.Header or (if a response was returned at
8143// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8144// to check whether the returned error was because
8145// http.StatusNotModified was returned.
8146func (c *ProjectsLocationsClustersSetLoggingCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8147	gensupport.SetOptions(c.urlParams_, opts...)
8148	res, err := c.doRequest("json")
8149	if res != nil && res.StatusCode == http.StatusNotModified {
8150		if res.Body != nil {
8151			res.Body.Close()
8152		}
8153		return nil, &googleapi.Error{
8154			Code:   res.StatusCode,
8155			Header: res.Header,
8156		}
8157	}
8158	if err != nil {
8159		return nil, err
8160	}
8161	defer googleapi.CloseBody(res)
8162	if err := googleapi.CheckResponse(res); err != nil {
8163		return nil, err
8164	}
8165	ret := &Operation{
8166		ServerResponse: googleapi.ServerResponse{
8167			Header:         res.Header,
8168			HTTPStatusCode: res.StatusCode,
8169		},
8170	}
8171	target := &ret
8172	if err := gensupport.DecodeResponse(target, res); err != nil {
8173		return nil, err
8174	}
8175	return ret, nil
8176	// {
8177	//   "description": "Sets the logging service for a specific cluster.",
8178	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setLogging",
8179	//   "httpMethod": "POST",
8180	//   "id": "container.projects.locations.clusters.setLogging",
8181	//   "parameterOrder": [
8182	//     "name"
8183	//   ],
8184	//   "parameters": {
8185	//     "name": {
8186	//       "description": "The name (project, location, cluster) of the cluster to set logging. Specified in the format `projects/*/locations/*/clusters/*`.",
8187	//       "location": "path",
8188	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
8189	//       "required": true,
8190	//       "type": "string"
8191	//     }
8192	//   },
8193	//   "path": "v1beta1/{+name}:setLogging",
8194	//   "request": {
8195	//     "$ref": "SetLoggingServiceRequest"
8196	//   },
8197	//   "response": {
8198	//     "$ref": "Operation"
8199	//   },
8200	//   "scopes": [
8201	//     "https://www.googleapis.com/auth/cloud-platform"
8202	//   ]
8203	// }
8204
8205}
8206
8207// method id "container.projects.locations.clusters.setMaintenancePolicy":
8208
8209type ProjectsLocationsClustersSetMaintenancePolicyCall struct {
8210	s                           *Service
8211	name                        string
8212	setmaintenancepolicyrequest *SetMaintenancePolicyRequest
8213	urlParams_                  gensupport.URLParams
8214	ctx_                        context.Context
8215	header_                     http.Header
8216}
8217
8218// SetMaintenancePolicy: Sets the maintenance policy for a cluster.
8219//
8220// - name: The name (project, location, cluster id) of the cluster to
8221//   set maintenance policy. Specified in the format
8222//   `projects/*/locations/*/clusters/*`.
8223func (r *ProjectsLocationsClustersService) SetMaintenancePolicy(name string, setmaintenancepolicyrequest *SetMaintenancePolicyRequest) *ProjectsLocationsClustersSetMaintenancePolicyCall {
8224	c := &ProjectsLocationsClustersSetMaintenancePolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8225	c.name = name
8226	c.setmaintenancepolicyrequest = setmaintenancepolicyrequest
8227	return c
8228}
8229
8230// Fields allows partial responses to be retrieved. See
8231// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8232// for more information.
8233func (c *ProjectsLocationsClustersSetMaintenancePolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersSetMaintenancePolicyCall {
8234	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8235	return c
8236}
8237
8238// Context sets the context to be used in this call's Do method. Any
8239// pending HTTP request will be aborted if the provided context is
8240// canceled.
8241func (c *ProjectsLocationsClustersSetMaintenancePolicyCall) Context(ctx context.Context) *ProjectsLocationsClustersSetMaintenancePolicyCall {
8242	c.ctx_ = ctx
8243	return c
8244}
8245
8246// Header returns an http.Header that can be modified by the caller to
8247// add HTTP headers to the request.
8248func (c *ProjectsLocationsClustersSetMaintenancePolicyCall) Header() http.Header {
8249	if c.header_ == nil {
8250		c.header_ = make(http.Header)
8251	}
8252	return c.header_
8253}
8254
8255func (c *ProjectsLocationsClustersSetMaintenancePolicyCall) doRequest(alt string) (*http.Response, error) {
8256	reqHeaders := make(http.Header)
8257	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8258	for k, v := range c.header_ {
8259		reqHeaders[k] = v
8260	}
8261	reqHeaders.Set("User-Agent", c.s.userAgent())
8262	var body io.Reader = nil
8263	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setmaintenancepolicyrequest)
8264	if err != nil {
8265		return nil, err
8266	}
8267	reqHeaders.Set("Content-Type", "application/json")
8268	c.urlParams_.Set("alt", alt)
8269	c.urlParams_.Set("prettyPrint", "false")
8270	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setMaintenancePolicy")
8271	urls += "?" + c.urlParams_.Encode()
8272	req, err := http.NewRequest("POST", urls, body)
8273	if err != nil {
8274		return nil, err
8275	}
8276	req.Header = reqHeaders
8277	googleapi.Expand(req.URL, map[string]string{
8278		"name": c.name,
8279	})
8280	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8281}
8282
8283// Do executes the "container.projects.locations.clusters.setMaintenancePolicy" call.
8284// Exactly one of *Operation or error will be non-nil. Any non-2xx
8285// status code is an error. Response headers are in either
8286// *Operation.ServerResponse.Header or (if a response was returned at
8287// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8288// to check whether the returned error was because
8289// http.StatusNotModified was returned.
8290func (c *ProjectsLocationsClustersSetMaintenancePolicyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8291	gensupport.SetOptions(c.urlParams_, opts...)
8292	res, err := c.doRequest("json")
8293	if res != nil && res.StatusCode == http.StatusNotModified {
8294		if res.Body != nil {
8295			res.Body.Close()
8296		}
8297		return nil, &googleapi.Error{
8298			Code:   res.StatusCode,
8299			Header: res.Header,
8300		}
8301	}
8302	if err != nil {
8303		return nil, err
8304	}
8305	defer googleapi.CloseBody(res)
8306	if err := googleapi.CheckResponse(res); err != nil {
8307		return nil, err
8308	}
8309	ret := &Operation{
8310		ServerResponse: googleapi.ServerResponse{
8311			Header:         res.Header,
8312			HTTPStatusCode: res.StatusCode,
8313		},
8314	}
8315	target := &ret
8316	if err := gensupport.DecodeResponse(target, res); err != nil {
8317		return nil, err
8318	}
8319	return ret, nil
8320	// {
8321	//   "description": "Sets the maintenance policy for a cluster.",
8322	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setMaintenancePolicy",
8323	//   "httpMethod": "POST",
8324	//   "id": "container.projects.locations.clusters.setMaintenancePolicy",
8325	//   "parameterOrder": [
8326	//     "name"
8327	//   ],
8328	//   "parameters": {
8329	//     "name": {
8330	//       "description": "The name (project, location, cluster id) of the cluster to set maintenance policy. Specified in the format `projects/*/locations/*/clusters/*`.",
8331	//       "location": "path",
8332	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
8333	//       "required": true,
8334	//       "type": "string"
8335	//     }
8336	//   },
8337	//   "path": "v1beta1/{+name}:setMaintenancePolicy",
8338	//   "request": {
8339	//     "$ref": "SetMaintenancePolicyRequest"
8340	//   },
8341	//   "response": {
8342	//     "$ref": "Operation"
8343	//   },
8344	//   "scopes": [
8345	//     "https://www.googleapis.com/auth/cloud-platform"
8346	//   ]
8347	// }
8348
8349}
8350
8351// method id "container.projects.locations.clusters.setMasterAuth":
8352
8353type ProjectsLocationsClustersSetMasterAuthCall struct {
8354	s                    *Service
8355	name                 string
8356	setmasterauthrequest *SetMasterAuthRequest
8357	urlParams_           gensupport.URLParams
8358	ctx_                 context.Context
8359	header_              http.Header
8360}
8361
8362// SetMasterAuth: Sets master auth materials. Currently supports
8363// changing the admin password or a specific cluster, either via
8364// password generation or explicitly setting the password.
8365//
8366// - name: The name (project, location, cluster) of the cluster to set
8367//   auth. Specified in the format `projects/*/locations/*/clusters/*`.
8368func (r *ProjectsLocationsClustersService) SetMasterAuth(name string, setmasterauthrequest *SetMasterAuthRequest) *ProjectsLocationsClustersSetMasterAuthCall {
8369	c := &ProjectsLocationsClustersSetMasterAuthCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8370	c.name = name
8371	c.setmasterauthrequest = setmasterauthrequest
8372	return c
8373}
8374
8375// Fields allows partial responses to be retrieved. See
8376// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8377// for more information.
8378func (c *ProjectsLocationsClustersSetMasterAuthCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersSetMasterAuthCall {
8379	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8380	return c
8381}
8382
8383// Context sets the context to be used in this call's Do method. Any
8384// pending HTTP request will be aborted if the provided context is
8385// canceled.
8386func (c *ProjectsLocationsClustersSetMasterAuthCall) Context(ctx context.Context) *ProjectsLocationsClustersSetMasterAuthCall {
8387	c.ctx_ = ctx
8388	return c
8389}
8390
8391// Header returns an http.Header that can be modified by the caller to
8392// add HTTP headers to the request.
8393func (c *ProjectsLocationsClustersSetMasterAuthCall) Header() http.Header {
8394	if c.header_ == nil {
8395		c.header_ = make(http.Header)
8396	}
8397	return c.header_
8398}
8399
8400func (c *ProjectsLocationsClustersSetMasterAuthCall) doRequest(alt string) (*http.Response, error) {
8401	reqHeaders := make(http.Header)
8402	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8403	for k, v := range c.header_ {
8404		reqHeaders[k] = v
8405	}
8406	reqHeaders.Set("User-Agent", c.s.userAgent())
8407	var body io.Reader = nil
8408	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setmasterauthrequest)
8409	if err != nil {
8410		return nil, err
8411	}
8412	reqHeaders.Set("Content-Type", "application/json")
8413	c.urlParams_.Set("alt", alt)
8414	c.urlParams_.Set("prettyPrint", "false")
8415	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setMasterAuth")
8416	urls += "?" + c.urlParams_.Encode()
8417	req, err := http.NewRequest("POST", urls, body)
8418	if err != nil {
8419		return nil, err
8420	}
8421	req.Header = reqHeaders
8422	googleapi.Expand(req.URL, map[string]string{
8423		"name": c.name,
8424	})
8425	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8426}
8427
8428// Do executes the "container.projects.locations.clusters.setMasterAuth" call.
8429// Exactly one of *Operation or error will be non-nil. Any non-2xx
8430// status code is an error. Response headers are in either
8431// *Operation.ServerResponse.Header or (if a response was returned at
8432// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8433// to check whether the returned error was because
8434// http.StatusNotModified was returned.
8435func (c *ProjectsLocationsClustersSetMasterAuthCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8436	gensupport.SetOptions(c.urlParams_, opts...)
8437	res, err := c.doRequest("json")
8438	if res != nil && res.StatusCode == http.StatusNotModified {
8439		if res.Body != nil {
8440			res.Body.Close()
8441		}
8442		return nil, &googleapi.Error{
8443			Code:   res.StatusCode,
8444			Header: res.Header,
8445		}
8446	}
8447	if err != nil {
8448		return nil, err
8449	}
8450	defer googleapi.CloseBody(res)
8451	if err := googleapi.CheckResponse(res); err != nil {
8452		return nil, err
8453	}
8454	ret := &Operation{
8455		ServerResponse: googleapi.ServerResponse{
8456			Header:         res.Header,
8457			HTTPStatusCode: res.StatusCode,
8458		},
8459	}
8460	target := &ret
8461	if err := gensupport.DecodeResponse(target, res); err != nil {
8462		return nil, err
8463	}
8464	return ret, nil
8465	// {
8466	//   "description": "Sets master auth materials. Currently supports changing the admin password or a specific cluster, either via password generation or explicitly setting the password.",
8467	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setMasterAuth",
8468	//   "httpMethod": "POST",
8469	//   "id": "container.projects.locations.clusters.setMasterAuth",
8470	//   "parameterOrder": [
8471	//     "name"
8472	//   ],
8473	//   "parameters": {
8474	//     "name": {
8475	//       "description": "The name (project, location, cluster) of the cluster to set auth. Specified in the format `projects/*/locations/*/clusters/*`.",
8476	//       "location": "path",
8477	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
8478	//       "required": true,
8479	//       "type": "string"
8480	//     }
8481	//   },
8482	//   "path": "v1beta1/{+name}:setMasterAuth",
8483	//   "request": {
8484	//     "$ref": "SetMasterAuthRequest"
8485	//   },
8486	//   "response": {
8487	//     "$ref": "Operation"
8488	//   },
8489	//   "scopes": [
8490	//     "https://www.googleapis.com/auth/cloud-platform"
8491	//   ]
8492	// }
8493
8494}
8495
8496// method id "container.projects.locations.clusters.setMonitoring":
8497
8498type ProjectsLocationsClustersSetMonitoringCall struct {
8499	s                           *Service
8500	name                        string
8501	setmonitoringservicerequest *SetMonitoringServiceRequest
8502	urlParams_                  gensupport.URLParams
8503	ctx_                        context.Context
8504	header_                     http.Header
8505}
8506
8507// SetMonitoring: Sets the monitoring service for a specific cluster.
8508//
8509// - name: The name (project, location, cluster) of the cluster to set
8510//   monitoring. Specified in the format
8511//   `projects/*/locations/*/clusters/*`.
8512func (r *ProjectsLocationsClustersService) SetMonitoring(name string, setmonitoringservicerequest *SetMonitoringServiceRequest) *ProjectsLocationsClustersSetMonitoringCall {
8513	c := &ProjectsLocationsClustersSetMonitoringCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8514	c.name = name
8515	c.setmonitoringservicerequest = setmonitoringservicerequest
8516	return c
8517}
8518
8519// Fields allows partial responses to be retrieved. See
8520// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8521// for more information.
8522func (c *ProjectsLocationsClustersSetMonitoringCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersSetMonitoringCall {
8523	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8524	return c
8525}
8526
8527// Context sets the context to be used in this call's Do method. Any
8528// pending HTTP request will be aborted if the provided context is
8529// canceled.
8530func (c *ProjectsLocationsClustersSetMonitoringCall) Context(ctx context.Context) *ProjectsLocationsClustersSetMonitoringCall {
8531	c.ctx_ = ctx
8532	return c
8533}
8534
8535// Header returns an http.Header that can be modified by the caller to
8536// add HTTP headers to the request.
8537func (c *ProjectsLocationsClustersSetMonitoringCall) Header() http.Header {
8538	if c.header_ == nil {
8539		c.header_ = make(http.Header)
8540	}
8541	return c.header_
8542}
8543
8544func (c *ProjectsLocationsClustersSetMonitoringCall) doRequest(alt string) (*http.Response, error) {
8545	reqHeaders := make(http.Header)
8546	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8547	for k, v := range c.header_ {
8548		reqHeaders[k] = v
8549	}
8550	reqHeaders.Set("User-Agent", c.s.userAgent())
8551	var body io.Reader = nil
8552	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setmonitoringservicerequest)
8553	if err != nil {
8554		return nil, err
8555	}
8556	reqHeaders.Set("Content-Type", "application/json")
8557	c.urlParams_.Set("alt", alt)
8558	c.urlParams_.Set("prettyPrint", "false")
8559	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setMonitoring")
8560	urls += "?" + c.urlParams_.Encode()
8561	req, err := http.NewRequest("POST", urls, body)
8562	if err != nil {
8563		return nil, err
8564	}
8565	req.Header = reqHeaders
8566	googleapi.Expand(req.URL, map[string]string{
8567		"name": c.name,
8568	})
8569	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8570}
8571
8572// Do executes the "container.projects.locations.clusters.setMonitoring" call.
8573// Exactly one of *Operation or error will be non-nil. Any non-2xx
8574// status code is an error. Response headers are in either
8575// *Operation.ServerResponse.Header or (if a response was returned at
8576// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8577// to check whether the returned error was because
8578// http.StatusNotModified was returned.
8579func (c *ProjectsLocationsClustersSetMonitoringCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8580	gensupport.SetOptions(c.urlParams_, opts...)
8581	res, err := c.doRequest("json")
8582	if res != nil && res.StatusCode == http.StatusNotModified {
8583		if res.Body != nil {
8584			res.Body.Close()
8585		}
8586		return nil, &googleapi.Error{
8587			Code:   res.StatusCode,
8588			Header: res.Header,
8589		}
8590	}
8591	if err != nil {
8592		return nil, err
8593	}
8594	defer googleapi.CloseBody(res)
8595	if err := googleapi.CheckResponse(res); err != nil {
8596		return nil, err
8597	}
8598	ret := &Operation{
8599		ServerResponse: googleapi.ServerResponse{
8600			Header:         res.Header,
8601			HTTPStatusCode: res.StatusCode,
8602		},
8603	}
8604	target := &ret
8605	if err := gensupport.DecodeResponse(target, res); err != nil {
8606		return nil, err
8607	}
8608	return ret, nil
8609	// {
8610	//   "description": "Sets the monitoring service for a specific cluster.",
8611	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setMonitoring",
8612	//   "httpMethod": "POST",
8613	//   "id": "container.projects.locations.clusters.setMonitoring",
8614	//   "parameterOrder": [
8615	//     "name"
8616	//   ],
8617	//   "parameters": {
8618	//     "name": {
8619	//       "description": "The name (project, location, cluster) of the cluster to set monitoring. Specified in the format `projects/*/locations/*/clusters/*`.",
8620	//       "location": "path",
8621	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
8622	//       "required": true,
8623	//       "type": "string"
8624	//     }
8625	//   },
8626	//   "path": "v1beta1/{+name}:setMonitoring",
8627	//   "request": {
8628	//     "$ref": "SetMonitoringServiceRequest"
8629	//   },
8630	//   "response": {
8631	//     "$ref": "Operation"
8632	//   },
8633	//   "scopes": [
8634	//     "https://www.googleapis.com/auth/cloud-platform"
8635	//   ]
8636	// }
8637
8638}
8639
8640// method id "container.projects.locations.clusters.setNetworkPolicy":
8641
8642type ProjectsLocationsClustersSetNetworkPolicyCall struct {
8643	s                       *Service
8644	name                    string
8645	setnetworkpolicyrequest *SetNetworkPolicyRequest
8646	urlParams_              gensupport.URLParams
8647	ctx_                    context.Context
8648	header_                 http.Header
8649}
8650
8651// SetNetworkPolicy: Enables or disables Network Policy for a cluster.
8652//
8653// - name: The name (project, location, cluster id) of the cluster to
8654//   set networking policy. Specified in the format
8655//   `projects/*/locations/*/clusters/*`.
8656func (r *ProjectsLocationsClustersService) SetNetworkPolicy(name string, setnetworkpolicyrequest *SetNetworkPolicyRequest) *ProjectsLocationsClustersSetNetworkPolicyCall {
8657	c := &ProjectsLocationsClustersSetNetworkPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8658	c.name = name
8659	c.setnetworkpolicyrequest = setnetworkpolicyrequest
8660	return c
8661}
8662
8663// Fields allows partial responses to be retrieved. See
8664// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8665// for more information.
8666func (c *ProjectsLocationsClustersSetNetworkPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersSetNetworkPolicyCall {
8667	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8668	return c
8669}
8670
8671// Context sets the context to be used in this call's Do method. Any
8672// pending HTTP request will be aborted if the provided context is
8673// canceled.
8674func (c *ProjectsLocationsClustersSetNetworkPolicyCall) Context(ctx context.Context) *ProjectsLocationsClustersSetNetworkPolicyCall {
8675	c.ctx_ = ctx
8676	return c
8677}
8678
8679// Header returns an http.Header that can be modified by the caller to
8680// add HTTP headers to the request.
8681func (c *ProjectsLocationsClustersSetNetworkPolicyCall) Header() http.Header {
8682	if c.header_ == nil {
8683		c.header_ = make(http.Header)
8684	}
8685	return c.header_
8686}
8687
8688func (c *ProjectsLocationsClustersSetNetworkPolicyCall) doRequest(alt string) (*http.Response, error) {
8689	reqHeaders := make(http.Header)
8690	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8691	for k, v := range c.header_ {
8692		reqHeaders[k] = v
8693	}
8694	reqHeaders.Set("User-Agent", c.s.userAgent())
8695	var body io.Reader = nil
8696	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setnetworkpolicyrequest)
8697	if err != nil {
8698		return nil, err
8699	}
8700	reqHeaders.Set("Content-Type", "application/json")
8701	c.urlParams_.Set("alt", alt)
8702	c.urlParams_.Set("prettyPrint", "false")
8703	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setNetworkPolicy")
8704	urls += "?" + c.urlParams_.Encode()
8705	req, err := http.NewRequest("POST", urls, body)
8706	if err != nil {
8707		return nil, err
8708	}
8709	req.Header = reqHeaders
8710	googleapi.Expand(req.URL, map[string]string{
8711		"name": c.name,
8712	})
8713	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8714}
8715
8716// Do executes the "container.projects.locations.clusters.setNetworkPolicy" call.
8717// Exactly one of *Operation or error will be non-nil. Any non-2xx
8718// status code is an error. Response headers are in either
8719// *Operation.ServerResponse.Header or (if a response was returned at
8720// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8721// to check whether the returned error was because
8722// http.StatusNotModified was returned.
8723func (c *ProjectsLocationsClustersSetNetworkPolicyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8724	gensupport.SetOptions(c.urlParams_, opts...)
8725	res, err := c.doRequest("json")
8726	if res != nil && res.StatusCode == http.StatusNotModified {
8727		if res.Body != nil {
8728			res.Body.Close()
8729		}
8730		return nil, &googleapi.Error{
8731			Code:   res.StatusCode,
8732			Header: res.Header,
8733		}
8734	}
8735	if err != nil {
8736		return nil, err
8737	}
8738	defer googleapi.CloseBody(res)
8739	if err := googleapi.CheckResponse(res); err != nil {
8740		return nil, err
8741	}
8742	ret := &Operation{
8743		ServerResponse: googleapi.ServerResponse{
8744			Header:         res.Header,
8745			HTTPStatusCode: res.StatusCode,
8746		},
8747	}
8748	target := &ret
8749	if err := gensupport.DecodeResponse(target, res); err != nil {
8750		return nil, err
8751	}
8752	return ret, nil
8753	// {
8754	//   "description": "Enables or disables Network Policy for a cluster.",
8755	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setNetworkPolicy",
8756	//   "httpMethod": "POST",
8757	//   "id": "container.projects.locations.clusters.setNetworkPolicy",
8758	//   "parameterOrder": [
8759	//     "name"
8760	//   ],
8761	//   "parameters": {
8762	//     "name": {
8763	//       "description": "The name (project, location, cluster id) of the cluster to set networking policy. Specified in the format `projects/*/locations/*/clusters/*`.",
8764	//       "location": "path",
8765	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
8766	//       "required": true,
8767	//       "type": "string"
8768	//     }
8769	//   },
8770	//   "path": "v1beta1/{+name}:setNetworkPolicy",
8771	//   "request": {
8772	//     "$ref": "SetNetworkPolicyRequest"
8773	//   },
8774	//   "response": {
8775	//     "$ref": "Operation"
8776	//   },
8777	//   "scopes": [
8778	//     "https://www.googleapis.com/auth/cloud-platform"
8779	//   ]
8780	// }
8781
8782}
8783
8784// method id "container.projects.locations.clusters.setResourceLabels":
8785
8786type ProjectsLocationsClustersSetResourceLabelsCall struct {
8787	s                *Service
8788	name             string
8789	setlabelsrequest *SetLabelsRequest
8790	urlParams_       gensupport.URLParams
8791	ctx_             context.Context
8792	header_          http.Header
8793}
8794
8795// SetResourceLabels: Sets labels on a cluster.
8796//
8797// - name: The name (project, location, cluster id) of the cluster to
8798//   set labels. Specified in the format
8799//   `projects/*/locations/*/clusters/*`.
8800func (r *ProjectsLocationsClustersService) SetResourceLabels(name string, setlabelsrequest *SetLabelsRequest) *ProjectsLocationsClustersSetResourceLabelsCall {
8801	c := &ProjectsLocationsClustersSetResourceLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8802	c.name = name
8803	c.setlabelsrequest = setlabelsrequest
8804	return c
8805}
8806
8807// Fields allows partial responses to be retrieved. See
8808// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8809// for more information.
8810func (c *ProjectsLocationsClustersSetResourceLabelsCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersSetResourceLabelsCall {
8811	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8812	return c
8813}
8814
8815// Context sets the context to be used in this call's Do method. Any
8816// pending HTTP request will be aborted if the provided context is
8817// canceled.
8818func (c *ProjectsLocationsClustersSetResourceLabelsCall) Context(ctx context.Context) *ProjectsLocationsClustersSetResourceLabelsCall {
8819	c.ctx_ = ctx
8820	return c
8821}
8822
8823// Header returns an http.Header that can be modified by the caller to
8824// add HTTP headers to the request.
8825func (c *ProjectsLocationsClustersSetResourceLabelsCall) Header() http.Header {
8826	if c.header_ == nil {
8827		c.header_ = make(http.Header)
8828	}
8829	return c.header_
8830}
8831
8832func (c *ProjectsLocationsClustersSetResourceLabelsCall) doRequest(alt string) (*http.Response, error) {
8833	reqHeaders := make(http.Header)
8834	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8835	for k, v := range c.header_ {
8836		reqHeaders[k] = v
8837	}
8838	reqHeaders.Set("User-Agent", c.s.userAgent())
8839	var body io.Reader = nil
8840	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setlabelsrequest)
8841	if err != nil {
8842		return nil, err
8843	}
8844	reqHeaders.Set("Content-Type", "application/json")
8845	c.urlParams_.Set("alt", alt)
8846	c.urlParams_.Set("prettyPrint", "false")
8847	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setResourceLabels")
8848	urls += "?" + c.urlParams_.Encode()
8849	req, err := http.NewRequest("POST", urls, body)
8850	if err != nil {
8851		return nil, err
8852	}
8853	req.Header = reqHeaders
8854	googleapi.Expand(req.URL, map[string]string{
8855		"name": c.name,
8856	})
8857	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8858}
8859
8860// Do executes the "container.projects.locations.clusters.setResourceLabels" call.
8861// Exactly one of *Operation or error will be non-nil. Any non-2xx
8862// status code is an error. Response headers are in either
8863// *Operation.ServerResponse.Header or (if a response was returned at
8864// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8865// to check whether the returned error was because
8866// http.StatusNotModified was returned.
8867func (c *ProjectsLocationsClustersSetResourceLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
8868	gensupport.SetOptions(c.urlParams_, opts...)
8869	res, err := c.doRequest("json")
8870	if res != nil && res.StatusCode == http.StatusNotModified {
8871		if res.Body != nil {
8872			res.Body.Close()
8873		}
8874		return nil, &googleapi.Error{
8875			Code:   res.StatusCode,
8876			Header: res.Header,
8877		}
8878	}
8879	if err != nil {
8880		return nil, err
8881	}
8882	defer googleapi.CloseBody(res)
8883	if err := googleapi.CheckResponse(res); err != nil {
8884		return nil, err
8885	}
8886	ret := &Operation{
8887		ServerResponse: googleapi.ServerResponse{
8888			Header:         res.Header,
8889			HTTPStatusCode: res.StatusCode,
8890		},
8891	}
8892	target := &ret
8893	if err := gensupport.DecodeResponse(target, res); err != nil {
8894		return nil, err
8895	}
8896	return ret, nil
8897	// {
8898	//   "description": "Sets labels on a cluster.",
8899	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setResourceLabels",
8900	//   "httpMethod": "POST",
8901	//   "id": "container.projects.locations.clusters.setResourceLabels",
8902	//   "parameterOrder": [
8903	//     "name"
8904	//   ],
8905	//   "parameters": {
8906	//     "name": {
8907	//       "description": "The name (project, location, cluster id) of the cluster to set labels. Specified in the format `projects/*/locations/*/clusters/*`.",
8908	//       "location": "path",
8909	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
8910	//       "required": true,
8911	//       "type": "string"
8912	//     }
8913	//   },
8914	//   "path": "v1beta1/{+name}:setResourceLabels",
8915	//   "request": {
8916	//     "$ref": "SetLabelsRequest"
8917	//   },
8918	//   "response": {
8919	//     "$ref": "Operation"
8920	//   },
8921	//   "scopes": [
8922	//     "https://www.googleapis.com/auth/cloud-platform"
8923	//   ]
8924	// }
8925
8926}
8927
8928// method id "container.projects.locations.clusters.startIpRotation":
8929
8930type ProjectsLocationsClustersStartIpRotationCall struct {
8931	s                      *Service
8932	name                   string
8933	startiprotationrequest *StartIPRotationRequest
8934	urlParams_             gensupport.URLParams
8935	ctx_                   context.Context
8936	header_                http.Header
8937}
8938
8939// StartIpRotation: Starts master IP rotation.
8940//
8941// - name: The name (project, location, cluster id) of the cluster to
8942//   start IP rotation. Specified in the format
8943//   `projects/*/locations/*/clusters/*`.
8944func (r *ProjectsLocationsClustersService) StartIpRotation(name string, startiprotationrequest *StartIPRotationRequest) *ProjectsLocationsClustersStartIpRotationCall {
8945	c := &ProjectsLocationsClustersStartIpRotationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8946	c.name = name
8947	c.startiprotationrequest = startiprotationrequest
8948	return c
8949}
8950
8951// Fields allows partial responses to be retrieved. See
8952// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8953// for more information.
8954func (c *ProjectsLocationsClustersStartIpRotationCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersStartIpRotationCall {
8955	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8956	return c
8957}
8958
8959// Context sets the context to be used in this call's Do method. Any
8960// pending HTTP request will be aborted if the provided context is
8961// canceled.
8962func (c *ProjectsLocationsClustersStartIpRotationCall) Context(ctx context.Context) *ProjectsLocationsClustersStartIpRotationCall {
8963	c.ctx_ = ctx
8964	return c
8965}
8966
8967// Header returns an http.Header that can be modified by the caller to
8968// add HTTP headers to the request.
8969func (c *ProjectsLocationsClustersStartIpRotationCall) Header() http.Header {
8970	if c.header_ == nil {
8971		c.header_ = make(http.Header)
8972	}
8973	return c.header_
8974}
8975
8976func (c *ProjectsLocationsClustersStartIpRotationCall) doRequest(alt string) (*http.Response, error) {
8977	reqHeaders := make(http.Header)
8978	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8979	for k, v := range c.header_ {
8980		reqHeaders[k] = v
8981	}
8982	reqHeaders.Set("User-Agent", c.s.userAgent())
8983	var body io.Reader = nil
8984	body, err := googleapi.WithoutDataWrapper.JSONReader(c.startiprotationrequest)
8985	if err != nil {
8986		return nil, err
8987	}
8988	reqHeaders.Set("Content-Type", "application/json")
8989	c.urlParams_.Set("alt", alt)
8990	c.urlParams_.Set("prettyPrint", "false")
8991	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:startIpRotation")
8992	urls += "?" + c.urlParams_.Encode()
8993	req, err := http.NewRequest("POST", urls, body)
8994	if err != nil {
8995		return nil, err
8996	}
8997	req.Header = reqHeaders
8998	googleapi.Expand(req.URL, map[string]string{
8999		"name": c.name,
9000	})
9001	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9002}
9003
9004// Do executes the "container.projects.locations.clusters.startIpRotation" call.
9005// Exactly one of *Operation or error will be non-nil. Any non-2xx
9006// status code is an error. Response headers are in either
9007// *Operation.ServerResponse.Header or (if a response was returned at
9008// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
9009// to check whether the returned error was because
9010// http.StatusNotModified was returned.
9011func (c *ProjectsLocationsClustersStartIpRotationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
9012	gensupport.SetOptions(c.urlParams_, opts...)
9013	res, err := c.doRequest("json")
9014	if res != nil && res.StatusCode == http.StatusNotModified {
9015		if res.Body != nil {
9016			res.Body.Close()
9017		}
9018		return nil, &googleapi.Error{
9019			Code:   res.StatusCode,
9020			Header: res.Header,
9021		}
9022	}
9023	if err != nil {
9024		return nil, err
9025	}
9026	defer googleapi.CloseBody(res)
9027	if err := googleapi.CheckResponse(res); err != nil {
9028		return nil, err
9029	}
9030	ret := &Operation{
9031		ServerResponse: googleapi.ServerResponse{
9032			Header:         res.Header,
9033			HTTPStatusCode: res.StatusCode,
9034		},
9035	}
9036	target := &ret
9037	if err := gensupport.DecodeResponse(target, res); err != nil {
9038		return nil, err
9039	}
9040	return ret, nil
9041	// {
9042	//   "description": "Starts master IP rotation.",
9043	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:startIpRotation",
9044	//   "httpMethod": "POST",
9045	//   "id": "container.projects.locations.clusters.startIpRotation",
9046	//   "parameterOrder": [
9047	//     "name"
9048	//   ],
9049	//   "parameters": {
9050	//     "name": {
9051	//       "description": "The name (project, location, cluster id) of the cluster to start IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.",
9052	//       "location": "path",
9053	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
9054	//       "required": true,
9055	//       "type": "string"
9056	//     }
9057	//   },
9058	//   "path": "v1beta1/{+name}:startIpRotation",
9059	//   "request": {
9060	//     "$ref": "StartIPRotationRequest"
9061	//   },
9062	//   "response": {
9063	//     "$ref": "Operation"
9064	//   },
9065	//   "scopes": [
9066	//     "https://www.googleapis.com/auth/cloud-platform"
9067	//   ]
9068	// }
9069
9070}
9071
9072// method id "container.projects.locations.clusters.update":
9073
9074type ProjectsLocationsClustersUpdateCall struct {
9075	s                    *Service
9076	name                 string
9077	updateclusterrequest *UpdateClusterRequest
9078	urlParams_           gensupport.URLParams
9079	ctx_                 context.Context
9080	header_              http.Header
9081}
9082
9083// Update: Updates the settings for a specific cluster.
9084//
9085// - name: The name (project, location, cluster) of the cluster to
9086//   update. Specified in the format
9087//   `projects/*/locations/*/clusters/*`.
9088func (r *ProjectsLocationsClustersService) Update(name string, updateclusterrequest *UpdateClusterRequest) *ProjectsLocationsClustersUpdateCall {
9089	c := &ProjectsLocationsClustersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9090	c.name = name
9091	c.updateclusterrequest = updateclusterrequest
9092	return c
9093}
9094
9095// Fields allows partial responses to be retrieved. See
9096// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9097// for more information.
9098func (c *ProjectsLocationsClustersUpdateCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersUpdateCall {
9099	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9100	return c
9101}
9102
9103// Context sets the context to be used in this call's Do method. Any
9104// pending HTTP request will be aborted if the provided context is
9105// canceled.
9106func (c *ProjectsLocationsClustersUpdateCall) Context(ctx context.Context) *ProjectsLocationsClustersUpdateCall {
9107	c.ctx_ = ctx
9108	return c
9109}
9110
9111// Header returns an http.Header that can be modified by the caller to
9112// add HTTP headers to the request.
9113func (c *ProjectsLocationsClustersUpdateCall) Header() http.Header {
9114	if c.header_ == nil {
9115		c.header_ = make(http.Header)
9116	}
9117	return c.header_
9118}
9119
9120func (c *ProjectsLocationsClustersUpdateCall) doRequest(alt string) (*http.Response, error) {
9121	reqHeaders := make(http.Header)
9122	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9123	for k, v := range c.header_ {
9124		reqHeaders[k] = v
9125	}
9126	reqHeaders.Set("User-Agent", c.s.userAgent())
9127	var body io.Reader = nil
9128	body, err := googleapi.WithoutDataWrapper.JSONReader(c.updateclusterrequest)
9129	if err != nil {
9130		return nil, err
9131	}
9132	reqHeaders.Set("Content-Type", "application/json")
9133	c.urlParams_.Set("alt", alt)
9134	c.urlParams_.Set("prettyPrint", "false")
9135	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
9136	urls += "?" + c.urlParams_.Encode()
9137	req, err := http.NewRequest("PUT", urls, body)
9138	if err != nil {
9139		return nil, err
9140	}
9141	req.Header = reqHeaders
9142	googleapi.Expand(req.URL, map[string]string{
9143		"name": c.name,
9144	})
9145	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9146}
9147
9148// Do executes the "container.projects.locations.clusters.update" call.
9149// Exactly one of *Operation or error will be non-nil. Any non-2xx
9150// status code is an error. Response headers are in either
9151// *Operation.ServerResponse.Header or (if a response was returned at
9152// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
9153// to check whether the returned error was because
9154// http.StatusNotModified was returned.
9155func (c *ProjectsLocationsClustersUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
9156	gensupport.SetOptions(c.urlParams_, opts...)
9157	res, err := c.doRequest("json")
9158	if res != nil && res.StatusCode == http.StatusNotModified {
9159		if res.Body != nil {
9160			res.Body.Close()
9161		}
9162		return nil, &googleapi.Error{
9163			Code:   res.StatusCode,
9164			Header: res.Header,
9165		}
9166	}
9167	if err != nil {
9168		return nil, err
9169	}
9170	defer googleapi.CloseBody(res)
9171	if err := googleapi.CheckResponse(res); err != nil {
9172		return nil, err
9173	}
9174	ret := &Operation{
9175		ServerResponse: googleapi.ServerResponse{
9176			Header:         res.Header,
9177			HTTPStatusCode: res.StatusCode,
9178		},
9179	}
9180	target := &ret
9181	if err := gensupport.DecodeResponse(target, res); err != nil {
9182		return nil, err
9183	}
9184	return ret, nil
9185	// {
9186	//   "description": "Updates the settings for a specific cluster.",
9187	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}",
9188	//   "httpMethod": "PUT",
9189	//   "id": "container.projects.locations.clusters.update",
9190	//   "parameterOrder": [
9191	//     "name"
9192	//   ],
9193	//   "parameters": {
9194	//     "name": {
9195	//       "description": "The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`.",
9196	//       "location": "path",
9197	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
9198	//       "required": true,
9199	//       "type": "string"
9200	//     }
9201	//   },
9202	//   "path": "v1beta1/{+name}",
9203	//   "request": {
9204	//     "$ref": "UpdateClusterRequest"
9205	//   },
9206	//   "response": {
9207	//     "$ref": "Operation"
9208	//   },
9209	//   "scopes": [
9210	//     "https://www.googleapis.com/auth/cloud-platform"
9211	//   ]
9212	// }
9213
9214}
9215
9216// method id "container.projects.locations.clusters.updateMaster":
9217
9218type ProjectsLocationsClustersUpdateMasterCall struct {
9219	s                   *Service
9220	name                string
9221	updatemasterrequest *UpdateMasterRequest
9222	urlParams_          gensupport.URLParams
9223	ctx_                context.Context
9224	header_             http.Header
9225}
9226
9227// UpdateMaster: Updates the master for a specific cluster.
9228//
9229// - name: The name (project, location, cluster) of the cluster to
9230//   update. Specified in the format
9231//   `projects/*/locations/*/clusters/*`.
9232func (r *ProjectsLocationsClustersService) UpdateMaster(name string, updatemasterrequest *UpdateMasterRequest) *ProjectsLocationsClustersUpdateMasterCall {
9233	c := &ProjectsLocationsClustersUpdateMasterCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9234	c.name = name
9235	c.updatemasterrequest = updatemasterrequest
9236	return c
9237}
9238
9239// Fields allows partial responses to be retrieved. See
9240// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9241// for more information.
9242func (c *ProjectsLocationsClustersUpdateMasterCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersUpdateMasterCall {
9243	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9244	return c
9245}
9246
9247// Context sets the context to be used in this call's Do method. Any
9248// pending HTTP request will be aborted if the provided context is
9249// canceled.
9250func (c *ProjectsLocationsClustersUpdateMasterCall) Context(ctx context.Context) *ProjectsLocationsClustersUpdateMasterCall {
9251	c.ctx_ = ctx
9252	return c
9253}
9254
9255// Header returns an http.Header that can be modified by the caller to
9256// add HTTP headers to the request.
9257func (c *ProjectsLocationsClustersUpdateMasterCall) Header() http.Header {
9258	if c.header_ == nil {
9259		c.header_ = make(http.Header)
9260	}
9261	return c.header_
9262}
9263
9264func (c *ProjectsLocationsClustersUpdateMasterCall) doRequest(alt string) (*http.Response, error) {
9265	reqHeaders := make(http.Header)
9266	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9267	for k, v := range c.header_ {
9268		reqHeaders[k] = v
9269	}
9270	reqHeaders.Set("User-Agent", c.s.userAgent())
9271	var body io.Reader = nil
9272	body, err := googleapi.WithoutDataWrapper.JSONReader(c.updatemasterrequest)
9273	if err != nil {
9274		return nil, err
9275	}
9276	reqHeaders.Set("Content-Type", "application/json")
9277	c.urlParams_.Set("alt", alt)
9278	c.urlParams_.Set("prettyPrint", "false")
9279	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:updateMaster")
9280	urls += "?" + c.urlParams_.Encode()
9281	req, err := http.NewRequest("POST", urls, body)
9282	if err != nil {
9283		return nil, err
9284	}
9285	req.Header = reqHeaders
9286	googleapi.Expand(req.URL, map[string]string{
9287		"name": c.name,
9288	})
9289	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9290}
9291
9292// Do executes the "container.projects.locations.clusters.updateMaster" call.
9293// Exactly one of *Operation or error will be non-nil. Any non-2xx
9294// status code is an error. Response headers are in either
9295// *Operation.ServerResponse.Header or (if a response was returned at
9296// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
9297// to check whether the returned error was because
9298// http.StatusNotModified was returned.
9299func (c *ProjectsLocationsClustersUpdateMasterCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
9300	gensupport.SetOptions(c.urlParams_, opts...)
9301	res, err := c.doRequest("json")
9302	if res != nil && res.StatusCode == http.StatusNotModified {
9303		if res.Body != nil {
9304			res.Body.Close()
9305		}
9306		return nil, &googleapi.Error{
9307			Code:   res.StatusCode,
9308			Header: res.Header,
9309		}
9310	}
9311	if err != nil {
9312		return nil, err
9313	}
9314	defer googleapi.CloseBody(res)
9315	if err := googleapi.CheckResponse(res); err != nil {
9316		return nil, err
9317	}
9318	ret := &Operation{
9319		ServerResponse: googleapi.ServerResponse{
9320			Header:         res.Header,
9321			HTTPStatusCode: res.StatusCode,
9322		},
9323	}
9324	target := &ret
9325	if err := gensupport.DecodeResponse(target, res); err != nil {
9326		return nil, err
9327	}
9328	return ret, nil
9329	// {
9330	//   "description": "Updates the master for a specific cluster.",
9331	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:updateMaster",
9332	//   "httpMethod": "POST",
9333	//   "id": "container.projects.locations.clusters.updateMaster",
9334	//   "parameterOrder": [
9335	//     "name"
9336	//   ],
9337	//   "parameters": {
9338	//     "name": {
9339	//       "description": "The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`.",
9340	//       "location": "path",
9341	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
9342	//       "required": true,
9343	//       "type": "string"
9344	//     }
9345	//   },
9346	//   "path": "v1beta1/{+name}:updateMaster",
9347	//   "request": {
9348	//     "$ref": "UpdateMasterRequest"
9349	//   },
9350	//   "response": {
9351	//     "$ref": "Operation"
9352	//   },
9353	//   "scopes": [
9354	//     "https://www.googleapis.com/auth/cloud-platform"
9355	//   ]
9356	// }
9357
9358}
9359
9360// method id "container.projects.locations.clusters.nodePools.create":
9361
9362type ProjectsLocationsClustersNodePoolsCreateCall struct {
9363	s                     *Service
9364	parent                string
9365	createnodepoolrequest *CreateNodePoolRequest
9366	urlParams_            gensupport.URLParams
9367	ctx_                  context.Context
9368	header_               http.Header
9369}
9370
9371// Create: Creates a node pool for a cluster.
9372//
9373// - parent: The parent (project, location, cluster id) where the node
9374//   pool will be created. Specified in the format
9375//   `projects/*/locations/*/clusters/*`.
9376func (r *ProjectsLocationsClustersNodePoolsService) Create(parent string, createnodepoolrequest *CreateNodePoolRequest) *ProjectsLocationsClustersNodePoolsCreateCall {
9377	c := &ProjectsLocationsClustersNodePoolsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9378	c.parent = parent
9379	c.createnodepoolrequest = createnodepoolrequest
9380	return c
9381}
9382
9383// Fields allows partial responses to be retrieved. See
9384// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9385// for more information.
9386func (c *ProjectsLocationsClustersNodePoolsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersNodePoolsCreateCall {
9387	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9388	return c
9389}
9390
9391// Context sets the context to be used in this call's Do method. Any
9392// pending HTTP request will be aborted if the provided context is
9393// canceled.
9394func (c *ProjectsLocationsClustersNodePoolsCreateCall) Context(ctx context.Context) *ProjectsLocationsClustersNodePoolsCreateCall {
9395	c.ctx_ = ctx
9396	return c
9397}
9398
9399// Header returns an http.Header that can be modified by the caller to
9400// add HTTP headers to the request.
9401func (c *ProjectsLocationsClustersNodePoolsCreateCall) Header() http.Header {
9402	if c.header_ == nil {
9403		c.header_ = make(http.Header)
9404	}
9405	return c.header_
9406}
9407
9408func (c *ProjectsLocationsClustersNodePoolsCreateCall) doRequest(alt string) (*http.Response, error) {
9409	reqHeaders := make(http.Header)
9410	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9411	for k, v := range c.header_ {
9412		reqHeaders[k] = v
9413	}
9414	reqHeaders.Set("User-Agent", c.s.userAgent())
9415	var body io.Reader = nil
9416	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createnodepoolrequest)
9417	if err != nil {
9418		return nil, err
9419	}
9420	reqHeaders.Set("Content-Type", "application/json")
9421	c.urlParams_.Set("alt", alt)
9422	c.urlParams_.Set("prettyPrint", "false")
9423	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/nodePools")
9424	urls += "?" + c.urlParams_.Encode()
9425	req, err := http.NewRequest("POST", urls, body)
9426	if err != nil {
9427		return nil, err
9428	}
9429	req.Header = reqHeaders
9430	googleapi.Expand(req.URL, map[string]string{
9431		"parent": c.parent,
9432	})
9433	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9434}
9435
9436// Do executes the "container.projects.locations.clusters.nodePools.create" call.
9437// Exactly one of *Operation or error will be non-nil. Any non-2xx
9438// status code is an error. Response headers are in either
9439// *Operation.ServerResponse.Header or (if a response was returned at
9440// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
9441// to check whether the returned error was because
9442// http.StatusNotModified was returned.
9443func (c *ProjectsLocationsClustersNodePoolsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
9444	gensupport.SetOptions(c.urlParams_, opts...)
9445	res, err := c.doRequest("json")
9446	if res != nil && res.StatusCode == http.StatusNotModified {
9447		if res.Body != nil {
9448			res.Body.Close()
9449		}
9450		return nil, &googleapi.Error{
9451			Code:   res.StatusCode,
9452			Header: res.Header,
9453		}
9454	}
9455	if err != nil {
9456		return nil, err
9457	}
9458	defer googleapi.CloseBody(res)
9459	if err := googleapi.CheckResponse(res); err != nil {
9460		return nil, err
9461	}
9462	ret := &Operation{
9463		ServerResponse: googleapi.ServerResponse{
9464			Header:         res.Header,
9465			HTTPStatusCode: res.StatusCode,
9466		},
9467	}
9468	target := &ret
9469	if err := gensupport.DecodeResponse(target, res); err != nil {
9470		return nil, err
9471	}
9472	return ret, nil
9473	// {
9474	//   "description": "Creates a node pool for a cluster.",
9475	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools",
9476	//   "httpMethod": "POST",
9477	//   "id": "container.projects.locations.clusters.nodePools.create",
9478	//   "parameterOrder": [
9479	//     "parent"
9480	//   ],
9481	//   "parameters": {
9482	//     "parent": {
9483	//       "description": "The parent (project, location, cluster id) where the node pool will be created. Specified in the format `projects/*/locations/*/clusters/*`.",
9484	//       "location": "path",
9485	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
9486	//       "required": true,
9487	//       "type": "string"
9488	//     }
9489	//   },
9490	//   "path": "v1beta1/{+parent}/nodePools",
9491	//   "request": {
9492	//     "$ref": "CreateNodePoolRequest"
9493	//   },
9494	//   "response": {
9495	//     "$ref": "Operation"
9496	//   },
9497	//   "scopes": [
9498	//     "https://www.googleapis.com/auth/cloud-platform"
9499	//   ]
9500	// }
9501
9502}
9503
9504// method id "container.projects.locations.clusters.nodePools.delete":
9505
9506type ProjectsLocationsClustersNodePoolsDeleteCall struct {
9507	s          *Service
9508	name       string
9509	urlParams_ gensupport.URLParams
9510	ctx_       context.Context
9511	header_    http.Header
9512}
9513
9514// Delete: Deletes a node pool from a cluster.
9515//
9516// - name: The name (project, location, cluster, node pool id) of the
9517//   node pool to delete. Specified in the format
9518//   `projects/*/locations/*/clusters/*/nodePools/*`.
9519func (r *ProjectsLocationsClustersNodePoolsService) Delete(name string) *ProjectsLocationsClustersNodePoolsDeleteCall {
9520	c := &ProjectsLocationsClustersNodePoolsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9521	c.name = name
9522	return c
9523}
9524
9525// ClusterId sets the optional parameter "clusterId": Required.
9526// Deprecated. The name of the cluster. This field has been deprecated
9527// and replaced by the name field.
9528func (c *ProjectsLocationsClustersNodePoolsDeleteCall) ClusterId(clusterId string) *ProjectsLocationsClustersNodePoolsDeleteCall {
9529	c.urlParams_.Set("clusterId", clusterId)
9530	return c
9531}
9532
9533// NodePoolId sets the optional parameter "nodePoolId": Required.
9534// Deprecated. The name of the node pool to delete. This field has been
9535// deprecated and replaced by the name field.
9536func (c *ProjectsLocationsClustersNodePoolsDeleteCall) NodePoolId(nodePoolId string) *ProjectsLocationsClustersNodePoolsDeleteCall {
9537	c.urlParams_.Set("nodePoolId", nodePoolId)
9538	return c
9539}
9540
9541// ProjectId sets the optional parameter "projectId": Required.
9542// Deprecated. The Google Developers Console project ID or project
9543// number
9544// (https://developers.google.com/console/help/new/#projectnumber). This
9545// field has been deprecated and replaced by the name field.
9546func (c *ProjectsLocationsClustersNodePoolsDeleteCall) ProjectId(projectId string) *ProjectsLocationsClustersNodePoolsDeleteCall {
9547	c.urlParams_.Set("projectId", projectId)
9548	return c
9549}
9550
9551// Zone sets the optional parameter "zone": Required. Deprecated. The
9552// name of the Google Compute Engine zone
9553// (https://cloud.google.com/compute/docs/zones#available) in which the
9554// cluster resides. This field has been deprecated and replaced by the
9555// name field.
9556func (c *ProjectsLocationsClustersNodePoolsDeleteCall) Zone(zone string) *ProjectsLocationsClustersNodePoolsDeleteCall {
9557	c.urlParams_.Set("zone", zone)
9558	return c
9559}
9560
9561// Fields allows partial responses to be retrieved. See
9562// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9563// for more information.
9564func (c *ProjectsLocationsClustersNodePoolsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersNodePoolsDeleteCall {
9565	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9566	return c
9567}
9568
9569// Context sets the context to be used in this call's Do method. Any
9570// pending HTTP request will be aborted if the provided context is
9571// canceled.
9572func (c *ProjectsLocationsClustersNodePoolsDeleteCall) Context(ctx context.Context) *ProjectsLocationsClustersNodePoolsDeleteCall {
9573	c.ctx_ = ctx
9574	return c
9575}
9576
9577// Header returns an http.Header that can be modified by the caller to
9578// add HTTP headers to the request.
9579func (c *ProjectsLocationsClustersNodePoolsDeleteCall) Header() http.Header {
9580	if c.header_ == nil {
9581		c.header_ = make(http.Header)
9582	}
9583	return c.header_
9584}
9585
9586func (c *ProjectsLocationsClustersNodePoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
9587	reqHeaders := make(http.Header)
9588	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9589	for k, v := range c.header_ {
9590		reqHeaders[k] = v
9591	}
9592	reqHeaders.Set("User-Agent", c.s.userAgent())
9593	var body io.Reader = nil
9594	c.urlParams_.Set("alt", alt)
9595	c.urlParams_.Set("prettyPrint", "false")
9596	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
9597	urls += "?" + c.urlParams_.Encode()
9598	req, err := http.NewRequest("DELETE", urls, body)
9599	if err != nil {
9600		return nil, err
9601	}
9602	req.Header = reqHeaders
9603	googleapi.Expand(req.URL, map[string]string{
9604		"name": c.name,
9605	})
9606	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9607}
9608
9609// Do executes the "container.projects.locations.clusters.nodePools.delete" call.
9610// Exactly one of *Operation or error will be non-nil. Any non-2xx
9611// status code is an error. Response headers are in either
9612// *Operation.ServerResponse.Header or (if a response was returned at
9613// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
9614// to check whether the returned error was because
9615// http.StatusNotModified was returned.
9616func (c *ProjectsLocationsClustersNodePoolsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
9617	gensupport.SetOptions(c.urlParams_, opts...)
9618	res, err := c.doRequest("json")
9619	if res != nil && res.StatusCode == http.StatusNotModified {
9620		if res.Body != nil {
9621			res.Body.Close()
9622		}
9623		return nil, &googleapi.Error{
9624			Code:   res.StatusCode,
9625			Header: res.Header,
9626		}
9627	}
9628	if err != nil {
9629		return nil, err
9630	}
9631	defer googleapi.CloseBody(res)
9632	if err := googleapi.CheckResponse(res); err != nil {
9633		return nil, err
9634	}
9635	ret := &Operation{
9636		ServerResponse: googleapi.ServerResponse{
9637			Header:         res.Header,
9638			HTTPStatusCode: res.StatusCode,
9639		},
9640	}
9641	target := &ret
9642	if err := gensupport.DecodeResponse(target, res); err != nil {
9643		return nil, err
9644	}
9645	return ret, nil
9646	// {
9647	//   "description": "Deletes a node pool from a cluster.",
9648	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}",
9649	//   "httpMethod": "DELETE",
9650	//   "id": "container.projects.locations.clusters.nodePools.delete",
9651	//   "parameterOrder": [
9652	//     "name"
9653	//   ],
9654	//   "parameters": {
9655	//     "clusterId": {
9656	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
9657	//       "location": "query",
9658	//       "type": "string"
9659	//     },
9660	//     "name": {
9661	//       "description": "The name (project, location, cluster, node pool id) of the node pool to delete. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
9662	//       "location": "path",
9663	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
9664	//       "required": true,
9665	//       "type": "string"
9666	//     },
9667	//     "nodePoolId": {
9668	//       "description": "Required. Deprecated. The name of the node pool to delete. This field has been deprecated and replaced by the name field.",
9669	//       "location": "query",
9670	//       "type": "string"
9671	//     },
9672	//     "projectId": {
9673	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
9674	//       "location": "query",
9675	//       "type": "string"
9676	//     },
9677	//     "zone": {
9678	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
9679	//       "location": "query",
9680	//       "type": "string"
9681	//     }
9682	//   },
9683	//   "path": "v1beta1/{+name}",
9684	//   "response": {
9685	//     "$ref": "Operation"
9686	//   },
9687	//   "scopes": [
9688	//     "https://www.googleapis.com/auth/cloud-platform"
9689	//   ]
9690	// }
9691
9692}
9693
9694// method id "container.projects.locations.clusters.nodePools.get":
9695
9696type ProjectsLocationsClustersNodePoolsGetCall struct {
9697	s            *Service
9698	name         string
9699	urlParams_   gensupport.URLParams
9700	ifNoneMatch_ string
9701	ctx_         context.Context
9702	header_      http.Header
9703}
9704
9705// Get: Retrieves the requested node pool.
9706//
9707// - name: The name (project, location, cluster, node pool id) of the
9708//   node pool to get. Specified in the format
9709//   `projects/*/locations/*/clusters/*/nodePools/*`.
9710func (r *ProjectsLocationsClustersNodePoolsService) Get(name string) *ProjectsLocationsClustersNodePoolsGetCall {
9711	c := &ProjectsLocationsClustersNodePoolsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9712	c.name = name
9713	return c
9714}
9715
9716// ClusterId sets the optional parameter "clusterId": Required.
9717// Deprecated. The name of the cluster. This field has been deprecated
9718// and replaced by the name field.
9719func (c *ProjectsLocationsClustersNodePoolsGetCall) ClusterId(clusterId string) *ProjectsLocationsClustersNodePoolsGetCall {
9720	c.urlParams_.Set("clusterId", clusterId)
9721	return c
9722}
9723
9724// NodePoolId sets the optional parameter "nodePoolId": Required.
9725// Deprecated. The name of the node pool. This field has been deprecated
9726// and replaced by the name field.
9727func (c *ProjectsLocationsClustersNodePoolsGetCall) NodePoolId(nodePoolId string) *ProjectsLocationsClustersNodePoolsGetCall {
9728	c.urlParams_.Set("nodePoolId", nodePoolId)
9729	return c
9730}
9731
9732// ProjectId sets the optional parameter "projectId": Required.
9733// Deprecated. The Google Developers Console project ID or project
9734// number
9735// (https://developers.google.com/console/help/new/#projectnumber). This
9736// field has been deprecated and replaced by the name field.
9737func (c *ProjectsLocationsClustersNodePoolsGetCall) ProjectId(projectId string) *ProjectsLocationsClustersNodePoolsGetCall {
9738	c.urlParams_.Set("projectId", projectId)
9739	return c
9740}
9741
9742// Zone sets the optional parameter "zone": Required. Deprecated. The
9743// name of the Google Compute Engine zone
9744// (https://cloud.google.com/compute/docs/zones#available) in which the
9745// cluster resides. This field has been deprecated and replaced by the
9746// name field.
9747func (c *ProjectsLocationsClustersNodePoolsGetCall) Zone(zone string) *ProjectsLocationsClustersNodePoolsGetCall {
9748	c.urlParams_.Set("zone", zone)
9749	return c
9750}
9751
9752// Fields allows partial responses to be retrieved. See
9753// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9754// for more information.
9755func (c *ProjectsLocationsClustersNodePoolsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersNodePoolsGetCall {
9756	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9757	return c
9758}
9759
9760// IfNoneMatch sets the optional parameter which makes the operation
9761// fail if the object's ETag matches the given value. This is useful for
9762// getting updates only after the object has changed since the last
9763// request. Use googleapi.IsNotModified to check whether the response
9764// error from Do is the result of In-None-Match.
9765func (c *ProjectsLocationsClustersNodePoolsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsClustersNodePoolsGetCall {
9766	c.ifNoneMatch_ = entityTag
9767	return c
9768}
9769
9770// Context sets the context to be used in this call's Do method. Any
9771// pending HTTP request will be aborted if the provided context is
9772// canceled.
9773func (c *ProjectsLocationsClustersNodePoolsGetCall) Context(ctx context.Context) *ProjectsLocationsClustersNodePoolsGetCall {
9774	c.ctx_ = ctx
9775	return c
9776}
9777
9778// Header returns an http.Header that can be modified by the caller to
9779// add HTTP headers to the request.
9780func (c *ProjectsLocationsClustersNodePoolsGetCall) Header() http.Header {
9781	if c.header_ == nil {
9782		c.header_ = make(http.Header)
9783	}
9784	return c.header_
9785}
9786
9787func (c *ProjectsLocationsClustersNodePoolsGetCall) doRequest(alt string) (*http.Response, error) {
9788	reqHeaders := make(http.Header)
9789	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9790	for k, v := range c.header_ {
9791		reqHeaders[k] = v
9792	}
9793	reqHeaders.Set("User-Agent", c.s.userAgent())
9794	if c.ifNoneMatch_ != "" {
9795		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9796	}
9797	var body io.Reader = nil
9798	c.urlParams_.Set("alt", alt)
9799	c.urlParams_.Set("prettyPrint", "false")
9800	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
9801	urls += "?" + c.urlParams_.Encode()
9802	req, err := http.NewRequest("GET", urls, body)
9803	if err != nil {
9804		return nil, err
9805	}
9806	req.Header = reqHeaders
9807	googleapi.Expand(req.URL, map[string]string{
9808		"name": c.name,
9809	})
9810	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9811}
9812
9813// Do executes the "container.projects.locations.clusters.nodePools.get" call.
9814// Exactly one of *NodePool or error will be non-nil. Any non-2xx status
9815// code is an error. Response headers are in either
9816// *NodePool.ServerResponse.Header or (if a response was returned at
9817// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
9818// to check whether the returned error was because
9819// http.StatusNotModified was returned.
9820func (c *ProjectsLocationsClustersNodePoolsGetCall) Do(opts ...googleapi.CallOption) (*NodePool, error) {
9821	gensupport.SetOptions(c.urlParams_, opts...)
9822	res, err := c.doRequest("json")
9823	if res != nil && res.StatusCode == http.StatusNotModified {
9824		if res.Body != nil {
9825			res.Body.Close()
9826		}
9827		return nil, &googleapi.Error{
9828			Code:   res.StatusCode,
9829			Header: res.Header,
9830		}
9831	}
9832	if err != nil {
9833		return nil, err
9834	}
9835	defer googleapi.CloseBody(res)
9836	if err := googleapi.CheckResponse(res); err != nil {
9837		return nil, err
9838	}
9839	ret := &NodePool{
9840		ServerResponse: googleapi.ServerResponse{
9841			Header:         res.Header,
9842			HTTPStatusCode: res.StatusCode,
9843		},
9844	}
9845	target := &ret
9846	if err := gensupport.DecodeResponse(target, res); err != nil {
9847		return nil, err
9848	}
9849	return ret, nil
9850	// {
9851	//   "description": "Retrieves the requested node pool.",
9852	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}",
9853	//   "httpMethod": "GET",
9854	//   "id": "container.projects.locations.clusters.nodePools.get",
9855	//   "parameterOrder": [
9856	//     "name"
9857	//   ],
9858	//   "parameters": {
9859	//     "clusterId": {
9860	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
9861	//       "location": "query",
9862	//       "type": "string"
9863	//     },
9864	//     "name": {
9865	//       "description": "The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
9866	//       "location": "path",
9867	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
9868	//       "required": true,
9869	//       "type": "string"
9870	//     },
9871	//     "nodePoolId": {
9872	//       "description": "Required. Deprecated. The name of the node pool. This field has been deprecated and replaced by the name field.",
9873	//       "location": "query",
9874	//       "type": "string"
9875	//     },
9876	//     "projectId": {
9877	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
9878	//       "location": "query",
9879	//       "type": "string"
9880	//     },
9881	//     "zone": {
9882	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
9883	//       "location": "query",
9884	//       "type": "string"
9885	//     }
9886	//   },
9887	//   "path": "v1beta1/{+name}",
9888	//   "response": {
9889	//     "$ref": "NodePool"
9890	//   },
9891	//   "scopes": [
9892	//     "https://www.googleapis.com/auth/cloud-platform"
9893	//   ]
9894	// }
9895
9896}
9897
9898// method id "container.projects.locations.clusters.nodePools.list":
9899
9900type ProjectsLocationsClustersNodePoolsListCall struct {
9901	s            *Service
9902	parent       string
9903	urlParams_   gensupport.URLParams
9904	ifNoneMatch_ string
9905	ctx_         context.Context
9906	header_      http.Header
9907}
9908
9909// List: Lists the node pools for a cluster.
9910//
9911// - parent: The parent (project, location, cluster id) where the node
9912//   pools will be listed. Specified in the format
9913//   `projects/*/locations/*/clusters/*`.
9914func (r *ProjectsLocationsClustersNodePoolsService) List(parent string) *ProjectsLocationsClustersNodePoolsListCall {
9915	c := &ProjectsLocationsClustersNodePoolsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9916	c.parent = parent
9917	return c
9918}
9919
9920// ClusterId sets the optional parameter "clusterId": Required.
9921// Deprecated. The name of the cluster. This field has been deprecated
9922// and replaced by the parent field.
9923func (c *ProjectsLocationsClustersNodePoolsListCall) ClusterId(clusterId string) *ProjectsLocationsClustersNodePoolsListCall {
9924	c.urlParams_.Set("clusterId", clusterId)
9925	return c
9926}
9927
9928// ProjectId sets the optional parameter "projectId": Required.
9929// Deprecated. The Google Developers Console project ID or project
9930// number
9931// (https://developers.google.com/console/help/new/#projectnumber). This
9932// field has been deprecated and replaced by the parent field.
9933func (c *ProjectsLocationsClustersNodePoolsListCall) ProjectId(projectId string) *ProjectsLocationsClustersNodePoolsListCall {
9934	c.urlParams_.Set("projectId", projectId)
9935	return c
9936}
9937
9938// Zone sets the optional parameter "zone": Required. Deprecated. The
9939// name of the Google Compute Engine zone
9940// (https://cloud.google.com/compute/docs/zones#available) in which the
9941// cluster resides. This field has been deprecated and replaced by the
9942// parent field.
9943func (c *ProjectsLocationsClustersNodePoolsListCall) Zone(zone string) *ProjectsLocationsClustersNodePoolsListCall {
9944	c.urlParams_.Set("zone", zone)
9945	return c
9946}
9947
9948// Fields allows partial responses to be retrieved. See
9949// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9950// for more information.
9951func (c *ProjectsLocationsClustersNodePoolsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersNodePoolsListCall {
9952	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9953	return c
9954}
9955
9956// IfNoneMatch sets the optional parameter which makes the operation
9957// fail if the object's ETag matches the given value. This is useful for
9958// getting updates only after the object has changed since the last
9959// request. Use googleapi.IsNotModified to check whether the response
9960// error from Do is the result of In-None-Match.
9961func (c *ProjectsLocationsClustersNodePoolsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsClustersNodePoolsListCall {
9962	c.ifNoneMatch_ = entityTag
9963	return c
9964}
9965
9966// Context sets the context to be used in this call's Do method. Any
9967// pending HTTP request will be aborted if the provided context is
9968// canceled.
9969func (c *ProjectsLocationsClustersNodePoolsListCall) Context(ctx context.Context) *ProjectsLocationsClustersNodePoolsListCall {
9970	c.ctx_ = ctx
9971	return c
9972}
9973
9974// Header returns an http.Header that can be modified by the caller to
9975// add HTTP headers to the request.
9976func (c *ProjectsLocationsClustersNodePoolsListCall) Header() http.Header {
9977	if c.header_ == nil {
9978		c.header_ = make(http.Header)
9979	}
9980	return c.header_
9981}
9982
9983func (c *ProjectsLocationsClustersNodePoolsListCall) doRequest(alt string) (*http.Response, error) {
9984	reqHeaders := make(http.Header)
9985	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9986	for k, v := range c.header_ {
9987		reqHeaders[k] = v
9988	}
9989	reqHeaders.Set("User-Agent", c.s.userAgent())
9990	if c.ifNoneMatch_ != "" {
9991		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9992	}
9993	var body io.Reader = nil
9994	c.urlParams_.Set("alt", alt)
9995	c.urlParams_.Set("prettyPrint", "false")
9996	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/nodePools")
9997	urls += "?" + c.urlParams_.Encode()
9998	req, err := http.NewRequest("GET", urls, body)
9999	if err != nil {
10000		return nil, err
10001	}
10002	req.Header = reqHeaders
10003	googleapi.Expand(req.URL, map[string]string{
10004		"parent": c.parent,
10005	})
10006	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10007}
10008
10009// Do executes the "container.projects.locations.clusters.nodePools.list" call.
10010// Exactly one of *ListNodePoolsResponse or error will be non-nil. Any
10011// non-2xx status code is an error. Response headers are in either
10012// *ListNodePoolsResponse.ServerResponse.Header or (if a response was
10013// returned at all) in error.(*googleapi.Error).Header. Use
10014// googleapi.IsNotModified to check whether the returned error was
10015// because http.StatusNotModified was returned.
10016func (c *ProjectsLocationsClustersNodePoolsListCall) Do(opts ...googleapi.CallOption) (*ListNodePoolsResponse, error) {
10017	gensupport.SetOptions(c.urlParams_, opts...)
10018	res, err := c.doRequest("json")
10019	if res != nil && res.StatusCode == http.StatusNotModified {
10020		if res.Body != nil {
10021			res.Body.Close()
10022		}
10023		return nil, &googleapi.Error{
10024			Code:   res.StatusCode,
10025			Header: res.Header,
10026		}
10027	}
10028	if err != nil {
10029		return nil, err
10030	}
10031	defer googleapi.CloseBody(res)
10032	if err := googleapi.CheckResponse(res); err != nil {
10033		return nil, err
10034	}
10035	ret := &ListNodePoolsResponse{
10036		ServerResponse: googleapi.ServerResponse{
10037			Header:         res.Header,
10038			HTTPStatusCode: res.StatusCode,
10039		},
10040	}
10041	target := &ret
10042	if err := gensupport.DecodeResponse(target, res); err != nil {
10043		return nil, err
10044	}
10045	return ret, nil
10046	// {
10047	//   "description": "Lists the node pools for a cluster.",
10048	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools",
10049	//   "httpMethod": "GET",
10050	//   "id": "container.projects.locations.clusters.nodePools.list",
10051	//   "parameterOrder": [
10052	//     "parent"
10053	//   ],
10054	//   "parameters": {
10055	//     "clusterId": {
10056	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.",
10057	//       "location": "query",
10058	//       "type": "string"
10059	//     },
10060	//     "parent": {
10061	//       "description": "The parent (project, location, cluster id) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.",
10062	//       "location": "path",
10063	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
10064	//       "required": true,
10065	//       "type": "string"
10066	//     },
10067	//     "projectId": {
10068	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field.",
10069	//       "location": "query",
10070	//       "type": "string"
10071	//     },
10072	//     "zone": {
10073	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
10074	//       "location": "query",
10075	//       "type": "string"
10076	//     }
10077	//   },
10078	//   "path": "v1beta1/{+parent}/nodePools",
10079	//   "response": {
10080	//     "$ref": "ListNodePoolsResponse"
10081	//   },
10082	//   "scopes": [
10083	//     "https://www.googleapis.com/auth/cloud-platform"
10084	//   ]
10085	// }
10086
10087}
10088
10089// method id "container.projects.locations.clusters.nodePools.rollback":
10090
10091type ProjectsLocationsClustersNodePoolsRollbackCall struct {
10092	s                              *Service
10093	name                           string
10094	rollbacknodepoolupgraderequest *RollbackNodePoolUpgradeRequest
10095	urlParams_                     gensupport.URLParams
10096	ctx_                           context.Context
10097	header_                        http.Header
10098}
10099
10100// Rollback: Rolls back a previously Aborted or Failed NodePool upgrade.
10101// This makes no changes if the last upgrade successfully completed.
10102//
10103// - name: The name (project, location, cluster, node pool id) of the
10104//   node poll to rollback upgrade. Specified in the format
10105//   `projects/*/locations/*/clusters/*/nodePools/*`.
10106func (r *ProjectsLocationsClustersNodePoolsService) Rollback(name string, rollbacknodepoolupgraderequest *RollbackNodePoolUpgradeRequest) *ProjectsLocationsClustersNodePoolsRollbackCall {
10107	c := &ProjectsLocationsClustersNodePoolsRollbackCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10108	c.name = name
10109	c.rollbacknodepoolupgraderequest = rollbacknodepoolupgraderequest
10110	return c
10111}
10112
10113// Fields allows partial responses to be retrieved. See
10114// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10115// for more information.
10116func (c *ProjectsLocationsClustersNodePoolsRollbackCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersNodePoolsRollbackCall {
10117	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10118	return c
10119}
10120
10121// Context sets the context to be used in this call's Do method. Any
10122// pending HTTP request will be aborted if the provided context is
10123// canceled.
10124func (c *ProjectsLocationsClustersNodePoolsRollbackCall) Context(ctx context.Context) *ProjectsLocationsClustersNodePoolsRollbackCall {
10125	c.ctx_ = ctx
10126	return c
10127}
10128
10129// Header returns an http.Header that can be modified by the caller to
10130// add HTTP headers to the request.
10131func (c *ProjectsLocationsClustersNodePoolsRollbackCall) Header() http.Header {
10132	if c.header_ == nil {
10133		c.header_ = make(http.Header)
10134	}
10135	return c.header_
10136}
10137
10138func (c *ProjectsLocationsClustersNodePoolsRollbackCall) doRequest(alt string) (*http.Response, error) {
10139	reqHeaders := make(http.Header)
10140	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10141	for k, v := range c.header_ {
10142		reqHeaders[k] = v
10143	}
10144	reqHeaders.Set("User-Agent", c.s.userAgent())
10145	var body io.Reader = nil
10146	body, err := googleapi.WithoutDataWrapper.JSONReader(c.rollbacknodepoolupgraderequest)
10147	if err != nil {
10148		return nil, err
10149	}
10150	reqHeaders.Set("Content-Type", "application/json")
10151	c.urlParams_.Set("alt", alt)
10152	c.urlParams_.Set("prettyPrint", "false")
10153	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:rollback")
10154	urls += "?" + c.urlParams_.Encode()
10155	req, err := http.NewRequest("POST", urls, body)
10156	if err != nil {
10157		return nil, err
10158	}
10159	req.Header = reqHeaders
10160	googleapi.Expand(req.URL, map[string]string{
10161		"name": c.name,
10162	})
10163	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10164}
10165
10166// Do executes the "container.projects.locations.clusters.nodePools.rollback" call.
10167// Exactly one of *Operation or error will be non-nil. Any non-2xx
10168// status code is an error. Response headers are in either
10169// *Operation.ServerResponse.Header or (if a response was returned at
10170// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10171// to check whether the returned error was because
10172// http.StatusNotModified was returned.
10173func (c *ProjectsLocationsClustersNodePoolsRollbackCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
10174	gensupport.SetOptions(c.urlParams_, opts...)
10175	res, err := c.doRequest("json")
10176	if res != nil && res.StatusCode == http.StatusNotModified {
10177		if res.Body != nil {
10178			res.Body.Close()
10179		}
10180		return nil, &googleapi.Error{
10181			Code:   res.StatusCode,
10182			Header: res.Header,
10183		}
10184	}
10185	if err != nil {
10186		return nil, err
10187	}
10188	defer googleapi.CloseBody(res)
10189	if err := googleapi.CheckResponse(res); err != nil {
10190		return nil, err
10191	}
10192	ret := &Operation{
10193		ServerResponse: googleapi.ServerResponse{
10194			Header:         res.Header,
10195			HTTPStatusCode: res.StatusCode,
10196		},
10197	}
10198	target := &ret
10199	if err := gensupport.DecodeResponse(target, res); err != nil {
10200		return nil, err
10201	}
10202	return ret, nil
10203	// {
10204	//   "description": "Rolls back a previously Aborted or Failed NodePool upgrade. This makes no changes if the last upgrade successfully completed.",
10205	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}:rollback",
10206	//   "httpMethod": "POST",
10207	//   "id": "container.projects.locations.clusters.nodePools.rollback",
10208	//   "parameterOrder": [
10209	//     "name"
10210	//   ],
10211	//   "parameters": {
10212	//     "name": {
10213	//       "description": "The name (project, location, cluster, node pool id) of the node poll to rollback upgrade. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
10214	//       "location": "path",
10215	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
10216	//       "required": true,
10217	//       "type": "string"
10218	//     }
10219	//   },
10220	//   "path": "v1beta1/{+name}:rollback",
10221	//   "request": {
10222	//     "$ref": "RollbackNodePoolUpgradeRequest"
10223	//   },
10224	//   "response": {
10225	//     "$ref": "Operation"
10226	//   },
10227	//   "scopes": [
10228	//     "https://www.googleapis.com/auth/cloud-platform"
10229	//   ]
10230	// }
10231
10232}
10233
10234// method id "container.projects.locations.clusters.nodePools.setAutoscaling":
10235
10236type ProjectsLocationsClustersNodePoolsSetAutoscalingCall struct {
10237	s                             *Service
10238	name                          string
10239	setnodepoolautoscalingrequest *SetNodePoolAutoscalingRequest
10240	urlParams_                    gensupport.URLParams
10241	ctx_                          context.Context
10242	header_                       http.Header
10243}
10244
10245// SetAutoscaling: Sets the autoscaling settings of a specific node
10246// pool.
10247//
10248// - name: The name (project, location, cluster, node pool) of the node
10249//   pool to set autoscaler settings. Specified in the format
10250//   `projects/*/locations/*/clusters/*/nodePools/*`.
10251func (r *ProjectsLocationsClustersNodePoolsService) SetAutoscaling(name string, setnodepoolautoscalingrequest *SetNodePoolAutoscalingRequest) *ProjectsLocationsClustersNodePoolsSetAutoscalingCall {
10252	c := &ProjectsLocationsClustersNodePoolsSetAutoscalingCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10253	c.name = name
10254	c.setnodepoolautoscalingrequest = setnodepoolautoscalingrequest
10255	return c
10256}
10257
10258// Fields allows partial responses to be retrieved. See
10259// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10260// for more information.
10261func (c *ProjectsLocationsClustersNodePoolsSetAutoscalingCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersNodePoolsSetAutoscalingCall {
10262	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10263	return c
10264}
10265
10266// Context sets the context to be used in this call's Do method. Any
10267// pending HTTP request will be aborted if the provided context is
10268// canceled.
10269func (c *ProjectsLocationsClustersNodePoolsSetAutoscalingCall) Context(ctx context.Context) *ProjectsLocationsClustersNodePoolsSetAutoscalingCall {
10270	c.ctx_ = ctx
10271	return c
10272}
10273
10274// Header returns an http.Header that can be modified by the caller to
10275// add HTTP headers to the request.
10276func (c *ProjectsLocationsClustersNodePoolsSetAutoscalingCall) Header() http.Header {
10277	if c.header_ == nil {
10278		c.header_ = make(http.Header)
10279	}
10280	return c.header_
10281}
10282
10283func (c *ProjectsLocationsClustersNodePoolsSetAutoscalingCall) doRequest(alt string) (*http.Response, error) {
10284	reqHeaders := make(http.Header)
10285	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10286	for k, v := range c.header_ {
10287		reqHeaders[k] = v
10288	}
10289	reqHeaders.Set("User-Agent", c.s.userAgent())
10290	var body io.Reader = nil
10291	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setnodepoolautoscalingrequest)
10292	if err != nil {
10293		return nil, err
10294	}
10295	reqHeaders.Set("Content-Type", "application/json")
10296	c.urlParams_.Set("alt", alt)
10297	c.urlParams_.Set("prettyPrint", "false")
10298	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setAutoscaling")
10299	urls += "?" + c.urlParams_.Encode()
10300	req, err := http.NewRequest("POST", urls, body)
10301	if err != nil {
10302		return nil, err
10303	}
10304	req.Header = reqHeaders
10305	googleapi.Expand(req.URL, map[string]string{
10306		"name": c.name,
10307	})
10308	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10309}
10310
10311// Do executes the "container.projects.locations.clusters.nodePools.setAutoscaling" call.
10312// Exactly one of *Operation or error will be non-nil. Any non-2xx
10313// status code is an error. Response headers are in either
10314// *Operation.ServerResponse.Header or (if a response was returned at
10315// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10316// to check whether the returned error was because
10317// http.StatusNotModified was returned.
10318func (c *ProjectsLocationsClustersNodePoolsSetAutoscalingCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
10319	gensupport.SetOptions(c.urlParams_, opts...)
10320	res, err := c.doRequest("json")
10321	if res != nil && res.StatusCode == http.StatusNotModified {
10322		if res.Body != nil {
10323			res.Body.Close()
10324		}
10325		return nil, &googleapi.Error{
10326			Code:   res.StatusCode,
10327			Header: res.Header,
10328		}
10329	}
10330	if err != nil {
10331		return nil, err
10332	}
10333	defer googleapi.CloseBody(res)
10334	if err := googleapi.CheckResponse(res); err != nil {
10335		return nil, err
10336	}
10337	ret := &Operation{
10338		ServerResponse: googleapi.ServerResponse{
10339			Header:         res.Header,
10340			HTTPStatusCode: res.StatusCode,
10341		},
10342	}
10343	target := &ret
10344	if err := gensupport.DecodeResponse(target, res); err != nil {
10345		return nil, err
10346	}
10347	return ret, nil
10348	// {
10349	//   "description": "Sets the autoscaling settings of a specific node pool.",
10350	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}:setAutoscaling",
10351	//   "httpMethod": "POST",
10352	//   "id": "container.projects.locations.clusters.nodePools.setAutoscaling",
10353	//   "parameterOrder": [
10354	//     "name"
10355	//   ],
10356	//   "parameters": {
10357	//     "name": {
10358	//       "description": "The name (project, location, cluster, node pool) of the node pool to set autoscaler settings. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
10359	//       "location": "path",
10360	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
10361	//       "required": true,
10362	//       "type": "string"
10363	//     }
10364	//   },
10365	//   "path": "v1beta1/{+name}:setAutoscaling",
10366	//   "request": {
10367	//     "$ref": "SetNodePoolAutoscalingRequest"
10368	//   },
10369	//   "response": {
10370	//     "$ref": "Operation"
10371	//   },
10372	//   "scopes": [
10373	//     "https://www.googleapis.com/auth/cloud-platform"
10374	//   ]
10375	// }
10376
10377}
10378
10379// method id "container.projects.locations.clusters.nodePools.setManagement":
10380
10381type ProjectsLocationsClustersNodePoolsSetManagementCall struct {
10382	s                            *Service
10383	name                         string
10384	setnodepoolmanagementrequest *SetNodePoolManagementRequest
10385	urlParams_                   gensupport.URLParams
10386	ctx_                         context.Context
10387	header_                      http.Header
10388}
10389
10390// SetManagement: Sets the NodeManagement options for a node pool.
10391//
10392// - name: The name (project, location, cluster, node pool id) of the
10393//   node pool to set management properties. Specified in the format
10394//   `projects/*/locations/*/clusters/*/nodePools/*`.
10395func (r *ProjectsLocationsClustersNodePoolsService) SetManagement(name string, setnodepoolmanagementrequest *SetNodePoolManagementRequest) *ProjectsLocationsClustersNodePoolsSetManagementCall {
10396	c := &ProjectsLocationsClustersNodePoolsSetManagementCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10397	c.name = name
10398	c.setnodepoolmanagementrequest = setnodepoolmanagementrequest
10399	return c
10400}
10401
10402// Fields allows partial responses to be retrieved. See
10403// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10404// for more information.
10405func (c *ProjectsLocationsClustersNodePoolsSetManagementCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersNodePoolsSetManagementCall {
10406	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10407	return c
10408}
10409
10410// Context sets the context to be used in this call's Do method. Any
10411// pending HTTP request will be aborted if the provided context is
10412// canceled.
10413func (c *ProjectsLocationsClustersNodePoolsSetManagementCall) Context(ctx context.Context) *ProjectsLocationsClustersNodePoolsSetManagementCall {
10414	c.ctx_ = ctx
10415	return c
10416}
10417
10418// Header returns an http.Header that can be modified by the caller to
10419// add HTTP headers to the request.
10420func (c *ProjectsLocationsClustersNodePoolsSetManagementCall) Header() http.Header {
10421	if c.header_ == nil {
10422		c.header_ = make(http.Header)
10423	}
10424	return c.header_
10425}
10426
10427func (c *ProjectsLocationsClustersNodePoolsSetManagementCall) doRequest(alt string) (*http.Response, error) {
10428	reqHeaders := make(http.Header)
10429	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10430	for k, v := range c.header_ {
10431		reqHeaders[k] = v
10432	}
10433	reqHeaders.Set("User-Agent", c.s.userAgent())
10434	var body io.Reader = nil
10435	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setnodepoolmanagementrequest)
10436	if err != nil {
10437		return nil, err
10438	}
10439	reqHeaders.Set("Content-Type", "application/json")
10440	c.urlParams_.Set("alt", alt)
10441	c.urlParams_.Set("prettyPrint", "false")
10442	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setManagement")
10443	urls += "?" + c.urlParams_.Encode()
10444	req, err := http.NewRequest("POST", urls, body)
10445	if err != nil {
10446		return nil, err
10447	}
10448	req.Header = reqHeaders
10449	googleapi.Expand(req.URL, map[string]string{
10450		"name": c.name,
10451	})
10452	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10453}
10454
10455// Do executes the "container.projects.locations.clusters.nodePools.setManagement" call.
10456// Exactly one of *Operation or error will be non-nil. Any non-2xx
10457// status code is an error. Response headers are in either
10458// *Operation.ServerResponse.Header or (if a response was returned at
10459// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10460// to check whether the returned error was because
10461// http.StatusNotModified was returned.
10462func (c *ProjectsLocationsClustersNodePoolsSetManagementCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
10463	gensupport.SetOptions(c.urlParams_, opts...)
10464	res, err := c.doRequest("json")
10465	if res != nil && res.StatusCode == http.StatusNotModified {
10466		if res.Body != nil {
10467			res.Body.Close()
10468		}
10469		return nil, &googleapi.Error{
10470			Code:   res.StatusCode,
10471			Header: res.Header,
10472		}
10473	}
10474	if err != nil {
10475		return nil, err
10476	}
10477	defer googleapi.CloseBody(res)
10478	if err := googleapi.CheckResponse(res); err != nil {
10479		return nil, err
10480	}
10481	ret := &Operation{
10482		ServerResponse: googleapi.ServerResponse{
10483			Header:         res.Header,
10484			HTTPStatusCode: res.StatusCode,
10485		},
10486	}
10487	target := &ret
10488	if err := gensupport.DecodeResponse(target, res); err != nil {
10489		return nil, err
10490	}
10491	return ret, nil
10492	// {
10493	//   "description": "Sets the NodeManagement options for a node pool.",
10494	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}:setManagement",
10495	//   "httpMethod": "POST",
10496	//   "id": "container.projects.locations.clusters.nodePools.setManagement",
10497	//   "parameterOrder": [
10498	//     "name"
10499	//   ],
10500	//   "parameters": {
10501	//     "name": {
10502	//       "description": "The name (project, location, cluster, node pool id) of the node pool to set management properties. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
10503	//       "location": "path",
10504	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
10505	//       "required": true,
10506	//       "type": "string"
10507	//     }
10508	//   },
10509	//   "path": "v1beta1/{+name}:setManagement",
10510	//   "request": {
10511	//     "$ref": "SetNodePoolManagementRequest"
10512	//   },
10513	//   "response": {
10514	//     "$ref": "Operation"
10515	//   },
10516	//   "scopes": [
10517	//     "https://www.googleapis.com/auth/cloud-platform"
10518	//   ]
10519	// }
10520
10521}
10522
10523// method id "container.projects.locations.clusters.nodePools.setSize":
10524
10525type ProjectsLocationsClustersNodePoolsSetSizeCall struct {
10526	s                      *Service
10527	name                   string
10528	setnodepoolsizerequest *SetNodePoolSizeRequest
10529	urlParams_             gensupport.URLParams
10530	ctx_                   context.Context
10531	header_                http.Header
10532}
10533
10534// SetSize: SetNodePoolSizeRequest sets the size of a node pool. The new
10535// size will be used for all replicas, including future replicas created
10536// by modifying NodePool.locations.
10537//
10538// - name: The name (project, location, cluster, node pool id) of the
10539//   node pool to set size. Specified in the format
10540//   `projects/*/locations/*/clusters/*/nodePools/*`.
10541func (r *ProjectsLocationsClustersNodePoolsService) SetSize(name string, setnodepoolsizerequest *SetNodePoolSizeRequest) *ProjectsLocationsClustersNodePoolsSetSizeCall {
10542	c := &ProjectsLocationsClustersNodePoolsSetSizeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10543	c.name = name
10544	c.setnodepoolsizerequest = setnodepoolsizerequest
10545	return c
10546}
10547
10548// Fields allows partial responses to be retrieved. See
10549// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10550// for more information.
10551func (c *ProjectsLocationsClustersNodePoolsSetSizeCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersNodePoolsSetSizeCall {
10552	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10553	return c
10554}
10555
10556// Context sets the context to be used in this call's Do method. Any
10557// pending HTTP request will be aborted if the provided context is
10558// canceled.
10559func (c *ProjectsLocationsClustersNodePoolsSetSizeCall) Context(ctx context.Context) *ProjectsLocationsClustersNodePoolsSetSizeCall {
10560	c.ctx_ = ctx
10561	return c
10562}
10563
10564// Header returns an http.Header that can be modified by the caller to
10565// add HTTP headers to the request.
10566func (c *ProjectsLocationsClustersNodePoolsSetSizeCall) Header() http.Header {
10567	if c.header_ == nil {
10568		c.header_ = make(http.Header)
10569	}
10570	return c.header_
10571}
10572
10573func (c *ProjectsLocationsClustersNodePoolsSetSizeCall) doRequest(alt string) (*http.Response, error) {
10574	reqHeaders := make(http.Header)
10575	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10576	for k, v := range c.header_ {
10577		reqHeaders[k] = v
10578	}
10579	reqHeaders.Set("User-Agent", c.s.userAgent())
10580	var body io.Reader = nil
10581	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setnodepoolsizerequest)
10582	if err != nil {
10583		return nil, err
10584	}
10585	reqHeaders.Set("Content-Type", "application/json")
10586	c.urlParams_.Set("alt", alt)
10587	c.urlParams_.Set("prettyPrint", "false")
10588	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setSize")
10589	urls += "?" + c.urlParams_.Encode()
10590	req, err := http.NewRequest("POST", urls, body)
10591	if err != nil {
10592		return nil, err
10593	}
10594	req.Header = reqHeaders
10595	googleapi.Expand(req.URL, map[string]string{
10596		"name": c.name,
10597	})
10598	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10599}
10600
10601// Do executes the "container.projects.locations.clusters.nodePools.setSize" call.
10602// Exactly one of *Operation or error will be non-nil. Any non-2xx
10603// status code is an error. Response headers are in either
10604// *Operation.ServerResponse.Header or (if a response was returned at
10605// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10606// to check whether the returned error was because
10607// http.StatusNotModified was returned.
10608func (c *ProjectsLocationsClustersNodePoolsSetSizeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
10609	gensupport.SetOptions(c.urlParams_, opts...)
10610	res, err := c.doRequest("json")
10611	if res != nil && res.StatusCode == http.StatusNotModified {
10612		if res.Body != nil {
10613			res.Body.Close()
10614		}
10615		return nil, &googleapi.Error{
10616			Code:   res.StatusCode,
10617			Header: res.Header,
10618		}
10619	}
10620	if err != nil {
10621		return nil, err
10622	}
10623	defer googleapi.CloseBody(res)
10624	if err := googleapi.CheckResponse(res); err != nil {
10625		return nil, err
10626	}
10627	ret := &Operation{
10628		ServerResponse: googleapi.ServerResponse{
10629			Header:         res.Header,
10630			HTTPStatusCode: res.StatusCode,
10631		},
10632	}
10633	target := &ret
10634	if err := gensupport.DecodeResponse(target, res); err != nil {
10635		return nil, err
10636	}
10637	return ret, nil
10638	// {
10639	//   "description": "SetNodePoolSizeRequest sets the size of a node pool. The new size will be used for all replicas, including future replicas created by modifying NodePool.locations.",
10640	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}:setSize",
10641	//   "httpMethod": "POST",
10642	//   "id": "container.projects.locations.clusters.nodePools.setSize",
10643	//   "parameterOrder": [
10644	//     "name"
10645	//   ],
10646	//   "parameters": {
10647	//     "name": {
10648	//       "description": "The name (project, location, cluster, node pool id) of the node pool to set size. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
10649	//       "location": "path",
10650	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
10651	//       "required": true,
10652	//       "type": "string"
10653	//     }
10654	//   },
10655	//   "path": "v1beta1/{+name}:setSize",
10656	//   "request": {
10657	//     "$ref": "SetNodePoolSizeRequest"
10658	//   },
10659	//   "response": {
10660	//     "$ref": "Operation"
10661	//   },
10662	//   "scopes": [
10663	//     "https://www.googleapis.com/auth/cloud-platform"
10664	//   ]
10665	// }
10666
10667}
10668
10669// method id "container.projects.locations.clusters.nodePools.update":
10670
10671type ProjectsLocationsClustersNodePoolsUpdateCall struct {
10672	s                     *Service
10673	name                  string
10674	updatenodepoolrequest *UpdateNodePoolRequest
10675	urlParams_            gensupport.URLParams
10676	ctx_                  context.Context
10677	header_               http.Header
10678}
10679
10680// Update: Updates the version and/or image type of a specific node
10681// pool.
10682//
10683// - name: The name (project, location, cluster, node pool) of the node
10684//   pool to update. Specified in the format
10685//   `projects/*/locations/*/clusters/*/nodePools/*`.
10686func (r *ProjectsLocationsClustersNodePoolsService) Update(name string, updatenodepoolrequest *UpdateNodePoolRequest) *ProjectsLocationsClustersNodePoolsUpdateCall {
10687	c := &ProjectsLocationsClustersNodePoolsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10688	c.name = name
10689	c.updatenodepoolrequest = updatenodepoolrequest
10690	return c
10691}
10692
10693// Fields allows partial responses to be retrieved. See
10694// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10695// for more information.
10696func (c *ProjectsLocationsClustersNodePoolsUpdateCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersNodePoolsUpdateCall {
10697	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10698	return c
10699}
10700
10701// Context sets the context to be used in this call's Do method. Any
10702// pending HTTP request will be aborted if the provided context is
10703// canceled.
10704func (c *ProjectsLocationsClustersNodePoolsUpdateCall) Context(ctx context.Context) *ProjectsLocationsClustersNodePoolsUpdateCall {
10705	c.ctx_ = ctx
10706	return c
10707}
10708
10709// Header returns an http.Header that can be modified by the caller to
10710// add HTTP headers to the request.
10711func (c *ProjectsLocationsClustersNodePoolsUpdateCall) Header() http.Header {
10712	if c.header_ == nil {
10713		c.header_ = make(http.Header)
10714	}
10715	return c.header_
10716}
10717
10718func (c *ProjectsLocationsClustersNodePoolsUpdateCall) doRequest(alt string) (*http.Response, error) {
10719	reqHeaders := make(http.Header)
10720	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10721	for k, v := range c.header_ {
10722		reqHeaders[k] = v
10723	}
10724	reqHeaders.Set("User-Agent", c.s.userAgent())
10725	var body io.Reader = nil
10726	body, err := googleapi.WithoutDataWrapper.JSONReader(c.updatenodepoolrequest)
10727	if err != nil {
10728		return nil, err
10729	}
10730	reqHeaders.Set("Content-Type", "application/json")
10731	c.urlParams_.Set("alt", alt)
10732	c.urlParams_.Set("prettyPrint", "false")
10733	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
10734	urls += "?" + c.urlParams_.Encode()
10735	req, err := http.NewRequest("PUT", urls, body)
10736	if err != nil {
10737		return nil, err
10738	}
10739	req.Header = reqHeaders
10740	googleapi.Expand(req.URL, map[string]string{
10741		"name": c.name,
10742	})
10743	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10744}
10745
10746// Do executes the "container.projects.locations.clusters.nodePools.update" call.
10747// Exactly one of *Operation or error will be non-nil. Any non-2xx
10748// status code is an error. Response headers are in either
10749// *Operation.ServerResponse.Header or (if a response was returned at
10750// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10751// to check whether the returned error was because
10752// http.StatusNotModified was returned.
10753func (c *ProjectsLocationsClustersNodePoolsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
10754	gensupport.SetOptions(c.urlParams_, opts...)
10755	res, err := c.doRequest("json")
10756	if res != nil && res.StatusCode == http.StatusNotModified {
10757		if res.Body != nil {
10758			res.Body.Close()
10759		}
10760		return nil, &googleapi.Error{
10761			Code:   res.StatusCode,
10762			Header: res.Header,
10763		}
10764	}
10765	if err != nil {
10766		return nil, err
10767	}
10768	defer googleapi.CloseBody(res)
10769	if err := googleapi.CheckResponse(res); err != nil {
10770		return nil, err
10771	}
10772	ret := &Operation{
10773		ServerResponse: googleapi.ServerResponse{
10774			Header:         res.Header,
10775			HTTPStatusCode: res.StatusCode,
10776		},
10777	}
10778	target := &ret
10779	if err := gensupport.DecodeResponse(target, res); err != nil {
10780		return nil, err
10781	}
10782	return ret, nil
10783	// {
10784	//   "description": "Updates the version and/or image type of a specific node pool.",
10785	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}",
10786	//   "httpMethod": "PUT",
10787	//   "id": "container.projects.locations.clusters.nodePools.update",
10788	//   "parameterOrder": [
10789	//     "name"
10790	//   ],
10791	//   "parameters": {
10792	//     "name": {
10793	//       "description": "The name (project, location, cluster, node pool) of the node pool to update. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
10794	//       "location": "path",
10795	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
10796	//       "required": true,
10797	//       "type": "string"
10798	//     }
10799	//   },
10800	//   "path": "v1beta1/{+name}",
10801	//   "request": {
10802	//     "$ref": "UpdateNodePoolRequest"
10803	//   },
10804	//   "response": {
10805	//     "$ref": "Operation"
10806	//   },
10807	//   "scopes": [
10808	//     "https://www.googleapis.com/auth/cloud-platform"
10809	//   ]
10810	// }
10811
10812}
10813
10814// method id "container.projects.locations.clusters.well-known.getOpenid-configuration":
10815
10816type ProjectsLocationsClustersWellKnownGetOpenidConfigurationCall struct {
10817	s            *Service
10818	parent       string
10819	urlParams_   gensupport.URLParams
10820	ifNoneMatch_ string
10821	ctx_         context.Context
10822	header_      http.Header
10823}
10824
10825// GetOpenidConfiguration: Gets the OIDC discovery document for the
10826// cluster. See the OpenID Connect Discovery 1.0 specification
10827// (https://openid.net/specs/openid-connect-discovery-1_0.html) for
10828// details. This API is not yet intended for general use, and is not
10829// available for all clusters.
10830//
10831// - parent: The cluster (project, location, cluster id) to get the
10832//   discovery document for. Specified in the format
10833//   `projects/*/locations/*/clusters/*`.
10834func (r *ProjectsLocationsClustersWellKnownService) GetOpenidConfiguration(parent string) *ProjectsLocationsClustersWellKnownGetOpenidConfigurationCall {
10835	c := &ProjectsLocationsClustersWellKnownGetOpenidConfigurationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10836	c.parent = parent
10837	return c
10838}
10839
10840// Fields allows partial responses to be retrieved. See
10841// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10842// for more information.
10843func (c *ProjectsLocationsClustersWellKnownGetOpenidConfigurationCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersWellKnownGetOpenidConfigurationCall {
10844	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10845	return c
10846}
10847
10848// IfNoneMatch sets the optional parameter which makes the operation
10849// fail if the object's ETag matches the given value. This is useful for
10850// getting updates only after the object has changed since the last
10851// request. Use googleapi.IsNotModified to check whether the response
10852// error from Do is the result of In-None-Match.
10853func (c *ProjectsLocationsClustersWellKnownGetOpenidConfigurationCall) IfNoneMatch(entityTag string) *ProjectsLocationsClustersWellKnownGetOpenidConfigurationCall {
10854	c.ifNoneMatch_ = entityTag
10855	return c
10856}
10857
10858// Context sets the context to be used in this call's Do method. Any
10859// pending HTTP request will be aborted if the provided context is
10860// canceled.
10861func (c *ProjectsLocationsClustersWellKnownGetOpenidConfigurationCall) Context(ctx context.Context) *ProjectsLocationsClustersWellKnownGetOpenidConfigurationCall {
10862	c.ctx_ = ctx
10863	return c
10864}
10865
10866// Header returns an http.Header that can be modified by the caller to
10867// add HTTP headers to the request.
10868func (c *ProjectsLocationsClustersWellKnownGetOpenidConfigurationCall) Header() http.Header {
10869	if c.header_ == nil {
10870		c.header_ = make(http.Header)
10871	}
10872	return c.header_
10873}
10874
10875func (c *ProjectsLocationsClustersWellKnownGetOpenidConfigurationCall) doRequest(alt string) (*http.Response, error) {
10876	reqHeaders := make(http.Header)
10877	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10878	for k, v := range c.header_ {
10879		reqHeaders[k] = v
10880	}
10881	reqHeaders.Set("User-Agent", c.s.userAgent())
10882	if c.ifNoneMatch_ != "" {
10883		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10884	}
10885	var body io.Reader = nil
10886	c.urlParams_.Set("alt", alt)
10887	c.urlParams_.Set("prettyPrint", "false")
10888	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/.well-known/openid-configuration")
10889	urls += "?" + c.urlParams_.Encode()
10890	req, err := http.NewRequest("GET", urls, body)
10891	if err != nil {
10892		return nil, err
10893	}
10894	req.Header = reqHeaders
10895	googleapi.Expand(req.URL, map[string]string{
10896		"parent": c.parent,
10897	})
10898	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10899}
10900
10901// Do executes the "container.projects.locations.clusters.well-known.getOpenid-configuration" call.
10902// Exactly one of *GetOpenIDConfigResponse or error will be non-nil. Any
10903// non-2xx status code is an error. Response headers are in either
10904// *GetOpenIDConfigResponse.ServerResponse.Header or (if a response was
10905// returned at all) in error.(*googleapi.Error).Header. Use
10906// googleapi.IsNotModified to check whether the returned error was
10907// because http.StatusNotModified was returned.
10908func (c *ProjectsLocationsClustersWellKnownGetOpenidConfigurationCall) Do(opts ...googleapi.CallOption) (*GetOpenIDConfigResponse, error) {
10909	gensupport.SetOptions(c.urlParams_, opts...)
10910	res, err := c.doRequest("json")
10911	if res != nil && res.StatusCode == http.StatusNotModified {
10912		if res.Body != nil {
10913			res.Body.Close()
10914		}
10915		return nil, &googleapi.Error{
10916			Code:   res.StatusCode,
10917			Header: res.Header,
10918		}
10919	}
10920	if err != nil {
10921		return nil, err
10922	}
10923	defer googleapi.CloseBody(res)
10924	if err := googleapi.CheckResponse(res); err != nil {
10925		return nil, err
10926	}
10927	ret := &GetOpenIDConfigResponse{
10928		ServerResponse: googleapi.ServerResponse{
10929			Header:         res.Header,
10930			HTTPStatusCode: res.StatusCode,
10931		},
10932	}
10933	target := &ret
10934	if err := gensupport.DecodeResponse(target, res); err != nil {
10935		return nil, err
10936	}
10937	return ret, nil
10938	// {
10939	//   "description": "Gets the OIDC discovery document for the cluster. See the [OpenID Connect Discovery 1.0 specification](https://openid.net/specs/openid-connect-discovery-1_0.html) for details. This API is not yet intended for general use, and is not available for all clusters.",
10940	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/.well-known/openid-configuration",
10941	//   "httpMethod": "GET",
10942	//   "id": "container.projects.locations.clusters.well-known.getOpenid-configuration",
10943	//   "parameterOrder": [
10944	//     "parent"
10945	//   ],
10946	//   "parameters": {
10947	//     "parent": {
10948	//       "description": "The cluster (project, location, cluster id) to get the discovery document for. Specified in the format `projects/*/locations/*/clusters/*`.",
10949	//       "location": "path",
10950	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
10951	//       "required": true,
10952	//       "type": "string"
10953	//     }
10954	//   },
10955	//   "path": "v1beta1/{+parent}/.well-known/openid-configuration",
10956	//   "response": {
10957	//     "$ref": "GetOpenIDConfigResponse"
10958	//   }
10959	// }
10960
10961}
10962
10963// method id "container.projects.locations.operations.cancel":
10964
10965type ProjectsLocationsOperationsCancelCall struct {
10966	s                      *Service
10967	name                   string
10968	canceloperationrequest *CancelOperationRequest
10969	urlParams_             gensupport.URLParams
10970	ctx_                   context.Context
10971	header_                http.Header
10972}
10973
10974// Cancel: Cancels the specified operation.
10975//
10976// - name: The name (project, location, operation id) of the operation
10977//   to cancel. Specified in the format
10978//   `projects/*/locations/*/operations/*`.
10979func (r *ProjectsLocationsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsOperationsCancelCall {
10980	c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10981	c.name = name
10982	c.canceloperationrequest = canceloperationrequest
10983	return c
10984}
10985
10986// Fields allows partial responses to be retrieved. See
10987// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10988// for more information.
10989func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall {
10990	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10991	return c
10992}
10993
10994// Context sets the context to be used in this call's Do method. Any
10995// pending HTTP request will be aborted if the provided context is
10996// canceled.
10997func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall {
10998	c.ctx_ = ctx
10999	return c
11000}
11001
11002// Header returns an http.Header that can be modified by the caller to
11003// add HTTP headers to the request.
11004func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header {
11005	if c.header_ == nil {
11006		c.header_ = make(http.Header)
11007	}
11008	return c.header_
11009}
11010
11011func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
11012	reqHeaders := make(http.Header)
11013	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
11014	for k, v := range c.header_ {
11015		reqHeaders[k] = v
11016	}
11017	reqHeaders.Set("User-Agent", c.s.userAgent())
11018	var body io.Reader = nil
11019	body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest)
11020	if err != nil {
11021		return nil, err
11022	}
11023	reqHeaders.Set("Content-Type", "application/json")
11024	c.urlParams_.Set("alt", alt)
11025	c.urlParams_.Set("prettyPrint", "false")
11026	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:cancel")
11027	urls += "?" + c.urlParams_.Encode()
11028	req, err := http.NewRequest("POST", urls, body)
11029	if err != nil {
11030		return nil, err
11031	}
11032	req.Header = reqHeaders
11033	googleapi.Expand(req.URL, map[string]string{
11034		"name": c.name,
11035	})
11036	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11037}
11038
11039// Do executes the "container.projects.locations.operations.cancel" call.
11040// Exactly one of *Empty or error will be non-nil. Any non-2xx status
11041// code is an error. Response headers are in either
11042// *Empty.ServerResponse.Header or (if a response was returned at all)
11043// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
11044// check whether the returned error was because http.StatusNotModified
11045// was returned.
11046func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
11047	gensupport.SetOptions(c.urlParams_, opts...)
11048	res, err := c.doRequest("json")
11049	if res != nil && res.StatusCode == http.StatusNotModified {
11050		if res.Body != nil {
11051			res.Body.Close()
11052		}
11053		return nil, &googleapi.Error{
11054			Code:   res.StatusCode,
11055			Header: res.Header,
11056		}
11057	}
11058	if err != nil {
11059		return nil, err
11060	}
11061	defer googleapi.CloseBody(res)
11062	if err := googleapi.CheckResponse(res); err != nil {
11063		return nil, err
11064	}
11065	ret := &Empty{
11066		ServerResponse: googleapi.ServerResponse{
11067			Header:         res.Header,
11068			HTTPStatusCode: res.StatusCode,
11069		},
11070	}
11071	target := &ret
11072	if err := gensupport.DecodeResponse(target, res); err != nil {
11073		return nil, err
11074	}
11075	return ret, nil
11076	// {
11077	//   "description": "Cancels the specified operation.",
11078	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
11079	//   "httpMethod": "POST",
11080	//   "id": "container.projects.locations.operations.cancel",
11081	//   "parameterOrder": [
11082	//     "name"
11083	//   ],
11084	//   "parameters": {
11085	//     "name": {
11086	//       "description": "The name (project, location, operation id) of the operation to cancel. Specified in the format `projects/*/locations/*/operations/*`.",
11087	//       "location": "path",
11088	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
11089	//       "required": true,
11090	//       "type": "string"
11091	//     }
11092	//   },
11093	//   "path": "v1beta1/{+name}:cancel",
11094	//   "request": {
11095	//     "$ref": "CancelOperationRequest"
11096	//   },
11097	//   "response": {
11098	//     "$ref": "Empty"
11099	//   },
11100	//   "scopes": [
11101	//     "https://www.googleapis.com/auth/cloud-platform"
11102	//   ]
11103	// }
11104
11105}
11106
11107// method id "container.projects.locations.operations.get":
11108
11109type ProjectsLocationsOperationsGetCall struct {
11110	s            *Service
11111	name         string
11112	urlParams_   gensupport.URLParams
11113	ifNoneMatch_ string
11114	ctx_         context.Context
11115	header_      http.Header
11116}
11117
11118// Get: Gets the specified operation.
11119//
11120// - name: The name (project, location, operation id) of the operation
11121//   to get. Specified in the format
11122//   `projects/*/locations/*/operations/*`.
11123func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
11124	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11125	c.name = name
11126	return c
11127}
11128
11129// OperationId sets the optional parameter "operationId": Required.
11130// Deprecated. The server-assigned `name` of the operation. This field
11131// has been deprecated and replaced by the name field.
11132func (c *ProjectsLocationsOperationsGetCall) OperationId(operationId string) *ProjectsLocationsOperationsGetCall {
11133	c.urlParams_.Set("operationId", operationId)
11134	return c
11135}
11136
11137// ProjectId sets the optional parameter "projectId": Required.
11138// Deprecated. The Google Developers Console project ID or project
11139// number (https://support.google.com/cloud/answer/6158840). This field
11140// has been deprecated and replaced by the name field.
11141func (c *ProjectsLocationsOperationsGetCall) ProjectId(projectId string) *ProjectsLocationsOperationsGetCall {
11142	c.urlParams_.Set("projectId", projectId)
11143	return c
11144}
11145
11146// Zone sets the optional parameter "zone": Required. Deprecated. The
11147// name of the Google Compute Engine zone
11148// (https://cloud.google.com/compute/docs/zones#available) in which the
11149// cluster resides. This field has been deprecated and replaced by the
11150// name field.
11151func (c *ProjectsLocationsOperationsGetCall) Zone(zone string) *ProjectsLocationsOperationsGetCall {
11152	c.urlParams_.Set("zone", zone)
11153	return c
11154}
11155
11156// Fields allows partial responses to be retrieved. See
11157// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11158// for more information.
11159func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
11160	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11161	return c
11162}
11163
11164// IfNoneMatch sets the optional parameter which makes the operation
11165// fail if the object's ETag matches the given value. This is useful for
11166// getting updates only after the object has changed since the last
11167// request. Use googleapi.IsNotModified to check whether the response
11168// error from Do is the result of In-None-Match.
11169func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
11170	c.ifNoneMatch_ = entityTag
11171	return c
11172}
11173
11174// Context sets the context to be used in this call's Do method. Any
11175// pending HTTP request will be aborted if the provided context is
11176// canceled.
11177func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
11178	c.ctx_ = ctx
11179	return c
11180}
11181
11182// Header returns an http.Header that can be modified by the caller to
11183// add HTTP headers to the request.
11184func (c *ProjectsLocationsOperationsGetCall) Header() http.Header {
11185	if c.header_ == nil {
11186		c.header_ = make(http.Header)
11187	}
11188	return c.header_
11189}
11190
11191func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
11192	reqHeaders := make(http.Header)
11193	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
11194	for k, v := range c.header_ {
11195		reqHeaders[k] = v
11196	}
11197	reqHeaders.Set("User-Agent", c.s.userAgent())
11198	if c.ifNoneMatch_ != "" {
11199		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11200	}
11201	var body io.Reader = nil
11202	c.urlParams_.Set("alt", alt)
11203	c.urlParams_.Set("prettyPrint", "false")
11204	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
11205	urls += "?" + c.urlParams_.Encode()
11206	req, err := http.NewRequest("GET", urls, body)
11207	if err != nil {
11208		return nil, err
11209	}
11210	req.Header = reqHeaders
11211	googleapi.Expand(req.URL, map[string]string{
11212		"name": c.name,
11213	})
11214	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11215}
11216
11217// Do executes the "container.projects.locations.operations.get" call.
11218// Exactly one of *Operation or error will be non-nil. Any non-2xx
11219// status code is an error. Response headers are in either
11220// *Operation.ServerResponse.Header or (if a response was returned at
11221// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
11222// to check whether the returned error was because
11223// http.StatusNotModified was returned.
11224func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
11225	gensupport.SetOptions(c.urlParams_, opts...)
11226	res, err := c.doRequest("json")
11227	if res != nil && res.StatusCode == http.StatusNotModified {
11228		if res.Body != nil {
11229			res.Body.Close()
11230		}
11231		return nil, &googleapi.Error{
11232			Code:   res.StatusCode,
11233			Header: res.Header,
11234		}
11235	}
11236	if err != nil {
11237		return nil, err
11238	}
11239	defer googleapi.CloseBody(res)
11240	if err := googleapi.CheckResponse(res); err != nil {
11241		return nil, err
11242	}
11243	ret := &Operation{
11244		ServerResponse: googleapi.ServerResponse{
11245			Header:         res.Header,
11246			HTTPStatusCode: res.StatusCode,
11247		},
11248	}
11249	target := &ret
11250	if err := gensupport.DecodeResponse(target, res); err != nil {
11251		return nil, err
11252	}
11253	return ret, nil
11254	// {
11255	//   "description": "Gets the specified operation.",
11256	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
11257	//   "httpMethod": "GET",
11258	//   "id": "container.projects.locations.operations.get",
11259	//   "parameterOrder": [
11260	//     "name"
11261	//   ],
11262	//   "parameters": {
11263	//     "name": {
11264	//       "description": "The name (project, location, operation id) of the operation to get. Specified in the format `projects/*/locations/*/operations/*`.",
11265	//       "location": "path",
11266	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
11267	//       "required": true,
11268	//       "type": "string"
11269	//     },
11270	//     "operationId": {
11271	//       "description": "Required. Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.",
11272	//       "location": "query",
11273	//       "type": "string"
11274	//     },
11275	//     "projectId": {
11276	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
11277	//       "location": "query",
11278	//       "type": "string"
11279	//     },
11280	//     "zone": {
11281	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
11282	//       "location": "query",
11283	//       "type": "string"
11284	//     }
11285	//   },
11286	//   "path": "v1beta1/{+name}",
11287	//   "response": {
11288	//     "$ref": "Operation"
11289	//   },
11290	//   "scopes": [
11291	//     "https://www.googleapis.com/auth/cloud-platform"
11292	//   ]
11293	// }
11294
11295}
11296
11297// method id "container.projects.locations.operations.list":
11298
11299type ProjectsLocationsOperationsListCall struct {
11300	s            *Service
11301	parent       string
11302	urlParams_   gensupport.URLParams
11303	ifNoneMatch_ string
11304	ctx_         context.Context
11305	header_      http.Header
11306}
11307
11308// List: Lists all operations in a project in the specified zone or all
11309// zones.
11310//
11311// - parent: The parent (project and location) where the operations will
11312//   be listed. Specified in the format `projects/*/locations/*`.
11313//   Location "-" matches all zones and all regions.
11314func (r *ProjectsLocationsOperationsService) List(parent string) *ProjectsLocationsOperationsListCall {
11315	c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11316	c.parent = parent
11317	return c
11318}
11319
11320// ProjectId sets the optional parameter "projectId": Required.
11321// Deprecated. The Google Developers Console project ID or project
11322// number (https://support.google.com/cloud/answer/6158840). This field
11323// has been deprecated and replaced by the parent field.
11324func (c *ProjectsLocationsOperationsListCall) ProjectId(projectId string) *ProjectsLocationsOperationsListCall {
11325	c.urlParams_.Set("projectId", projectId)
11326	return c
11327}
11328
11329// Zone sets the optional parameter "zone": Required. Deprecated. The
11330// name of the Google Compute Engine zone
11331// (https://cloud.google.com/compute/docs/zones#available) to return
11332// operations for, or `-` for all zones. This field has been deprecated
11333// and replaced by the parent field.
11334func (c *ProjectsLocationsOperationsListCall) Zone(zone string) *ProjectsLocationsOperationsListCall {
11335	c.urlParams_.Set("zone", zone)
11336	return c
11337}
11338
11339// Fields allows partial responses to be retrieved. See
11340// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11341// for more information.
11342func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall {
11343	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11344	return c
11345}
11346
11347// IfNoneMatch sets the optional parameter which makes the operation
11348// fail if the object's ETag matches the given value. This is useful for
11349// getting updates only after the object has changed since the last
11350// request. Use googleapi.IsNotModified to check whether the response
11351// error from Do is the result of In-None-Match.
11352func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall {
11353	c.ifNoneMatch_ = entityTag
11354	return c
11355}
11356
11357// Context sets the context to be used in this call's Do method. Any
11358// pending HTTP request will be aborted if the provided context is
11359// canceled.
11360func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall {
11361	c.ctx_ = ctx
11362	return c
11363}
11364
11365// Header returns an http.Header that can be modified by the caller to
11366// add HTTP headers to the request.
11367func (c *ProjectsLocationsOperationsListCall) Header() http.Header {
11368	if c.header_ == nil {
11369		c.header_ = make(http.Header)
11370	}
11371	return c.header_
11372}
11373
11374func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
11375	reqHeaders := make(http.Header)
11376	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
11377	for k, v := range c.header_ {
11378		reqHeaders[k] = v
11379	}
11380	reqHeaders.Set("User-Agent", c.s.userAgent())
11381	if c.ifNoneMatch_ != "" {
11382		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11383	}
11384	var body io.Reader = nil
11385	c.urlParams_.Set("alt", alt)
11386	c.urlParams_.Set("prettyPrint", "false")
11387	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/operations")
11388	urls += "?" + c.urlParams_.Encode()
11389	req, err := http.NewRequest("GET", urls, body)
11390	if err != nil {
11391		return nil, err
11392	}
11393	req.Header = reqHeaders
11394	googleapi.Expand(req.URL, map[string]string{
11395		"parent": c.parent,
11396	})
11397	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11398}
11399
11400// Do executes the "container.projects.locations.operations.list" call.
11401// Exactly one of *ListOperationsResponse or error will be non-nil. Any
11402// non-2xx status code is an error. Response headers are in either
11403// *ListOperationsResponse.ServerResponse.Header or (if a response was
11404// returned at all) in error.(*googleapi.Error).Header. Use
11405// googleapi.IsNotModified to check whether the returned error was
11406// because http.StatusNotModified was returned.
11407func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
11408	gensupport.SetOptions(c.urlParams_, opts...)
11409	res, err := c.doRequest("json")
11410	if res != nil && res.StatusCode == http.StatusNotModified {
11411		if res.Body != nil {
11412			res.Body.Close()
11413		}
11414		return nil, &googleapi.Error{
11415			Code:   res.StatusCode,
11416			Header: res.Header,
11417		}
11418	}
11419	if err != nil {
11420		return nil, err
11421	}
11422	defer googleapi.CloseBody(res)
11423	if err := googleapi.CheckResponse(res); err != nil {
11424		return nil, err
11425	}
11426	ret := &ListOperationsResponse{
11427		ServerResponse: googleapi.ServerResponse{
11428			Header:         res.Header,
11429			HTTPStatusCode: res.StatusCode,
11430		},
11431	}
11432	target := &ret
11433	if err := gensupport.DecodeResponse(target, res); err != nil {
11434		return nil, err
11435	}
11436	return ret, nil
11437	// {
11438	//   "description": "Lists all operations in a project in the specified zone or all zones.",
11439	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations",
11440	//   "httpMethod": "GET",
11441	//   "id": "container.projects.locations.operations.list",
11442	//   "parameterOrder": [
11443	//     "parent"
11444	//   ],
11445	//   "parameters": {
11446	//     "parent": {
11447	//       "description": "The parent (project and location) where the operations will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
11448	//       "location": "path",
11449	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
11450	//       "required": true,
11451	//       "type": "string"
11452	//     },
11453	//     "projectId": {
11454	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
11455	//       "location": "query",
11456	//       "type": "string"
11457	//     },
11458	//     "zone": {
11459	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for, or `-` for all zones. This field has been deprecated and replaced by the parent field.",
11460	//       "location": "query",
11461	//       "type": "string"
11462	//     }
11463	//   },
11464	//   "path": "v1beta1/{+parent}/operations",
11465	//   "response": {
11466	//     "$ref": "ListOperationsResponse"
11467	//   },
11468	//   "scopes": [
11469	//     "https://www.googleapis.com/auth/cloud-platform"
11470	//   ]
11471	// }
11472
11473}
11474
11475// method id "container.projects.zones.getServerconfig":
11476
11477type ProjectsZonesGetServerconfigCall struct {
11478	s            *Service
11479	projectId    string
11480	zone         string
11481	urlParams_   gensupport.URLParams
11482	ifNoneMatch_ string
11483	ctx_         context.Context
11484	header_      http.Header
11485}
11486
11487// GetServerconfig: Returns configuration info about the Google
11488// Kubernetes Engine service.
11489//
11490// - projectId: Deprecated. The Google Developers Console project ID or
11491//   project number (https://support.google.com/cloud/answer/6158840).
11492//   This field has been deprecated and replaced by the name field.
11493// - zone: Deprecated. The name of the Google Compute Engine zone
11494//   (https://cloud.google.com/compute/docs/zones#available) to return
11495//   operations for. This field has been deprecated and replaced by the
11496//   name field.
11497func (r *ProjectsZonesService) GetServerconfig(projectId string, zone string) *ProjectsZonesGetServerconfigCall {
11498	c := &ProjectsZonesGetServerconfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11499	c.projectId = projectId
11500	c.zone = zone
11501	return c
11502}
11503
11504// Name sets the optional parameter "name": The name (project and
11505// location) of the server config to get, specified in the format
11506// `projects/*/locations/*`.
11507func (c *ProjectsZonesGetServerconfigCall) Name(name string) *ProjectsZonesGetServerconfigCall {
11508	c.urlParams_.Set("name", name)
11509	return c
11510}
11511
11512// Fields allows partial responses to be retrieved. See
11513// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11514// for more information.
11515func (c *ProjectsZonesGetServerconfigCall) Fields(s ...googleapi.Field) *ProjectsZonesGetServerconfigCall {
11516	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11517	return c
11518}
11519
11520// IfNoneMatch sets the optional parameter which makes the operation
11521// fail if the object's ETag matches the given value. This is useful for
11522// getting updates only after the object has changed since the last
11523// request. Use googleapi.IsNotModified to check whether the response
11524// error from Do is the result of In-None-Match.
11525func (c *ProjectsZonesGetServerconfigCall) IfNoneMatch(entityTag string) *ProjectsZonesGetServerconfigCall {
11526	c.ifNoneMatch_ = entityTag
11527	return c
11528}
11529
11530// Context sets the context to be used in this call's Do method. Any
11531// pending HTTP request will be aborted if the provided context is
11532// canceled.
11533func (c *ProjectsZonesGetServerconfigCall) Context(ctx context.Context) *ProjectsZonesGetServerconfigCall {
11534	c.ctx_ = ctx
11535	return c
11536}
11537
11538// Header returns an http.Header that can be modified by the caller to
11539// add HTTP headers to the request.
11540func (c *ProjectsZonesGetServerconfigCall) Header() http.Header {
11541	if c.header_ == nil {
11542		c.header_ = make(http.Header)
11543	}
11544	return c.header_
11545}
11546
11547func (c *ProjectsZonesGetServerconfigCall) doRequest(alt string) (*http.Response, error) {
11548	reqHeaders := make(http.Header)
11549	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
11550	for k, v := range c.header_ {
11551		reqHeaders[k] = v
11552	}
11553	reqHeaders.Set("User-Agent", c.s.userAgent())
11554	if c.ifNoneMatch_ != "" {
11555		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11556	}
11557	var body io.Reader = nil
11558	c.urlParams_.Set("alt", alt)
11559	c.urlParams_.Set("prettyPrint", "false")
11560	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/serverconfig")
11561	urls += "?" + c.urlParams_.Encode()
11562	req, err := http.NewRequest("GET", urls, body)
11563	if err != nil {
11564		return nil, err
11565	}
11566	req.Header = reqHeaders
11567	googleapi.Expand(req.URL, map[string]string{
11568		"projectId": c.projectId,
11569		"zone":      c.zone,
11570	})
11571	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11572}
11573
11574// Do executes the "container.projects.zones.getServerconfig" call.
11575// Exactly one of *ServerConfig or error will be non-nil. Any non-2xx
11576// status code is an error. Response headers are in either
11577// *ServerConfig.ServerResponse.Header or (if a response was returned at
11578// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
11579// to check whether the returned error was because
11580// http.StatusNotModified was returned.
11581func (c *ProjectsZonesGetServerconfigCall) Do(opts ...googleapi.CallOption) (*ServerConfig, error) {
11582	gensupport.SetOptions(c.urlParams_, opts...)
11583	res, err := c.doRequest("json")
11584	if res != nil && res.StatusCode == http.StatusNotModified {
11585		if res.Body != nil {
11586			res.Body.Close()
11587		}
11588		return nil, &googleapi.Error{
11589			Code:   res.StatusCode,
11590			Header: res.Header,
11591		}
11592	}
11593	if err != nil {
11594		return nil, err
11595	}
11596	defer googleapi.CloseBody(res)
11597	if err := googleapi.CheckResponse(res); err != nil {
11598		return nil, err
11599	}
11600	ret := &ServerConfig{
11601		ServerResponse: googleapi.ServerResponse{
11602			Header:         res.Header,
11603			HTTPStatusCode: res.StatusCode,
11604		},
11605	}
11606	target := &ret
11607	if err := gensupport.DecodeResponse(target, res); err != nil {
11608		return nil, err
11609	}
11610	return ret, nil
11611	// {
11612	//   "description": "Returns configuration info about the Google Kubernetes Engine service.",
11613	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/serverconfig",
11614	//   "httpMethod": "GET",
11615	//   "id": "container.projects.zones.getServerconfig",
11616	//   "parameterOrder": [
11617	//     "projectId",
11618	//     "zone"
11619	//   ],
11620	//   "parameters": {
11621	//     "name": {
11622	//       "description": "The name (project and location) of the server config to get, specified in the format `projects/*/locations/*`.",
11623	//       "location": "query",
11624	//       "type": "string"
11625	//     },
11626	//     "projectId": {
11627	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
11628	//       "location": "path",
11629	//       "required": true,
11630	//       "type": "string"
11631	//     },
11632	//     "zone": {
11633	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for. This field has been deprecated and replaced by the name field.",
11634	//       "location": "path",
11635	//       "required": true,
11636	//       "type": "string"
11637	//     }
11638	//   },
11639	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/serverconfig",
11640	//   "response": {
11641	//     "$ref": "ServerConfig"
11642	//   },
11643	//   "scopes": [
11644	//     "https://www.googleapis.com/auth/cloud-platform"
11645	//   ]
11646	// }
11647
11648}
11649
11650// method id "container.projects.zones.clusters.addons":
11651
11652type ProjectsZonesClustersAddonsCall struct {
11653	s                      *Service
11654	projectId              string
11655	zone                   string
11656	clusterId              string
11657	setaddonsconfigrequest *SetAddonsConfigRequest
11658	urlParams_             gensupport.URLParams
11659	ctx_                   context.Context
11660	header_                http.Header
11661}
11662
11663// Addons: Sets the addons for a specific cluster.
11664//
11665// - clusterId: Deprecated. The name of the cluster to upgrade. This
11666//   field has been deprecated and replaced by the name field.
11667// - projectId: Deprecated. The Google Developers Console project ID or
11668//   project number (https://support.google.com/cloud/answer/6158840).
11669//   This field has been deprecated and replaced by the name field.
11670// - zone: Deprecated. The name of the Google Compute Engine zone
11671//   (https://cloud.google.com/compute/docs/zones#available) in which
11672//   the cluster resides. This field has been deprecated and replaced by
11673//   the name field.
11674func (r *ProjectsZonesClustersService) Addons(projectId string, zone string, clusterId string, setaddonsconfigrequest *SetAddonsConfigRequest) *ProjectsZonesClustersAddonsCall {
11675	c := &ProjectsZonesClustersAddonsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11676	c.projectId = projectId
11677	c.zone = zone
11678	c.clusterId = clusterId
11679	c.setaddonsconfigrequest = setaddonsconfigrequest
11680	return c
11681}
11682
11683// Fields allows partial responses to be retrieved. See
11684// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11685// for more information.
11686func (c *ProjectsZonesClustersAddonsCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersAddonsCall {
11687	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11688	return c
11689}
11690
11691// Context sets the context to be used in this call's Do method. Any
11692// pending HTTP request will be aborted if the provided context is
11693// canceled.
11694func (c *ProjectsZonesClustersAddonsCall) Context(ctx context.Context) *ProjectsZonesClustersAddonsCall {
11695	c.ctx_ = ctx
11696	return c
11697}
11698
11699// Header returns an http.Header that can be modified by the caller to
11700// add HTTP headers to the request.
11701func (c *ProjectsZonesClustersAddonsCall) Header() http.Header {
11702	if c.header_ == nil {
11703		c.header_ = make(http.Header)
11704	}
11705	return c.header_
11706}
11707
11708func (c *ProjectsZonesClustersAddonsCall) doRequest(alt string) (*http.Response, error) {
11709	reqHeaders := make(http.Header)
11710	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
11711	for k, v := range c.header_ {
11712		reqHeaders[k] = v
11713	}
11714	reqHeaders.Set("User-Agent", c.s.userAgent())
11715	var body io.Reader = nil
11716	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setaddonsconfigrequest)
11717	if err != nil {
11718		return nil, err
11719	}
11720	reqHeaders.Set("Content-Type", "application/json")
11721	c.urlParams_.Set("alt", alt)
11722	c.urlParams_.Set("prettyPrint", "false")
11723	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/addons")
11724	urls += "?" + c.urlParams_.Encode()
11725	req, err := http.NewRequest("POST", urls, body)
11726	if err != nil {
11727		return nil, err
11728	}
11729	req.Header = reqHeaders
11730	googleapi.Expand(req.URL, map[string]string{
11731		"projectId": c.projectId,
11732		"zone":      c.zone,
11733		"clusterId": c.clusterId,
11734	})
11735	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11736}
11737
11738// Do executes the "container.projects.zones.clusters.addons" call.
11739// Exactly one of *Operation or error will be non-nil. Any non-2xx
11740// status code is an error. Response headers are in either
11741// *Operation.ServerResponse.Header or (if a response was returned at
11742// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
11743// to check whether the returned error was because
11744// http.StatusNotModified was returned.
11745func (c *ProjectsZonesClustersAddonsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
11746	gensupport.SetOptions(c.urlParams_, opts...)
11747	res, err := c.doRequest("json")
11748	if res != nil && res.StatusCode == http.StatusNotModified {
11749		if res.Body != nil {
11750			res.Body.Close()
11751		}
11752		return nil, &googleapi.Error{
11753			Code:   res.StatusCode,
11754			Header: res.Header,
11755		}
11756	}
11757	if err != nil {
11758		return nil, err
11759	}
11760	defer googleapi.CloseBody(res)
11761	if err := googleapi.CheckResponse(res); err != nil {
11762		return nil, err
11763	}
11764	ret := &Operation{
11765		ServerResponse: googleapi.ServerResponse{
11766			Header:         res.Header,
11767			HTTPStatusCode: res.StatusCode,
11768		},
11769	}
11770	target := &ret
11771	if err := gensupport.DecodeResponse(target, res); err != nil {
11772		return nil, err
11773	}
11774	return ret, nil
11775	// {
11776	//   "description": "Sets the addons for a specific cluster.",
11777	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/addons",
11778	//   "httpMethod": "POST",
11779	//   "id": "container.projects.zones.clusters.addons",
11780	//   "parameterOrder": [
11781	//     "projectId",
11782	//     "zone",
11783	//     "clusterId"
11784	//   ],
11785	//   "parameters": {
11786	//     "clusterId": {
11787	//       "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
11788	//       "location": "path",
11789	//       "required": true,
11790	//       "type": "string"
11791	//     },
11792	//     "projectId": {
11793	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
11794	//       "location": "path",
11795	//       "required": true,
11796	//       "type": "string"
11797	//     },
11798	//     "zone": {
11799	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
11800	//       "location": "path",
11801	//       "required": true,
11802	//       "type": "string"
11803	//     }
11804	//   },
11805	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/addons",
11806	//   "request": {
11807	//     "$ref": "SetAddonsConfigRequest"
11808	//   },
11809	//   "response": {
11810	//     "$ref": "Operation"
11811	//   },
11812	//   "scopes": [
11813	//     "https://www.googleapis.com/auth/cloud-platform"
11814	//   ]
11815	// }
11816
11817}
11818
11819// method id "container.projects.zones.clusters.completeIpRotation":
11820
11821type ProjectsZonesClustersCompleteIpRotationCall struct {
11822	s                         *Service
11823	projectId                 string
11824	zone                      string
11825	clusterId                 string
11826	completeiprotationrequest *CompleteIPRotationRequest
11827	urlParams_                gensupport.URLParams
11828	ctx_                      context.Context
11829	header_                   http.Header
11830}
11831
11832// CompleteIpRotation: Completes master IP rotation.
11833//
11834// - clusterId: Deprecated. The name of the cluster. This field has been
11835//   deprecated and replaced by the name field.
11836// - projectId: Deprecated. The Google Developers Console project ID or
11837//   project number
11838//   (https://developers.google.com/console/help/new/#projectnumber).
11839//   This field has been deprecated and replaced by the name field.
11840// - zone: Deprecated. The name of the Google Compute Engine zone
11841//   (https://cloud.google.com/compute/docs/zones#available) in which
11842//   the cluster resides. This field has been deprecated and replaced by
11843//   the name field.
11844func (r *ProjectsZonesClustersService) CompleteIpRotation(projectId string, zone string, clusterId string, completeiprotationrequest *CompleteIPRotationRequest) *ProjectsZonesClustersCompleteIpRotationCall {
11845	c := &ProjectsZonesClustersCompleteIpRotationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11846	c.projectId = projectId
11847	c.zone = zone
11848	c.clusterId = clusterId
11849	c.completeiprotationrequest = completeiprotationrequest
11850	return c
11851}
11852
11853// Fields allows partial responses to be retrieved. See
11854// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11855// for more information.
11856func (c *ProjectsZonesClustersCompleteIpRotationCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersCompleteIpRotationCall {
11857	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11858	return c
11859}
11860
11861// Context sets the context to be used in this call's Do method. Any
11862// pending HTTP request will be aborted if the provided context is
11863// canceled.
11864func (c *ProjectsZonesClustersCompleteIpRotationCall) Context(ctx context.Context) *ProjectsZonesClustersCompleteIpRotationCall {
11865	c.ctx_ = ctx
11866	return c
11867}
11868
11869// Header returns an http.Header that can be modified by the caller to
11870// add HTTP headers to the request.
11871func (c *ProjectsZonesClustersCompleteIpRotationCall) Header() http.Header {
11872	if c.header_ == nil {
11873		c.header_ = make(http.Header)
11874	}
11875	return c.header_
11876}
11877
11878func (c *ProjectsZonesClustersCompleteIpRotationCall) doRequest(alt string) (*http.Response, error) {
11879	reqHeaders := make(http.Header)
11880	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
11881	for k, v := range c.header_ {
11882		reqHeaders[k] = v
11883	}
11884	reqHeaders.Set("User-Agent", c.s.userAgent())
11885	var body io.Reader = nil
11886	body, err := googleapi.WithoutDataWrapper.JSONReader(c.completeiprotationrequest)
11887	if err != nil {
11888		return nil, err
11889	}
11890	reqHeaders.Set("Content-Type", "application/json")
11891	c.urlParams_.Set("alt", alt)
11892	c.urlParams_.Set("prettyPrint", "false")
11893	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation")
11894	urls += "?" + c.urlParams_.Encode()
11895	req, err := http.NewRequest("POST", urls, body)
11896	if err != nil {
11897		return nil, err
11898	}
11899	req.Header = reqHeaders
11900	googleapi.Expand(req.URL, map[string]string{
11901		"projectId": c.projectId,
11902		"zone":      c.zone,
11903		"clusterId": c.clusterId,
11904	})
11905	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11906}
11907
11908// Do executes the "container.projects.zones.clusters.completeIpRotation" call.
11909// Exactly one of *Operation or error will be non-nil. Any non-2xx
11910// status code is an error. Response headers are in either
11911// *Operation.ServerResponse.Header or (if a response was returned at
11912// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
11913// to check whether the returned error was because
11914// http.StatusNotModified was returned.
11915func (c *ProjectsZonesClustersCompleteIpRotationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
11916	gensupport.SetOptions(c.urlParams_, opts...)
11917	res, err := c.doRequest("json")
11918	if res != nil && res.StatusCode == http.StatusNotModified {
11919		if res.Body != nil {
11920			res.Body.Close()
11921		}
11922		return nil, &googleapi.Error{
11923			Code:   res.StatusCode,
11924			Header: res.Header,
11925		}
11926	}
11927	if err != nil {
11928		return nil, err
11929	}
11930	defer googleapi.CloseBody(res)
11931	if err := googleapi.CheckResponse(res); err != nil {
11932		return nil, err
11933	}
11934	ret := &Operation{
11935		ServerResponse: googleapi.ServerResponse{
11936			Header:         res.Header,
11937			HTTPStatusCode: res.StatusCode,
11938		},
11939	}
11940	target := &ret
11941	if err := gensupport.DecodeResponse(target, res); err != nil {
11942		return nil, err
11943	}
11944	return ret, nil
11945	// {
11946	//   "description": "Completes master IP rotation.",
11947	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation",
11948	//   "httpMethod": "POST",
11949	//   "id": "container.projects.zones.clusters.completeIpRotation",
11950	//   "parameterOrder": [
11951	//     "projectId",
11952	//     "zone",
11953	//     "clusterId"
11954	//   ],
11955	//   "parameters": {
11956	//     "clusterId": {
11957	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
11958	//       "location": "path",
11959	//       "required": true,
11960	//       "type": "string"
11961	//     },
11962	//     "projectId": {
11963	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
11964	//       "location": "path",
11965	//       "required": true,
11966	//       "type": "string"
11967	//     },
11968	//     "zone": {
11969	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
11970	//       "location": "path",
11971	//       "required": true,
11972	//       "type": "string"
11973	//     }
11974	//   },
11975	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation",
11976	//   "request": {
11977	//     "$ref": "CompleteIPRotationRequest"
11978	//   },
11979	//   "response": {
11980	//     "$ref": "Operation"
11981	//   },
11982	//   "scopes": [
11983	//     "https://www.googleapis.com/auth/cloud-platform"
11984	//   ]
11985	// }
11986
11987}
11988
11989// method id "container.projects.zones.clusters.create":
11990
11991type ProjectsZonesClustersCreateCall struct {
11992	s                    *Service
11993	projectId            string
11994	zone                 string
11995	createclusterrequest *CreateClusterRequest
11996	urlParams_           gensupport.URLParams
11997	ctx_                 context.Context
11998	header_              http.Header
11999}
12000
12001// Create: Creates a cluster, consisting of the specified number and
12002// type of Google Compute Engine instances. By default, the cluster is
12003// created in the project's default network
12004// (https://cloud.google.com/compute/docs/networks-and-firewalls#networks).
12005// One firewall is added for the cluster. After cluster creation, the
12006// Kubelet creates routes for each node to allow the containers on that
12007// node to communicate with all other instances in the cluster. Finally,
12008// an entry is added to the project's global metadata indicating which
12009// CIDR range the cluster is using.
12010//
12011// - projectId: Deprecated. The Google Developers Console project ID or
12012//   project number (https://support.google.com/cloud/answer/6158840).
12013//   This field has been deprecated and replaced by the parent field.
12014// - zone: Deprecated. The name of the Google Compute Engine zone
12015//   (https://cloud.google.com/compute/docs/zones#available) in which
12016//   the cluster resides. This field has been deprecated and replaced by
12017//   the parent field.
12018func (r *ProjectsZonesClustersService) Create(projectId string, zone string, createclusterrequest *CreateClusterRequest) *ProjectsZonesClustersCreateCall {
12019	c := &ProjectsZonesClustersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12020	c.projectId = projectId
12021	c.zone = zone
12022	c.createclusterrequest = createclusterrequest
12023	return c
12024}
12025
12026// Fields allows partial responses to be retrieved. See
12027// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12028// for more information.
12029func (c *ProjectsZonesClustersCreateCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersCreateCall {
12030	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12031	return c
12032}
12033
12034// Context sets the context to be used in this call's Do method. Any
12035// pending HTTP request will be aborted if the provided context is
12036// canceled.
12037func (c *ProjectsZonesClustersCreateCall) Context(ctx context.Context) *ProjectsZonesClustersCreateCall {
12038	c.ctx_ = ctx
12039	return c
12040}
12041
12042// Header returns an http.Header that can be modified by the caller to
12043// add HTTP headers to the request.
12044func (c *ProjectsZonesClustersCreateCall) Header() http.Header {
12045	if c.header_ == nil {
12046		c.header_ = make(http.Header)
12047	}
12048	return c.header_
12049}
12050
12051func (c *ProjectsZonesClustersCreateCall) doRequest(alt string) (*http.Response, error) {
12052	reqHeaders := make(http.Header)
12053	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
12054	for k, v := range c.header_ {
12055		reqHeaders[k] = v
12056	}
12057	reqHeaders.Set("User-Agent", c.s.userAgent())
12058	var body io.Reader = nil
12059	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createclusterrequest)
12060	if err != nil {
12061		return nil, err
12062	}
12063	reqHeaders.Set("Content-Type", "application/json")
12064	c.urlParams_.Set("alt", alt)
12065	c.urlParams_.Set("prettyPrint", "false")
12066	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters")
12067	urls += "?" + c.urlParams_.Encode()
12068	req, err := http.NewRequest("POST", urls, body)
12069	if err != nil {
12070		return nil, err
12071	}
12072	req.Header = reqHeaders
12073	googleapi.Expand(req.URL, map[string]string{
12074		"projectId": c.projectId,
12075		"zone":      c.zone,
12076	})
12077	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12078}
12079
12080// Do executes the "container.projects.zones.clusters.create" call.
12081// Exactly one of *Operation or error will be non-nil. Any non-2xx
12082// status code is an error. Response headers are in either
12083// *Operation.ServerResponse.Header or (if a response was returned at
12084// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
12085// to check whether the returned error was because
12086// http.StatusNotModified was returned.
12087func (c *ProjectsZonesClustersCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
12088	gensupport.SetOptions(c.urlParams_, opts...)
12089	res, err := c.doRequest("json")
12090	if res != nil && res.StatusCode == http.StatusNotModified {
12091		if res.Body != nil {
12092			res.Body.Close()
12093		}
12094		return nil, &googleapi.Error{
12095			Code:   res.StatusCode,
12096			Header: res.Header,
12097		}
12098	}
12099	if err != nil {
12100		return nil, err
12101	}
12102	defer googleapi.CloseBody(res)
12103	if err := googleapi.CheckResponse(res); err != nil {
12104		return nil, err
12105	}
12106	ret := &Operation{
12107		ServerResponse: googleapi.ServerResponse{
12108			Header:         res.Header,
12109			HTTPStatusCode: res.StatusCode,
12110		},
12111	}
12112	target := &ret
12113	if err := gensupport.DecodeResponse(target, res); err != nil {
12114		return nil, err
12115	}
12116	return ret, nil
12117	// {
12118	//   "description": "Creates a cluster, consisting of the specified number and type of Google Compute Engine instances. By default, the cluster is created in the project's [default network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). One firewall is added for the cluster. After cluster creation, the Kubelet creates routes for each node to allow the containers on that node to communicate with all other instances in the cluster. Finally, an entry is added to the project's global metadata indicating which CIDR range the cluster is using.",
12119	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters",
12120	//   "httpMethod": "POST",
12121	//   "id": "container.projects.zones.clusters.create",
12122	//   "parameterOrder": [
12123	//     "projectId",
12124	//     "zone"
12125	//   ],
12126	//   "parameters": {
12127	//     "projectId": {
12128	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
12129	//       "location": "path",
12130	//       "required": true,
12131	//       "type": "string"
12132	//     },
12133	//     "zone": {
12134	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
12135	//       "location": "path",
12136	//       "required": true,
12137	//       "type": "string"
12138	//     }
12139	//   },
12140	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters",
12141	//   "request": {
12142	//     "$ref": "CreateClusterRequest"
12143	//   },
12144	//   "response": {
12145	//     "$ref": "Operation"
12146	//   },
12147	//   "scopes": [
12148	//     "https://www.googleapis.com/auth/cloud-platform"
12149	//   ]
12150	// }
12151
12152}
12153
12154// method id "container.projects.zones.clusters.delete":
12155
12156type ProjectsZonesClustersDeleteCall struct {
12157	s          *Service
12158	projectId  string
12159	zone       string
12160	clusterId  string
12161	urlParams_ gensupport.URLParams
12162	ctx_       context.Context
12163	header_    http.Header
12164}
12165
12166// Delete: Deletes the cluster, including the Kubernetes endpoint and
12167// all worker nodes. Firewalls and routes that were configured during
12168// cluster creation are also deleted. Other Google Compute Engine
12169// resources that might be in use by the cluster, such as load balancer
12170// resources, are not deleted if they weren't present when the cluster
12171// was initially created.
12172//
12173// - clusterId: Deprecated. The name of the cluster to delete. This
12174//   field has been deprecated and replaced by the name field.
12175// - projectId: Deprecated. The Google Developers Console project ID or
12176//   project number (https://support.google.com/cloud/answer/6158840).
12177//   This field has been deprecated and replaced by the name field.
12178// - zone: Deprecated. The name of the Google Compute Engine zone
12179//   (https://cloud.google.com/compute/docs/zones#available) in which
12180//   the cluster resides. This field has been deprecated and replaced by
12181//   the name field.
12182func (r *ProjectsZonesClustersService) Delete(projectId string, zone string, clusterId string) *ProjectsZonesClustersDeleteCall {
12183	c := &ProjectsZonesClustersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12184	c.projectId = projectId
12185	c.zone = zone
12186	c.clusterId = clusterId
12187	return c
12188}
12189
12190// Name sets the optional parameter "name": The name (project, location,
12191// cluster) of the cluster to delete. Specified in the format
12192// `projects/*/locations/*/clusters/*`.
12193func (c *ProjectsZonesClustersDeleteCall) Name(name string) *ProjectsZonesClustersDeleteCall {
12194	c.urlParams_.Set("name", name)
12195	return c
12196}
12197
12198// Fields allows partial responses to be retrieved. See
12199// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12200// for more information.
12201func (c *ProjectsZonesClustersDeleteCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersDeleteCall {
12202	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12203	return c
12204}
12205
12206// Context sets the context to be used in this call's Do method. Any
12207// pending HTTP request will be aborted if the provided context is
12208// canceled.
12209func (c *ProjectsZonesClustersDeleteCall) Context(ctx context.Context) *ProjectsZonesClustersDeleteCall {
12210	c.ctx_ = ctx
12211	return c
12212}
12213
12214// Header returns an http.Header that can be modified by the caller to
12215// add HTTP headers to the request.
12216func (c *ProjectsZonesClustersDeleteCall) Header() http.Header {
12217	if c.header_ == nil {
12218		c.header_ = make(http.Header)
12219	}
12220	return c.header_
12221}
12222
12223func (c *ProjectsZonesClustersDeleteCall) doRequest(alt string) (*http.Response, error) {
12224	reqHeaders := make(http.Header)
12225	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
12226	for k, v := range c.header_ {
12227		reqHeaders[k] = v
12228	}
12229	reqHeaders.Set("User-Agent", c.s.userAgent())
12230	var body io.Reader = nil
12231	c.urlParams_.Set("alt", alt)
12232	c.urlParams_.Set("prettyPrint", "false")
12233	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}")
12234	urls += "?" + c.urlParams_.Encode()
12235	req, err := http.NewRequest("DELETE", urls, body)
12236	if err != nil {
12237		return nil, err
12238	}
12239	req.Header = reqHeaders
12240	googleapi.Expand(req.URL, map[string]string{
12241		"projectId": c.projectId,
12242		"zone":      c.zone,
12243		"clusterId": c.clusterId,
12244	})
12245	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12246}
12247
12248// Do executes the "container.projects.zones.clusters.delete" call.
12249// Exactly one of *Operation or error will be non-nil. Any non-2xx
12250// status code is an error. Response headers are in either
12251// *Operation.ServerResponse.Header or (if a response was returned at
12252// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
12253// to check whether the returned error was because
12254// http.StatusNotModified was returned.
12255func (c *ProjectsZonesClustersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
12256	gensupport.SetOptions(c.urlParams_, opts...)
12257	res, err := c.doRequest("json")
12258	if res != nil && res.StatusCode == http.StatusNotModified {
12259		if res.Body != nil {
12260			res.Body.Close()
12261		}
12262		return nil, &googleapi.Error{
12263			Code:   res.StatusCode,
12264			Header: res.Header,
12265		}
12266	}
12267	if err != nil {
12268		return nil, err
12269	}
12270	defer googleapi.CloseBody(res)
12271	if err := googleapi.CheckResponse(res); err != nil {
12272		return nil, err
12273	}
12274	ret := &Operation{
12275		ServerResponse: googleapi.ServerResponse{
12276			Header:         res.Header,
12277			HTTPStatusCode: res.StatusCode,
12278		},
12279	}
12280	target := &ret
12281	if err := gensupport.DecodeResponse(target, res); err != nil {
12282		return nil, err
12283	}
12284	return ret, nil
12285	// {
12286	//   "description": "Deletes the cluster, including the Kubernetes endpoint and all worker nodes. Firewalls and routes that were configured during cluster creation are also deleted. Other Google Compute Engine resources that might be in use by the cluster, such as load balancer resources, are not deleted if they weren't present when the cluster was initially created.",
12287	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}",
12288	//   "httpMethod": "DELETE",
12289	//   "id": "container.projects.zones.clusters.delete",
12290	//   "parameterOrder": [
12291	//     "projectId",
12292	//     "zone",
12293	//     "clusterId"
12294	//   ],
12295	//   "parameters": {
12296	//     "clusterId": {
12297	//       "description": "Required. Deprecated. The name of the cluster to delete. This field has been deprecated and replaced by the name field.",
12298	//       "location": "path",
12299	//       "required": true,
12300	//       "type": "string"
12301	//     },
12302	//     "name": {
12303	//       "description": "The name (project, location, cluster) of the cluster to delete. Specified in the format `projects/*/locations/*/clusters/*`.",
12304	//       "location": "query",
12305	//       "type": "string"
12306	//     },
12307	//     "projectId": {
12308	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
12309	//       "location": "path",
12310	//       "required": true,
12311	//       "type": "string"
12312	//     },
12313	//     "zone": {
12314	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
12315	//       "location": "path",
12316	//       "required": true,
12317	//       "type": "string"
12318	//     }
12319	//   },
12320	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}",
12321	//   "response": {
12322	//     "$ref": "Operation"
12323	//   },
12324	//   "scopes": [
12325	//     "https://www.googleapis.com/auth/cloud-platform"
12326	//   ]
12327	// }
12328
12329}
12330
12331// method id "container.projects.zones.clusters.get":
12332
12333type ProjectsZonesClustersGetCall struct {
12334	s            *Service
12335	projectId    string
12336	zone         string
12337	clusterId    string
12338	urlParams_   gensupport.URLParams
12339	ifNoneMatch_ string
12340	ctx_         context.Context
12341	header_      http.Header
12342}
12343
12344// Get: Gets the details for a specific cluster.
12345//
12346// - clusterId: Deprecated. The name of the cluster to retrieve. This
12347//   field has been deprecated and replaced by the name field.
12348// - projectId: Deprecated. The Google Developers Console project ID or
12349//   project number (https://support.google.com/cloud/answer/6158840).
12350//   This field has been deprecated and replaced by the name field.
12351// - zone: Deprecated. The name of the Google Compute Engine zone
12352//   (https://cloud.google.com/compute/docs/zones#available) in which
12353//   the cluster resides. This field has been deprecated and replaced by
12354//   the name field.
12355func (r *ProjectsZonesClustersService) Get(projectId string, zone string, clusterId string) *ProjectsZonesClustersGetCall {
12356	c := &ProjectsZonesClustersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12357	c.projectId = projectId
12358	c.zone = zone
12359	c.clusterId = clusterId
12360	return c
12361}
12362
12363// Name sets the optional parameter "name": The name (project, location,
12364// cluster) of the cluster to retrieve. Specified in the format
12365// `projects/*/locations/*/clusters/*`.
12366func (c *ProjectsZonesClustersGetCall) Name(name string) *ProjectsZonesClustersGetCall {
12367	c.urlParams_.Set("name", name)
12368	return c
12369}
12370
12371// Fields allows partial responses to be retrieved. See
12372// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12373// for more information.
12374func (c *ProjectsZonesClustersGetCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersGetCall {
12375	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12376	return c
12377}
12378
12379// IfNoneMatch sets the optional parameter which makes the operation
12380// fail if the object's ETag matches the given value. This is useful for
12381// getting updates only after the object has changed since the last
12382// request. Use googleapi.IsNotModified to check whether the response
12383// error from Do is the result of In-None-Match.
12384func (c *ProjectsZonesClustersGetCall) IfNoneMatch(entityTag string) *ProjectsZonesClustersGetCall {
12385	c.ifNoneMatch_ = entityTag
12386	return c
12387}
12388
12389// Context sets the context to be used in this call's Do method. Any
12390// pending HTTP request will be aborted if the provided context is
12391// canceled.
12392func (c *ProjectsZonesClustersGetCall) Context(ctx context.Context) *ProjectsZonesClustersGetCall {
12393	c.ctx_ = ctx
12394	return c
12395}
12396
12397// Header returns an http.Header that can be modified by the caller to
12398// add HTTP headers to the request.
12399func (c *ProjectsZonesClustersGetCall) Header() http.Header {
12400	if c.header_ == nil {
12401		c.header_ = make(http.Header)
12402	}
12403	return c.header_
12404}
12405
12406func (c *ProjectsZonesClustersGetCall) doRequest(alt string) (*http.Response, error) {
12407	reqHeaders := make(http.Header)
12408	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
12409	for k, v := range c.header_ {
12410		reqHeaders[k] = v
12411	}
12412	reqHeaders.Set("User-Agent", c.s.userAgent())
12413	if c.ifNoneMatch_ != "" {
12414		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
12415	}
12416	var body io.Reader = nil
12417	c.urlParams_.Set("alt", alt)
12418	c.urlParams_.Set("prettyPrint", "false")
12419	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}")
12420	urls += "?" + c.urlParams_.Encode()
12421	req, err := http.NewRequest("GET", urls, body)
12422	if err != nil {
12423		return nil, err
12424	}
12425	req.Header = reqHeaders
12426	googleapi.Expand(req.URL, map[string]string{
12427		"projectId": c.projectId,
12428		"zone":      c.zone,
12429		"clusterId": c.clusterId,
12430	})
12431	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12432}
12433
12434// Do executes the "container.projects.zones.clusters.get" call.
12435// Exactly one of *Cluster or error will be non-nil. Any non-2xx status
12436// code is an error. Response headers are in either
12437// *Cluster.ServerResponse.Header or (if a response was returned at all)
12438// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
12439// check whether the returned error was because http.StatusNotModified
12440// was returned.
12441func (c *ProjectsZonesClustersGetCall) Do(opts ...googleapi.CallOption) (*Cluster, error) {
12442	gensupport.SetOptions(c.urlParams_, opts...)
12443	res, err := c.doRequest("json")
12444	if res != nil && res.StatusCode == http.StatusNotModified {
12445		if res.Body != nil {
12446			res.Body.Close()
12447		}
12448		return nil, &googleapi.Error{
12449			Code:   res.StatusCode,
12450			Header: res.Header,
12451		}
12452	}
12453	if err != nil {
12454		return nil, err
12455	}
12456	defer googleapi.CloseBody(res)
12457	if err := googleapi.CheckResponse(res); err != nil {
12458		return nil, err
12459	}
12460	ret := &Cluster{
12461		ServerResponse: googleapi.ServerResponse{
12462			Header:         res.Header,
12463			HTTPStatusCode: res.StatusCode,
12464		},
12465	}
12466	target := &ret
12467	if err := gensupport.DecodeResponse(target, res); err != nil {
12468		return nil, err
12469	}
12470	return ret, nil
12471	// {
12472	//   "description": "Gets the details for a specific cluster.",
12473	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}",
12474	//   "httpMethod": "GET",
12475	//   "id": "container.projects.zones.clusters.get",
12476	//   "parameterOrder": [
12477	//     "projectId",
12478	//     "zone",
12479	//     "clusterId"
12480	//   ],
12481	//   "parameters": {
12482	//     "clusterId": {
12483	//       "description": "Required. Deprecated. The name of the cluster to retrieve. This field has been deprecated and replaced by the name field.",
12484	//       "location": "path",
12485	//       "required": true,
12486	//       "type": "string"
12487	//     },
12488	//     "name": {
12489	//       "description": "The name (project, location, cluster) of the cluster to retrieve. Specified in the format `projects/*/locations/*/clusters/*`.",
12490	//       "location": "query",
12491	//       "type": "string"
12492	//     },
12493	//     "projectId": {
12494	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
12495	//       "location": "path",
12496	//       "required": true,
12497	//       "type": "string"
12498	//     },
12499	//     "zone": {
12500	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
12501	//       "location": "path",
12502	//       "required": true,
12503	//       "type": "string"
12504	//     }
12505	//   },
12506	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}",
12507	//   "response": {
12508	//     "$ref": "Cluster"
12509	//   },
12510	//   "scopes": [
12511	//     "https://www.googleapis.com/auth/cloud-platform"
12512	//   ]
12513	// }
12514
12515}
12516
12517// method id "container.projects.zones.clusters.legacyAbac":
12518
12519type ProjectsZonesClustersLegacyAbacCall struct {
12520	s                    *Service
12521	projectId            string
12522	zone                 string
12523	clusterId            string
12524	setlegacyabacrequest *SetLegacyAbacRequest
12525	urlParams_           gensupport.URLParams
12526	ctx_                 context.Context
12527	header_              http.Header
12528}
12529
12530// LegacyAbac: Enables or disables the ABAC authorization mechanism on a
12531// cluster.
12532//
12533// - clusterId: Deprecated. The name of the cluster to update. This
12534//   field has been deprecated and replaced by the name field.
12535// - projectId: Deprecated. The Google Developers Console project ID or
12536//   project number (https://support.google.com/cloud/answer/6158840).
12537//   This field has been deprecated and replaced by the name field.
12538// - zone: Deprecated. The name of the Google Compute Engine zone
12539//   (https://cloud.google.com/compute/docs/zones#available) in which
12540//   the cluster resides. This field has been deprecated and replaced by
12541//   the name field.
12542func (r *ProjectsZonesClustersService) LegacyAbac(projectId string, zone string, clusterId string, setlegacyabacrequest *SetLegacyAbacRequest) *ProjectsZonesClustersLegacyAbacCall {
12543	c := &ProjectsZonesClustersLegacyAbacCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12544	c.projectId = projectId
12545	c.zone = zone
12546	c.clusterId = clusterId
12547	c.setlegacyabacrequest = setlegacyabacrequest
12548	return c
12549}
12550
12551// Fields allows partial responses to be retrieved. See
12552// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12553// for more information.
12554func (c *ProjectsZonesClustersLegacyAbacCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersLegacyAbacCall {
12555	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12556	return c
12557}
12558
12559// Context sets the context to be used in this call's Do method. Any
12560// pending HTTP request will be aborted if the provided context is
12561// canceled.
12562func (c *ProjectsZonesClustersLegacyAbacCall) Context(ctx context.Context) *ProjectsZonesClustersLegacyAbacCall {
12563	c.ctx_ = ctx
12564	return c
12565}
12566
12567// Header returns an http.Header that can be modified by the caller to
12568// add HTTP headers to the request.
12569func (c *ProjectsZonesClustersLegacyAbacCall) Header() http.Header {
12570	if c.header_ == nil {
12571		c.header_ = make(http.Header)
12572	}
12573	return c.header_
12574}
12575
12576func (c *ProjectsZonesClustersLegacyAbacCall) doRequest(alt string) (*http.Response, error) {
12577	reqHeaders := make(http.Header)
12578	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
12579	for k, v := range c.header_ {
12580		reqHeaders[k] = v
12581	}
12582	reqHeaders.Set("User-Agent", c.s.userAgent())
12583	var body io.Reader = nil
12584	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setlegacyabacrequest)
12585	if err != nil {
12586		return nil, err
12587	}
12588	reqHeaders.Set("Content-Type", "application/json")
12589	c.urlParams_.Set("alt", alt)
12590	c.urlParams_.Set("prettyPrint", "false")
12591	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/legacyAbac")
12592	urls += "?" + c.urlParams_.Encode()
12593	req, err := http.NewRequest("POST", urls, body)
12594	if err != nil {
12595		return nil, err
12596	}
12597	req.Header = reqHeaders
12598	googleapi.Expand(req.URL, map[string]string{
12599		"projectId": c.projectId,
12600		"zone":      c.zone,
12601		"clusterId": c.clusterId,
12602	})
12603	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12604}
12605
12606// Do executes the "container.projects.zones.clusters.legacyAbac" call.
12607// Exactly one of *Operation or error will be non-nil. Any non-2xx
12608// status code is an error. Response headers are in either
12609// *Operation.ServerResponse.Header or (if a response was returned at
12610// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
12611// to check whether the returned error was because
12612// http.StatusNotModified was returned.
12613func (c *ProjectsZonesClustersLegacyAbacCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
12614	gensupport.SetOptions(c.urlParams_, opts...)
12615	res, err := c.doRequest("json")
12616	if res != nil && res.StatusCode == http.StatusNotModified {
12617		if res.Body != nil {
12618			res.Body.Close()
12619		}
12620		return nil, &googleapi.Error{
12621			Code:   res.StatusCode,
12622			Header: res.Header,
12623		}
12624	}
12625	if err != nil {
12626		return nil, err
12627	}
12628	defer googleapi.CloseBody(res)
12629	if err := googleapi.CheckResponse(res); err != nil {
12630		return nil, err
12631	}
12632	ret := &Operation{
12633		ServerResponse: googleapi.ServerResponse{
12634			Header:         res.Header,
12635			HTTPStatusCode: res.StatusCode,
12636		},
12637	}
12638	target := &ret
12639	if err := gensupport.DecodeResponse(target, res); err != nil {
12640		return nil, err
12641	}
12642	return ret, nil
12643	// {
12644	//   "description": "Enables or disables the ABAC authorization mechanism on a cluster.",
12645	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/legacyAbac",
12646	//   "httpMethod": "POST",
12647	//   "id": "container.projects.zones.clusters.legacyAbac",
12648	//   "parameterOrder": [
12649	//     "projectId",
12650	//     "zone",
12651	//     "clusterId"
12652	//   ],
12653	//   "parameters": {
12654	//     "clusterId": {
12655	//       "description": "Required. Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
12656	//       "location": "path",
12657	//       "required": true,
12658	//       "type": "string"
12659	//     },
12660	//     "projectId": {
12661	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
12662	//       "location": "path",
12663	//       "required": true,
12664	//       "type": "string"
12665	//     },
12666	//     "zone": {
12667	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
12668	//       "location": "path",
12669	//       "required": true,
12670	//       "type": "string"
12671	//     }
12672	//   },
12673	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/legacyAbac",
12674	//   "request": {
12675	//     "$ref": "SetLegacyAbacRequest"
12676	//   },
12677	//   "response": {
12678	//     "$ref": "Operation"
12679	//   },
12680	//   "scopes": [
12681	//     "https://www.googleapis.com/auth/cloud-platform"
12682	//   ]
12683	// }
12684
12685}
12686
12687// method id "container.projects.zones.clusters.list":
12688
12689type ProjectsZonesClustersListCall struct {
12690	s            *Service
12691	projectId    string
12692	zone         string
12693	urlParams_   gensupport.URLParams
12694	ifNoneMatch_ string
12695	ctx_         context.Context
12696	header_      http.Header
12697}
12698
12699// List: Lists all clusters owned by a project in either the specified
12700// zone or all zones.
12701//
12702// - projectId: Deprecated. The Google Developers Console project ID or
12703//   project number (https://support.google.com/cloud/answer/6158840).
12704//   This field has been deprecated and replaced by the parent field.
12705// - zone: Deprecated. The name of the Google Compute Engine zone
12706//   (https://cloud.google.com/compute/docs/zones#available) in which
12707//   the cluster resides, or "-" for all zones. This field has been
12708//   deprecated and replaced by the parent field.
12709func (r *ProjectsZonesClustersService) List(projectId string, zone string) *ProjectsZonesClustersListCall {
12710	c := &ProjectsZonesClustersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12711	c.projectId = projectId
12712	c.zone = zone
12713	return c
12714}
12715
12716// Parent sets the optional parameter "parent": The parent (project and
12717// location) where the clusters will be listed. Specified in the format
12718// `projects/*/locations/*`. Location "-" matches all zones and all
12719// regions.
12720func (c *ProjectsZonesClustersListCall) Parent(parent string) *ProjectsZonesClustersListCall {
12721	c.urlParams_.Set("parent", parent)
12722	return c
12723}
12724
12725// Fields allows partial responses to be retrieved. See
12726// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12727// for more information.
12728func (c *ProjectsZonesClustersListCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersListCall {
12729	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12730	return c
12731}
12732
12733// IfNoneMatch sets the optional parameter which makes the operation
12734// fail if the object's ETag matches the given value. This is useful for
12735// getting updates only after the object has changed since the last
12736// request. Use googleapi.IsNotModified to check whether the response
12737// error from Do is the result of In-None-Match.
12738func (c *ProjectsZonesClustersListCall) IfNoneMatch(entityTag string) *ProjectsZonesClustersListCall {
12739	c.ifNoneMatch_ = entityTag
12740	return c
12741}
12742
12743// Context sets the context to be used in this call's Do method. Any
12744// pending HTTP request will be aborted if the provided context is
12745// canceled.
12746func (c *ProjectsZonesClustersListCall) Context(ctx context.Context) *ProjectsZonesClustersListCall {
12747	c.ctx_ = ctx
12748	return c
12749}
12750
12751// Header returns an http.Header that can be modified by the caller to
12752// add HTTP headers to the request.
12753func (c *ProjectsZonesClustersListCall) Header() http.Header {
12754	if c.header_ == nil {
12755		c.header_ = make(http.Header)
12756	}
12757	return c.header_
12758}
12759
12760func (c *ProjectsZonesClustersListCall) doRequest(alt string) (*http.Response, error) {
12761	reqHeaders := make(http.Header)
12762	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
12763	for k, v := range c.header_ {
12764		reqHeaders[k] = v
12765	}
12766	reqHeaders.Set("User-Agent", c.s.userAgent())
12767	if c.ifNoneMatch_ != "" {
12768		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
12769	}
12770	var body io.Reader = nil
12771	c.urlParams_.Set("alt", alt)
12772	c.urlParams_.Set("prettyPrint", "false")
12773	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters")
12774	urls += "?" + c.urlParams_.Encode()
12775	req, err := http.NewRequest("GET", urls, body)
12776	if err != nil {
12777		return nil, err
12778	}
12779	req.Header = reqHeaders
12780	googleapi.Expand(req.URL, map[string]string{
12781		"projectId": c.projectId,
12782		"zone":      c.zone,
12783	})
12784	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12785}
12786
12787// Do executes the "container.projects.zones.clusters.list" call.
12788// Exactly one of *ListClustersResponse or error will be non-nil. Any
12789// non-2xx status code is an error. Response headers are in either
12790// *ListClustersResponse.ServerResponse.Header or (if a response was
12791// returned at all) in error.(*googleapi.Error).Header. Use
12792// googleapi.IsNotModified to check whether the returned error was
12793// because http.StatusNotModified was returned.
12794func (c *ProjectsZonesClustersListCall) Do(opts ...googleapi.CallOption) (*ListClustersResponse, error) {
12795	gensupport.SetOptions(c.urlParams_, opts...)
12796	res, err := c.doRequest("json")
12797	if res != nil && res.StatusCode == http.StatusNotModified {
12798		if res.Body != nil {
12799			res.Body.Close()
12800		}
12801		return nil, &googleapi.Error{
12802			Code:   res.StatusCode,
12803			Header: res.Header,
12804		}
12805	}
12806	if err != nil {
12807		return nil, err
12808	}
12809	defer googleapi.CloseBody(res)
12810	if err := googleapi.CheckResponse(res); err != nil {
12811		return nil, err
12812	}
12813	ret := &ListClustersResponse{
12814		ServerResponse: googleapi.ServerResponse{
12815			Header:         res.Header,
12816			HTTPStatusCode: res.StatusCode,
12817		},
12818	}
12819	target := &ret
12820	if err := gensupport.DecodeResponse(target, res); err != nil {
12821		return nil, err
12822	}
12823	return ret, nil
12824	// {
12825	//   "description": "Lists all clusters owned by a project in either the specified zone or all zones.",
12826	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters",
12827	//   "httpMethod": "GET",
12828	//   "id": "container.projects.zones.clusters.list",
12829	//   "parameterOrder": [
12830	//     "projectId",
12831	//     "zone"
12832	//   ],
12833	//   "parameters": {
12834	//     "parent": {
12835	//       "description": "The parent (project and location) where the clusters will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
12836	//       "location": "query",
12837	//       "type": "string"
12838	//     },
12839	//     "projectId": {
12840	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
12841	//       "location": "path",
12842	//       "required": true,
12843	//       "type": "string"
12844	//     },
12845	//     "zone": {
12846	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides, or \"-\" for all zones. This field has been deprecated and replaced by the parent field.",
12847	//       "location": "path",
12848	//       "required": true,
12849	//       "type": "string"
12850	//     }
12851	//   },
12852	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters",
12853	//   "response": {
12854	//     "$ref": "ListClustersResponse"
12855	//   },
12856	//   "scopes": [
12857	//     "https://www.googleapis.com/auth/cloud-platform"
12858	//   ]
12859	// }
12860
12861}
12862
12863// method id "container.projects.zones.clusters.locations":
12864
12865type ProjectsZonesClustersLocationsCall struct {
12866	s                   *Service
12867	projectId           string
12868	zone                string
12869	clusterId           string
12870	setlocationsrequest *SetLocationsRequest
12871	urlParams_          gensupport.URLParams
12872	ctx_                context.Context
12873	header_             http.Header
12874}
12875
12876// Locations: Sets the locations for a specific cluster. Deprecated. Use
12877// projects.locations.clusters.update
12878// (https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update)
12879// instead.
12880//
12881// - clusterId: Deprecated. The name of the cluster to upgrade. This
12882//   field has been deprecated and replaced by the name field.
12883// - projectId: Deprecated. The Google Developers Console project ID or
12884//   project number (https://support.google.com/cloud/answer/6158840).
12885//   This field has been deprecated and replaced by the name field.
12886// - zone: Deprecated. The name of the Google Compute Engine zone
12887//   (https://cloud.google.com/compute/docs/zones#available) in which
12888//   the cluster resides. This field has been deprecated and replaced by
12889//   the name field.
12890func (r *ProjectsZonesClustersService) Locations(projectId string, zone string, clusterId string, setlocationsrequest *SetLocationsRequest) *ProjectsZonesClustersLocationsCall {
12891	c := &ProjectsZonesClustersLocationsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12892	c.projectId = projectId
12893	c.zone = zone
12894	c.clusterId = clusterId
12895	c.setlocationsrequest = setlocationsrequest
12896	return c
12897}
12898
12899// Fields allows partial responses to be retrieved. See
12900// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12901// for more information.
12902func (c *ProjectsZonesClustersLocationsCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersLocationsCall {
12903	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12904	return c
12905}
12906
12907// Context sets the context to be used in this call's Do method. Any
12908// pending HTTP request will be aborted if the provided context is
12909// canceled.
12910func (c *ProjectsZonesClustersLocationsCall) Context(ctx context.Context) *ProjectsZonesClustersLocationsCall {
12911	c.ctx_ = ctx
12912	return c
12913}
12914
12915// Header returns an http.Header that can be modified by the caller to
12916// add HTTP headers to the request.
12917func (c *ProjectsZonesClustersLocationsCall) Header() http.Header {
12918	if c.header_ == nil {
12919		c.header_ = make(http.Header)
12920	}
12921	return c.header_
12922}
12923
12924func (c *ProjectsZonesClustersLocationsCall) doRequest(alt string) (*http.Response, error) {
12925	reqHeaders := make(http.Header)
12926	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
12927	for k, v := range c.header_ {
12928		reqHeaders[k] = v
12929	}
12930	reqHeaders.Set("User-Agent", c.s.userAgent())
12931	var body io.Reader = nil
12932	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setlocationsrequest)
12933	if err != nil {
12934		return nil, err
12935	}
12936	reqHeaders.Set("Content-Type", "application/json")
12937	c.urlParams_.Set("alt", alt)
12938	c.urlParams_.Set("prettyPrint", "false")
12939	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/locations")
12940	urls += "?" + c.urlParams_.Encode()
12941	req, err := http.NewRequest("POST", urls, body)
12942	if err != nil {
12943		return nil, err
12944	}
12945	req.Header = reqHeaders
12946	googleapi.Expand(req.URL, map[string]string{
12947		"projectId": c.projectId,
12948		"zone":      c.zone,
12949		"clusterId": c.clusterId,
12950	})
12951	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12952}
12953
12954// Do executes the "container.projects.zones.clusters.locations" call.
12955// Exactly one of *Operation or error will be non-nil. Any non-2xx
12956// status code is an error. Response headers are in either
12957// *Operation.ServerResponse.Header or (if a response was returned at
12958// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
12959// to check whether the returned error was because
12960// http.StatusNotModified was returned.
12961func (c *ProjectsZonesClustersLocationsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
12962	gensupport.SetOptions(c.urlParams_, opts...)
12963	res, err := c.doRequest("json")
12964	if res != nil && res.StatusCode == http.StatusNotModified {
12965		if res.Body != nil {
12966			res.Body.Close()
12967		}
12968		return nil, &googleapi.Error{
12969			Code:   res.StatusCode,
12970			Header: res.Header,
12971		}
12972	}
12973	if err != nil {
12974		return nil, err
12975	}
12976	defer googleapi.CloseBody(res)
12977	if err := googleapi.CheckResponse(res); err != nil {
12978		return nil, err
12979	}
12980	ret := &Operation{
12981		ServerResponse: googleapi.ServerResponse{
12982			Header:         res.Header,
12983			HTTPStatusCode: res.StatusCode,
12984		},
12985	}
12986	target := &ret
12987	if err := gensupport.DecodeResponse(target, res); err != nil {
12988		return nil, err
12989	}
12990	return ret, nil
12991	// {
12992	//   "description": "Sets the locations for a specific cluster. Deprecated. Use [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update) instead.",
12993	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/locations",
12994	//   "httpMethod": "POST",
12995	//   "id": "container.projects.zones.clusters.locations",
12996	//   "parameterOrder": [
12997	//     "projectId",
12998	//     "zone",
12999	//     "clusterId"
13000	//   ],
13001	//   "parameters": {
13002	//     "clusterId": {
13003	//       "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
13004	//       "location": "path",
13005	//       "required": true,
13006	//       "type": "string"
13007	//     },
13008	//     "projectId": {
13009	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
13010	//       "location": "path",
13011	//       "required": true,
13012	//       "type": "string"
13013	//     },
13014	//     "zone": {
13015	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
13016	//       "location": "path",
13017	//       "required": true,
13018	//       "type": "string"
13019	//     }
13020	//   },
13021	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/locations",
13022	//   "request": {
13023	//     "$ref": "SetLocationsRequest"
13024	//   },
13025	//   "response": {
13026	//     "$ref": "Operation"
13027	//   },
13028	//   "scopes": [
13029	//     "https://www.googleapis.com/auth/cloud-platform"
13030	//   ]
13031	// }
13032
13033}
13034
13035// method id "container.projects.zones.clusters.logging":
13036
13037type ProjectsZonesClustersLoggingCall struct {
13038	s                        *Service
13039	projectId                string
13040	zone                     string
13041	clusterId                string
13042	setloggingservicerequest *SetLoggingServiceRequest
13043	urlParams_               gensupport.URLParams
13044	ctx_                     context.Context
13045	header_                  http.Header
13046}
13047
13048// Logging: Sets the logging service for a specific cluster.
13049//
13050// - clusterId: Deprecated. The name of the cluster to upgrade. This
13051//   field has been deprecated and replaced by the name field.
13052// - projectId: Deprecated. The Google Developers Console project ID or
13053//   project number (https://support.google.com/cloud/answer/6158840).
13054//   This field has been deprecated and replaced by the name field.
13055// - zone: Deprecated. The name of the Google Compute Engine zone
13056//   (https://cloud.google.com/compute/docs/zones#available) in which
13057//   the cluster resides. This field has been deprecated and replaced by
13058//   the name field.
13059func (r *ProjectsZonesClustersService) Logging(projectId string, zone string, clusterId string, setloggingservicerequest *SetLoggingServiceRequest) *ProjectsZonesClustersLoggingCall {
13060	c := &ProjectsZonesClustersLoggingCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13061	c.projectId = projectId
13062	c.zone = zone
13063	c.clusterId = clusterId
13064	c.setloggingservicerequest = setloggingservicerequest
13065	return c
13066}
13067
13068// Fields allows partial responses to be retrieved. See
13069// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13070// for more information.
13071func (c *ProjectsZonesClustersLoggingCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersLoggingCall {
13072	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13073	return c
13074}
13075
13076// Context sets the context to be used in this call's Do method. Any
13077// pending HTTP request will be aborted if the provided context is
13078// canceled.
13079func (c *ProjectsZonesClustersLoggingCall) Context(ctx context.Context) *ProjectsZonesClustersLoggingCall {
13080	c.ctx_ = ctx
13081	return c
13082}
13083
13084// Header returns an http.Header that can be modified by the caller to
13085// add HTTP headers to the request.
13086func (c *ProjectsZonesClustersLoggingCall) Header() http.Header {
13087	if c.header_ == nil {
13088		c.header_ = make(http.Header)
13089	}
13090	return c.header_
13091}
13092
13093func (c *ProjectsZonesClustersLoggingCall) doRequest(alt string) (*http.Response, error) {
13094	reqHeaders := make(http.Header)
13095	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
13096	for k, v := range c.header_ {
13097		reqHeaders[k] = v
13098	}
13099	reqHeaders.Set("User-Agent", c.s.userAgent())
13100	var body io.Reader = nil
13101	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setloggingservicerequest)
13102	if err != nil {
13103		return nil, err
13104	}
13105	reqHeaders.Set("Content-Type", "application/json")
13106	c.urlParams_.Set("alt", alt)
13107	c.urlParams_.Set("prettyPrint", "false")
13108	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/logging")
13109	urls += "?" + c.urlParams_.Encode()
13110	req, err := http.NewRequest("POST", urls, body)
13111	if err != nil {
13112		return nil, err
13113	}
13114	req.Header = reqHeaders
13115	googleapi.Expand(req.URL, map[string]string{
13116		"projectId": c.projectId,
13117		"zone":      c.zone,
13118		"clusterId": c.clusterId,
13119	})
13120	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13121}
13122
13123// Do executes the "container.projects.zones.clusters.logging" call.
13124// Exactly one of *Operation or error will be non-nil. Any non-2xx
13125// status code is an error. Response headers are in either
13126// *Operation.ServerResponse.Header or (if a response was returned at
13127// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
13128// to check whether the returned error was because
13129// http.StatusNotModified was returned.
13130func (c *ProjectsZonesClustersLoggingCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
13131	gensupport.SetOptions(c.urlParams_, opts...)
13132	res, err := c.doRequest("json")
13133	if res != nil && res.StatusCode == http.StatusNotModified {
13134		if res.Body != nil {
13135			res.Body.Close()
13136		}
13137		return nil, &googleapi.Error{
13138			Code:   res.StatusCode,
13139			Header: res.Header,
13140		}
13141	}
13142	if err != nil {
13143		return nil, err
13144	}
13145	defer googleapi.CloseBody(res)
13146	if err := googleapi.CheckResponse(res); err != nil {
13147		return nil, err
13148	}
13149	ret := &Operation{
13150		ServerResponse: googleapi.ServerResponse{
13151			Header:         res.Header,
13152			HTTPStatusCode: res.StatusCode,
13153		},
13154	}
13155	target := &ret
13156	if err := gensupport.DecodeResponse(target, res); err != nil {
13157		return nil, err
13158	}
13159	return ret, nil
13160	// {
13161	//   "description": "Sets the logging service for a specific cluster.",
13162	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/logging",
13163	//   "httpMethod": "POST",
13164	//   "id": "container.projects.zones.clusters.logging",
13165	//   "parameterOrder": [
13166	//     "projectId",
13167	//     "zone",
13168	//     "clusterId"
13169	//   ],
13170	//   "parameters": {
13171	//     "clusterId": {
13172	//       "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
13173	//       "location": "path",
13174	//       "required": true,
13175	//       "type": "string"
13176	//     },
13177	//     "projectId": {
13178	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
13179	//       "location": "path",
13180	//       "required": true,
13181	//       "type": "string"
13182	//     },
13183	//     "zone": {
13184	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
13185	//       "location": "path",
13186	//       "required": true,
13187	//       "type": "string"
13188	//     }
13189	//   },
13190	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/logging",
13191	//   "request": {
13192	//     "$ref": "SetLoggingServiceRequest"
13193	//   },
13194	//   "response": {
13195	//     "$ref": "Operation"
13196	//   },
13197	//   "scopes": [
13198	//     "https://www.googleapis.com/auth/cloud-platform"
13199	//   ]
13200	// }
13201
13202}
13203
13204// method id "container.projects.zones.clusters.master":
13205
13206type ProjectsZonesClustersMasterCall struct {
13207	s                   *Service
13208	projectId           string
13209	zone                string
13210	clusterId           string
13211	updatemasterrequest *UpdateMasterRequest
13212	urlParams_          gensupport.URLParams
13213	ctx_                context.Context
13214	header_             http.Header
13215}
13216
13217// Master: Updates the master for a specific cluster.
13218//
13219// - clusterId: Deprecated. The name of the cluster to upgrade. This
13220//   field has been deprecated and replaced by the name field.
13221// - projectId: Deprecated. The Google Developers Console project ID or
13222//   project number (https://support.google.com/cloud/answer/6158840).
13223//   This field has been deprecated and replaced by the name field.
13224// - zone: Deprecated. The name of the Google Compute Engine zone
13225//   (https://cloud.google.com/compute/docs/zones#available) in which
13226//   the cluster resides. This field has been deprecated and replaced by
13227//   the name field.
13228func (r *ProjectsZonesClustersService) Master(projectId string, zone string, clusterId string, updatemasterrequest *UpdateMasterRequest) *ProjectsZonesClustersMasterCall {
13229	c := &ProjectsZonesClustersMasterCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13230	c.projectId = projectId
13231	c.zone = zone
13232	c.clusterId = clusterId
13233	c.updatemasterrequest = updatemasterrequest
13234	return c
13235}
13236
13237// Fields allows partial responses to be retrieved. See
13238// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13239// for more information.
13240func (c *ProjectsZonesClustersMasterCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersMasterCall {
13241	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13242	return c
13243}
13244
13245// Context sets the context to be used in this call's Do method. Any
13246// pending HTTP request will be aborted if the provided context is
13247// canceled.
13248func (c *ProjectsZonesClustersMasterCall) Context(ctx context.Context) *ProjectsZonesClustersMasterCall {
13249	c.ctx_ = ctx
13250	return c
13251}
13252
13253// Header returns an http.Header that can be modified by the caller to
13254// add HTTP headers to the request.
13255func (c *ProjectsZonesClustersMasterCall) Header() http.Header {
13256	if c.header_ == nil {
13257		c.header_ = make(http.Header)
13258	}
13259	return c.header_
13260}
13261
13262func (c *ProjectsZonesClustersMasterCall) doRequest(alt string) (*http.Response, error) {
13263	reqHeaders := make(http.Header)
13264	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
13265	for k, v := range c.header_ {
13266		reqHeaders[k] = v
13267	}
13268	reqHeaders.Set("User-Agent", c.s.userAgent())
13269	var body io.Reader = nil
13270	body, err := googleapi.WithoutDataWrapper.JSONReader(c.updatemasterrequest)
13271	if err != nil {
13272		return nil, err
13273	}
13274	reqHeaders.Set("Content-Type", "application/json")
13275	c.urlParams_.Set("alt", alt)
13276	c.urlParams_.Set("prettyPrint", "false")
13277	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/master")
13278	urls += "?" + c.urlParams_.Encode()
13279	req, err := http.NewRequest("POST", urls, body)
13280	if err != nil {
13281		return nil, err
13282	}
13283	req.Header = reqHeaders
13284	googleapi.Expand(req.URL, map[string]string{
13285		"projectId": c.projectId,
13286		"zone":      c.zone,
13287		"clusterId": c.clusterId,
13288	})
13289	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13290}
13291
13292// Do executes the "container.projects.zones.clusters.master" call.
13293// Exactly one of *Operation or error will be non-nil. Any non-2xx
13294// status code is an error. Response headers are in either
13295// *Operation.ServerResponse.Header or (if a response was returned at
13296// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
13297// to check whether the returned error was because
13298// http.StatusNotModified was returned.
13299func (c *ProjectsZonesClustersMasterCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
13300	gensupport.SetOptions(c.urlParams_, opts...)
13301	res, err := c.doRequest("json")
13302	if res != nil && res.StatusCode == http.StatusNotModified {
13303		if res.Body != nil {
13304			res.Body.Close()
13305		}
13306		return nil, &googleapi.Error{
13307			Code:   res.StatusCode,
13308			Header: res.Header,
13309		}
13310	}
13311	if err != nil {
13312		return nil, err
13313	}
13314	defer googleapi.CloseBody(res)
13315	if err := googleapi.CheckResponse(res); err != nil {
13316		return nil, err
13317	}
13318	ret := &Operation{
13319		ServerResponse: googleapi.ServerResponse{
13320			Header:         res.Header,
13321			HTTPStatusCode: res.StatusCode,
13322		},
13323	}
13324	target := &ret
13325	if err := gensupport.DecodeResponse(target, res); err != nil {
13326		return nil, err
13327	}
13328	return ret, nil
13329	// {
13330	//   "description": "Updates the master for a specific cluster.",
13331	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/master",
13332	//   "httpMethod": "POST",
13333	//   "id": "container.projects.zones.clusters.master",
13334	//   "parameterOrder": [
13335	//     "projectId",
13336	//     "zone",
13337	//     "clusterId"
13338	//   ],
13339	//   "parameters": {
13340	//     "clusterId": {
13341	//       "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
13342	//       "location": "path",
13343	//       "required": true,
13344	//       "type": "string"
13345	//     },
13346	//     "projectId": {
13347	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
13348	//       "location": "path",
13349	//       "required": true,
13350	//       "type": "string"
13351	//     },
13352	//     "zone": {
13353	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
13354	//       "location": "path",
13355	//       "required": true,
13356	//       "type": "string"
13357	//     }
13358	//   },
13359	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/master",
13360	//   "request": {
13361	//     "$ref": "UpdateMasterRequest"
13362	//   },
13363	//   "response": {
13364	//     "$ref": "Operation"
13365	//   },
13366	//   "scopes": [
13367	//     "https://www.googleapis.com/auth/cloud-platform"
13368	//   ]
13369	// }
13370
13371}
13372
13373// method id "container.projects.zones.clusters.monitoring":
13374
13375type ProjectsZonesClustersMonitoringCall struct {
13376	s                           *Service
13377	projectId                   string
13378	zone                        string
13379	clusterId                   string
13380	setmonitoringservicerequest *SetMonitoringServiceRequest
13381	urlParams_                  gensupport.URLParams
13382	ctx_                        context.Context
13383	header_                     http.Header
13384}
13385
13386// Monitoring: Sets the monitoring service for a specific cluster.
13387//
13388// - clusterId: Deprecated. The name of the cluster to upgrade. This
13389//   field has been deprecated and replaced by the name field.
13390// - projectId: Deprecated. The Google Developers Console project ID or
13391//   project number (https://support.google.com/cloud/answer/6158840).
13392//   This field has been deprecated and replaced by the name field.
13393// - zone: Deprecated. The name of the Google Compute Engine zone
13394//   (https://cloud.google.com/compute/docs/zones#available) in which
13395//   the cluster resides. This field has been deprecated and replaced by
13396//   the name field.
13397func (r *ProjectsZonesClustersService) Monitoring(projectId string, zone string, clusterId string, setmonitoringservicerequest *SetMonitoringServiceRequest) *ProjectsZonesClustersMonitoringCall {
13398	c := &ProjectsZonesClustersMonitoringCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13399	c.projectId = projectId
13400	c.zone = zone
13401	c.clusterId = clusterId
13402	c.setmonitoringservicerequest = setmonitoringservicerequest
13403	return c
13404}
13405
13406// Fields allows partial responses to be retrieved. See
13407// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13408// for more information.
13409func (c *ProjectsZonesClustersMonitoringCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersMonitoringCall {
13410	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13411	return c
13412}
13413
13414// Context sets the context to be used in this call's Do method. Any
13415// pending HTTP request will be aborted if the provided context is
13416// canceled.
13417func (c *ProjectsZonesClustersMonitoringCall) Context(ctx context.Context) *ProjectsZonesClustersMonitoringCall {
13418	c.ctx_ = ctx
13419	return c
13420}
13421
13422// Header returns an http.Header that can be modified by the caller to
13423// add HTTP headers to the request.
13424func (c *ProjectsZonesClustersMonitoringCall) Header() http.Header {
13425	if c.header_ == nil {
13426		c.header_ = make(http.Header)
13427	}
13428	return c.header_
13429}
13430
13431func (c *ProjectsZonesClustersMonitoringCall) doRequest(alt string) (*http.Response, error) {
13432	reqHeaders := make(http.Header)
13433	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
13434	for k, v := range c.header_ {
13435		reqHeaders[k] = v
13436	}
13437	reqHeaders.Set("User-Agent", c.s.userAgent())
13438	var body io.Reader = nil
13439	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setmonitoringservicerequest)
13440	if err != nil {
13441		return nil, err
13442	}
13443	reqHeaders.Set("Content-Type", "application/json")
13444	c.urlParams_.Set("alt", alt)
13445	c.urlParams_.Set("prettyPrint", "false")
13446	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/monitoring")
13447	urls += "?" + c.urlParams_.Encode()
13448	req, err := http.NewRequest("POST", urls, body)
13449	if err != nil {
13450		return nil, err
13451	}
13452	req.Header = reqHeaders
13453	googleapi.Expand(req.URL, map[string]string{
13454		"projectId": c.projectId,
13455		"zone":      c.zone,
13456		"clusterId": c.clusterId,
13457	})
13458	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13459}
13460
13461// Do executes the "container.projects.zones.clusters.monitoring" call.
13462// Exactly one of *Operation or error will be non-nil. Any non-2xx
13463// status code is an error. Response headers are in either
13464// *Operation.ServerResponse.Header or (if a response was returned at
13465// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
13466// to check whether the returned error was because
13467// http.StatusNotModified was returned.
13468func (c *ProjectsZonesClustersMonitoringCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
13469	gensupport.SetOptions(c.urlParams_, opts...)
13470	res, err := c.doRequest("json")
13471	if res != nil && res.StatusCode == http.StatusNotModified {
13472		if res.Body != nil {
13473			res.Body.Close()
13474		}
13475		return nil, &googleapi.Error{
13476			Code:   res.StatusCode,
13477			Header: res.Header,
13478		}
13479	}
13480	if err != nil {
13481		return nil, err
13482	}
13483	defer googleapi.CloseBody(res)
13484	if err := googleapi.CheckResponse(res); err != nil {
13485		return nil, err
13486	}
13487	ret := &Operation{
13488		ServerResponse: googleapi.ServerResponse{
13489			Header:         res.Header,
13490			HTTPStatusCode: res.StatusCode,
13491		},
13492	}
13493	target := &ret
13494	if err := gensupport.DecodeResponse(target, res); err != nil {
13495		return nil, err
13496	}
13497	return ret, nil
13498	// {
13499	//   "description": "Sets the monitoring service for a specific cluster.",
13500	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/monitoring",
13501	//   "httpMethod": "POST",
13502	//   "id": "container.projects.zones.clusters.monitoring",
13503	//   "parameterOrder": [
13504	//     "projectId",
13505	//     "zone",
13506	//     "clusterId"
13507	//   ],
13508	//   "parameters": {
13509	//     "clusterId": {
13510	//       "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
13511	//       "location": "path",
13512	//       "required": true,
13513	//       "type": "string"
13514	//     },
13515	//     "projectId": {
13516	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
13517	//       "location": "path",
13518	//       "required": true,
13519	//       "type": "string"
13520	//     },
13521	//     "zone": {
13522	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
13523	//       "location": "path",
13524	//       "required": true,
13525	//       "type": "string"
13526	//     }
13527	//   },
13528	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/monitoring",
13529	//   "request": {
13530	//     "$ref": "SetMonitoringServiceRequest"
13531	//   },
13532	//   "response": {
13533	//     "$ref": "Operation"
13534	//   },
13535	//   "scopes": [
13536	//     "https://www.googleapis.com/auth/cloud-platform"
13537	//   ]
13538	// }
13539
13540}
13541
13542// method id "container.projects.zones.clusters.resourceLabels":
13543
13544type ProjectsZonesClustersResourceLabelsCall struct {
13545	s                *Service
13546	projectId        string
13547	zone             string
13548	clusterId        string
13549	setlabelsrequest *SetLabelsRequest
13550	urlParams_       gensupport.URLParams
13551	ctx_             context.Context
13552	header_          http.Header
13553}
13554
13555// ResourceLabels: Sets labels on a cluster.
13556//
13557// - clusterId: Deprecated. The name of the cluster. This field has been
13558//   deprecated and replaced by the name field.
13559// - projectId: Deprecated. The Google Developers Console project ID or
13560//   project number
13561//   (https://developers.google.com/console/help/new/#projectnumber).
13562//   This field has been deprecated and replaced by the name field.
13563// - zone: Deprecated. The name of the Google Compute Engine zone
13564//   (https://cloud.google.com/compute/docs/zones#available) in which
13565//   the cluster resides. This field has been deprecated and replaced by
13566//   the name field.
13567func (r *ProjectsZonesClustersService) ResourceLabels(projectId string, zone string, clusterId string, setlabelsrequest *SetLabelsRequest) *ProjectsZonesClustersResourceLabelsCall {
13568	c := &ProjectsZonesClustersResourceLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13569	c.projectId = projectId
13570	c.zone = zone
13571	c.clusterId = clusterId
13572	c.setlabelsrequest = setlabelsrequest
13573	return c
13574}
13575
13576// Fields allows partial responses to be retrieved. See
13577// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13578// for more information.
13579func (c *ProjectsZonesClustersResourceLabelsCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersResourceLabelsCall {
13580	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13581	return c
13582}
13583
13584// Context sets the context to be used in this call's Do method. Any
13585// pending HTTP request will be aborted if the provided context is
13586// canceled.
13587func (c *ProjectsZonesClustersResourceLabelsCall) Context(ctx context.Context) *ProjectsZonesClustersResourceLabelsCall {
13588	c.ctx_ = ctx
13589	return c
13590}
13591
13592// Header returns an http.Header that can be modified by the caller to
13593// add HTTP headers to the request.
13594func (c *ProjectsZonesClustersResourceLabelsCall) Header() http.Header {
13595	if c.header_ == nil {
13596		c.header_ = make(http.Header)
13597	}
13598	return c.header_
13599}
13600
13601func (c *ProjectsZonesClustersResourceLabelsCall) doRequest(alt string) (*http.Response, error) {
13602	reqHeaders := make(http.Header)
13603	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
13604	for k, v := range c.header_ {
13605		reqHeaders[k] = v
13606	}
13607	reqHeaders.Set("User-Agent", c.s.userAgent())
13608	var body io.Reader = nil
13609	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setlabelsrequest)
13610	if err != nil {
13611		return nil, err
13612	}
13613	reqHeaders.Set("Content-Type", "application/json")
13614	c.urlParams_.Set("alt", alt)
13615	c.urlParams_.Set("prettyPrint", "false")
13616	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels")
13617	urls += "?" + c.urlParams_.Encode()
13618	req, err := http.NewRequest("POST", urls, body)
13619	if err != nil {
13620		return nil, err
13621	}
13622	req.Header = reqHeaders
13623	googleapi.Expand(req.URL, map[string]string{
13624		"projectId": c.projectId,
13625		"zone":      c.zone,
13626		"clusterId": c.clusterId,
13627	})
13628	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13629}
13630
13631// Do executes the "container.projects.zones.clusters.resourceLabels" call.
13632// Exactly one of *Operation or error will be non-nil. Any non-2xx
13633// status code is an error. Response headers are in either
13634// *Operation.ServerResponse.Header or (if a response was returned at
13635// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
13636// to check whether the returned error was because
13637// http.StatusNotModified was returned.
13638func (c *ProjectsZonesClustersResourceLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
13639	gensupport.SetOptions(c.urlParams_, opts...)
13640	res, err := c.doRequest("json")
13641	if res != nil && res.StatusCode == http.StatusNotModified {
13642		if res.Body != nil {
13643			res.Body.Close()
13644		}
13645		return nil, &googleapi.Error{
13646			Code:   res.StatusCode,
13647			Header: res.Header,
13648		}
13649	}
13650	if err != nil {
13651		return nil, err
13652	}
13653	defer googleapi.CloseBody(res)
13654	if err := googleapi.CheckResponse(res); err != nil {
13655		return nil, err
13656	}
13657	ret := &Operation{
13658		ServerResponse: googleapi.ServerResponse{
13659			Header:         res.Header,
13660			HTTPStatusCode: res.StatusCode,
13661		},
13662	}
13663	target := &ret
13664	if err := gensupport.DecodeResponse(target, res); err != nil {
13665		return nil, err
13666	}
13667	return ret, nil
13668	// {
13669	//   "description": "Sets labels on a cluster.",
13670	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels",
13671	//   "httpMethod": "POST",
13672	//   "id": "container.projects.zones.clusters.resourceLabels",
13673	//   "parameterOrder": [
13674	//     "projectId",
13675	//     "zone",
13676	//     "clusterId"
13677	//   ],
13678	//   "parameters": {
13679	//     "clusterId": {
13680	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
13681	//       "location": "path",
13682	//       "required": true,
13683	//       "type": "string"
13684	//     },
13685	//     "projectId": {
13686	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
13687	//       "location": "path",
13688	//       "required": true,
13689	//       "type": "string"
13690	//     },
13691	//     "zone": {
13692	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
13693	//       "location": "path",
13694	//       "required": true,
13695	//       "type": "string"
13696	//     }
13697	//   },
13698	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels",
13699	//   "request": {
13700	//     "$ref": "SetLabelsRequest"
13701	//   },
13702	//   "response": {
13703	//     "$ref": "Operation"
13704	//   },
13705	//   "scopes": [
13706	//     "https://www.googleapis.com/auth/cloud-platform"
13707	//   ]
13708	// }
13709
13710}
13711
13712// method id "container.projects.zones.clusters.setMaintenancePolicy":
13713
13714type ProjectsZonesClustersSetMaintenancePolicyCall struct {
13715	s                           *Service
13716	projectId                   string
13717	zone                        string
13718	clusterId                   string
13719	setmaintenancepolicyrequest *SetMaintenancePolicyRequest
13720	urlParams_                  gensupport.URLParams
13721	ctx_                        context.Context
13722	header_                     http.Header
13723}
13724
13725// SetMaintenancePolicy: Sets the maintenance policy for a cluster.
13726//
13727// - clusterId: The name of the cluster to update.
13728// - projectId: The Google Developers Console project ID or project
13729//   number (https://support.google.com/cloud/answer/6158840).
13730// - zone: The name of the Google Compute Engine zone
13731//   (https://cloud.google.com/compute/docs/zones#available) in which
13732//   the cluster resides.
13733func (r *ProjectsZonesClustersService) SetMaintenancePolicy(projectId string, zone string, clusterId string, setmaintenancepolicyrequest *SetMaintenancePolicyRequest) *ProjectsZonesClustersSetMaintenancePolicyCall {
13734	c := &ProjectsZonesClustersSetMaintenancePolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13735	c.projectId = projectId
13736	c.zone = zone
13737	c.clusterId = clusterId
13738	c.setmaintenancepolicyrequest = setmaintenancepolicyrequest
13739	return c
13740}
13741
13742// Fields allows partial responses to be retrieved. See
13743// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13744// for more information.
13745func (c *ProjectsZonesClustersSetMaintenancePolicyCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersSetMaintenancePolicyCall {
13746	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13747	return c
13748}
13749
13750// Context sets the context to be used in this call's Do method. Any
13751// pending HTTP request will be aborted if the provided context is
13752// canceled.
13753func (c *ProjectsZonesClustersSetMaintenancePolicyCall) Context(ctx context.Context) *ProjectsZonesClustersSetMaintenancePolicyCall {
13754	c.ctx_ = ctx
13755	return c
13756}
13757
13758// Header returns an http.Header that can be modified by the caller to
13759// add HTTP headers to the request.
13760func (c *ProjectsZonesClustersSetMaintenancePolicyCall) Header() http.Header {
13761	if c.header_ == nil {
13762		c.header_ = make(http.Header)
13763	}
13764	return c.header_
13765}
13766
13767func (c *ProjectsZonesClustersSetMaintenancePolicyCall) doRequest(alt string) (*http.Response, error) {
13768	reqHeaders := make(http.Header)
13769	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
13770	for k, v := range c.header_ {
13771		reqHeaders[k] = v
13772	}
13773	reqHeaders.Set("User-Agent", c.s.userAgent())
13774	var body io.Reader = nil
13775	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setmaintenancepolicyrequest)
13776	if err != nil {
13777		return nil, err
13778	}
13779	reqHeaders.Set("Content-Type", "application/json")
13780	c.urlParams_.Set("alt", alt)
13781	c.urlParams_.Set("prettyPrint", "false")
13782	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMaintenancePolicy")
13783	urls += "?" + c.urlParams_.Encode()
13784	req, err := http.NewRequest("POST", urls, body)
13785	if err != nil {
13786		return nil, err
13787	}
13788	req.Header = reqHeaders
13789	googleapi.Expand(req.URL, map[string]string{
13790		"projectId": c.projectId,
13791		"zone":      c.zone,
13792		"clusterId": c.clusterId,
13793	})
13794	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13795}
13796
13797// Do executes the "container.projects.zones.clusters.setMaintenancePolicy" call.
13798// Exactly one of *Operation or error will be non-nil. Any non-2xx
13799// status code is an error. Response headers are in either
13800// *Operation.ServerResponse.Header or (if a response was returned at
13801// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
13802// to check whether the returned error was because
13803// http.StatusNotModified was returned.
13804func (c *ProjectsZonesClustersSetMaintenancePolicyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
13805	gensupport.SetOptions(c.urlParams_, opts...)
13806	res, err := c.doRequest("json")
13807	if res != nil && res.StatusCode == http.StatusNotModified {
13808		if res.Body != nil {
13809			res.Body.Close()
13810		}
13811		return nil, &googleapi.Error{
13812			Code:   res.StatusCode,
13813			Header: res.Header,
13814		}
13815	}
13816	if err != nil {
13817		return nil, err
13818	}
13819	defer googleapi.CloseBody(res)
13820	if err := googleapi.CheckResponse(res); err != nil {
13821		return nil, err
13822	}
13823	ret := &Operation{
13824		ServerResponse: googleapi.ServerResponse{
13825			Header:         res.Header,
13826			HTTPStatusCode: res.StatusCode,
13827		},
13828	}
13829	target := &ret
13830	if err := gensupport.DecodeResponse(target, res); err != nil {
13831		return nil, err
13832	}
13833	return ret, nil
13834	// {
13835	//   "description": "Sets the maintenance policy for a cluster.",
13836	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMaintenancePolicy",
13837	//   "httpMethod": "POST",
13838	//   "id": "container.projects.zones.clusters.setMaintenancePolicy",
13839	//   "parameterOrder": [
13840	//     "projectId",
13841	//     "zone",
13842	//     "clusterId"
13843	//   ],
13844	//   "parameters": {
13845	//     "clusterId": {
13846	//       "description": "Required. The name of the cluster to update.",
13847	//       "location": "path",
13848	//       "required": true,
13849	//       "type": "string"
13850	//     },
13851	//     "projectId": {
13852	//       "description": "Required. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840).",
13853	//       "location": "path",
13854	//       "required": true,
13855	//       "type": "string"
13856	//     },
13857	//     "zone": {
13858	//       "description": "Required. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides.",
13859	//       "location": "path",
13860	//       "required": true,
13861	//       "type": "string"
13862	//     }
13863	//   },
13864	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMaintenancePolicy",
13865	//   "request": {
13866	//     "$ref": "SetMaintenancePolicyRequest"
13867	//   },
13868	//   "response": {
13869	//     "$ref": "Operation"
13870	//   },
13871	//   "scopes": [
13872	//     "https://www.googleapis.com/auth/cloud-platform"
13873	//   ]
13874	// }
13875
13876}
13877
13878// method id "container.projects.zones.clusters.setMasterAuth":
13879
13880type ProjectsZonesClustersSetMasterAuthCall struct {
13881	s                    *Service
13882	projectId            string
13883	zone                 string
13884	clusterId            string
13885	setmasterauthrequest *SetMasterAuthRequest
13886	urlParams_           gensupport.URLParams
13887	ctx_                 context.Context
13888	header_              http.Header
13889}
13890
13891// SetMasterAuth: Sets master auth materials. Currently supports
13892// changing the admin password or a specific cluster, either via
13893// password generation or explicitly setting the password.
13894//
13895// - clusterId: Deprecated. The name of the cluster to upgrade. This
13896//   field has been deprecated and replaced by the name field.
13897// - projectId: Deprecated. The Google Developers Console project ID or
13898//   project number (https://support.google.com/cloud/answer/6158840).
13899//   This field has been deprecated and replaced by the name field.
13900// - zone: Deprecated. The name of the Google Compute Engine zone
13901//   (https://cloud.google.com/compute/docs/zones#available) in which
13902//   the cluster resides. This field has been deprecated and replaced by
13903//   the name field.
13904func (r *ProjectsZonesClustersService) SetMasterAuth(projectId string, zone string, clusterId string, setmasterauthrequest *SetMasterAuthRequest) *ProjectsZonesClustersSetMasterAuthCall {
13905	c := &ProjectsZonesClustersSetMasterAuthCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13906	c.projectId = projectId
13907	c.zone = zone
13908	c.clusterId = clusterId
13909	c.setmasterauthrequest = setmasterauthrequest
13910	return c
13911}
13912
13913// Fields allows partial responses to be retrieved. See
13914// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13915// for more information.
13916func (c *ProjectsZonesClustersSetMasterAuthCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersSetMasterAuthCall {
13917	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13918	return c
13919}
13920
13921// Context sets the context to be used in this call's Do method. Any
13922// pending HTTP request will be aborted if the provided context is
13923// canceled.
13924func (c *ProjectsZonesClustersSetMasterAuthCall) Context(ctx context.Context) *ProjectsZonesClustersSetMasterAuthCall {
13925	c.ctx_ = ctx
13926	return c
13927}
13928
13929// Header returns an http.Header that can be modified by the caller to
13930// add HTTP headers to the request.
13931func (c *ProjectsZonesClustersSetMasterAuthCall) Header() http.Header {
13932	if c.header_ == nil {
13933		c.header_ = make(http.Header)
13934	}
13935	return c.header_
13936}
13937
13938func (c *ProjectsZonesClustersSetMasterAuthCall) doRequest(alt string) (*http.Response, error) {
13939	reqHeaders := make(http.Header)
13940	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
13941	for k, v := range c.header_ {
13942		reqHeaders[k] = v
13943	}
13944	reqHeaders.Set("User-Agent", c.s.userAgent())
13945	var body io.Reader = nil
13946	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setmasterauthrequest)
13947	if err != nil {
13948		return nil, err
13949	}
13950	reqHeaders.Set("Content-Type", "application/json")
13951	c.urlParams_.Set("alt", alt)
13952	c.urlParams_.Set("prettyPrint", "false")
13953	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth")
13954	urls += "?" + c.urlParams_.Encode()
13955	req, err := http.NewRequest("POST", urls, body)
13956	if err != nil {
13957		return nil, err
13958	}
13959	req.Header = reqHeaders
13960	googleapi.Expand(req.URL, map[string]string{
13961		"projectId": c.projectId,
13962		"zone":      c.zone,
13963		"clusterId": c.clusterId,
13964	})
13965	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13966}
13967
13968// Do executes the "container.projects.zones.clusters.setMasterAuth" call.
13969// Exactly one of *Operation or error will be non-nil. Any non-2xx
13970// status code is an error. Response headers are in either
13971// *Operation.ServerResponse.Header or (if a response was returned at
13972// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
13973// to check whether the returned error was because
13974// http.StatusNotModified was returned.
13975func (c *ProjectsZonesClustersSetMasterAuthCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
13976	gensupport.SetOptions(c.urlParams_, opts...)
13977	res, err := c.doRequest("json")
13978	if res != nil && res.StatusCode == http.StatusNotModified {
13979		if res.Body != nil {
13980			res.Body.Close()
13981		}
13982		return nil, &googleapi.Error{
13983			Code:   res.StatusCode,
13984			Header: res.Header,
13985		}
13986	}
13987	if err != nil {
13988		return nil, err
13989	}
13990	defer googleapi.CloseBody(res)
13991	if err := googleapi.CheckResponse(res); err != nil {
13992		return nil, err
13993	}
13994	ret := &Operation{
13995		ServerResponse: googleapi.ServerResponse{
13996			Header:         res.Header,
13997			HTTPStatusCode: res.StatusCode,
13998		},
13999	}
14000	target := &ret
14001	if err := gensupport.DecodeResponse(target, res); err != nil {
14002		return nil, err
14003	}
14004	return ret, nil
14005	// {
14006	//   "description": "Sets master auth materials. Currently supports changing the admin password or a specific cluster, either via password generation or explicitly setting the password.",
14007	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth",
14008	//   "httpMethod": "POST",
14009	//   "id": "container.projects.zones.clusters.setMasterAuth",
14010	//   "parameterOrder": [
14011	//     "projectId",
14012	//     "zone",
14013	//     "clusterId"
14014	//   ],
14015	//   "parameters": {
14016	//     "clusterId": {
14017	//       "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
14018	//       "location": "path",
14019	//       "required": true,
14020	//       "type": "string"
14021	//     },
14022	//     "projectId": {
14023	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
14024	//       "location": "path",
14025	//       "required": true,
14026	//       "type": "string"
14027	//     },
14028	//     "zone": {
14029	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
14030	//       "location": "path",
14031	//       "required": true,
14032	//       "type": "string"
14033	//     }
14034	//   },
14035	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth",
14036	//   "request": {
14037	//     "$ref": "SetMasterAuthRequest"
14038	//   },
14039	//   "response": {
14040	//     "$ref": "Operation"
14041	//   },
14042	//   "scopes": [
14043	//     "https://www.googleapis.com/auth/cloud-platform"
14044	//   ]
14045	// }
14046
14047}
14048
14049// method id "container.projects.zones.clusters.setNetworkPolicy":
14050
14051type ProjectsZonesClustersSetNetworkPolicyCall struct {
14052	s                       *Service
14053	projectId               string
14054	zone                    string
14055	clusterId               string
14056	setnetworkpolicyrequest *SetNetworkPolicyRequest
14057	urlParams_              gensupport.URLParams
14058	ctx_                    context.Context
14059	header_                 http.Header
14060}
14061
14062// SetNetworkPolicy: Enables or disables Network Policy for a cluster.
14063//
14064// - clusterId: Deprecated. The name of the cluster. This field has been
14065//   deprecated and replaced by the name field.
14066// - projectId: Deprecated. The Google Developers Console project ID or
14067//   project number
14068//   (https://developers.google.com/console/help/new/#projectnumber).
14069//   This field has been deprecated and replaced by the name field.
14070// - zone: Deprecated. The name of the Google Compute Engine zone
14071//   (https://cloud.google.com/compute/docs/zones#available) in which
14072//   the cluster resides. This field has been deprecated and replaced by
14073//   the name field.
14074func (r *ProjectsZonesClustersService) SetNetworkPolicy(projectId string, zone string, clusterId string, setnetworkpolicyrequest *SetNetworkPolicyRequest) *ProjectsZonesClustersSetNetworkPolicyCall {
14075	c := &ProjectsZonesClustersSetNetworkPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14076	c.projectId = projectId
14077	c.zone = zone
14078	c.clusterId = clusterId
14079	c.setnetworkpolicyrequest = setnetworkpolicyrequest
14080	return c
14081}
14082
14083// Fields allows partial responses to be retrieved. See
14084// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14085// for more information.
14086func (c *ProjectsZonesClustersSetNetworkPolicyCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersSetNetworkPolicyCall {
14087	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14088	return c
14089}
14090
14091// Context sets the context to be used in this call's Do method. Any
14092// pending HTTP request will be aborted if the provided context is
14093// canceled.
14094func (c *ProjectsZonesClustersSetNetworkPolicyCall) Context(ctx context.Context) *ProjectsZonesClustersSetNetworkPolicyCall {
14095	c.ctx_ = ctx
14096	return c
14097}
14098
14099// Header returns an http.Header that can be modified by the caller to
14100// add HTTP headers to the request.
14101func (c *ProjectsZonesClustersSetNetworkPolicyCall) Header() http.Header {
14102	if c.header_ == nil {
14103		c.header_ = make(http.Header)
14104	}
14105	return c.header_
14106}
14107
14108func (c *ProjectsZonesClustersSetNetworkPolicyCall) doRequest(alt string) (*http.Response, error) {
14109	reqHeaders := make(http.Header)
14110	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14111	for k, v := range c.header_ {
14112		reqHeaders[k] = v
14113	}
14114	reqHeaders.Set("User-Agent", c.s.userAgent())
14115	var body io.Reader = nil
14116	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setnetworkpolicyrequest)
14117	if err != nil {
14118		return nil, err
14119	}
14120	reqHeaders.Set("Content-Type", "application/json")
14121	c.urlParams_.Set("alt", alt)
14122	c.urlParams_.Set("prettyPrint", "false")
14123	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy")
14124	urls += "?" + c.urlParams_.Encode()
14125	req, err := http.NewRequest("POST", urls, body)
14126	if err != nil {
14127		return nil, err
14128	}
14129	req.Header = reqHeaders
14130	googleapi.Expand(req.URL, map[string]string{
14131		"projectId": c.projectId,
14132		"zone":      c.zone,
14133		"clusterId": c.clusterId,
14134	})
14135	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14136}
14137
14138// Do executes the "container.projects.zones.clusters.setNetworkPolicy" call.
14139// Exactly one of *Operation or error will be non-nil. Any non-2xx
14140// status code is an error. Response headers are in either
14141// *Operation.ServerResponse.Header or (if a response was returned at
14142// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
14143// to check whether the returned error was because
14144// http.StatusNotModified was returned.
14145func (c *ProjectsZonesClustersSetNetworkPolicyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
14146	gensupport.SetOptions(c.urlParams_, opts...)
14147	res, err := c.doRequest("json")
14148	if res != nil && res.StatusCode == http.StatusNotModified {
14149		if res.Body != nil {
14150			res.Body.Close()
14151		}
14152		return nil, &googleapi.Error{
14153			Code:   res.StatusCode,
14154			Header: res.Header,
14155		}
14156	}
14157	if err != nil {
14158		return nil, err
14159	}
14160	defer googleapi.CloseBody(res)
14161	if err := googleapi.CheckResponse(res); err != nil {
14162		return nil, err
14163	}
14164	ret := &Operation{
14165		ServerResponse: googleapi.ServerResponse{
14166			Header:         res.Header,
14167			HTTPStatusCode: res.StatusCode,
14168		},
14169	}
14170	target := &ret
14171	if err := gensupport.DecodeResponse(target, res); err != nil {
14172		return nil, err
14173	}
14174	return ret, nil
14175	// {
14176	//   "description": "Enables or disables Network Policy for a cluster.",
14177	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy",
14178	//   "httpMethod": "POST",
14179	//   "id": "container.projects.zones.clusters.setNetworkPolicy",
14180	//   "parameterOrder": [
14181	//     "projectId",
14182	//     "zone",
14183	//     "clusterId"
14184	//   ],
14185	//   "parameters": {
14186	//     "clusterId": {
14187	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
14188	//       "location": "path",
14189	//       "required": true,
14190	//       "type": "string"
14191	//     },
14192	//     "projectId": {
14193	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
14194	//       "location": "path",
14195	//       "required": true,
14196	//       "type": "string"
14197	//     },
14198	//     "zone": {
14199	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
14200	//       "location": "path",
14201	//       "required": true,
14202	//       "type": "string"
14203	//     }
14204	//   },
14205	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy",
14206	//   "request": {
14207	//     "$ref": "SetNetworkPolicyRequest"
14208	//   },
14209	//   "response": {
14210	//     "$ref": "Operation"
14211	//   },
14212	//   "scopes": [
14213	//     "https://www.googleapis.com/auth/cloud-platform"
14214	//   ]
14215	// }
14216
14217}
14218
14219// method id "container.projects.zones.clusters.startIpRotation":
14220
14221type ProjectsZonesClustersStartIpRotationCall struct {
14222	s                      *Service
14223	projectId              string
14224	zone                   string
14225	clusterId              string
14226	startiprotationrequest *StartIPRotationRequest
14227	urlParams_             gensupport.URLParams
14228	ctx_                   context.Context
14229	header_                http.Header
14230}
14231
14232// StartIpRotation: Starts master IP rotation.
14233//
14234// - clusterId: Deprecated. The name of the cluster. This field has been
14235//   deprecated and replaced by the name field.
14236// - projectId: Deprecated. The Google Developers Console project ID or
14237//   project number
14238//   (https://developers.google.com/console/help/new/#projectnumber).
14239//   This field has been deprecated and replaced by the name field.
14240// - zone: Deprecated. The name of the Google Compute Engine zone
14241//   (https://cloud.google.com/compute/docs/zones#available) in which
14242//   the cluster resides. This field has been deprecated and replaced by
14243//   the name field.
14244func (r *ProjectsZonesClustersService) StartIpRotation(projectId string, zone string, clusterId string, startiprotationrequest *StartIPRotationRequest) *ProjectsZonesClustersStartIpRotationCall {
14245	c := &ProjectsZonesClustersStartIpRotationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14246	c.projectId = projectId
14247	c.zone = zone
14248	c.clusterId = clusterId
14249	c.startiprotationrequest = startiprotationrequest
14250	return c
14251}
14252
14253// Fields allows partial responses to be retrieved. See
14254// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14255// for more information.
14256func (c *ProjectsZonesClustersStartIpRotationCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersStartIpRotationCall {
14257	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14258	return c
14259}
14260
14261// Context sets the context to be used in this call's Do method. Any
14262// pending HTTP request will be aborted if the provided context is
14263// canceled.
14264func (c *ProjectsZonesClustersStartIpRotationCall) Context(ctx context.Context) *ProjectsZonesClustersStartIpRotationCall {
14265	c.ctx_ = ctx
14266	return c
14267}
14268
14269// Header returns an http.Header that can be modified by the caller to
14270// add HTTP headers to the request.
14271func (c *ProjectsZonesClustersStartIpRotationCall) Header() http.Header {
14272	if c.header_ == nil {
14273		c.header_ = make(http.Header)
14274	}
14275	return c.header_
14276}
14277
14278func (c *ProjectsZonesClustersStartIpRotationCall) doRequest(alt string) (*http.Response, error) {
14279	reqHeaders := make(http.Header)
14280	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14281	for k, v := range c.header_ {
14282		reqHeaders[k] = v
14283	}
14284	reqHeaders.Set("User-Agent", c.s.userAgent())
14285	var body io.Reader = nil
14286	body, err := googleapi.WithoutDataWrapper.JSONReader(c.startiprotationrequest)
14287	if err != nil {
14288		return nil, err
14289	}
14290	reqHeaders.Set("Content-Type", "application/json")
14291	c.urlParams_.Set("alt", alt)
14292	c.urlParams_.Set("prettyPrint", "false")
14293	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation")
14294	urls += "?" + c.urlParams_.Encode()
14295	req, err := http.NewRequest("POST", urls, body)
14296	if err != nil {
14297		return nil, err
14298	}
14299	req.Header = reqHeaders
14300	googleapi.Expand(req.URL, map[string]string{
14301		"projectId": c.projectId,
14302		"zone":      c.zone,
14303		"clusterId": c.clusterId,
14304	})
14305	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14306}
14307
14308// Do executes the "container.projects.zones.clusters.startIpRotation" call.
14309// Exactly one of *Operation or error will be non-nil. Any non-2xx
14310// status code is an error. Response headers are in either
14311// *Operation.ServerResponse.Header or (if a response was returned at
14312// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
14313// to check whether the returned error was because
14314// http.StatusNotModified was returned.
14315func (c *ProjectsZonesClustersStartIpRotationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
14316	gensupport.SetOptions(c.urlParams_, opts...)
14317	res, err := c.doRequest("json")
14318	if res != nil && res.StatusCode == http.StatusNotModified {
14319		if res.Body != nil {
14320			res.Body.Close()
14321		}
14322		return nil, &googleapi.Error{
14323			Code:   res.StatusCode,
14324			Header: res.Header,
14325		}
14326	}
14327	if err != nil {
14328		return nil, err
14329	}
14330	defer googleapi.CloseBody(res)
14331	if err := googleapi.CheckResponse(res); err != nil {
14332		return nil, err
14333	}
14334	ret := &Operation{
14335		ServerResponse: googleapi.ServerResponse{
14336			Header:         res.Header,
14337			HTTPStatusCode: res.StatusCode,
14338		},
14339	}
14340	target := &ret
14341	if err := gensupport.DecodeResponse(target, res); err != nil {
14342		return nil, err
14343	}
14344	return ret, nil
14345	// {
14346	//   "description": "Starts master IP rotation.",
14347	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation",
14348	//   "httpMethod": "POST",
14349	//   "id": "container.projects.zones.clusters.startIpRotation",
14350	//   "parameterOrder": [
14351	//     "projectId",
14352	//     "zone",
14353	//     "clusterId"
14354	//   ],
14355	//   "parameters": {
14356	//     "clusterId": {
14357	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
14358	//       "location": "path",
14359	//       "required": true,
14360	//       "type": "string"
14361	//     },
14362	//     "projectId": {
14363	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
14364	//       "location": "path",
14365	//       "required": true,
14366	//       "type": "string"
14367	//     },
14368	//     "zone": {
14369	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
14370	//       "location": "path",
14371	//       "required": true,
14372	//       "type": "string"
14373	//     }
14374	//   },
14375	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation",
14376	//   "request": {
14377	//     "$ref": "StartIPRotationRequest"
14378	//   },
14379	//   "response": {
14380	//     "$ref": "Operation"
14381	//   },
14382	//   "scopes": [
14383	//     "https://www.googleapis.com/auth/cloud-platform"
14384	//   ]
14385	// }
14386
14387}
14388
14389// method id "container.projects.zones.clusters.update":
14390
14391type ProjectsZonesClustersUpdateCall struct {
14392	s                    *Service
14393	projectId            string
14394	zone                 string
14395	clusterId            string
14396	updateclusterrequest *UpdateClusterRequest
14397	urlParams_           gensupport.URLParams
14398	ctx_                 context.Context
14399	header_              http.Header
14400}
14401
14402// Update: Updates the settings for a specific cluster.
14403//
14404// - clusterId: Deprecated. The name of the cluster to upgrade. This
14405//   field has been deprecated and replaced by the name field.
14406// - projectId: Deprecated. The Google Developers Console project ID or
14407//   project number (https://support.google.com/cloud/answer/6158840).
14408//   This field has been deprecated and replaced by the name field.
14409// - zone: Deprecated. The name of the Google Compute Engine zone
14410//   (https://cloud.google.com/compute/docs/zones#available) in which
14411//   the cluster resides. This field has been deprecated and replaced by
14412//   the name field.
14413func (r *ProjectsZonesClustersService) Update(projectId string, zone string, clusterId string, updateclusterrequest *UpdateClusterRequest) *ProjectsZonesClustersUpdateCall {
14414	c := &ProjectsZonesClustersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14415	c.projectId = projectId
14416	c.zone = zone
14417	c.clusterId = clusterId
14418	c.updateclusterrequest = updateclusterrequest
14419	return c
14420}
14421
14422// Fields allows partial responses to be retrieved. See
14423// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14424// for more information.
14425func (c *ProjectsZonesClustersUpdateCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersUpdateCall {
14426	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14427	return c
14428}
14429
14430// Context sets the context to be used in this call's Do method. Any
14431// pending HTTP request will be aborted if the provided context is
14432// canceled.
14433func (c *ProjectsZonesClustersUpdateCall) Context(ctx context.Context) *ProjectsZonesClustersUpdateCall {
14434	c.ctx_ = ctx
14435	return c
14436}
14437
14438// Header returns an http.Header that can be modified by the caller to
14439// add HTTP headers to the request.
14440func (c *ProjectsZonesClustersUpdateCall) Header() http.Header {
14441	if c.header_ == nil {
14442		c.header_ = make(http.Header)
14443	}
14444	return c.header_
14445}
14446
14447func (c *ProjectsZonesClustersUpdateCall) doRequest(alt string) (*http.Response, error) {
14448	reqHeaders := make(http.Header)
14449	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14450	for k, v := range c.header_ {
14451		reqHeaders[k] = v
14452	}
14453	reqHeaders.Set("User-Agent", c.s.userAgent())
14454	var body io.Reader = nil
14455	body, err := googleapi.WithoutDataWrapper.JSONReader(c.updateclusterrequest)
14456	if err != nil {
14457		return nil, err
14458	}
14459	reqHeaders.Set("Content-Type", "application/json")
14460	c.urlParams_.Set("alt", alt)
14461	c.urlParams_.Set("prettyPrint", "false")
14462	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}")
14463	urls += "?" + c.urlParams_.Encode()
14464	req, err := http.NewRequest("PUT", urls, body)
14465	if err != nil {
14466		return nil, err
14467	}
14468	req.Header = reqHeaders
14469	googleapi.Expand(req.URL, map[string]string{
14470		"projectId": c.projectId,
14471		"zone":      c.zone,
14472		"clusterId": c.clusterId,
14473	})
14474	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14475}
14476
14477// Do executes the "container.projects.zones.clusters.update" call.
14478// Exactly one of *Operation or error will be non-nil. Any non-2xx
14479// status code is an error. Response headers are in either
14480// *Operation.ServerResponse.Header or (if a response was returned at
14481// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
14482// to check whether the returned error was because
14483// http.StatusNotModified was returned.
14484func (c *ProjectsZonesClustersUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
14485	gensupport.SetOptions(c.urlParams_, opts...)
14486	res, err := c.doRequest("json")
14487	if res != nil && res.StatusCode == http.StatusNotModified {
14488		if res.Body != nil {
14489			res.Body.Close()
14490		}
14491		return nil, &googleapi.Error{
14492			Code:   res.StatusCode,
14493			Header: res.Header,
14494		}
14495	}
14496	if err != nil {
14497		return nil, err
14498	}
14499	defer googleapi.CloseBody(res)
14500	if err := googleapi.CheckResponse(res); err != nil {
14501		return nil, err
14502	}
14503	ret := &Operation{
14504		ServerResponse: googleapi.ServerResponse{
14505			Header:         res.Header,
14506			HTTPStatusCode: res.StatusCode,
14507		},
14508	}
14509	target := &ret
14510	if err := gensupport.DecodeResponse(target, res); err != nil {
14511		return nil, err
14512	}
14513	return ret, nil
14514	// {
14515	//   "description": "Updates the settings for a specific cluster.",
14516	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}",
14517	//   "httpMethod": "PUT",
14518	//   "id": "container.projects.zones.clusters.update",
14519	//   "parameterOrder": [
14520	//     "projectId",
14521	//     "zone",
14522	//     "clusterId"
14523	//   ],
14524	//   "parameters": {
14525	//     "clusterId": {
14526	//       "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
14527	//       "location": "path",
14528	//       "required": true,
14529	//       "type": "string"
14530	//     },
14531	//     "projectId": {
14532	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
14533	//       "location": "path",
14534	//       "required": true,
14535	//       "type": "string"
14536	//     },
14537	//     "zone": {
14538	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
14539	//       "location": "path",
14540	//       "required": true,
14541	//       "type": "string"
14542	//     }
14543	//   },
14544	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}",
14545	//   "request": {
14546	//     "$ref": "UpdateClusterRequest"
14547	//   },
14548	//   "response": {
14549	//     "$ref": "Operation"
14550	//   },
14551	//   "scopes": [
14552	//     "https://www.googleapis.com/auth/cloud-platform"
14553	//   ]
14554	// }
14555
14556}
14557
14558// method id "container.projects.zones.clusters.nodePools.autoscaling":
14559
14560type ProjectsZonesClustersNodePoolsAutoscalingCall struct {
14561	s                             *Service
14562	projectId                     string
14563	zone                          string
14564	clusterId                     string
14565	nodePoolId                    string
14566	setnodepoolautoscalingrequest *SetNodePoolAutoscalingRequest
14567	urlParams_                    gensupport.URLParams
14568	ctx_                          context.Context
14569	header_                       http.Header
14570}
14571
14572// Autoscaling: Sets the autoscaling settings of a specific node pool.
14573//
14574// - clusterId: Deprecated. The name of the cluster to upgrade. This
14575//   field has been deprecated and replaced by the name field.
14576// - nodePoolId: Deprecated. The name of the node pool to upgrade. This
14577//   field has been deprecated and replaced by the name field.
14578// - projectId: Deprecated. The Google Developers Console project ID or
14579//   project number (https://support.google.com/cloud/answer/6158840).
14580//   This field has been deprecated and replaced by the name field.
14581// - zone: Deprecated. The name of the Google Compute Engine zone
14582//   (https://cloud.google.com/compute/docs/zones#available) in which
14583//   the cluster resides. This field has been deprecated and replaced by
14584//   the name field.
14585func (r *ProjectsZonesClustersNodePoolsService) Autoscaling(projectId string, zone string, clusterId string, nodePoolId string, setnodepoolautoscalingrequest *SetNodePoolAutoscalingRequest) *ProjectsZonesClustersNodePoolsAutoscalingCall {
14586	c := &ProjectsZonesClustersNodePoolsAutoscalingCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14587	c.projectId = projectId
14588	c.zone = zone
14589	c.clusterId = clusterId
14590	c.nodePoolId = nodePoolId
14591	c.setnodepoolautoscalingrequest = setnodepoolautoscalingrequest
14592	return c
14593}
14594
14595// Fields allows partial responses to be retrieved. See
14596// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14597// for more information.
14598func (c *ProjectsZonesClustersNodePoolsAutoscalingCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersNodePoolsAutoscalingCall {
14599	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14600	return c
14601}
14602
14603// Context sets the context to be used in this call's Do method. Any
14604// pending HTTP request will be aborted if the provided context is
14605// canceled.
14606func (c *ProjectsZonesClustersNodePoolsAutoscalingCall) Context(ctx context.Context) *ProjectsZonesClustersNodePoolsAutoscalingCall {
14607	c.ctx_ = ctx
14608	return c
14609}
14610
14611// Header returns an http.Header that can be modified by the caller to
14612// add HTTP headers to the request.
14613func (c *ProjectsZonesClustersNodePoolsAutoscalingCall) Header() http.Header {
14614	if c.header_ == nil {
14615		c.header_ = make(http.Header)
14616	}
14617	return c.header_
14618}
14619
14620func (c *ProjectsZonesClustersNodePoolsAutoscalingCall) doRequest(alt string) (*http.Response, error) {
14621	reqHeaders := make(http.Header)
14622	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14623	for k, v := range c.header_ {
14624		reqHeaders[k] = v
14625	}
14626	reqHeaders.Set("User-Agent", c.s.userAgent())
14627	var body io.Reader = nil
14628	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setnodepoolautoscalingrequest)
14629	if err != nil {
14630		return nil, err
14631	}
14632	reqHeaders.Set("Content-Type", "application/json")
14633	c.urlParams_.Set("alt", alt)
14634	c.urlParams_.Set("prettyPrint", "false")
14635	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/autoscaling")
14636	urls += "?" + c.urlParams_.Encode()
14637	req, err := http.NewRequest("POST", urls, body)
14638	if err != nil {
14639		return nil, err
14640	}
14641	req.Header = reqHeaders
14642	googleapi.Expand(req.URL, map[string]string{
14643		"projectId":  c.projectId,
14644		"zone":       c.zone,
14645		"clusterId":  c.clusterId,
14646		"nodePoolId": c.nodePoolId,
14647	})
14648	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14649}
14650
14651// Do executes the "container.projects.zones.clusters.nodePools.autoscaling" call.
14652// Exactly one of *Operation or error will be non-nil. Any non-2xx
14653// status code is an error. Response headers are in either
14654// *Operation.ServerResponse.Header or (if a response was returned at
14655// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
14656// to check whether the returned error was because
14657// http.StatusNotModified was returned.
14658func (c *ProjectsZonesClustersNodePoolsAutoscalingCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
14659	gensupport.SetOptions(c.urlParams_, opts...)
14660	res, err := c.doRequest("json")
14661	if res != nil && res.StatusCode == http.StatusNotModified {
14662		if res.Body != nil {
14663			res.Body.Close()
14664		}
14665		return nil, &googleapi.Error{
14666			Code:   res.StatusCode,
14667			Header: res.Header,
14668		}
14669	}
14670	if err != nil {
14671		return nil, err
14672	}
14673	defer googleapi.CloseBody(res)
14674	if err := googleapi.CheckResponse(res); err != nil {
14675		return nil, err
14676	}
14677	ret := &Operation{
14678		ServerResponse: googleapi.ServerResponse{
14679			Header:         res.Header,
14680			HTTPStatusCode: res.StatusCode,
14681		},
14682	}
14683	target := &ret
14684	if err := gensupport.DecodeResponse(target, res); err != nil {
14685		return nil, err
14686	}
14687	return ret, nil
14688	// {
14689	//   "description": "Sets the autoscaling settings of a specific node pool.",
14690	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/autoscaling",
14691	//   "httpMethod": "POST",
14692	//   "id": "container.projects.zones.clusters.nodePools.autoscaling",
14693	//   "parameterOrder": [
14694	//     "projectId",
14695	//     "zone",
14696	//     "clusterId",
14697	//     "nodePoolId"
14698	//   ],
14699	//   "parameters": {
14700	//     "clusterId": {
14701	//       "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
14702	//       "location": "path",
14703	//       "required": true,
14704	//       "type": "string"
14705	//     },
14706	//     "nodePoolId": {
14707	//       "description": "Required. Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field.",
14708	//       "location": "path",
14709	//       "required": true,
14710	//       "type": "string"
14711	//     },
14712	//     "projectId": {
14713	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
14714	//       "location": "path",
14715	//       "required": true,
14716	//       "type": "string"
14717	//     },
14718	//     "zone": {
14719	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
14720	//       "location": "path",
14721	//       "required": true,
14722	//       "type": "string"
14723	//     }
14724	//   },
14725	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/autoscaling",
14726	//   "request": {
14727	//     "$ref": "SetNodePoolAutoscalingRequest"
14728	//   },
14729	//   "response": {
14730	//     "$ref": "Operation"
14731	//   },
14732	//   "scopes": [
14733	//     "https://www.googleapis.com/auth/cloud-platform"
14734	//   ]
14735	// }
14736
14737}
14738
14739// method id "container.projects.zones.clusters.nodePools.create":
14740
14741type ProjectsZonesClustersNodePoolsCreateCall struct {
14742	s                     *Service
14743	projectId             string
14744	zone                  string
14745	clusterId             string
14746	createnodepoolrequest *CreateNodePoolRequest
14747	urlParams_            gensupport.URLParams
14748	ctx_                  context.Context
14749	header_               http.Header
14750}
14751
14752// Create: Creates a node pool for a cluster.
14753//
14754// - clusterId: Deprecated. The name of the cluster. This field has been
14755//   deprecated and replaced by the parent field.
14756// - projectId: Deprecated. The Google Developers Console project ID or
14757//   project number
14758//   (https://developers.google.com/console/help/new/#projectnumber).
14759//   This field has been deprecated and replaced by the parent field.
14760// - zone: Deprecated. The name of the Google Compute Engine zone
14761//   (https://cloud.google.com/compute/docs/zones#available) in which
14762//   the cluster resides. This field has been deprecated and replaced by
14763//   the parent field.
14764func (r *ProjectsZonesClustersNodePoolsService) Create(projectId string, zone string, clusterId string, createnodepoolrequest *CreateNodePoolRequest) *ProjectsZonesClustersNodePoolsCreateCall {
14765	c := &ProjectsZonesClustersNodePoolsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14766	c.projectId = projectId
14767	c.zone = zone
14768	c.clusterId = clusterId
14769	c.createnodepoolrequest = createnodepoolrequest
14770	return c
14771}
14772
14773// Fields allows partial responses to be retrieved. See
14774// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14775// for more information.
14776func (c *ProjectsZonesClustersNodePoolsCreateCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersNodePoolsCreateCall {
14777	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14778	return c
14779}
14780
14781// Context sets the context to be used in this call's Do method. Any
14782// pending HTTP request will be aborted if the provided context is
14783// canceled.
14784func (c *ProjectsZonesClustersNodePoolsCreateCall) Context(ctx context.Context) *ProjectsZonesClustersNodePoolsCreateCall {
14785	c.ctx_ = ctx
14786	return c
14787}
14788
14789// Header returns an http.Header that can be modified by the caller to
14790// add HTTP headers to the request.
14791func (c *ProjectsZonesClustersNodePoolsCreateCall) Header() http.Header {
14792	if c.header_ == nil {
14793		c.header_ = make(http.Header)
14794	}
14795	return c.header_
14796}
14797
14798func (c *ProjectsZonesClustersNodePoolsCreateCall) doRequest(alt string) (*http.Response, error) {
14799	reqHeaders := make(http.Header)
14800	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14801	for k, v := range c.header_ {
14802		reqHeaders[k] = v
14803	}
14804	reqHeaders.Set("User-Agent", c.s.userAgent())
14805	var body io.Reader = nil
14806	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createnodepoolrequest)
14807	if err != nil {
14808		return nil, err
14809	}
14810	reqHeaders.Set("Content-Type", "application/json")
14811	c.urlParams_.Set("alt", alt)
14812	c.urlParams_.Set("prettyPrint", "false")
14813	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools")
14814	urls += "?" + c.urlParams_.Encode()
14815	req, err := http.NewRequest("POST", urls, body)
14816	if err != nil {
14817		return nil, err
14818	}
14819	req.Header = reqHeaders
14820	googleapi.Expand(req.URL, map[string]string{
14821		"projectId": c.projectId,
14822		"zone":      c.zone,
14823		"clusterId": c.clusterId,
14824	})
14825	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14826}
14827
14828// Do executes the "container.projects.zones.clusters.nodePools.create" call.
14829// Exactly one of *Operation or error will be non-nil. Any non-2xx
14830// status code is an error. Response headers are in either
14831// *Operation.ServerResponse.Header or (if a response was returned at
14832// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
14833// to check whether the returned error was because
14834// http.StatusNotModified was returned.
14835func (c *ProjectsZonesClustersNodePoolsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
14836	gensupport.SetOptions(c.urlParams_, opts...)
14837	res, err := c.doRequest("json")
14838	if res != nil && res.StatusCode == http.StatusNotModified {
14839		if res.Body != nil {
14840			res.Body.Close()
14841		}
14842		return nil, &googleapi.Error{
14843			Code:   res.StatusCode,
14844			Header: res.Header,
14845		}
14846	}
14847	if err != nil {
14848		return nil, err
14849	}
14850	defer googleapi.CloseBody(res)
14851	if err := googleapi.CheckResponse(res); err != nil {
14852		return nil, err
14853	}
14854	ret := &Operation{
14855		ServerResponse: googleapi.ServerResponse{
14856			Header:         res.Header,
14857			HTTPStatusCode: res.StatusCode,
14858		},
14859	}
14860	target := &ret
14861	if err := gensupport.DecodeResponse(target, res); err != nil {
14862		return nil, err
14863	}
14864	return ret, nil
14865	// {
14866	//   "description": "Creates a node pool for a cluster.",
14867	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools",
14868	//   "httpMethod": "POST",
14869	//   "id": "container.projects.zones.clusters.nodePools.create",
14870	//   "parameterOrder": [
14871	//     "projectId",
14872	//     "zone",
14873	//     "clusterId"
14874	//   ],
14875	//   "parameters": {
14876	//     "clusterId": {
14877	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.",
14878	//       "location": "path",
14879	//       "required": true,
14880	//       "type": "string"
14881	//     },
14882	//     "projectId": {
14883	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field.",
14884	//       "location": "path",
14885	//       "required": true,
14886	//       "type": "string"
14887	//     },
14888	//     "zone": {
14889	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
14890	//       "location": "path",
14891	//       "required": true,
14892	//       "type": "string"
14893	//     }
14894	//   },
14895	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools",
14896	//   "request": {
14897	//     "$ref": "CreateNodePoolRequest"
14898	//   },
14899	//   "response": {
14900	//     "$ref": "Operation"
14901	//   },
14902	//   "scopes": [
14903	//     "https://www.googleapis.com/auth/cloud-platform"
14904	//   ]
14905	// }
14906
14907}
14908
14909// method id "container.projects.zones.clusters.nodePools.delete":
14910
14911type ProjectsZonesClustersNodePoolsDeleteCall struct {
14912	s          *Service
14913	projectId  string
14914	zone       string
14915	clusterId  string
14916	nodePoolId string
14917	urlParams_ gensupport.URLParams
14918	ctx_       context.Context
14919	header_    http.Header
14920}
14921
14922// Delete: Deletes a node pool from a cluster.
14923//
14924// - clusterId: Deprecated. The name of the cluster. This field has been
14925//   deprecated and replaced by the name field.
14926// - nodePoolId: Deprecated. The name of the node pool to delete. This
14927//   field has been deprecated and replaced by the name field.
14928// - projectId: Deprecated. The Google Developers Console project ID or
14929//   project number
14930//   (https://developers.google.com/console/help/new/#projectnumber).
14931//   This field has been deprecated and replaced by the name field.
14932// - zone: Deprecated. The name of the Google Compute Engine zone
14933//   (https://cloud.google.com/compute/docs/zones#available) in which
14934//   the cluster resides. This field has been deprecated and replaced by
14935//   the name field.
14936func (r *ProjectsZonesClustersNodePoolsService) Delete(projectId string, zone string, clusterId string, nodePoolId string) *ProjectsZonesClustersNodePoolsDeleteCall {
14937	c := &ProjectsZonesClustersNodePoolsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14938	c.projectId = projectId
14939	c.zone = zone
14940	c.clusterId = clusterId
14941	c.nodePoolId = nodePoolId
14942	return c
14943}
14944
14945// Name sets the optional parameter "name": The name (project, location,
14946// cluster, node pool id) of the node pool to delete. Specified in the
14947// format `projects/*/locations/*/clusters/*/nodePools/*`.
14948func (c *ProjectsZonesClustersNodePoolsDeleteCall) Name(name string) *ProjectsZonesClustersNodePoolsDeleteCall {
14949	c.urlParams_.Set("name", name)
14950	return c
14951}
14952
14953// Fields allows partial responses to be retrieved. See
14954// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14955// for more information.
14956func (c *ProjectsZonesClustersNodePoolsDeleteCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersNodePoolsDeleteCall {
14957	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14958	return c
14959}
14960
14961// Context sets the context to be used in this call's Do method. Any
14962// pending HTTP request will be aborted if the provided context is
14963// canceled.
14964func (c *ProjectsZonesClustersNodePoolsDeleteCall) Context(ctx context.Context) *ProjectsZonesClustersNodePoolsDeleteCall {
14965	c.ctx_ = ctx
14966	return c
14967}
14968
14969// Header returns an http.Header that can be modified by the caller to
14970// add HTTP headers to the request.
14971func (c *ProjectsZonesClustersNodePoolsDeleteCall) Header() http.Header {
14972	if c.header_ == nil {
14973		c.header_ = make(http.Header)
14974	}
14975	return c.header_
14976}
14977
14978func (c *ProjectsZonesClustersNodePoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
14979	reqHeaders := make(http.Header)
14980	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14981	for k, v := range c.header_ {
14982		reqHeaders[k] = v
14983	}
14984	reqHeaders.Set("User-Agent", c.s.userAgent())
14985	var body io.Reader = nil
14986	c.urlParams_.Set("alt", alt)
14987	c.urlParams_.Set("prettyPrint", "false")
14988	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}")
14989	urls += "?" + c.urlParams_.Encode()
14990	req, err := http.NewRequest("DELETE", urls, body)
14991	if err != nil {
14992		return nil, err
14993	}
14994	req.Header = reqHeaders
14995	googleapi.Expand(req.URL, map[string]string{
14996		"projectId":  c.projectId,
14997		"zone":       c.zone,
14998		"clusterId":  c.clusterId,
14999		"nodePoolId": c.nodePoolId,
15000	})
15001	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15002}
15003
15004// Do executes the "container.projects.zones.clusters.nodePools.delete" call.
15005// Exactly one of *Operation or error will be non-nil. Any non-2xx
15006// status code is an error. Response headers are in either
15007// *Operation.ServerResponse.Header or (if a response was returned at
15008// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
15009// to check whether the returned error was because
15010// http.StatusNotModified was returned.
15011func (c *ProjectsZonesClustersNodePoolsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
15012	gensupport.SetOptions(c.urlParams_, opts...)
15013	res, err := c.doRequest("json")
15014	if res != nil && res.StatusCode == http.StatusNotModified {
15015		if res.Body != nil {
15016			res.Body.Close()
15017		}
15018		return nil, &googleapi.Error{
15019			Code:   res.StatusCode,
15020			Header: res.Header,
15021		}
15022	}
15023	if err != nil {
15024		return nil, err
15025	}
15026	defer googleapi.CloseBody(res)
15027	if err := googleapi.CheckResponse(res); err != nil {
15028		return nil, err
15029	}
15030	ret := &Operation{
15031		ServerResponse: googleapi.ServerResponse{
15032			Header:         res.Header,
15033			HTTPStatusCode: res.StatusCode,
15034		},
15035	}
15036	target := &ret
15037	if err := gensupport.DecodeResponse(target, res); err != nil {
15038		return nil, err
15039	}
15040	return ret, nil
15041	// {
15042	//   "description": "Deletes a node pool from a cluster.",
15043	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}",
15044	//   "httpMethod": "DELETE",
15045	//   "id": "container.projects.zones.clusters.nodePools.delete",
15046	//   "parameterOrder": [
15047	//     "projectId",
15048	//     "zone",
15049	//     "clusterId",
15050	//     "nodePoolId"
15051	//   ],
15052	//   "parameters": {
15053	//     "clusterId": {
15054	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
15055	//       "location": "path",
15056	//       "required": true,
15057	//       "type": "string"
15058	//     },
15059	//     "name": {
15060	//       "description": "The name (project, location, cluster, node pool id) of the node pool to delete. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
15061	//       "location": "query",
15062	//       "type": "string"
15063	//     },
15064	//     "nodePoolId": {
15065	//       "description": "Required. Deprecated. The name of the node pool to delete. This field has been deprecated and replaced by the name field.",
15066	//       "location": "path",
15067	//       "required": true,
15068	//       "type": "string"
15069	//     },
15070	//     "projectId": {
15071	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
15072	//       "location": "path",
15073	//       "required": true,
15074	//       "type": "string"
15075	//     },
15076	//     "zone": {
15077	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
15078	//       "location": "path",
15079	//       "required": true,
15080	//       "type": "string"
15081	//     }
15082	//   },
15083	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}",
15084	//   "response": {
15085	//     "$ref": "Operation"
15086	//   },
15087	//   "scopes": [
15088	//     "https://www.googleapis.com/auth/cloud-platform"
15089	//   ]
15090	// }
15091
15092}
15093
15094// method id "container.projects.zones.clusters.nodePools.get":
15095
15096type ProjectsZonesClustersNodePoolsGetCall struct {
15097	s            *Service
15098	projectId    string
15099	zone         string
15100	clusterId    string
15101	nodePoolId   string
15102	urlParams_   gensupport.URLParams
15103	ifNoneMatch_ string
15104	ctx_         context.Context
15105	header_      http.Header
15106}
15107
15108// Get: Retrieves the requested node pool.
15109//
15110// - clusterId: Deprecated. The name of the cluster. This field has been
15111//   deprecated and replaced by the name field.
15112// - nodePoolId: Deprecated. The name of the node pool. This field has
15113//   been deprecated and replaced by the name field.
15114// - projectId: Deprecated. The Google Developers Console project ID or
15115//   project number
15116//   (https://developers.google.com/console/help/new/#projectnumber).
15117//   This field has been deprecated and replaced by the name field.
15118// - zone: Deprecated. The name of the Google Compute Engine zone
15119//   (https://cloud.google.com/compute/docs/zones#available) in which
15120//   the cluster resides. This field has been deprecated and replaced by
15121//   the name field.
15122func (r *ProjectsZonesClustersNodePoolsService) Get(projectId string, zone string, clusterId string, nodePoolId string) *ProjectsZonesClustersNodePoolsGetCall {
15123	c := &ProjectsZonesClustersNodePoolsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15124	c.projectId = projectId
15125	c.zone = zone
15126	c.clusterId = clusterId
15127	c.nodePoolId = nodePoolId
15128	return c
15129}
15130
15131// Name sets the optional parameter "name": The name (project, location,
15132// cluster, node pool id) of the node pool to get. Specified in the
15133// format `projects/*/locations/*/clusters/*/nodePools/*`.
15134func (c *ProjectsZonesClustersNodePoolsGetCall) Name(name string) *ProjectsZonesClustersNodePoolsGetCall {
15135	c.urlParams_.Set("name", name)
15136	return c
15137}
15138
15139// Fields allows partial responses to be retrieved. See
15140// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15141// for more information.
15142func (c *ProjectsZonesClustersNodePoolsGetCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersNodePoolsGetCall {
15143	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15144	return c
15145}
15146
15147// IfNoneMatch sets the optional parameter which makes the operation
15148// fail if the object's ETag matches the given value. This is useful for
15149// getting updates only after the object has changed since the last
15150// request. Use googleapi.IsNotModified to check whether the response
15151// error from Do is the result of In-None-Match.
15152func (c *ProjectsZonesClustersNodePoolsGetCall) IfNoneMatch(entityTag string) *ProjectsZonesClustersNodePoolsGetCall {
15153	c.ifNoneMatch_ = entityTag
15154	return c
15155}
15156
15157// Context sets the context to be used in this call's Do method. Any
15158// pending HTTP request will be aborted if the provided context is
15159// canceled.
15160func (c *ProjectsZonesClustersNodePoolsGetCall) Context(ctx context.Context) *ProjectsZonesClustersNodePoolsGetCall {
15161	c.ctx_ = ctx
15162	return c
15163}
15164
15165// Header returns an http.Header that can be modified by the caller to
15166// add HTTP headers to the request.
15167func (c *ProjectsZonesClustersNodePoolsGetCall) Header() http.Header {
15168	if c.header_ == nil {
15169		c.header_ = make(http.Header)
15170	}
15171	return c.header_
15172}
15173
15174func (c *ProjectsZonesClustersNodePoolsGetCall) doRequest(alt string) (*http.Response, error) {
15175	reqHeaders := make(http.Header)
15176	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15177	for k, v := range c.header_ {
15178		reqHeaders[k] = v
15179	}
15180	reqHeaders.Set("User-Agent", c.s.userAgent())
15181	if c.ifNoneMatch_ != "" {
15182		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15183	}
15184	var body io.Reader = nil
15185	c.urlParams_.Set("alt", alt)
15186	c.urlParams_.Set("prettyPrint", "false")
15187	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}")
15188	urls += "?" + c.urlParams_.Encode()
15189	req, err := http.NewRequest("GET", urls, body)
15190	if err != nil {
15191		return nil, err
15192	}
15193	req.Header = reqHeaders
15194	googleapi.Expand(req.URL, map[string]string{
15195		"projectId":  c.projectId,
15196		"zone":       c.zone,
15197		"clusterId":  c.clusterId,
15198		"nodePoolId": c.nodePoolId,
15199	})
15200	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15201}
15202
15203// Do executes the "container.projects.zones.clusters.nodePools.get" call.
15204// Exactly one of *NodePool or error will be non-nil. Any non-2xx status
15205// code is an error. Response headers are in either
15206// *NodePool.ServerResponse.Header or (if a response was returned at
15207// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
15208// to check whether the returned error was because
15209// http.StatusNotModified was returned.
15210func (c *ProjectsZonesClustersNodePoolsGetCall) Do(opts ...googleapi.CallOption) (*NodePool, error) {
15211	gensupport.SetOptions(c.urlParams_, opts...)
15212	res, err := c.doRequest("json")
15213	if res != nil && res.StatusCode == http.StatusNotModified {
15214		if res.Body != nil {
15215			res.Body.Close()
15216		}
15217		return nil, &googleapi.Error{
15218			Code:   res.StatusCode,
15219			Header: res.Header,
15220		}
15221	}
15222	if err != nil {
15223		return nil, err
15224	}
15225	defer googleapi.CloseBody(res)
15226	if err := googleapi.CheckResponse(res); err != nil {
15227		return nil, err
15228	}
15229	ret := &NodePool{
15230		ServerResponse: googleapi.ServerResponse{
15231			Header:         res.Header,
15232			HTTPStatusCode: res.StatusCode,
15233		},
15234	}
15235	target := &ret
15236	if err := gensupport.DecodeResponse(target, res); err != nil {
15237		return nil, err
15238	}
15239	return ret, nil
15240	// {
15241	//   "description": "Retrieves the requested node pool.",
15242	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}",
15243	//   "httpMethod": "GET",
15244	//   "id": "container.projects.zones.clusters.nodePools.get",
15245	//   "parameterOrder": [
15246	//     "projectId",
15247	//     "zone",
15248	//     "clusterId",
15249	//     "nodePoolId"
15250	//   ],
15251	//   "parameters": {
15252	//     "clusterId": {
15253	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
15254	//       "location": "path",
15255	//       "required": true,
15256	//       "type": "string"
15257	//     },
15258	//     "name": {
15259	//       "description": "The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
15260	//       "location": "query",
15261	//       "type": "string"
15262	//     },
15263	//     "nodePoolId": {
15264	//       "description": "Required. Deprecated. The name of the node pool. This field has been deprecated and replaced by the name field.",
15265	//       "location": "path",
15266	//       "required": true,
15267	//       "type": "string"
15268	//     },
15269	//     "projectId": {
15270	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
15271	//       "location": "path",
15272	//       "required": true,
15273	//       "type": "string"
15274	//     },
15275	//     "zone": {
15276	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
15277	//       "location": "path",
15278	//       "required": true,
15279	//       "type": "string"
15280	//     }
15281	//   },
15282	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}",
15283	//   "response": {
15284	//     "$ref": "NodePool"
15285	//   },
15286	//   "scopes": [
15287	//     "https://www.googleapis.com/auth/cloud-platform"
15288	//   ]
15289	// }
15290
15291}
15292
15293// method id "container.projects.zones.clusters.nodePools.list":
15294
15295type ProjectsZonesClustersNodePoolsListCall struct {
15296	s            *Service
15297	projectId    string
15298	zone         string
15299	clusterId    string
15300	urlParams_   gensupport.URLParams
15301	ifNoneMatch_ string
15302	ctx_         context.Context
15303	header_      http.Header
15304}
15305
15306// List: Lists the node pools for a cluster.
15307//
15308// - clusterId: Deprecated. The name of the cluster. This field has been
15309//   deprecated and replaced by the parent field.
15310// - projectId: Deprecated. The Google Developers Console project ID or
15311//   project number
15312//   (https://developers.google.com/console/help/new/#projectnumber).
15313//   This field has been deprecated and replaced by the parent field.
15314// - zone: Deprecated. The name of the Google Compute Engine zone
15315//   (https://cloud.google.com/compute/docs/zones#available) in which
15316//   the cluster resides. This field has been deprecated and replaced by
15317//   the parent field.
15318func (r *ProjectsZonesClustersNodePoolsService) List(projectId string, zone string, clusterId string) *ProjectsZonesClustersNodePoolsListCall {
15319	c := &ProjectsZonesClustersNodePoolsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15320	c.projectId = projectId
15321	c.zone = zone
15322	c.clusterId = clusterId
15323	return c
15324}
15325
15326// Parent sets the optional parameter "parent": The parent (project,
15327// location, cluster id) where the node pools will be listed. Specified
15328// in the format `projects/*/locations/*/clusters/*`.
15329func (c *ProjectsZonesClustersNodePoolsListCall) Parent(parent string) *ProjectsZonesClustersNodePoolsListCall {
15330	c.urlParams_.Set("parent", parent)
15331	return c
15332}
15333
15334// Fields allows partial responses to be retrieved. See
15335// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15336// for more information.
15337func (c *ProjectsZonesClustersNodePoolsListCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersNodePoolsListCall {
15338	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15339	return c
15340}
15341
15342// IfNoneMatch sets the optional parameter which makes the operation
15343// fail if the object's ETag matches the given value. This is useful for
15344// getting updates only after the object has changed since the last
15345// request. Use googleapi.IsNotModified to check whether the response
15346// error from Do is the result of In-None-Match.
15347func (c *ProjectsZonesClustersNodePoolsListCall) IfNoneMatch(entityTag string) *ProjectsZonesClustersNodePoolsListCall {
15348	c.ifNoneMatch_ = entityTag
15349	return c
15350}
15351
15352// Context sets the context to be used in this call's Do method. Any
15353// pending HTTP request will be aborted if the provided context is
15354// canceled.
15355func (c *ProjectsZonesClustersNodePoolsListCall) Context(ctx context.Context) *ProjectsZonesClustersNodePoolsListCall {
15356	c.ctx_ = ctx
15357	return c
15358}
15359
15360// Header returns an http.Header that can be modified by the caller to
15361// add HTTP headers to the request.
15362func (c *ProjectsZonesClustersNodePoolsListCall) Header() http.Header {
15363	if c.header_ == nil {
15364		c.header_ = make(http.Header)
15365	}
15366	return c.header_
15367}
15368
15369func (c *ProjectsZonesClustersNodePoolsListCall) doRequest(alt string) (*http.Response, error) {
15370	reqHeaders := make(http.Header)
15371	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15372	for k, v := range c.header_ {
15373		reqHeaders[k] = v
15374	}
15375	reqHeaders.Set("User-Agent", c.s.userAgent())
15376	if c.ifNoneMatch_ != "" {
15377		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15378	}
15379	var body io.Reader = nil
15380	c.urlParams_.Set("alt", alt)
15381	c.urlParams_.Set("prettyPrint", "false")
15382	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools")
15383	urls += "?" + c.urlParams_.Encode()
15384	req, err := http.NewRequest("GET", urls, body)
15385	if err != nil {
15386		return nil, err
15387	}
15388	req.Header = reqHeaders
15389	googleapi.Expand(req.URL, map[string]string{
15390		"projectId": c.projectId,
15391		"zone":      c.zone,
15392		"clusterId": c.clusterId,
15393	})
15394	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15395}
15396
15397// Do executes the "container.projects.zones.clusters.nodePools.list" call.
15398// Exactly one of *ListNodePoolsResponse or error will be non-nil. Any
15399// non-2xx status code is an error. Response headers are in either
15400// *ListNodePoolsResponse.ServerResponse.Header or (if a response was
15401// returned at all) in error.(*googleapi.Error).Header. Use
15402// googleapi.IsNotModified to check whether the returned error was
15403// because http.StatusNotModified was returned.
15404func (c *ProjectsZonesClustersNodePoolsListCall) Do(opts ...googleapi.CallOption) (*ListNodePoolsResponse, error) {
15405	gensupport.SetOptions(c.urlParams_, opts...)
15406	res, err := c.doRequest("json")
15407	if res != nil && res.StatusCode == http.StatusNotModified {
15408		if res.Body != nil {
15409			res.Body.Close()
15410		}
15411		return nil, &googleapi.Error{
15412			Code:   res.StatusCode,
15413			Header: res.Header,
15414		}
15415	}
15416	if err != nil {
15417		return nil, err
15418	}
15419	defer googleapi.CloseBody(res)
15420	if err := googleapi.CheckResponse(res); err != nil {
15421		return nil, err
15422	}
15423	ret := &ListNodePoolsResponse{
15424		ServerResponse: googleapi.ServerResponse{
15425			Header:         res.Header,
15426			HTTPStatusCode: res.StatusCode,
15427		},
15428	}
15429	target := &ret
15430	if err := gensupport.DecodeResponse(target, res); err != nil {
15431		return nil, err
15432	}
15433	return ret, nil
15434	// {
15435	//   "description": "Lists the node pools for a cluster.",
15436	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools",
15437	//   "httpMethod": "GET",
15438	//   "id": "container.projects.zones.clusters.nodePools.list",
15439	//   "parameterOrder": [
15440	//     "projectId",
15441	//     "zone",
15442	//     "clusterId"
15443	//   ],
15444	//   "parameters": {
15445	//     "clusterId": {
15446	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.",
15447	//       "location": "path",
15448	//       "required": true,
15449	//       "type": "string"
15450	//     },
15451	//     "parent": {
15452	//       "description": "The parent (project, location, cluster id) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.",
15453	//       "location": "query",
15454	//       "type": "string"
15455	//     },
15456	//     "projectId": {
15457	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field.",
15458	//       "location": "path",
15459	//       "required": true,
15460	//       "type": "string"
15461	//     },
15462	//     "zone": {
15463	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
15464	//       "location": "path",
15465	//       "required": true,
15466	//       "type": "string"
15467	//     }
15468	//   },
15469	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools",
15470	//   "response": {
15471	//     "$ref": "ListNodePoolsResponse"
15472	//   },
15473	//   "scopes": [
15474	//     "https://www.googleapis.com/auth/cloud-platform"
15475	//   ]
15476	// }
15477
15478}
15479
15480// method id "container.projects.zones.clusters.nodePools.rollback":
15481
15482type ProjectsZonesClustersNodePoolsRollbackCall struct {
15483	s                              *Service
15484	projectId                      string
15485	zone                           string
15486	clusterId                      string
15487	nodePoolId                     string
15488	rollbacknodepoolupgraderequest *RollbackNodePoolUpgradeRequest
15489	urlParams_                     gensupport.URLParams
15490	ctx_                           context.Context
15491	header_                        http.Header
15492}
15493
15494// Rollback: Rolls back a previously Aborted or Failed NodePool upgrade.
15495// This makes no changes if the last upgrade successfully completed.
15496//
15497// - clusterId: Deprecated. The name of the cluster to rollback. This
15498//   field has been deprecated and replaced by the name field.
15499// - nodePoolId: Deprecated. The name of the node pool to rollback. This
15500//   field has been deprecated and replaced by the name field.
15501// - projectId: Deprecated. The Google Developers Console project ID or
15502//   project number (https://support.google.com/cloud/answer/6158840).
15503//   This field has been deprecated and replaced by the name field.
15504// - zone: Deprecated. The name of the Google Compute Engine zone
15505//   (https://cloud.google.com/compute/docs/zones#available) in which
15506//   the cluster resides. This field has been deprecated and replaced by
15507//   the name field.
15508func (r *ProjectsZonesClustersNodePoolsService) Rollback(projectId string, zone string, clusterId string, nodePoolId string, rollbacknodepoolupgraderequest *RollbackNodePoolUpgradeRequest) *ProjectsZonesClustersNodePoolsRollbackCall {
15509	c := &ProjectsZonesClustersNodePoolsRollbackCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15510	c.projectId = projectId
15511	c.zone = zone
15512	c.clusterId = clusterId
15513	c.nodePoolId = nodePoolId
15514	c.rollbacknodepoolupgraderequest = rollbacknodepoolupgraderequest
15515	return c
15516}
15517
15518// Fields allows partial responses to be retrieved. See
15519// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15520// for more information.
15521func (c *ProjectsZonesClustersNodePoolsRollbackCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersNodePoolsRollbackCall {
15522	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15523	return c
15524}
15525
15526// Context sets the context to be used in this call's Do method. Any
15527// pending HTTP request will be aborted if the provided context is
15528// canceled.
15529func (c *ProjectsZonesClustersNodePoolsRollbackCall) Context(ctx context.Context) *ProjectsZonesClustersNodePoolsRollbackCall {
15530	c.ctx_ = ctx
15531	return c
15532}
15533
15534// Header returns an http.Header that can be modified by the caller to
15535// add HTTP headers to the request.
15536func (c *ProjectsZonesClustersNodePoolsRollbackCall) Header() http.Header {
15537	if c.header_ == nil {
15538		c.header_ = make(http.Header)
15539	}
15540	return c.header_
15541}
15542
15543func (c *ProjectsZonesClustersNodePoolsRollbackCall) doRequest(alt string) (*http.Response, error) {
15544	reqHeaders := make(http.Header)
15545	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15546	for k, v := range c.header_ {
15547		reqHeaders[k] = v
15548	}
15549	reqHeaders.Set("User-Agent", c.s.userAgent())
15550	var body io.Reader = nil
15551	body, err := googleapi.WithoutDataWrapper.JSONReader(c.rollbacknodepoolupgraderequest)
15552	if err != nil {
15553		return nil, err
15554	}
15555	reqHeaders.Set("Content-Type", "application/json")
15556	c.urlParams_.Set("alt", alt)
15557	c.urlParams_.Set("prettyPrint", "false")
15558	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback")
15559	urls += "?" + c.urlParams_.Encode()
15560	req, err := http.NewRequest("POST", urls, body)
15561	if err != nil {
15562		return nil, err
15563	}
15564	req.Header = reqHeaders
15565	googleapi.Expand(req.URL, map[string]string{
15566		"projectId":  c.projectId,
15567		"zone":       c.zone,
15568		"clusterId":  c.clusterId,
15569		"nodePoolId": c.nodePoolId,
15570	})
15571	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15572}
15573
15574// Do executes the "container.projects.zones.clusters.nodePools.rollback" call.
15575// Exactly one of *Operation or error will be non-nil. Any non-2xx
15576// status code is an error. Response headers are in either
15577// *Operation.ServerResponse.Header or (if a response was returned at
15578// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
15579// to check whether the returned error was because
15580// http.StatusNotModified was returned.
15581func (c *ProjectsZonesClustersNodePoolsRollbackCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
15582	gensupport.SetOptions(c.urlParams_, opts...)
15583	res, err := c.doRequest("json")
15584	if res != nil && res.StatusCode == http.StatusNotModified {
15585		if res.Body != nil {
15586			res.Body.Close()
15587		}
15588		return nil, &googleapi.Error{
15589			Code:   res.StatusCode,
15590			Header: res.Header,
15591		}
15592	}
15593	if err != nil {
15594		return nil, err
15595	}
15596	defer googleapi.CloseBody(res)
15597	if err := googleapi.CheckResponse(res); err != nil {
15598		return nil, err
15599	}
15600	ret := &Operation{
15601		ServerResponse: googleapi.ServerResponse{
15602			Header:         res.Header,
15603			HTTPStatusCode: res.StatusCode,
15604		},
15605	}
15606	target := &ret
15607	if err := gensupport.DecodeResponse(target, res); err != nil {
15608		return nil, err
15609	}
15610	return ret, nil
15611	// {
15612	//   "description": "Rolls back a previously Aborted or Failed NodePool upgrade. This makes no changes if the last upgrade successfully completed.",
15613	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback",
15614	//   "httpMethod": "POST",
15615	//   "id": "container.projects.zones.clusters.nodePools.rollback",
15616	//   "parameterOrder": [
15617	//     "projectId",
15618	//     "zone",
15619	//     "clusterId",
15620	//     "nodePoolId"
15621	//   ],
15622	//   "parameters": {
15623	//     "clusterId": {
15624	//       "description": "Required. Deprecated. The name of the cluster to rollback. This field has been deprecated and replaced by the name field.",
15625	//       "location": "path",
15626	//       "required": true,
15627	//       "type": "string"
15628	//     },
15629	//     "nodePoolId": {
15630	//       "description": "Required. Deprecated. The name of the node pool to rollback. This field has been deprecated and replaced by the name field.",
15631	//       "location": "path",
15632	//       "required": true,
15633	//       "type": "string"
15634	//     },
15635	//     "projectId": {
15636	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
15637	//       "location": "path",
15638	//       "required": true,
15639	//       "type": "string"
15640	//     },
15641	//     "zone": {
15642	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
15643	//       "location": "path",
15644	//       "required": true,
15645	//       "type": "string"
15646	//     }
15647	//   },
15648	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback",
15649	//   "request": {
15650	//     "$ref": "RollbackNodePoolUpgradeRequest"
15651	//   },
15652	//   "response": {
15653	//     "$ref": "Operation"
15654	//   },
15655	//   "scopes": [
15656	//     "https://www.googleapis.com/auth/cloud-platform"
15657	//   ]
15658	// }
15659
15660}
15661
15662// method id "container.projects.zones.clusters.nodePools.setManagement":
15663
15664type ProjectsZonesClustersNodePoolsSetManagementCall struct {
15665	s                            *Service
15666	projectId                    string
15667	zone                         string
15668	clusterId                    string
15669	nodePoolId                   string
15670	setnodepoolmanagementrequest *SetNodePoolManagementRequest
15671	urlParams_                   gensupport.URLParams
15672	ctx_                         context.Context
15673	header_                      http.Header
15674}
15675
15676// SetManagement: Sets the NodeManagement options for a node pool.
15677//
15678// - clusterId: Deprecated. The name of the cluster to update. This
15679//   field has been deprecated and replaced by the name field.
15680// - nodePoolId: Deprecated. The name of the node pool to update. This
15681//   field has been deprecated and replaced by the name field.
15682// - projectId: Deprecated. The Google Developers Console project ID or
15683//   project number (https://support.google.com/cloud/answer/6158840).
15684//   This field has been deprecated and replaced by the name field.
15685// - zone: Deprecated. The name of the Google Compute Engine zone
15686//   (https://cloud.google.com/compute/docs/zones#available) in which
15687//   the cluster resides. This field has been deprecated and replaced by
15688//   the name field.
15689func (r *ProjectsZonesClustersNodePoolsService) SetManagement(projectId string, zone string, clusterId string, nodePoolId string, setnodepoolmanagementrequest *SetNodePoolManagementRequest) *ProjectsZonesClustersNodePoolsSetManagementCall {
15690	c := &ProjectsZonesClustersNodePoolsSetManagementCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15691	c.projectId = projectId
15692	c.zone = zone
15693	c.clusterId = clusterId
15694	c.nodePoolId = nodePoolId
15695	c.setnodepoolmanagementrequest = setnodepoolmanagementrequest
15696	return c
15697}
15698
15699// Fields allows partial responses to be retrieved. See
15700// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15701// for more information.
15702func (c *ProjectsZonesClustersNodePoolsSetManagementCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersNodePoolsSetManagementCall {
15703	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15704	return c
15705}
15706
15707// Context sets the context to be used in this call's Do method. Any
15708// pending HTTP request will be aborted if the provided context is
15709// canceled.
15710func (c *ProjectsZonesClustersNodePoolsSetManagementCall) Context(ctx context.Context) *ProjectsZonesClustersNodePoolsSetManagementCall {
15711	c.ctx_ = ctx
15712	return c
15713}
15714
15715// Header returns an http.Header that can be modified by the caller to
15716// add HTTP headers to the request.
15717func (c *ProjectsZonesClustersNodePoolsSetManagementCall) Header() http.Header {
15718	if c.header_ == nil {
15719		c.header_ = make(http.Header)
15720	}
15721	return c.header_
15722}
15723
15724func (c *ProjectsZonesClustersNodePoolsSetManagementCall) doRequest(alt string) (*http.Response, error) {
15725	reqHeaders := make(http.Header)
15726	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15727	for k, v := range c.header_ {
15728		reqHeaders[k] = v
15729	}
15730	reqHeaders.Set("User-Agent", c.s.userAgent())
15731	var body io.Reader = nil
15732	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setnodepoolmanagementrequest)
15733	if err != nil {
15734		return nil, err
15735	}
15736	reqHeaders.Set("Content-Type", "application/json")
15737	c.urlParams_.Set("alt", alt)
15738	c.urlParams_.Set("prettyPrint", "false")
15739	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setManagement")
15740	urls += "?" + c.urlParams_.Encode()
15741	req, err := http.NewRequest("POST", urls, body)
15742	if err != nil {
15743		return nil, err
15744	}
15745	req.Header = reqHeaders
15746	googleapi.Expand(req.URL, map[string]string{
15747		"projectId":  c.projectId,
15748		"zone":       c.zone,
15749		"clusterId":  c.clusterId,
15750		"nodePoolId": c.nodePoolId,
15751	})
15752	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15753}
15754
15755// Do executes the "container.projects.zones.clusters.nodePools.setManagement" call.
15756// Exactly one of *Operation or error will be non-nil. Any non-2xx
15757// status code is an error. Response headers are in either
15758// *Operation.ServerResponse.Header or (if a response was returned at
15759// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
15760// to check whether the returned error was because
15761// http.StatusNotModified was returned.
15762func (c *ProjectsZonesClustersNodePoolsSetManagementCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
15763	gensupport.SetOptions(c.urlParams_, opts...)
15764	res, err := c.doRequest("json")
15765	if res != nil && res.StatusCode == http.StatusNotModified {
15766		if res.Body != nil {
15767			res.Body.Close()
15768		}
15769		return nil, &googleapi.Error{
15770			Code:   res.StatusCode,
15771			Header: res.Header,
15772		}
15773	}
15774	if err != nil {
15775		return nil, err
15776	}
15777	defer googleapi.CloseBody(res)
15778	if err := googleapi.CheckResponse(res); err != nil {
15779		return nil, err
15780	}
15781	ret := &Operation{
15782		ServerResponse: googleapi.ServerResponse{
15783			Header:         res.Header,
15784			HTTPStatusCode: res.StatusCode,
15785		},
15786	}
15787	target := &ret
15788	if err := gensupport.DecodeResponse(target, res); err != nil {
15789		return nil, err
15790	}
15791	return ret, nil
15792	// {
15793	//   "description": "Sets the NodeManagement options for a node pool.",
15794	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setManagement",
15795	//   "httpMethod": "POST",
15796	//   "id": "container.projects.zones.clusters.nodePools.setManagement",
15797	//   "parameterOrder": [
15798	//     "projectId",
15799	//     "zone",
15800	//     "clusterId",
15801	//     "nodePoolId"
15802	//   ],
15803	//   "parameters": {
15804	//     "clusterId": {
15805	//       "description": "Required. Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
15806	//       "location": "path",
15807	//       "required": true,
15808	//       "type": "string"
15809	//     },
15810	//     "nodePoolId": {
15811	//       "description": "Required. Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field.",
15812	//       "location": "path",
15813	//       "required": true,
15814	//       "type": "string"
15815	//     },
15816	//     "projectId": {
15817	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
15818	//       "location": "path",
15819	//       "required": true,
15820	//       "type": "string"
15821	//     },
15822	//     "zone": {
15823	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
15824	//       "location": "path",
15825	//       "required": true,
15826	//       "type": "string"
15827	//     }
15828	//   },
15829	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setManagement",
15830	//   "request": {
15831	//     "$ref": "SetNodePoolManagementRequest"
15832	//   },
15833	//   "response": {
15834	//     "$ref": "Operation"
15835	//   },
15836	//   "scopes": [
15837	//     "https://www.googleapis.com/auth/cloud-platform"
15838	//   ]
15839	// }
15840
15841}
15842
15843// method id "container.projects.zones.clusters.nodePools.setSize":
15844
15845type ProjectsZonesClustersNodePoolsSetSizeCall struct {
15846	s                      *Service
15847	projectId              string
15848	zone                   string
15849	clusterId              string
15850	nodePoolId             string
15851	setnodepoolsizerequest *SetNodePoolSizeRequest
15852	urlParams_             gensupport.URLParams
15853	ctx_                   context.Context
15854	header_                http.Header
15855}
15856
15857// SetSize: SetNodePoolSizeRequest sets the size of a node pool. The new
15858// size will be used for all replicas, including future replicas created
15859// by modifying NodePool.locations.
15860//
15861// - clusterId: Deprecated. The name of the cluster to update. This
15862//   field has been deprecated and replaced by the name field.
15863// - nodePoolId: Deprecated. The name of the node pool to update. This
15864//   field has been deprecated and replaced by the name field.
15865// - projectId: Deprecated. The Google Developers Console project ID or
15866//   project number (https://support.google.com/cloud/answer/6158840).
15867//   This field has been deprecated and replaced by the name field.
15868// - zone: Deprecated. The name of the Google Compute Engine zone
15869//   (https://cloud.google.com/compute/docs/zones#available) in which
15870//   the cluster resides. This field has been deprecated and replaced by
15871//   the name field.
15872func (r *ProjectsZonesClustersNodePoolsService) SetSize(projectId string, zone string, clusterId string, nodePoolId string, setnodepoolsizerequest *SetNodePoolSizeRequest) *ProjectsZonesClustersNodePoolsSetSizeCall {
15873	c := &ProjectsZonesClustersNodePoolsSetSizeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15874	c.projectId = projectId
15875	c.zone = zone
15876	c.clusterId = clusterId
15877	c.nodePoolId = nodePoolId
15878	c.setnodepoolsizerequest = setnodepoolsizerequest
15879	return c
15880}
15881
15882// Fields allows partial responses to be retrieved. See
15883// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15884// for more information.
15885func (c *ProjectsZonesClustersNodePoolsSetSizeCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersNodePoolsSetSizeCall {
15886	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15887	return c
15888}
15889
15890// Context sets the context to be used in this call's Do method. Any
15891// pending HTTP request will be aborted if the provided context is
15892// canceled.
15893func (c *ProjectsZonesClustersNodePoolsSetSizeCall) Context(ctx context.Context) *ProjectsZonesClustersNodePoolsSetSizeCall {
15894	c.ctx_ = ctx
15895	return c
15896}
15897
15898// Header returns an http.Header that can be modified by the caller to
15899// add HTTP headers to the request.
15900func (c *ProjectsZonesClustersNodePoolsSetSizeCall) Header() http.Header {
15901	if c.header_ == nil {
15902		c.header_ = make(http.Header)
15903	}
15904	return c.header_
15905}
15906
15907func (c *ProjectsZonesClustersNodePoolsSetSizeCall) doRequest(alt string) (*http.Response, error) {
15908	reqHeaders := make(http.Header)
15909	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15910	for k, v := range c.header_ {
15911		reqHeaders[k] = v
15912	}
15913	reqHeaders.Set("User-Agent", c.s.userAgent())
15914	var body io.Reader = nil
15915	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setnodepoolsizerequest)
15916	if err != nil {
15917		return nil, err
15918	}
15919	reqHeaders.Set("Content-Type", "application/json")
15920	c.urlParams_.Set("alt", alt)
15921	c.urlParams_.Set("prettyPrint", "false")
15922	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setSize")
15923	urls += "?" + c.urlParams_.Encode()
15924	req, err := http.NewRequest("POST", urls, body)
15925	if err != nil {
15926		return nil, err
15927	}
15928	req.Header = reqHeaders
15929	googleapi.Expand(req.URL, map[string]string{
15930		"projectId":  c.projectId,
15931		"zone":       c.zone,
15932		"clusterId":  c.clusterId,
15933		"nodePoolId": c.nodePoolId,
15934	})
15935	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15936}
15937
15938// Do executes the "container.projects.zones.clusters.nodePools.setSize" call.
15939// Exactly one of *Operation or error will be non-nil. Any non-2xx
15940// status code is an error. Response headers are in either
15941// *Operation.ServerResponse.Header or (if a response was returned at
15942// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
15943// to check whether the returned error was because
15944// http.StatusNotModified was returned.
15945func (c *ProjectsZonesClustersNodePoolsSetSizeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
15946	gensupport.SetOptions(c.urlParams_, opts...)
15947	res, err := c.doRequest("json")
15948	if res != nil && res.StatusCode == http.StatusNotModified {
15949		if res.Body != nil {
15950			res.Body.Close()
15951		}
15952		return nil, &googleapi.Error{
15953			Code:   res.StatusCode,
15954			Header: res.Header,
15955		}
15956	}
15957	if err != nil {
15958		return nil, err
15959	}
15960	defer googleapi.CloseBody(res)
15961	if err := googleapi.CheckResponse(res); err != nil {
15962		return nil, err
15963	}
15964	ret := &Operation{
15965		ServerResponse: googleapi.ServerResponse{
15966			Header:         res.Header,
15967			HTTPStatusCode: res.StatusCode,
15968		},
15969	}
15970	target := &ret
15971	if err := gensupport.DecodeResponse(target, res); err != nil {
15972		return nil, err
15973	}
15974	return ret, nil
15975	// {
15976	//   "description": "SetNodePoolSizeRequest sets the size of a node pool. The new size will be used for all replicas, including future replicas created by modifying NodePool.locations.",
15977	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setSize",
15978	//   "httpMethod": "POST",
15979	//   "id": "container.projects.zones.clusters.nodePools.setSize",
15980	//   "parameterOrder": [
15981	//     "projectId",
15982	//     "zone",
15983	//     "clusterId",
15984	//     "nodePoolId"
15985	//   ],
15986	//   "parameters": {
15987	//     "clusterId": {
15988	//       "description": "Required. Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
15989	//       "location": "path",
15990	//       "required": true,
15991	//       "type": "string"
15992	//     },
15993	//     "nodePoolId": {
15994	//       "description": "Required. Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field.",
15995	//       "location": "path",
15996	//       "required": true,
15997	//       "type": "string"
15998	//     },
15999	//     "projectId": {
16000	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
16001	//       "location": "path",
16002	//       "required": true,
16003	//       "type": "string"
16004	//     },
16005	//     "zone": {
16006	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
16007	//       "location": "path",
16008	//       "required": true,
16009	//       "type": "string"
16010	//     }
16011	//   },
16012	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setSize",
16013	//   "request": {
16014	//     "$ref": "SetNodePoolSizeRequest"
16015	//   },
16016	//   "response": {
16017	//     "$ref": "Operation"
16018	//   },
16019	//   "scopes": [
16020	//     "https://www.googleapis.com/auth/cloud-platform"
16021	//   ]
16022	// }
16023
16024}
16025
16026// method id "container.projects.zones.clusters.nodePools.update":
16027
16028type ProjectsZonesClustersNodePoolsUpdateCall struct {
16029	s                     *Service
16030	projectId             string
16031	zone                  string
16032	clusterId             string
16033	nodePoolId            string
16034	updatenodepoolrequest *UpdateNodePoolRequest
16035	urlParams_            gensupport.URLParams
16036	ctx_                  context.Context
16037	header_               http.Header
16038}
16039
16040// Update: Updates the version and/or image type of a specific node
16041// pool.
16042//
16043// - clusterId: Deprecated. The name of the cluster to upgrade. This
16044//   field has been deprecated and replaced by the name field.
16045// - nodePoolId: Deprecated. The name of the node pool to upgrade. This
16046//   field has been deprecated and replaced by the name field.
16047// - projectId: Deprecated. The Google Developers Console project ID or
16048//   project number (https://support.google.com/cloud/answer/6158840).
16049//   This field has been deprecated and replaced by the name field.
16050// - zone: Deprecated. The name of the Google Compute Engine zone
16051//   (https://cloud.google.com/compute/docs/zones#available) in which
16052//   the cluster resides. This field has been deprecated and replaced by
16053//   the name field.
16054func (r *ProjectsZonesClustersNodePoolsService) Update(projectId string, zone string, clusterId string, nodePoolId string, updatenodepoolrequest *UpdateNodePoolRequest) *ProjectsZonesClustersNodePoolsUpdateCall {
16055	c := &ProjectsZonesClustersNodePoolsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16056	c.projectId = projectId
16057	c.zone = zone
16058	c.clusterId = clusterId
16059	c.nodePoolId = nodePoolId
16060	c.updatenodepoolrequest = updatenodepoolrequest
16061	return c
16062}
16063
16064// Fields allows partial responses to be retrieved. See
16065// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16066// for more information.
16067func (c *ProjectsZonesClustersNodePoolsUpdateCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersNodePoolsUpdateCall {
16068	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16069	return c
16070}
16071
16072// Context sets the context to be used in this call's Do method. Any
16073// pending HTTP request will be aborted if the provided context is
16074// canceled.
16075func (c *ProjectsZonesClustersNodePoolsUpdateCall) Context(ctx context.Context) *ProjectsZonesClustersNodePoolsUpdateCall {
16076	c.ctx_ = ctx
16077	return c
16078}
16079
16080// Header returns an http.Header that can be modified by the caller to
16081// add HTTP headers to the request.
16082func (c *ProjectsZonesClustersNodePoolsUpdateCall) Header() http.Header {
16083	if c.header_ == nil {
16084		c.header_ = make(http.Header)
16085	}
16086	return c.header_
16087}
16088
16089func (c *ProjectsZonesClustersNodePoolsUpdateCall) doRequest(alt string) (*http.Response, error) {
16090	reqHeaders := make(http.Header)
16091	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16092	for k, v := range c.header_ {
16093		reqHeaders[k] = v
16094	}
16095	reqHeaders.Set("User-Agent", c.s.userAgent())
16096	var body io.Reader = nil
16097	body, err := googleapi.WithoutDataWrapper.JSONReader(c.updatenodepoolrequest)
16098	if err != nil {
16099		return nil, err
16100	}
16101	reqHeaders.Set("Content-Type", "application/json")
16102	c.urlParams_.Set("alt", alt)
16103	c.urlParams_.Set("prettyPrint", "false")
16104	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/update")
16105	urls += "?" + c.urlParams_.Encode()
16106	req, err := http.NewRequest("POST", urls, body)
16107	if err != nil {
16108		return nil, err
16109	}
16110	req.Header = reqHeaders
16111	googleapi.Expand(req.URL, map[string]string{
16112		"projectId":  c.projectId,
16113		"zone":       c.zone,
16114		"clusterId":  c.clusterId,
16115		"nodePoolId": c.nodePoolId,
16116	})
16117	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16118}
16119
16120// Do executes the "container.projects.zones.clusters.nodePools.update" call.
16121// Exactly one of *Operation or error will be non-nil. Any non-2xx
16122// status code is an error. Response headers are in either
16123// *Operation.ServerResponse.Header or (if a response was returned at
16124// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
16125// to check whether the returned error was because
16126// http.StatusNotModified was returned.
16127func (c *ProjectsZonesClustersNodePoolsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
16128	gensupport.SetOptions(c.urlParams_, opts...)
16129	res, err := c.doRequest("json")
16130	if res != nil && res.StatusCode == http.StatusNotModified {
16131		if res.Body != nil {
16132			res.Body.Close()
16133		}
16134		return nil, &googleapi.Error{
16135			Code:   res.StatusCode,
16136			Header: res.Header,
16137		}
16138	}
16139	if err != nil {
16140		return nil, err
16141	}
16142	defer googleapi.CloseBody(res)
16143	if err := googleapi.CheckResponse(res); err != nil {
16144		return nil, err
16145	}
16146	ret := &Operation{
16147		ServerResponse: googleapi.ServerResponse{
16148			Header:         res.Header,
16149			HTTPStatusCode: res.StatusCode,
16150		},
16151	}
16152	target := &ret
16153	if err := gensupport.DecodeResponse(target, res); err != nil {
16154		return nil, err
16155	}
16156	return ret, nil
16157	// {
16158	//   "description": "Updates the version and/or image type of a specific node pool.",
16159	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/update",
16160	//   "httpMethod": "POST",
16161	//   "id": "container.projects.zones.clusters.nodePools.update",
16162	//   "parameterOrder": [
16163	//     "projectId",
16164	//     "zone",
16165	//     "clusterId",
16166	//     "nodePoolId"
16167	//   ],
16168	//   "parameters": {
16169	//     "clusterId": {
16170	//       "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
16171	//       "location": "path",
16172	//       "required": true,
16173	//       "type": "string"
16174	//     },
16175	//     "nodePoolId": {
16176	//       "description": "Required. Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field.",
16177	//       "location": "path",
16178	//       "required": true,
16179	//       "type": "string"
16180	//     },
16181	//     "projectId": {
16182	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
16183	//       "location": "path",
16184	//       "required": true,
16185	//       "type": "string"
16186	//     },
16187	//     "zone": {
16188	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
16189	//       "location": "path",
16190	//       "required": true,
16191	//       "type": "string"
16192	//     }
16193	//   },
16194	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/update",
16195	//   "request": {
16196	//     "$ref": "UpdateNodePoolRequest"
16197	//   },
16198	//   "response": {
16199	//     "$ref": "Operation"
16200	//   },
16201	//   "scopes": [
16202	//     "https://www.googleapis.com/auth/cloud-platform"
16203	//   ]
16204	// }
16205
16206}
16207
16208// method id "container.projects.zones.operations.cancel":
16209
16210type ProjectsZonesOperationsCancelCall struct {
16211	s                      *Service
16212	projectId              string
16213	zone                   string
16214	operationId            string
16215	canceloperationrequest *CancelOperationRequest
16216	urlParams_             gensupport.URLParams
16217	ctx_                   context.Context
16218	header_                http.Header
16219}
16220
16221// Cancel: Cancels the specified operation.
16222//
16223// - operationId: Deprecated. The server-assigned `name` of the
16224//   operation. This field has been deprecated and replaced by the name
16225//   field.
16226// - projectId: Deprecated. The Google Developers Console project ID or
16227//   project number (https://support.google.com/cloud/answer/6158840).
16228//   This field has been deprecated and replaced by the name field.
16229// - zone: Deprecated. The name of the Google Compute Engine zone
16230//   (https://cloud.google.com/compute/docs/zones#available) in which
16231//   the operation resides. This field has been deprecated and replaced
16232//   by the name field.
16233func (r *ProjectsZonesOperationsService) Cancel(projectId string, zone string, operationId string, canceloperationrequest *CancelOperationRequest) *ProjectsZonesOperationsCancelCall {
16234	c := &ProjectsZonesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16235	c.projectId = projectId
16236	c.zone = zone
16237	c.operationId = operationId
16238	c.canceloperationrequest = canceloperationrequest
16239	return c
16240}
16241
16242// Fields allows partial responses to be retrieved. See
16243// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16244// for more information.
16245func (c *ProjectsZonesOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsZonesOperationsCancelCall {
16246	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16247	return c
16248}
16249
16250// Context sets the context to be used in this call's Do method. Any
16251// pending HTTP request will be aborted if the provided context is
16252// canceled.
16253func (c *ProjectsZonesOperationsCancelCall) Context(ctx context.Context) *ProjectsZonesOperationsCancelCall {
16254	c.ctx_ = ctx
16255	return c
16256}
16257
16258// Header returns an http.Header that can be modified by the caller to
16259// add HTTP headers to the request.
16260func (c *ProjectsZonesOperationsCancelCall) Header() http.Header {
16261	if c.header_ == nil {
16262		c.header_ = make(http.Header)
16263	}
16264	return c.header_
16265}
16266
16267func (c *ProjectsZonesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
16268	reqHeaders := make(http.Header)
16269	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16270	for k, v := range c.header_ {
16271		reqHeaders[k] = v
16272	}
16273	reqHeaders.Set("User-Agent", c.s.userAgent())
16274	var body io.Reader = nil
16275	body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest)
16276	if err != nil {
16277		return nil, err
16278	}
16279	reqHeaders.Set("Content-Type", "application/json")
16280	c.urlParams_.Set("alt", alt)
16281	c.urlParams_.Set("prettyPrint", "false")
16282	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}:cancel")
16283	urls += "?" + c.urlParams_.Encode()
16284	req, err := http.NewRequest("POST", urls, body)
16285	if err != nil {
16286		return nil, err
16287	}
16288	req.Header = reqHeaders
16289	googleapi.Expand(req.URL, map[string]string{
16290		"projectId":   c.projectId,
16291		"zone":        c.zone,
16292		"operationId": c.operationId,
16293	})
16294	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16295}
16296
16297// Do executes the "container.projects.zones.operations.cancel" call.
16298// Exactly one of *Empty or error will be non-nil. Any non-2xx status
16299// code is an error. Response headers are in either
16300// *Empty.ServerResponse.Header or (if a response was returned at all)
16301// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16302// check whether the returned error was because http.StatusNotModified
16303// was returned.
16304func (c *ProjectsZonesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
16305	gensupport.SetOptions(c.urlParams_, opts...)
16306	res, err := c.doRequest("json")
16307	if res != nil && res.StatusCode == http.StatusNotModified {
16308		if res.Body != nil {
16309			res.Body.Close()
16310		}
16311		return nil, &googleapi.Error{
16312			Code:   res.StatusCode,
16313			Header: res.Header,
16314		}
16315	}
16316	if err != nil {
16317		return nil, err
16318	}
16319	defer googleapi.CloseBody(res)
16320	if err := googleapi.CheckResponse(res); err != nil {
16321		return nil, err
16322	}
16323	ret := &Empty{
16324		ServerResponse: googleapi.ServerResponse{
16325			Header:         res.Header,
16326			HTTPStatusCode: res.StatusCode,
16327		},
16328	}
16329	target := &ret
16330	if err := gensupport.DecodeResponse(target, res); err != nil {
16331		return nil, err
16332	}
16333	return ret, nil
16334	// {
16335	//   "description": "Cancels the specified operation.",
16336	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}:cancel",
16337	//   "httpMethod": "POST",
16338	//   "id": "container.projects.zones.operations.cancel",
16339	//   "parameterOrder": [
16340	//     "projectId",
16341	//     "zone",
16342	//     "operationId"
16343	//   ],
16344	//   "parameters": {
16345	//     "operationId": {
16346	//       "description": "Required. Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.",
16347	//       "location": "path",
16348	//       "required": true,
16349	//       "type": "string"
16350	//     },
16351	//     "projectId": {
16352	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
16353	//       "location": "path",
16354	//       "required": true,
16355	//       "type": "string"
16356	//     },
16357	//     "zone": {
16358	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation resides. This field has been deprecated and replaced by the name field.",
16359	//       "location": "path",
16360	//       "required": true,
16361	//       "type": "string"
16362	//     }
16363	//   },
16364	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}:cancel",
16365	//   "request": {
16366	//     "$ref": "CancelOperationRequest"
16367	//   },
16368	//   "response": {
16369	//     "$ref": "Empty"
16370	//   },
16371	//   "scopes": [
16372	//     "https://www.googleapis.com/auth/cloud-platform"
16373	//   ]
16374	// }
16375
16376}
16377
16378// method id "container.projects.zones.operations.get":
16379
16380type ProjectsZonesOperationsGetCall struct {
16381	s            *Service
16382	projectId    string
16383	zone         string
16384	operationId  string
16385	urlParams_   gensupport.URLParams
16386	ifNoneMatch_ string
16387	ctx_         context.Context
16388	header_      http.Header
16389}
16390
16391// Get: Gets the specified operation.
16392//
16393// - operationId: Deprecated. The server-assigned `name` of the
16394//   operation. This field has been deprecated and replaced by the name
16395//   field.
16396// - projectId: Deprecated. The Google Developers Console project ID or
16397//   project number (https://support.google.com/cloud/answer/6158840).
16398//   This field has been deprecated and replaced by the name field.
16399// - zone: Deprecated. The name of the Google Compute Engine zone
16400//   (https://cloud.google.com/compute/docs/zones#available) in which
16401//   the cluster resides. This field has been deprecated and replaced by
16402//   the name field.
16403func (r *ProjectsZonesOperationsService) Get(projectId string, zone string, operationId string) *ProjectsZonesOperationsGetCall {
16404	c := &ProjectsZonesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16405	c.projectId = projectId
16406	c.zone = zone
16407	c.operationId = operationId
16408	return c
16409}
16410
16411// Name sets the optional parameter "name": The name (project, location,
16412// operation id) of the operation to get. Specified in the format
16413// `projects/*/locations/*/operations/*`.
16414func (c *ProjectsZonesOperationsGetCall) Name(name string) *ProjectsZonesOperationsGetCall {
16415	c.urlParams_.Set("name", name)
16416	return c
16417}
16418
16419// Fields allows partial responses to be retrieved. See
16420// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16421// for more information.
16422func (c *ProjectsZonesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsZonesOperationsGetCall {
16423	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16424	return c
16425}
16426
16427// IfNoneMatch sets the optional parameter which makes the operation
16428// fail if the object's ETag matches the given value. This is useful for
16429// getting updates only after the object has changed since the last
16430// request. Use googleapi.IsNotModified to check whether the response
16431// error from Do is the result of In-None-Match.
16432func (c *ProjectsZonesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsZonesOperationsGetCall {
16433	c.ifNoneMatch_ = entityTag
16434	return c
16435}
16436
16437// Context sets the context to be used in this call's Do method. Any
16438// pending HTTP request will be aborted if the provided context is
16439// canceled.
16440func (c *ProjectsZonesOperationsGetCall) Context(ctx context.Context) *ProjectsZonesOperationsGetCall {
16441	c.ctx_ = ctx
16442	return c
16443}
16444
16445// Header returns an http.Header that can be modified by the caller to
16446// add HTTP headers to the request.
16447func (c *ProjectsZonesOperationsGetCall) Header() http.Header {
16448	if c.header_ == nil {
16449		c.header_ = make(http.Header)
16450	}
16451	return c.header_
16452}
16453
16454func (c *ProjectsZonesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
16455	reqHeaders := make(http.Header)
16456	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16457	for k, v := range c.header_ {
16458		reqHeaders[k] = v
16459	}
16460	reqHeaders.Set("User-Agent", c.s.userAgent())
16461	if c.ifNoneMatch_ != "" {
16462		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16463	}
16464	var body io.Reader = nil
16465	c.urlParams_.Set("alt", alt)
16466	c.urlParams_.Set("prettyPrint", "false")
16467	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}")
16468	urls += "?" + c.urlParams_.Encode()
16469	req, err := http.NewRequest("GET", urls, body)
16470	if err != nil {
16471		return nil, err
16472	}
16473	req.Header = reqHeaders
16474	googleapi.Expand(req.URL, map[string]string{
16475		"projectId":   c.projectId,
16476		"zone":        c.zone,
16477		"operationId": c.operationId,
16478	})
16479	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16480}
16481
16482// Do executes the "container.projects.zones.operations.get" call.
16483// Exactly one of *Operation or error will be non-nil. Any non-2xx
16484// status code is an error. Response headers are in either
16485// *Operation.ServerResponse.Header or (if a response was returned at
16486// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
16487// to check whether the returned error was because
16488// http.StatusNotModified was returned.
16489func (c *ProjectsZonesOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
16490	gensupport.SetOptions(c.urlParams_, opts...)
16491	res, err := c.doRequest("json")
16492	if res != nil && res.StatusCode == http.StatusNotModified {
16493		if res.Body != nil {
16494			res.Body.Close()
16495		}
16496		return nil, &googleapi.Error{
16497			Code:   res.StatusCode,
16498			Header: res.Header,
16499		}
16500	}
16501	if err != nil {
16502		return nil, err
16503	}
16504	defer googleapi.CloseBody(res)
16505	if err := googleapi.CheckResponse(res); err != nil {
16506		return nil, err
16507	}
16508	ret := &Operation{
16509		ServerResponse: googleapi.ServerResponse{
16510			Header:         res.Header,
16511			HTTPStatusCode: res.StatusCode,
16512		},
16513	}
16514	target := &ret
16515	if err := gensupport.DecodeResponse(target, res); err != nil {
16516		return nil, err
16517	}
16518	return ret, nil
16519	// {
16520	//   "description": "Gets the specified operation.",
16521	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}",
16522	//   "httpMethod": "GET",
16523	//   "id": "container.projects.zones.operations.get",
16524	//   "parameterOrder": [
16525	//     "projectId",
16526	//     "zone",
16527	//     "operationId"
16528	//   ],
16529	//   "parameters": {
16530	//     "name": {
16531	//       "description": "The name (project, location, operation id) of the operation to get. Specified in the format `projects/*/locations/*/operations/*`.",
16532	//       "location": "query",
16533	//       "type": "string"
16534	//     },
16535	//     "operationId": {
16536	//       "description": "Required. Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.",
16537	//       "location": "path",
16538	//       "required": true,
16539	//       "type": "string"
16540	//     },
16541	//     "projectId": {
16542	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
16543	//       "location": "path",
16544	//       "required": true,
16545	//       "type": "string"
16546	//     },
16547	//     "zone": {
16548	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
16549	//       "location": "path",
16550	//       "required": true,
16551	//       "type": "string"
16552	//     }
16553	//   },
16554	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}",
16555	//   "response": {
16556	//     "$ref": "Operation"
16557	//   },
16558	//   "scopes": [
16559	//     "https://www.googleapis.com/auth/cloud-platform"
16560	//   ]
16561	// }
16562
16563}
16564
16565// method id "container.projects.zones.operations.list":
16566
16567type ProjectsZonesOperationsListCall struct {
16568	s            *Service
16569	projectId    string
16570	zone         string
16571	urlParams_   gensupport.URLParams
16572	ifNoneMatch_ string
16573	ctx_         context.Context
16574	header_      http.Header
16575}
16576
16577// List: Lists all operations in a project in the specified zone or all
16578// zones.
16579//
16580// - projectId: Deprecated. The Google Developers Console project ID or
16581//   project number (https://support.google.com/cloud/answer/6158840).
16582//   This field has been deprecated and replaced by the parent field.
16583// - zone: Deprecated. The name of the Google Compute Engine zone
16584//   (https://cloud.google.com/compute/docs/zones#available) to return
16585//   operations for, or `-` for all zones. This field has been
16586//   deprecated and replaced by the parent field.
16587func (r *ProjectsZonesOperationsService) List(projectId string, zone string) *ProjectsZonesOperationsListCall {
16588	c := &ProjectsZonesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16589	c.projectId = projectId
16590	c.zone = zone
16591	return c
16592}
16593
16594// Parent sets the optional parameter "parent": The parent (project and
16595// location) where the operations will be listed. Specified in the
16596// format `projects/*/locations/*`. Location "-" matches all zones and
16597// all regions.
16598func (c *ProjectsZonesOperationsListCall) Parent(parent string) *ProjectsZonesOperationsListCall {
16599	c.urlParams_.Set("parent", parent)
16600	return c
16601}
16602
16603// Fields allows partial responses to be retrieved. See
16604// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16605// for more information.
16606func (c *ProjectsZonesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsZonesOperationsListCall {
16607	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16608	return c
16609}
16610
16611// IfNoneMatch sets the optional parameter which makes the operation
16612// fail if the object's ETag matches the given value. This is useful for
16613// getting updates only after the object has changed since the last
16614// request. Use googleapi.IsNotModified to check whether the response
16615// error from Do is the result of In-None-Match.
16616func (c *ProjectsZonesOperationsListCall) IfNoneMatch(entityTag string) *ProjectsZonesOperationsListCall {
16617	c.ifNoneMatch_ = entityTag
16618	return c
16619}
16620
16621// Context sets the context to be used in this call's Do method. Any
16622// pending HTTP request will be aborted if the provided context is
16623// canceled.
16624func (c *ProjectsZonesOperationsListCall) Context(ctx context.Context) *ProjectsZonesOperationsListCall {
16625	c.ctx_ = ctx
16626	return c
16627}
16628
16629// Header returns an http.Header that can be modified by the caller to
16630// add HTTP headers to the request.
16631func (c *ProjectsZonesOperationsListCall) Header() http.Header {
16632	if c.header_ == nil {
16633		c.header_ = make(http.Header)
16634	}
16635	return c.header_
16636}
16637
16638func (c *ProjectsZonesOperationsListCall) doRequest(alt string) (*http.Response, error) {
16639	reqHeaders := make(http.Header)
16640	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16641	for k, v := range c.header_ {
16642		reqHeaders[k] = v
16643	}
16644	reqHeaders.Set("User-Agent", c.s.userAgent())
16645	if c.ifNoneMatch_ != "" {
16646		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16647	}
16648	var body io.Reader = nil
16649	c.urlParams_.Set("alt", alt)
16650	c.urlParams_.Set("prettyPrint", "false")
16651	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/operations")
16652	urls += "?" + c.urlParams_.Encode()
16653	req, err := http.NewRequest("GET", urls, body)
16654	if err != nil {
16655		return nil, err
16656	}
16657	req.Header = reqHeaders
16658	googleapi.Expand(req.URL, map[string]string{
16659		"projectId": c.projectId,
16660		"zone":      c.zone,
16661	})
16662	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16663}
16664
16665// Do executes the "container.projects.zones.operations.list" call.
16666// Exactly one of *ListOperationsResponse or error will be non-nil. Any
16667// non-2xx status code is an error. Response headers are in either
16668// *ListOperationsResponse.ServerResponse.Header or (if a response was
16669// returned at all) in error.(*googleapi.Error).Header. Use
16670// googleapi.IsNotModified to check whether the returned error was
16671// because http.StatusNotModified was returned.
16672func (c *ProjectsZonesOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
16673	gensupport.SetOptions(c.urlParams_, opts...)
16674	res, err := c.doRequest("json")
16675	if res != nil && res.StatusCode == http.StatusNotModified {
16676		if res.Body != nil {
16677			res.Body.Close()
16678		}
16679		return nil, &googleapi.Error{
16680			Code:   res.StatusCode,
16681			Header: res.Header,
16682		}
16683	}
16684	if err != nil {
16685		return nil, err
16686	}
16687	defer googleapi.CloseBody(res)
16688	if err := googleapi.CheckResponse(res); err != nil {
16689		return nil, err
16690	}
16691	ret := &ListOperationsResponse{
16692		ServerResponse: googleapi.ServerResponse{
16693			Header:         res.Header,
16694			HTTPStatusCode: res.StatusCode,
16695		},
16696	}
16697	target := &ret
16698	if err := gensupport.DecodeResponse(target, res); err != nil {
16699		return nil, err
16700	}
16701	return ret, nil
16702	// {
16703	//   "description": "Lists all operations in a project in the specified zone or all zones.",
16704	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/operations",
16705	//   "httpMethod": "GET",
16706	//   "id": "container.projects.zones.operations.list",
16707	//   "parameterOrder": [
16708	//     "projectId",
16709	//     "zone"
16710	//   ],
16711	//   "parameters": {
16712	//     "parent": {
16713	//       "description": "The parent (project and location) where the operations will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
16714	//       "location": "query",
16715	//       "type": "string"
16716	//     },
16717	//     "projectId": {
16718	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
16719	//       "location": "path",
16720	//       "required": true,
16721	//       "type": "string"
16722	//     },
16723	//     "zone": {
16724	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for, or `-` for all zones. This field has been deprecated and replaced by the parent field.",
16725	//       "location": "path",
16726	//       "required": true,
16727	//       "type": "string"
16728	//     }
16729	//   },
16730	//   "path": "v1beta1/projects/{projectId}/zones/{zone}/operations",
16731	//   "response": {
16732	//     "$ref": "ListOperationsResponse"
16733	//   },
16734	//   "scopes": [
16735	//     "https://www.googleapis.com/auth/cloud-platform"
16736	//   ]
16737	// }
16738
16739}
16740