blob: c218da8cec2951bf6b0785e82a8fc74b296a2b5b [file] [log] [blame]
// Copyright 2019 Google Inc. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated file. DO NOT EDIT.
// Package container provides access to the Kubernetes Engine API.
//
// See https://cloud.google.com/container-engine/
//
// Usage example:
//
// import "google.golang.org/api/container/v1"
// ...
// containerService, err := container.New(oauthHttpClient)
package container // import "google.golang.org/api/container/v1"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
gensupport "google.golang.org/api/gensupport"
googleapi "google.golang.org/api/googleapi"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
const apiId = "container:v1"
const apiName = "container"
const apiVersion = "v1"
const basePath = "https://container.googleapis.com/"
// OAuth2 scopes used by this API.
const (
// View and manage your data across Google Cloud Platform services
CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
)
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.Projects = NewProjectsService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Projects *ProjectsService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewProjectsService(s *Service) *ProjectsService {
rs := &ProjectsService{s: s}
rs.Locations = NewProjectsLocationsService(s)
rs.Zones = NewProjectsZonesService(s)
return rs
}
type ProjectsService struct {
s *Service
Locations *ProjectsLocationsService
Zones *ProjectsZonesService
}
func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
rs := &ProjectsLocationsService{s: s}
rs.Clusters = NewProjectsLocationsClustersService(s)
rs.Operations = NewProjectsLocationsOperationsService(s)
return rs
}
type ProjectsLocationsService struct {
s *Service
Clusters *ProjectsLocationsClustersService
Operations *ProjectsLocationsOperationsService
}
func NewProjectsLocationsClustersService(s *Service) *ProjectsLocationsClustersService {
rs := &ProjectsLocationsClustersService{s: s}
rs.NodePools = NewProjectsLocationsClustersNodePoolsService(s)
return rs
}
type ProjectsLocationsClustersService struct {
s *Service
NodePools *ProjectsLocationsClustersNodePoolsService
}
func NewProjectsLocationsClustersNodePoolsService(s *Service) *ProjectsLocationsClustersNodePoolsService {
rs := &ProjectsLocationsClustersNodePoolsService{s: s}
return rs
}
type ProjectsLocationsClustersNodePoolsService struct {
s *Service
}
func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
rs := &ProjectsLocationsOperationsService{s: s}
return rs
}
type ProjectsLocationsOperationsService struct {
s *Service
}
func NewProjectsZonesService(s *Service) *ProjectsZonesService {
rs := &ProjectsZonesService{s: s}
rs.Clusters = NewProjectsZonesClustersService(s)
rs.Operations = NewProjectsZonesOperationsService(s)
return rs
}
type ProjectsZonesService struct {
s *Service
Clusters *ProjectsZonesClustersService
Operations *ProjectsZonesOperationsService
}
func NewProjectsZonesClustersService(s *Service) *ProjectsZonesClustersService {
rs := &ProjectsZonesClustersService{s: s}
rs.NodePools = NewProjectsZonesClustersNodePoolsService(s)
return rs
}
type ProjectsZonesClustersService struct {
s *Service
NodePools *ProjectsZonesClustersNodePoolsService
}
func NewProjectsZonesClustersNodePoolsService(s *Service) *ProjectsZonesClustersNodePoolsService {
rs := &ProjectsZonesClustersNodePoolsService{s: s}
return rs
}
type ProjectsZonesClustersNodePoolsService struct {
s *Service
}
func NewProjectsZonesOperationsService(s *Service) *ProjectsZonesOperationsService {
rs := &ProjectsZonesOperationsService{s: s}
return rs
}
type ProjectsZonesOperationsService struct {
s *Service
}
// AcceleratorConfig: AcceleratorConfig represents a Hardware
// Accelerator request.
type AcceleratorConfig struct {
// AcceleratorCount: The number of the accelerator cards exposed to an
// instance.
AcceleratorCount int64 `json:"acceleratorCount,omitempty,string"`
// AcceleratorType: The accelerator type resource name. List of
// supported accelerators
// [here](/compute/docs/gpus/#Introduction)
AcceleratorType string `json:"acceleratorType,omitempty"`
// ForceSendFields is a list of field names (e.g. "AcceleratorCount") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AcceleratorCount") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *AcceleratorConfig) MarshalJSON() ([]byte, error) {
type NoMethod AcceleratorConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AddonsConfig: Configuration for the addons that can be automatically
// spun up in the
// cluster, enabling additional functionality.
type AddonsConfig struct {
// HorizontalPodAutoscaling: Configuration for the horizontal pod
// autoscaling feature, which
// increases or decreases the number of replica pods a replication
// controller
// has based on the resource usage of the existing pods.
HorizontalPodAutoscaling *HorizontalPodAutoscaling `json:"horizontalPodAutoscaling,omitempty"`
// HttpLoadBalancing: Configuration for the HTTP (L7) load balancing
// controller addon, which
// makes it easy to set up HTTP load balancers for services in a
// cluster.
HttpLoadBalancing *HttpLoadBalancing `json:"httpLoadBalancing,omitempty"`
// KubernetesDashboard: Configuration for the Kubernetes Dashboard.
KubernetesDashboard *KubernetesDashboard `json:"kubernetesDashboard,omitempty"`
// NetworkPolicyConfig: Configuration for NetworkPolicy. This only
// tracks whether the addon
// is enabled or not on the Master, it does not track whether network
// policy
// is enabled for the nodes.
NetworkPolicyConfig *NetworkPolicyConfig `json:"networkPolicyConfig,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "HorizontalPodAutoscaling") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "HorizontalPodAutoscaling")
// to include in API requests with the JSON null value. By default,
// fields with empty values are omitted from API requests. However, any
// field with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *AddonsConfig) MarshalJSON() ([]byte, error) {
type NoMethod AddonsConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AutoUpgradeOptions: AutoUpgradeOptions defines the set of options for
// the user to control how
// the Auto Upgrades will proceed.
type AutoUpgradeOptions struct {
// AutoUpgradeStartTime: [Output only] This field is set when upgrades
// are about to commence
// with the approximate start time for the upgrades,
// in
// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
AutoUpgradeStartTime string `json:"autoUpgradeStartTime,omitempty"`
// Description: [Output only] This field is set when upgrades are about
// to commence
// with the description of the upgrade.
Description string `json:"description,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "AutoUpgradeStartTime") to unconditionally include in API requests.
// By default, fields with empty values are omitted from API requests.
// However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AutoUpgradeStartTime") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *AutoUpgradeOptions) MarshalJSON() ([]byte, error) {
type NoMethod AutoUpgradeOptions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CancelOperationRequest: CancelOperationRequest cancels a single
// operation.
type CancelOperationRequest struct {
// Name: The name (project, location, operation id) of the operation to
// cancel.
// Specified in the format 'projects/*/locations/*/operations/*'.
Name string `json:"name,omitempty"`
// OperationId: Deprecated. The server-assigned `name` of the
// operation.
// This field has been deprecated and replaced by the name field.
OperationId string `json:"operationId,omitempty"`
// ProjectId: 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.
ProjectId string `json:"projectId,omitempty"`
// Zone: Deprecated. The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the operation
// resides.
// This field has been deprecated and replaced by the name field.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "Name") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Name") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CancelOperationRequest) MarshalJSON() ([]byte, error) {
type NoMethod CancelOperationRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CidrBlock: CidrBlock contains an optional name and one CIDR block.
type CidrBlock struct {
// CidrBlock: cidr_block must be specified in CIDR notation.
CidrBlock string `json:"cidrBlock,omitempty"`
// DisplayName: display_name is an optional field for users to identify
// CIDR blocks.
DisplayName string `json:"displayName,omitempty"`
// ForceSendFields is a list of field names (e.g. "CidrBlock") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CidrBlock") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CidrBlock) MarshalJSON() ([]byte, error) {
type NoMethod CidrBlock
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ClientCertificateConfig: Configuration for client certificates on the
// cluster.
type ClientCertificateConfig struct {
// IssueClientCertificate: Issue a client certificate.
IssueClientCertificate bool `json:"issueClientCertificate,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "IssueClientCertificate") to unconditionally include in API requests.
// By default, fields with empty values are omitted from API requests.
// However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "IssueClientCertificate")
// to include in API requests with the JSON null value. By default,
// fields with empty values are omitted from API requests. However, any
// field with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ClientCertificateConfig) MarshalJSON() ([]byte, error) {
type NoMethod ClientCertificateConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Cluster: A Google Kubernetes Engine cluster.
type Cluster struct {
// AddonsConfig: Configurations for the various addons available to run
// in the cluster.
AddonsConfig *AddonsConfig `json:"addonsConfig,omitempty"`
// ClusterIpv4Cidr: The IP address range of the container pods in this
// cluster,
// in
// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
//
// notation (e.g. `10.96.0.0/14`). Leave blank to have
// one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
ClusterIpv4Cidr string `json:"clusterIpv4Cidr,omitempty"`
// Conditions: Which conditions caused the current cluster state.
Conditions []*StatusCondition `json:"conditions,omitempty"`
// CreateTime: [Output only] The time the cluster was created,
// in
// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
CreateTime string `json:"createTime,omitempty"`
// CurrentMasterVersion: [Output only] The current software version of
// the master endpoint.
CurrentMasterVersion string `json:"currentMasterVersion,omitempty"`
// CurrentNodeCount: [Output only] The number of nodes currently in the
// cluster. Deprecated.
// Call Kubernetes API directly to retrieve node information.
CurrentNodeCount int64 `json:"currentNodeCount,omitempty"`
// CurrentNodeVersion: [Output only] Deprecated,
// use
// [NodePool.version](/kubernetes-engine/docs/reference/rest/v1/proje
// cts.zones.clusters.nodePool)
// instead. The current version of the node software components. If they
// are
// currently at multiple versions because they're in the process of
// being
// upgraded, this reflects the minimum version of all nodes.
CurrentNodeVersion string `json:"currentNodeVersion,omitempty"`
// Description: An optional description of this cluster.
Description string `json:"description,omitempty"`
// EnableKubernetesAlpha: Kubernetes alpha features are enabled on this
// cluster. This includes alpha
// API groups (e.g. v1alpha1) and features that may not be production
// ready in
// the kubernetes version of the master and nodes.
// The cluster has no SLA for uptime and master/node upgrades are
// disabled.
// Alpha enabled clusters are automatically deleted thirty days
// after
// creation.
EnableKubernetesAlpha bool `json:"enableKubernetesAlpha,omitempty"`
// Endpoint: [Output only] The IP address of this cluster's master
// endpoint.
// The endpoint can be accessed from the internet
// at
// `https://username:password@endpoint/`.
//
// See the `masterAuth` property of this resource for username
// and
// password information.
Endpoint string `json:"endpoint,omitempty"`
// ExpireTime: [Output only] The time the cluster will be
// automatically
// deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text
// format.
ExpireTime string `json:"expireTime,omitempty"`
// InitialClusterVersion: The initial Kubernetes version for this
// cluster. Valid versions are those
// found in validMasterVersions returned by getServerConfig. The
// version can
// be upgraded over time; such upgrades are reflected
// in
// currentMasterVersion and currentNodeVersion.
//
// Users may specify either explicit versions offered by
// Kubernetes Engine or version aliases, which have the following
// behavior:
//
// - "latest": picks the highest valid Kubernetes version
// - "1.X": picks the highest valid patch+gke.N patch in the 1.X
// version
// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
// - "1.X.Y-gke.N": picks an explicit Kubernetes version
// - "","-": picks the default Kubernetes version
InitialClusterVersion string `json:"initialClusterVersion,omitempty"`
// InitialNodeCount: The number of nodes to create in this cluster. You
// must ensure that your
// Compute Engine <a href="/compute/docs/resource-quotas">resource
// quota</a>
// is sufficient for this number of instances. You must also have
// available
// firewall and routes quota.
// For requests, this field should only be used in lieu of a
// "node_pool" object, since this configuration (along with
// the
// "node_config") will be used to create a "NodePool" object with
// an
// auto-generated name. Do not use this and a node_pool at the same
// time.
InitialNodeCount int64 `json:"initialNodeCount,omitempty"`
// InstanceGroupUrls: Deprecated. Use node_pools.instance_group_urls.
InstanceGroupUrls []string `json:"instanceGroupUrls,omitempty"`
// IpAllocationPolicy: Configuration for cluster IP allocation.
IpAllocationPolicy *IPAllocationPolicy `json:"ipAllocationPolicy,omitempty"`
// LabelFingerprint: The fingerprint of the set of labels for this
// cluster.
LabelFingerprint string `json:"labelFingerprint,omitempty"`
// LegacyAbac: Configuration for the legacy ABAC authorization mode.
LegacyAbac *LegacyAbac `json:"legacyAbac,omitempty"`
// Location: [Output only] The name of the Google Compute
// Engine
// [zone](/compute/docs/regions-zones/regions-zones#available)
// or
// [region](/compute/docs/regions-zones/regions-zones#available) in
// which
// the cluster resides.
Location string `json:"location,omitempty"`
// Locations: The list of Google Compute
// Engine
// [zones](/compute/docs/zones#available) in which the cluster's
// nodes
// should be located.
Locations []string `json:"locations,omitempty"`
// LoggingService: The logging service the cluster should use to write
// logs.
// Currently available options:
//
// * `logging.googleapis.com` - the Google Cloud Logging service.
// * `none` - no logs will be exported from the cluster.
// * if left as an empty string,`logging.googleapis.com` will be used.
LoggingService string `json:"loggingService,omitempty"`
// MaintenancePolicy: Configure the maintenance policy for this cluster.
MaintenancePolicy *MaintenancePolicy `json:"maintenancePolicy,omitempty"`
// MasterAuth: The authentication information for accessing the master
// endpoint.
// If unspecified, the defaults are used:
// For clusters before v1.12, if master_auth is unspecified, `username`
// will
// be set to "admin", a random password will be generated, and a
// client
// certificate will be issued.
MasterAuth *MasterAuth `json:"masterAuth,omitempty"`
// MasterAuthorizedNetworksConfig: The configuration options for master
// authorized networks feature.
MasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `json:"masterAuthorizedNetworksConfig,omitempty"`
// MonitoringService: The monitoring service the cluster should use to
// write metrics.
// Currently available options:
//
// * `monitoring.googleapis.com` - the Google Cloud Monitoring
// service.
// * `none` - no metrics will be exported from the cluster.
// * if left as an empty string, `monitoring.googleapis.com` will be
// used.
MonitoringService string `json:"monitoringService,omitempty"`
// Name: The name of this cluster. The name must be unique within this
// project
// and zone, and can be up to 40 characters with the following
// restrictions:
//
// * Lowercase letters, numbers, and hyphens only.
// * Must start with a letter.
// * Must end with a number or a letter.
Name string `json:"name,omitempty"`
// Network: The name of the Google Compute
// Engine
// [network](/compute/docs/networks-and-firewalls#networks) to which
// the
// cluster is connected. If left unspecified, the `default` network
// will be used.
Network string `json:"network,omitempty"`
// NetworkConfig: Configuration for cluster networking.
NetworkConfig *NetworkConfig `json:"networkConfig,omitempty"`
// NetworkPolicy: Configuration options for the NetworkPolicy feature.
NetworkPolicy *NetworkPolicy `json:"networkPolicy,omitempty"`
// NodeConfig: Parameters used in creating the cluster's nodes.
// See `nodeConfig` for the description of its properties.
// For requests, this field should only be used in lieu of a
// "node_pool" object, since this configuration (along with
// the
// "initial_node_count") will be used to create a "NodePool" object with
// an
// auto-generated name. Do not use this and a node_pool at the same
// time.
// For responses, this field will be populated with the node
// configuration of
// the first node pool.
//
// If unspecified, the defaults are used.
NodeConfig *NodeConfig `json:"nodeConfig,omitempty"`
// NodeIpv4CidrSize: [Output only] The size of the address space on each
// node for hosting
// containers. This is provisioned from within the
// `container_ipv4_cidr`
// range.
NodeIpv4CidrSize int64 `json:"nodeIpv4CidrSize,omitempty"`
// NodePools: The node pools associated with this cluster.
// This field should not be set if "node_config" or "initial_node_count"
// are
// specified.
NodePools []*NodePool `json:"nodePools,omitempty"`
// PrivateClusterConfig: Configuration for private cluster.
PrivateClusterConfig *PrivateClusterConfig `json:"privateClusterConfig,omitempty"`
// ResourceLabels: The resource labels for the cluster to use to
// annotate any related
// Google Compute Engine resources.
ResourceLabels map[string]string `json:"resourceLabels,omitempty"`
// SelfLink: [Output only] Server-defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
// ServicesIpv4Cidr: [Output only] The IP address range of the
// Kubernetes services in
// this cluster,
// in
// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
//
// notation (e.g. `1.2.3.4/29`). Service addresses are
// typically put in the last `/16` from the container CIDR.
ServicesIpv4Cidr string `json:"servicesIpv4Cidr,omitempty"`
// Status: [Output only] The current status of this cluster.
//
// Possible values:
// "STATUS_UNSPECIFIED" - Not set.
// "PROVISIONING" - The PROVISIONING state indicates the cluster is
// being created.
// "RUNNING" - The RUNNING state indicates the cluster has been
// created and is fully
// usable.
// "RECONCILING" - The RECONCILING state indicates that some work is
// actively being done on
// the cluster, such as upgrading the master or node software. Details
// can
// be found in the `statusMessage` field.
// "STOPPING" - The STOPPING state indicates the cluster is being
// deleted.
// "ERROR" - The ERROR state indicates the cluster may be unusable.
// Details
// can be found in the `statusMessage` field.
// "DEGRADED" - The DEGRADED state indicates the cluster requires user
// action to restore
// full functionality. Details can be found in the `statusMessage`
// field.
Status string `json:"status,omitempty"`
// StatusMessage: [Output only] Additional information about the current
// status of this
// cluster, if available.
StatusMessage string `json:"statusMessage,omitempty"`
// Subnetwork: The name of the Google Compute
// Engine
// [subnetwork](/compute/docs/subnetworks) to which the
// cluster is connected.
Subnetwork string `json:"subnetwork,omitempty"`
// Zone: [Output only] The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the
// cluster
// resides.
// This field is deprecated, use location instead.
Zone string `json:"zone,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AddonsConfig") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AddonsConfig") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Cluster) MarshalJSON() ([]byte, error) {
type NoMethod Cluster
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ClusterUpdate: ClusterUpdate describes an update to the cluster.
// Exactly one update can
// be applied to a cluster with each request, so at most one field can
// be
// provided.
type ClusterUpdate struct {
// DesiredAddonsConfig: Configurations for the various addons available
// to run in the cluster.
DesiredAddonsConfig *AddonsConfig `json:"desiredAddonsConfig,omitempty"`
// DesiredImageType: The desired image type for the node pool.
// NOTE: Set the "desired_node_pool" field as well.
DesiredImageType string `json:"desiredImageType,omitempty"`
// DesiredLocations: The desired list of Google Compute
// Engine
// [zones](/compute/docs/zones#available) in which the cluster's
// nodes
// should be located. Changing the locations a cluster is in will
// result
// in nodes being either created or removed from the cluster, depending
// on
// whether locations are being added or removed.
//
// This list must always include the cluster's primary zone.
DesiredLocations []string `json:"desiredLocations,omitempty"`
// DesiredMasterAuthorizedNetworksConfig: The desired configuration
// options for master authorized networks feature.
DesiredMasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `json:"desiredMasterAuthorizedNetworksConfig,omitempty"`
// DesiredMasterVersion: The Kubernetes version to change the master
// to.
//
// Users may specify either explicit versions offered by
// Kubernetes Engine or version aliases, which have the following
// behavior:
//
// - "latest": picks the highest valid Kubernetes version
// - "1.X": picks the highest valid patch+gke.N patch in the 1.X
// version
// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
// - "1.X.Y-gke.N": picks an explicit Kubernetes version
// - "-": picks the default Kubernetes version
DesiredMasterVersion string `json:"desiredMasterVersion,omitempty"`
// DesiredMonitoringService: The monitoring service the cluster should
// use to write metrics.
// Currently available options:
//
// * "monitoring.googleapis.com" - the Google Cloud Monitoring service
// * "none" - no metrics will be exported from the cluster
DesiredMonitoringService string `json:"desiredMonitoringService,omitempty"`
// DesiredNodePoolAutoscaling: Autoscaler configuration for the node
// pool specified in
// desired_node_pool_id. If there is only one pool in the
// cluster and desired_node_pool_id is not provided then
// the change applies to that single node pool.
DesiredNodePoolAutoscaling *NodePoolAutoscaling `json:"desiredNodePoolAutoscaling,omitempty"`
// DesiredNodePoolId: The node pool to be upgraded. This field is
// mandatory if
// "desired_node_version", "desired_image_family"
// or
// "desired_node_pool_autoscaling" is specified and there is more than
// one
// node pool on the cluster.
DesiredNodePoolId string `json:"desiredNodePoolId,omitempty"`
// DesiredNodeVersion: The Kubernetes version to change the nodes to
// (typically an
// upgrade).
//
// Users may specify either explicit versions offered by
// Kubernetes Engine or version aliases, which have the following
// behavior:
//
// - "latest": picks the highest valid Kubernetes version
// - "1.X": picks the highest valid patch+gke.N patch in the 1.X
// version
// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
// - "1.X.Y-gke.N": picks an explicit Kubernetes version
// - "-": picks the Kubernetes master version
DesiredNodeVersion string `json:"desiredNodeVersion,omitempty"`
// ForceSendFields is a list of field names (e.g. "DesiredAddonsConfig")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DesiredAddonsConfig") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ClusterUpdate) MarshalJSON() ([]byte, error) {
type NoMethod ClusterUpdate
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CompleteIPRotationRequest: CompleteIPRotationRequest moves the
// cluster master back into single-IP mode.
type CompleteIPRotationRequest struct {
// ClusterId: Deprecated. The name of the cluster.
// This field has been deprecated and replaced by the name field.
ClusterId string `json:"clusterId,omitempty"`
// Name: The name (project, location, cluster id) of the cluster to
// complete IP
// rotation. Specified in the format
// 'projects/*/locations/*/clusters/*'.
Name string `json:"name,omitempty"`
// ProjectId: Deprecated. The Google Developers Console [project ID or
// project
// number](https://developers.google.com/console/help/new/#projec
// tnumber).
// This field has been deprecated and replaced by the name field.
ProjectId string `json:"projectId,omitempty"`
// Zone: Deprecated. The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the
// cluster
// resides.
// This field has been deprecated and replaced by the name field.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CompleteIPRotationRequest) MarshalJSON() ([]byte, error) {
type NoMethod CompleteIPRotationRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CreateClusterRequest: CreateClusterRequest creates a cluster.
type CreateClusterRequest struct {
// Cluster: A
// [cluster
// resource](/container-engine/reference/rest/v1/projects.zones.
// clusters)
Cluster *Cluster `json:"cluster,omitempty"`
// Parent: The parent (project and location) where the cluster will be
// created.
// Specified in the format 'projects/*/locations/*'.
Parent string `json:"parent,omitempty"`
// ProjectId: 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.
ProjectId string `json:"projectId,omitempty"`
// Zone: Deprecated. The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the
// cluster
// resides.
// This field has been deprecated and replaced by the parent field.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "Cluster") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Cluster") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CreateClusterRequest) MarshalJSON() ([]byte, error) {
type NoMethod CreateClusterRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CreateNodePoolRequest: CreateNodePoolRequest creates a node pool for
// a cluster.
type CreateNodePoolRequest struct {
// ClusterId: Deprecated. The name of the cluster.
// This field has been deprecated and replaced by the parent field.
ClusterId string `json:"clusterId,omitempty"`
// NodePool: The node pool to create.
NodePool *NodePool `json:"nodePool,omitempty"`
// Parent: The parent (project, location, cluster id) where the node
// pool will be
// created. Specified in the format
// 'projects/*/locations/*/clusters/*'.
Parent string `json:"parent,omitempty"`
// ProjectId: Deprecated. The Google Developers Console [project ID or
// project
// number](https://developers.google.com/console/help/new/#projec
// tnumber).
// This field has been deprecated and replaced by the parent field.
ProjectId string `json:"projectId,omitempty"`
// Zone: Deprecated. The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the
// cluster
// resides.
// This field has been deprecated and replaced by the parent field.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CreateNodePoolRequest) MarshalJSON() ([]byte, error) {
type NoMethod CreateNodePoolRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DailyMaintenanceWindow: Time window specified for daily maintenance
// operations.
type DailyMaintenanceWindow struct {
// Duration: [Output only] Duration of the time window, automatically
// chosen to be
// smallest possible in the given scenario.
// Duration will be in
// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
// format "PTnHnMnS".
Duration string `json:"duration,omitempty"`
// StartTime: Time within the maintenance window to start the
// maintenance operations.
// Time format should be in
// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
// format "HH:MM”, where HH : [00-23] and MM : [00-59] GMT.
StartTime string `json:"startTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "Duration") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Duration") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DailyMaintenanceWindow) MarshalJSON() ([]byte, error) {
type NoMethod DailyMaintenanceWindow
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Empty: A generic empty message that you can re-use to avoid defining
// duplicated
// empty messages in your APIs. A typical example is to use it as the
// request
// or the response type of an API method. For instance:
//
// service Foo {
// rpc Bar(google.protobuf.Empty) returns
// (google.protobuf.Empty);
// }
//
// The JSON representation for `Empty` is empty JSON object `{}`.
type Empty struct {
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
}
// HorizontalPodAutoscaling: Configuration options for the horizontal
// pod autoscaling feature, which
// increases or decreases the number of replica pods a replication
// controller
// has based on the resource usage of the existing pods.
type HorizontalPodAutoscaling struct {
// Disabled: Whether the Horizontal Pod Autoscaling feature is enabled
// in the cluster.
// When enabled, it ensures that a Heapster pod is running in the
// cluster,
// which is also used by the Cloud Monitoring service.
Disabled bool `json:"disabled,omitempty"`
// ForceSendFields is a list of field names (e.g. "Disabled") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Disabled") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *HorizontalPodAutoscaling) MarshalJSON() ([]byte, error) {
type NoMethod HorizontalPodAutoscaling
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// HttpLoadBalancing: Configuration options for the HTTP (L7) load
// balancing controller addon,
// which makes it easy to set up HTTP load balancers for services in a
// cluster.
type HttpLoadBalancing struct {
// Disabled: Whether the HTTP Load Balancing controller is enabled in
// the cluster.
// When enabled, it runs a small pod in the cluster that manages the
// load
// balancers.
Disabled bool `json:"disabled,omitempty"`
// ForceSendFields is a list of field names (e.g. "Disabled") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Disabled") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *HttpLoadBalancing) MarshalJSON() ([]byte, error) {
type NoMethod HttpLoadBalancing
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// IPAllocationPolicy: Configuration for controlling how IPs are
// allocated in the cluster.
type IPAllocationPolicy struct {
// ClusterIpv4Cidr: This field is deprecated, use
// cluster_ipv4_cidr_block.
ClusterIpv4Cidr string `json:"clusterIpv4Cidr,omitempty"`
// ClusterIpv4CidrBlock: The IP address range for the cluster pod IPs.
// If this field is set, then
// `cluster.cluster_ipv4_cidr` must be left blank.
//
// This field is only applicable when `use_ip_aliases` is true.
//
// Set to blank to have a range chosen with the default size.
//
// Set to /netmask (e.g. `/14`) to have a range chosen with a
// specific
// netmask.
//
// Set to
// a
// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
//
// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks
// (e.g.
// `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific
// range
// to use.
ClusterIpv4CidrBlock string `json:"clusterIpv4CidrBlock,omitempty"`
// ClusterSecondaryRangeName: The name of the secondary range to be used
// for the cluster CIDR
// block. The secondary range will be used for pod IP
// addresses. This must be an existing secondary range associated
// with the cluster subnetwork.
//
// This field is only applicable with use_ip_aliases is true
// and
// create_subnetwork is false.
ClusterSecondaryRangeName string `json:"clusterSecondaryRangeName,omitempty"`
// CreateSubnetwork: Whether a new subnetwork will be created
// automatically for the cluster.
//
// This field is only applicable when `use_ip_aliases` is true.
CreateSubnetwork bool `json:"createSubnetwork,omitempty"`
// NodeIpv4Cidr: This field is deprecated, use node_ipv4_cidr_block.
NodeIpv4Cidr string `json:"nodeIpv4Cidr,omitempty"`
// NodeIpv4CidrBlock: The IP address range of the instance IPs in this
// cluster.
//
// This is applicable only if `create_subnetwork` is true.
//
// Set to blank to have a range chosen with the default size.
//
// Set to /netmask (e.g. `/14`) to have a range chosen with a
// specific
// netmask.
//
// Set to
// a
// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
//
// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks
// (e.g.
// `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific
// range
// to use.
NodeIpv4CidrBlock string `json:"nodeIpv4CidrBlock,omitempty"`
// ServicesIpv4Cidr: This field is deprecated, use
// services_ipv4_cidr_block.
ServicesIpv4Cidr string `json:"servicesIpv4Cidr,omitempty"`
// ServicesIpv4CidrBlock: The IP address range of the services IPs in
// this cluster. If blank, a range
// will be automatically chosen with the default size.
//
// This field is only applicable when `use_ip_aliases` is true.
//
// Set to blank to have a range chosen with the default size.
//
// Set to /netmask (e.g. `/14`) to have a range chosen with a
// specific
// netmask.
//
// Set to
// a
// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
//
// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks
// (e.g.
// `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific
// range
// to use.
ServicesIpv4CidrBlock string `json:"servicesIpv4CidrBlock,omitempty"`
// ServicesSecondaryRangeName: The name of the secondary range to be
// used as for the services
// CIDR block. The secondary range will be used for service
// ClusterIPs. This must be an existing secondary range associated
// with the cluster subnetwork.
//
// This field is only applicable with use_ip_aliases is true
// and
// create_subnetwork is false.
ServicesSecondaryRangeName string `json:"servicesSecondaryRangeName,omitempty"`
// SubnetworkName: A custom subnetwork name to be used if
// `create_subnetwork` is true. If
// this field is empty, then an automatic name will be chosen for the
// new
// subnetwork.
SubnetworkName string `json:"subnetworkName,omitempty"`
// UseIpAliases: Whether alias IPs will be used for pod IPs in the
// cluster.
UseIpAliases bool `json:"useIpAliases,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterIpv4Cidr") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterIpv4Cidr") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *IPAllocationPolicy) MarshalJSON() ([]byte, error) {
type NoMethod IPAllocationPolicy
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// KubernetesDashboard: Configuration for the Kubernetes Dashboard.
type KubernetesDashboard struct {
// Disabled: Whether the Kubernetes Dashboard is enabled for this
// cluster.
Disabled bool `json:"disabled,omitempty"`
// ForceSendFields is a list of field names (e.g. "Disabled") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Disabled") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *KubernetesDashboard) MarshalJSON() ([]byte, error) {
type NoMethod KubernetesDashboard
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// LegacyAbac: Configuration for the legacy Attribute Based Access
// Control authorization
// mode.
type LegacyAbac struct {
// Enabled: Whether the ABAC authorizer is enabled for this cluster.
// When enabled,
// identities in the system, including service accounts, nodes,
// and
// controllers, will have statically granted permissions beyond
// those
// provided by the RBAC configuration or IAM.
Enabled bool `json:"enabled,omitempty"`
// ForceSendFields is a list of field names (e.g. "Enabled") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Enabled") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *LegacyAbac) MarshalJSON() ([]byte, error) {
type NoMethod LegacyAbac
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListClustersResponse: ListClustersResponse is the result of
// ListClustersRequest.
type ListClustersResponse struct {
// Clusters: A list of clusters in the project in the specified zone,
// or
// across all ones.
Clusters []*Cluster `json:"clusters,omitempty"`
// MissingZones: If any zones are listed here, the list of clusters
// returned
// may be missing those zones.
MissingZones []string `json:"missingZones,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Clusters") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Clusters") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListClustersResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListClustersResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListNodePoolsResponse: ListNodePoolsResponse is the result of
// ListNodePoolsRequest.
type ListNodePoolsResponse struct {
// NodePools: A list of node pools for a cluster.
NodePools []*NodePool `json:"nodePools,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NodePools") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NodePools") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListNodePoolsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListNodePoolsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListOperationsResponse: ListOperationsResponse is the result of
// ListOperationsRequest.
type ListOperationsResponse struct {
// MissingZones: If any zones are listed here, the list of operations
// returned
// may be missing the operations from those zones.
MissingZones []string `json:"missingZones,omitempty"`
// Operations: A list of operations in the project in the specified
// zone.
Operations []*Operation `json:"operations,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "MissingZones") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "MissingZones") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListOperationsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MaintenancePolicy: MaintenancePolicy defines the maintenance policy
// to be used for the cluster.
type MaintenancePolicy struct {
// Window: Specifies the maintenance window in which maintenance may be
// performed.
Window *MaintenanceWindow `json:"window,omitempty"`
// ForceSendFields is a list of field names (e.g. "Window") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Window") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *MaintenancePolicy) MarshalJSON() ([]byte, error) {
type NoMethod MaintenancePolicy
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MaintenanceWindow: MaintenanceWindow defines the maintenance window
// to be used for the cluster.
type MaintenanceWindow struct {
// DailyMaintenanceWindow: DailyMaintenanceWindow specifies a daily
// maintenance operation window.
DailyMaintenanceWindow *DailyMaintenanceWindow `json:"dailyMaintenanceWindow,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "DailyMaintenanceWindow") to unconditionally include in API requests.
// By default, fields with empty values are omitted from API requests.
// However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DailyMaintenanceWindow")
// to include in API requests with the JSON null value. By default,
// fields with empty values are omitted from API requests. However, any
// field with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *MaintenanceWindow) MarshalJSON() ([]byte, error) {
type NoMethod MaintenanceWindow
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MasterAuth: The authentication information for accessing the master
// endpoint.
// Authentication can be done using HTTP basic auth or using
// client
// certificates.
type MasterAuth struct {
// ClientCertificate: [Output only] Base64-encoded public certificate
// used by clients to
// authenticate to the cluster endpoint.
ClientCertificate string `json:"clientCertificate,omitempty"`
// ClientCertificateConfig: Configuration for client certificate
// authentication on the cluster. For
// clusters before v1.12, if no configuration is specified, a
// client
// certificate is issued.
ClientCertificateConfig *ClientCertificateConfig `json:"clientCertificateConfig,omitempty"`
// ClientKey: [Output only] Base64-encoded private key used by clients
// to authenticate
// to the cluster endpoint.
ClientKey string `json:"clientKey,omitempty"`
// ClusterCaCertificate: [Output only] Base64-encoded public certificate
// that is the root of
// trust for the cluster.
ClusterCaCertificate string `json:"clusterCaCertificate,omitempty"`
// Password: The password to use for HTTP basic authentication to the
// master endpoint.
// Because the master endpoint is open to the Internet, you should
// create a
// strong password. If a password is provided for cluster creation,
// username
// must be non-empty.
Password string `json:"password,omitempty"`
// Username: The username to use for HTTP basic authentication to the
// master endpoint.
// For clusters v1.6.0 and later, basic authentication can be disabled
// by
// leaving username unspecified (or setting it to the empty string).
Username string `json:"username,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClientCertificate")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClientCertificate") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *MasterAuth) MarshalJSON() ([]byte, error) {
type NoMethod MasterAuth
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MasterAuthorizedNetworksConfig: Configuration options for the master
// authorized networks feature. Enabled
// master authorized networks will disallow all external traffic to
// access
// Kubernetes master through HTTPS except traffic from the given CIDR
// blocks,
// Google Compute Engine Public IPs and Google Prod IPs.
type MasterAuthorizedNetworksConfig struct {
// CidrBlocks: cidr_blocks define up to 10 external networks that could
// access
// Kubernetes master through HTTPS.
CidrBlocks []*CidrBlock `json:"cidrBlocks,omitempty"`
// Enabled: Whether or not master authorized networks is enabled.
Enabled bool `json:"enabled,omitempty"`
// ForceSendFields is a list of field names (e.g. "CidrBlocks") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CidrBlocks") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *MasterAuthorizedNetworksConfig) MarshalJSON() ([]byte, error) {
type NoMethod MasterAuthorizedNetworksConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// NetworkConfig: NetworkConfig reports the relative names of network &
// subnetwork.
type NetworkConfig struct {
// Network: Output only. The relative name of the Google Compute
// Engine
// network(/compute/docs/networks-and-firewalls#networks) to which
// the cluster is connected.
// Example: projects/my-project/global/networks/my-network
Network string `json:"network,omitempty"`
// Subnetwork: Output only. The relative name of the Google Compute
// Engine
// [subnetwork](/compute/docs/vpc) to which the cluster is
// connected.
// Example:
// projects/my-project/regions/us-central1/subnetworks/my-subnet
Subnetwork string `json:"subnetwork,omitempty"`
// ForceSendFields is a list of field names (e.g. "Network") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Network") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *NetworkConfig) MarshalJSON() ([]byte, error) {
type NoMethod NetworkConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// NetworkPolicy: Configuration options for the NetworkPolicy
// feature.
// https://kubernetes.io/docs/concepts/services-networking/netwo
// rkpolicies/
type NetworkPolicy struct {
// Enabled: Whether network policy is enabled on the cluster.
Enabled bool `json:"enabled,omitempty"`
// Provider: The selected network policy provider.
//
// Possible values:
// "PROVIDER_UNSPECIFIED" - Not set
// "CALICO" - Tigera (Calico Felix).
Provider string `json:"provider,omitempty"`
// ForceSendFields is a list of field names (e.g. "Enabled") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Enabled") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *NetworkPolicy) MarshalJSON() ([]byte, error) {
type NoMethod NetworkPolicy
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// NetworkPolicyConfig: Configuration for NetworkPolicy. This only
// tracks whether the addon
// is enabled or not on the Master, it does not track whether network
// policy
// is enabled for the nodes.
type NetworkPolicyConfig struct {
// Disabled: Whether NetworkPolicy is enabled for this cluster.
Disabled bool `json:"disabled,omitempty"`
// ForceSendFields is a list of field names (e.g. "Disabled") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Disabled") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *NetworkPolicyConfig) MarshalJSON() ([]byte, error) {
type NoMethod NetworkPolicyConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// NodeConfig: Parameters that describe the nodes in a cluster.
type NodeConfig struct {
// Accelerators: A list of hardware accelerators to be attached to each
// node.
// See https://cloud.google.com/compute/docs/gpus for more information
// about
// support for GPUs.
Accelerators []*AcceleratorConfig `json:"accelerators,omitempty"`
// DiskSizeGb: Size of the disk attached to each node, specified in
// GB.
// The smallest allowed disk size is 10GB.
//
// If unspecified, the default disk size is 100GB.
DiskSizeGb int64 `json:"diskSizeGb,omitempty"`
// DiskType: Type of the disk attached to each node (e.g. 'pd-standard'
// or 'pd-ssd')
//
// If unspecified, the default disk type is 'pd-standard'
DiskType string `json:"diskType,omitempty"`
// ImageType: The image type to use for this node. Note that for a given
// image type,
// the latest version of it will be used.
ImageType string `json:"imageType,omitempty"`
// Labels: The map of Kubernetes labels (key/value pairs) to be applied
// to each node.
// These will added in addition to any default label(s) that
// Kubernetes may apply to the node.
// In case of conflict in label keys, the applied set may differ
// depending on
// the Kubernetes version -- it's best to assume the behavior is
// undefined
// and conflicts should be avoided.
// For more information, including usage and the valid values,
// see:
// https://kubernetes.io/docs/concepts/overview/working-with-objects
// /labels/
Labels map[string]string `json:"labels,omitempty"`
// LocalSsdCount: The number of local SSD disks to be attached to the
// node.
//
// The limit for this value is dependant upon the maximum number
// of
// disks available on a machine per zone.
// See:
// https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_l
// imits
// for more information.
LocalSsdCount int64 `json:"localSsdCount,omitempty"`
// MachineType: The name of a Google Compute Engine
// [machine
// type](/compute/docs/machine-types) (e.g.
// `n1-standard-1`).
//
// If unspecified, the default machine type is
// `n1-standard-1`.
MachineType string `json:"machineType,omitempty"`
// Metadata: The metadata key/value pairs assigned to instances in the
// cluster.
//
// Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128
// bytes
// in length. These are reflected as part of a URL in the metadata
// server.
// Additionally, to avoid ambiguity, keys must not conflict with any
// other
// metadata keys for the project or be one of the reserved keys:
// "cluster-location"
// "cluster-name"
// "cluster-uid"
// "configure-sh"
// "enable-os-login"
// "gci-update-strategy"
// "gci-ensure-gke-docker"
// "instance-template"
// "kube-env"
// "startup-script"
// "user-data"
//
// Values are free-form strings, and only have meaning as interpreted
// by
// the image running in the instance. The only restriction placed on
// them is
// that each value's size must be less than or equal to 32 KB.
//
// The total size of all keys and values must be less than 512 KB.
Metadata map[string]string `json:"metadata,omitempty"`
// MinCpuPlatform: Minimum CPU platform to be used by this instance. The
// instance may be
// scheduled on the specified or newer CPU platform. Applicable values
// are the
// friendly names of CPU platforms, such as
// <code>minCpuPlatform: &quot;Intel Haswell&quot;</code>
// or
// <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For
// more
// information, read [how to specify min
// CPU
// platform](https://cloud.google.com/compute/docs/instances/specify-
// min-cpu-platform)
MinCpuPlatform string `json:"minCpuPlatform,omitempty"`
// OauthScopes: The set of Google API scopes to be made available on all
// of the
// node VMs under the "default" service account.
//
// The following scopes are recommended, but not required, and by
// default are
// not included:
//
// * `https://www.googleapis.com/auth/compute` is required for
// mounting
// persistent storage on your nodes.
// * `https://www.googleapis.com/auth/devstorage.read_only` is required
// for
// communicating with **gcr.io**
// (the [Google Container Registry](/container-registry/)).
//
// If unspecified, no scopes are added, unless Cloud Logging or
// Cloud
// Monitoring are enabled, in which case their required scopes will be
// added.
OauthScopes []string `json:"oauthScopes,omitempty"`
// Preemptible: Whether the nodes are created as preemptible VM
// instances.
// See:
// https://cloud.google.com/compute/docs/instances/preemptible for
// more
// information about preemptible VM instances.
Preemptible bool `json:"preemptible,omitempty"`
// ServiceAccount: The Google Cloud Platform Service Account to be used
// by the node VMs. If
// no Service Account is specified, the "default" service account is
// used.
ServiceAccount string `json:"serviceAccount,omitempty"`
// Tags: The list of instance tags applied to all nodes. Tags are used
// to identify
// valid sources or targets for network firewalls and are specified
// by
// the client during cluster or node pool creation. Each tag within the
// list
// must comply with RFC1035.
Tags []string `json:"tags,omitempty"`
// Taints: List of kubernetes taints to be applied to each node.
//
// For more information, including usage and the valid values,
// see:
// https://kubernetes.io/docs/concepts/configuration/taint-and-toler
// ation/
Taints []*NodeTaint `json:"taints,omitempty"`
// ForceSendFields is a list of field names (e.g. "Accelerators") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Accelerators") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *NodeConfig) MarshalJSON() ([]byte, error) {
type NoMethod NodeConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// NodeManagement: NodeManagement defines the set of node management
// services turned on for the
// node pool.
type NodeManagement struct {
// AutoRepair: A flag that specifies whether the node auto-repair is
// enabled for the node
// pool. If enabled, the nodes in this node pool will be monitored and,
// if
// they fail health checks too many times, an automatic repair action
// will be
// triggered.
AutoRepair bool `json:"autoRepair,omitempty"`
// AutoUpgrade: A flag that specifies whether node auto-upgrade is
// enabled for the node
// pool. If enabled, node auto-upgrade helps keep the nodes in your node
// pool
// up to date with the latest release version of Kubernetes.
AutoUpgrade bool `json:"autoUpgrade,omitempty"`
// UpgradeOptions: Specifies the Auto Upgrade knobs for the node pool.
UpgradeOptions *AutoUpgradeOptions `json:"upgradeOptions,omitempty"`
// ForceSendFields is a list of field names (e.g. "AutoRepair") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AutoRepair") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *NodeManagement) MarshalJSON() ([]byte, error) {
type NoMethod NodeManagement
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// NodePool: NodePool contains the name and configuration for a
// cluster's node pool.
// Node pools are a set of nodes (i.e. VM's), with a common
// configuration and
// specification, under the control of the cluster master. They may have
// a set
// of Kubernetes labels applied to them, which may be used to reference
// them
// during pod scheduling. They may also be resized up or down, to
// accommodate
// the workload.
type NodePool struct {
// Autoscaling: Autoscaler configuration for this NodePool. Autoscaler
// is enabled
// only if a valid configuration is present.
Autoscaling *NodePoolAutoscaling `json:"autoscaling,omitempty"`
// Conditions: Which conditions caused the current node pool state.
Conditions []*StatusCondition `json:"conditions,omitempty"`
// Config: The node configuration of the pool.
Config *NodeConfig `json:"config,omitempty"`
// InitialNodeCount: The initial node count for the pool. You must
// ensure that your
// Compute Engine <a href="/compute/docs/resource-quotas">resource
// quota</a>
// is sufficient for this number of instances. You must also have
// available
// firewall and routes quota.
InitialNodeCount int64 `json:"initialNodeCount,omitempty"`
// InstanceGroupUrls: [Output only] The resource URLs of the [managed
// instance
// groups](/compute/docs/instance-groups/creating-groups-of-mana
// ged-instances)
// associated with this node pool.
InstanceGroupUrls []string `json:"instanceGroupUrls,omitempty"`
// Management: NodeManagement configuration for this NodePool.
Management *NodeManagement `json:"management,omitempty"`
// Name: The name of the node pool.
Name string `json:"name,omitempty"`
// SelfLink: [Output only] Server-defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
// Status: [Output only] The status of the nodes in this pool instance.
//
// Possible values:
// "STATUS_UNSPECIFIED" - Not set.
// "PROVISIONING" - The PROVISIONING state indicates the node pool is
// being created.
// "RUNNING" - The RUNNING state indicates the node pool has been
// created
// and is fully usable.
// "RUNNING_WITH_ERROR" - The RUNNING_WITH_ERROR state indicates the
// node pool has been created
// and is partially usable. Some error state has occurred and
// some
// functionality may be impaired. Customer may need to reissue a
// request
// or trigger a new update.
// "RECONCILING" - The RECONCILING state indicates that some work is
// actively being done on
// the node pool, such as upgrading node software. Details can
// be found in the `statusMessage` field.
// "STOPPING" - The STOPPING state indicates the node pool is being
// deleted.
// "ERROR" - The ERROR state indicates the node pool may be unusable.
// Details
// can be found in the `statusMessage` field.
Status string `json:"status,omitempty"`
// StatusMessage: [Output only] Additional information about the current
// status of this
// node pool instance, if available.
StatusMessage string `json:"statusMessage,omitempty"`
// Version: The version of the Kubernetes of this node.
Version string `json:"version,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Autoscaling") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Autoscaling") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *NodePool) MarshalJSON() ([]byte, error) {
type NoMethod NodePool
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// NodePoolAutoscaling: NodePoolAutoscaling contains information
// required by cluster autoscaler to
// adjust the size of the node pool to the current cluster usage.
type NodePoolAutoscaling struct {
// Enabled: Is autoscaling enabled for this node pool.
Enabled bool `json:"enabled,omitempty"`
// MaxNodeCount: Maximum number of nodes in the NodePool. Must be >=
// min_node_count. There
// has to enough quota to scale up the cluster.
MaxNodeCount int64 `json:"maxNodeCount,omitempty"`
// MinNodeCount: Minimum number of nodes in the NodePool. Must be >= 1
// and <=
// max_node_count.
MinNodeCount int64 `json:"minNodeCount,omitempty"`
// ForceSendFields is a list of field names (e.g. "Enabled") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Enabled") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *NodePoolAutoscaling) MarshalJSON() ([]byte, error) {
type NoMethod NodePoolAutoscaling
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// NodeTaint: Kubernetes taint is comprised of three fields: key, value,
// and effect. Effect
// can only be one of three types: NoSchedule, PreferNoSchedule or
// NoExecute.
//
// For more information, including usage and the valid values,
// see:
// https://kubernetes.io/docs/concepts/configuration/taint-and-toler
// ation/
type NodeTaint struct {
// Effect: Effect for taint.
//
// Possible values:
// "EFFECT_UNSPECIFIED" - Not set
// "NO_SCHEDULE" - NoSchedule
// "PREFER_NO_SCHEDULE" - PreferNoSchedule
// "NO_EXECUTE" - NoExecute
Effect string `json:"effect,omitempty"`
// Key: Key for taint.
Key string `json:"key,omitempty"`
// Value: Value for taint.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Effect") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Effect") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *NodeTaint) MarshalJSON() ([]byte, error) {
type NoMethod NodeTaint
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Operation: This operation resource represents operations that may
// have happened or are
// happening on the cluster. All fields are output only.
type Operation struct {
// ClusterConditions: Which conditions caused the current cluster state.
ClusterConditions []*StatusCondition `json:"clusterConditions,omitempty"`
// Detail: Detailed operation progress, if available.
Detail string `json:"detail,omitempty"`
// EndTime: [Output only] The time the operation completed,
// in
// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
EndTime string `json:"endTime,omitempty"`
// Location: [Output only] The name of the Google Compute
// Engine
// [zone](/compute/docs/regions-zones/regions-zones#available)
// or
// [region](/compute/docs/regions-zones/regions-zones#available) in
// which
// the cluster resides.
Location string `json:"location,omitempty"`
// Name: The server-assigned ID for the operation.
Name string `json:"name,omitempty"`
// NodepoolConditions: Which conditions caused the current node pool
// state.
NodepoolConditions []*StatusCondition `json:"nodepoolConditions,omitempty"`
// OperationType: The operation type.
//
// Possible values:
// "TYPE_UNSPECIFIED" - Not set.
// "CREATE_CLUSTER" - Cluster create.
// "DELETE_CLUSTER" - Cluster delete.
// "UPGRADE_MASTER" - A master upgrade.
// "UPGRADE_NODES" - A node upgrade.
// "REPAIR_CLUSTER" - Cluster repair.
// "UPDATE_CLUSTER" - Cluster update.
// "CREATE_NODE_POOL" - Node pool create.
// "DELETE_NODE_POOL" - Node pool delete.
// "SET_NODE_POOL_MANAGEMENT" - Set node pool management.
// "AUTO_REPAIR_NODES" - Automatic node pool repair.
// "AUTO_UPGRADE_NODES" - Automatic node upgrade.
// "SET_LABELS" - Set labels.
// "SET_MASTER_AUTH" - Set/generate master auth materials
// "SET_NODE_POOL_SIZE" - Set node pool size.
// "SET_NETWORK_POLICY" - Updates network policy for a cluster.
// "SET_MAINTENANCE_POLICY" - Set the maintenance policy.
OperationType string `json:"operationType,omitempty"`
// SelfLink: Server-defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
// StartTime: [Output only] The time the operation started,
// in
// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
StartTime string `json:"startTime,omitempty"`
// Status: The current status of the operation.
//
// Possible values:
// "STATUS_UNSPECIFIED" - Not set.
// "PENDING" - The operation has been created.
// "RUNNING" - The operation is currently running.
// "DONE" - The operation is done, either cancelled or completed.
// "ABORTING" - The operation is aborting.
Status string `json:"status,omitempty"`
// StatusMessage: If an error has occurred, a textual description of the
// error.
StatusMessage string `json:"statusMessage,omitempty"`
// TargetLink: Server-defined URL for the target of the operation.
TargetLink string `json:"targetLink,omitempty"`
// Zone: The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the operation
// is taking place.
// This field is deprecated, use location instead.
Zone string `json:"zone,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ClusterConditions")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterConditions") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *Operation) MarshalJSON() ([]byte, error) {
type NoMethod Operation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// PrivateClusterConfig: Configuration options for private clusters.
type PrivateClusterConfig struct {
// EnablePrivateEndpoint: Whether the master's internal IP address is
// used as the cluster endpoint.
EnablePrivateEndpoint bool `json:"enablePrivateEndpoint,omitempty"`
// EnablePrivateNodes: Whether nodes have internal IP addresses only. If
// enabled, all nodes are
// given only RFC 1918 private addresses and communicate with the master
// via
// private networking.
EnablePrivateNodes bool `json:"enablePrivateNodes,omitempty"`
// MasterIpv4CidrBlock: The IP range in CIDR notation to use for the
// hosted master network. This
// range will be used for assigning internal IP addresses to the master
// or
// set of masters, as well as the ILB VIP. This range must not overlap
// with
// any other ranges in use within the cluster's network.
MasterIpv4CidrBlock string `json:"masterIpv4CidrBlock,omitempty"`
// PrivateEndpoint: Output only. The internal IP address of this
// cluster's master endpoint.
PrivateEndpoint string `json:"privateEndpoint,omitempty"`
// PublicEndpoint: Output only. The external IP address of this
// cluster's master endpoint.
PublicEndpoint string `json:"publicEndpoint,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "EnablePrivateEndpoint") to unconditionally include in API requests.
// By default, fields with empty values are omitted from API requests.
// However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "EnablePrivateEndpoint") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *PrivateClusterConfig) MarshalJSON() ([]byte, error) {
type NoMethod PrivateClusterConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RollbackNodePoolUpgradeRequest: RollbackNodePoolUpgradeRequest
// rollbacks the previously Aborted or Failed
// NodePool upgrade. This will be an no-op if the last upgrade
// successfully
// completed.
type RollbackNodePoolUpgradeRequest struct {
// ClusterId: Deprecated. The name of the cluster to rollback.
// This field has been deprecated and replaced by the name field.
ClusterId string `json:"clusterId,omitempty"`
// Name: The name (project, location, cluster, node pool id) of the node
// poll to
// rollback upgrade.
// Specified in the format
// 'projects/*/locations/*/clusters/*/nodePools/*'.
Name string `json:"name,omitempty"`
// NodePoolId: Deprecated. The name of the node pool to rollback.
// This field has been deprecated and replaced by the name field.
NodePoolId string `json:"nodePoolId,omitempty"`
// ProjectId: 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.
ProjectId string `json:"projectId,omitempty"`
// Zone: Deprecated. The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the
// cluster
// resides.
// This field has been deprecated and replaced by the name field.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *RollbackNodePoolUpgradeRequest) MarshalJSON() ([]byte, error) {
type NoMethod RollbackNodePoolUpgradeRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ServerConfig: Kubernetes Engine service configuration.
type ServerConfig struct {
// DefaultClusterVersion: Version of Kubernetes the service deploys by
// default.
DefaultClusterVersion string `json:"defaultClusterVersion,omitempty"`
// DefaultImageType: Default image type.
DefaultImageType string `json:"defaultImageType,omitempty"`
// ValidImageTypes: List of valid image types.
ValidImageTypes []string `json:"validImageTypes,omitempty"`
// ValidMasterVersions: List of valid master versions.
ValidMasterVersions []string `json:"validMasterVersions,omitempty"`
// ValidNodeVersions: List of valid node upgrade target versions.
ValidNodeVersions []string `json:"validNodeVersions,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g.
// "DefaultClusterVersion") to unconditionally include in API requests.
// By default, fields with empty values are omitted from API requests.
// However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DefaultClusterVersion") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ServerConfig) MarshalJSON() ([]byte, error) {
type NoMethod ServerConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SetAddonsConfigRequest: SetAddonsConfigRequest sets the addons
// associated with the cluster.
type SetAddonsConfigRequest struct {
// AddonsConfig: The desired configurations for the various addons
// available to run in the
// cluster.
AddonsConfig *AddonsConfig `json:"addonsConfig,omitempty"`
// ClusterId: Deprecated. The name of the cluster to upgrade.
// This field has been deprecated and replaced by the name field.
ClusterId string `json:"clusterId,omitempty"`
// Name: The name (project, location, cluster) of the cluster to set
// addons.
// Specified in the format 'projects/*/locations/*/clusters/*'.
Name string `json:"name,omitempty"`
// ProjectId: 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.
ProjectId string `json:"projectId,omitempty"`
// Zone: Deprecated. The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the
// cluster
// resides.
// This field has been deprecated and replaced by the name field.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "AddonsConfig") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AddonsConfig") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SetAddonsConfigRequest) MarshalJSON() ([]byte, error) {
type NoMethod SetAddonsConfigRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SetLabelsRequest: SetLabelsRequest sets the Google Cloud Platform
// labels on a Google Container
// Engine cluster, which will in turn set them for Google Compute
// Engine
// resources used by that cluster
type SetLabelsRequest struct {
// ClusterId: Deprecated. The name of the cluster.
// This field has been deprecated and replaced by the name field.
ClusterId string `json:"clusterId,omitempty"`
// LabelFingerprint: The fingerprint of the previous set of labels for
// this resource,
// used to detect conflicts. The fingerprint is initially generated
// by
// Kubernetes Engine and changes after every request to modify or
// update
// labels. You must always provide an up-to-date fingerprint hash
// when
// updating or changing labels. Make a <code>get()</code> request to
// the
// resource to get the latest fingerprint.
LabelFingerprint string `json:"labelFingerprint,omitempty"`
// Name: The name (project, location, cluster id) of the cluster to set
// labels.
// Specified in the format 'projects/*/locations/*/clusters/*'.
Name string `json:"name,omitempty"`
// ProjectId: Deprecated. The Google Developers Console [project ID or
// project
// number](https://developers.google.com/console/help/new/#projec
// tnumber).
// This field has been deprecated and replaced by the name field.
ProjectId string `json:"projectId,omitempty"`
// ResourceLabels: The labels to set for that cluster.
ResourceLabels map[string]string `json:"resourceLabels,omitempty"`
// Zone: Deprecated. The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the
// cluster
// resides.
// This field has been deprecated and replaced by the name field.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SetLabelsRequest) MarshalJSON() ([]byte, error) {
type NoMethod SetLabelsRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SetLegacyAbacRequest: SetLegacyAbacRequest enables or disables the
// ABAC authorization mechanism for
// a cluster.
type SetLegacyAbacRequest struct {
// ClusterId: Deprecated. The name of the cluster to update.
// This field has been deprecated and replaced by the name field.
ClusterId string `json:"clusterId,omitempty"`
// Enabled: Whether ABAC authorization will be enabled in the cluster.
Enabled bool `json:"enabled,omitempty"`
// Name: The name (project, location, cluster id) of the cluster to set
// legacy abac.
// Specified in the format 'projects/*/locations/*/clusters/*'.
Name string `json:"name,omitempty"`
// ProjectId: 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.
ProjectId string `json:"projectId,omitempty"`
// Zone: Deprecated. The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the
// cluster
// resides.
// This field has been deprecated and replaced by the name field.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SetLegacyAbacRequest) MarshalJSON() ([]byte, error) {
type NoMethod SetLegacyAbacRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SetLocationsRequest: SetLocationsRequest sets the locations of the
// cluster.
type SetLocationsRequest struct {
// ClusterId: Deprecated. The name of the cluster to upgrade.
// This field has been deprecated and replaced by the name field.
ClusterId string `json:"clusterId,omitempty"`
// Locations: The desired list of Google Compute
// Engine
// [zones](/compute/docs/zones#available) in which the cluster's
// nodes
// should be located. Changing the locations a cluster is in will
// result
// in nodes being either created or removed from the cluster, depending
// on
// whether locations are being added or removed.
//
// This list must always include the cluster's primary zone.
Locations []string `json:"locations,omitempty"`
// Name: The name (project, location, cluster) of the cluster to set
// locations.
// Specified in the format 'projects/*/locations/*/clusters/*'.
Name string `json:"name,omitempty"`
// ProjectId: 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.
ProjectId string `json:"projectId,omitempty"`
// Zone: Deprecated. The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the
// cluster
// resides.
// This field has been deprecated and replaced by the name field.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SetLocationsRequest) MarshalJSON() ([]byte, error) {
type NoMethod SetLocationsRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SetLoggingServiceRequest: SetLoggingServiceRequest sets the logging
// service of a cluster.
type SetLoggingServiceRequest struct {
// ClusterId: Deprecated. The name of the cluster to upgrade.
// This field has been deprecated and replaced by the name field.
ClusterId string `json:"clusterId,omitempty"`
// LoggingService: The logging service the cluster should use to write
// metrics.
// Currently available options:
//
// * "logging.googleapis.com" - the Google Cloud Logging service
// * "none" - no metrics will be exported from the cluster
LoggingService string `json:"loggingService,omitempty"`
// Name: The name (project, location, cluster) of the cluster to set
// logging.
// Specified in the format 'projects/*/locations/*/clusters/*'.
Name string `json:"name,omitempty"`
// ProjectId: 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.
ProjectId string `json:"projectId,omitempty"`
// Zone: Deprecated. The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the
// cluster
// resides.
// This field has been deprecated and replaced by the name field.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SetLoggingServiceRequest) MarshalJSON() ([]byte, error) {
type NoMethod SetLoggingServiceRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SetMaintenancePolicyRequest: SetMaintenancePolicyRequest sets the
// maintenance policy for a cluster.
type SetMaintenancePolicyRequest struct {
// ClusterId: The name of the cluster to update.
ClusterId string `json:"clusterId,omitempty"`
// MaintenancePolicy: The maintenance policy to be set for the cluster.
// An empty field
// clears the existing maintenance policy.
MaintenancePolicy *MaintenancePolicy `json:"maintenancePolicy,omitempty"`
// Name: The name (project, location, cluster id) of the cluster to set
// maintenance
// policy.
// Specified in the format 'projects/*/locations/*/clusters/*'.
Name string `json:"name,omitempty"`
// ProjectId: The Google Developers Console [project ID or
// project
// number](https://support.google.com/cloud/answer/6158840).
ProjectId string `json:"projectId,omitempty"`
// Zone: The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the cluster
// resides.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SetMaintenancePolicyRequest) MarshalJSON() ([]byte, error) {
type NoMethod SetMaintenancePolicyRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SetMasterAuthRequest: SetMasterAuthRequest updates the admin password
// of a cluster.
type SetMasterAuthRequest struct {
// Action: The exact form of action to be taken on the master auth.
//
// Possible values:
// "UNKNOWN" - Operation is unknown and will error out.
// "SET_PASSWORD" - Set the password to a user generated value.
// "GENERATE_PASSWORD" - Generate a new password and set it to that.
// "SET_USERNAME" - Set the username. If an empty username is
// provided, basic authentication
// is disabled for the cluster. If a non-empty username is provided,
// basic
// authentication is enabled, with either a provided password or a
// generated
// one.
Action string `json:"action,omitempty"`
// ClusterId: Deprecated. The name of the cluster to upgrade.
// This field has been deprecated and replaced by the name field.
ClusterId string `json:"clusterId,omitempty"`
// Name: The name (project, location, cluster) of the cluster to set
// auth.
// Specified in the format 'projects/*/locations/*/clusters/*'.
Name string `json:"name,omitempty"`
// ProjectId: 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.
ProjectId string `json:"projectId,omitempty"`
// Update: A description of the update.
Update *MasterAuth `json:"update,omitempty"`
// Zone: Deprecated. The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the
// cluster
// resides.
// This field has been deprecated and replaced by the name field.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "Action") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Action") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SetMasterAuthRequest) MarshalJSON() ([]byte, error) {
type NoMethod SetMasterAuthRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SetMonitoringServiceRequest: SetMonitoringServiceRequest sets the
// monitoring service of a cluster.
type SetMonitoringServiceRequest struct {
// ClusterId: Deprecated. The name of the cluster to upgrade.
// This field has been deprecated and replaced by the name field.
ClusterId string `json:"clusterId,omitempty"`
// MonitoringService: The monitoring service the cluster should use to
// write metrics.
// Currently available options:
//
// * "monitoring.googleapis.com" - the Google Cloud Monitoring service
// * "none" - no metrics will be exported from the cluster
MonitoringService string `json:"monitoringService,omitempty"`
// Name: The name (project, location, cluster) of the cluster to set
// monitoring.
// Specified in the format 'projects/*/locations/*/clusters/*'.
Name string `json:"name,omitempty"`
// ProjectId: 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.
ProjectId string `json:"projectId,omitempty"`
// Zone: Deprecated. The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the
// cluster
// resides.
// This field has been deprecated and replaced by the name field.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SetMonitoringServiceRequest) MarshalJSON() ([]byte, error) {
type NoMethod SetMonitoringServiceRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SetNetworkPolicyRequest: SetNetworkPolicyRequest enables/disables
// network policy for a cluster.
type SetNetworkPolicyRequest struct {
// ClusterId: Deprecated. The name of the cluster.
// This field has been deprecated and replaced by the name field.
ClusterId string `json:"clusterId,omitempty"`
// Name: The name (project, location, cluster id) of the cluster to set
// networking
// policy. Specified in the format 'projects/*/locations/*/clusters/*'.
Name string `json:"name,omitempty"`
// NetworkPolicy: Configuration options for the NetworkPolicy feature.
NetworkPolicy *NetworkPolicy `json:"networkPolicy,omitempty"`
// ProjectId: Deprecated. The Google Developers Console [project ID or
// project
// number](https://developers.google.com/console/help/new/#projec
// tnumber).
// This field has been deprecated and replaced by the name field.
ProjectId string `json:"projectId,omitempty"`
// Zone: Deprecated. The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the
// cluster
// resides.
// This field has been deprecated and replaced by the name field.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SetNetworkPolicyRequest) MarshalJSON() ([]byte, error) {
type NoMethod SetNetworkPolicyRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SetNodePoolAutoscalingRequest: SetNodePoolAutoscalingRequest sets the
// autoscaler settings of a node pool.
type SetNodePoolAutoscalingRequest struct {
// Autoscaling: Autoscaling configuration for the node pool.
Autoscaling *NodePoolAutoscaling `json:"autoscaling,omitempty"`
// ClusterId: Deprecated. The name of the cluster to upgrade.
// This field has been deprecated and replaced by the name field.
ClusterId string `json:"clusterId,omitempty"`
// Name: The name (project, location, cluster, node pool) of the node
// pool to set
// autoscaler settings. Specified in the
// format
// 'projects/*/locations/*/clusters/*/nodePools/*'.
Name string `json:"name,omitempty"`
// NodePoolId: Deprecated. The name of the node pool to upgrade.
// This field has been deprecated and replaced by the name field.
NodePoolId string `json:"nodePoolId,omitempty"`
// ProjectId: 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.
ProjectId string `json:"projectId,omitempty"`
// Zone: Deprecated. The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the
// cluster
// resides.
// This field has been deprecated and replaced by the name field.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "Autoscaling") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Autoscaling") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SetNodePoolAutoscalingRequest) MarshalJSON() ([]byte, error) {
type NoMethod SetNodePoolAutoscalingRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SetNodePoolManagementRequest: SetNodePoolManagementRequest sets the
// node management properties of a node
// pool.
type SetNodePoolManagementRequest struct {
// ClusterId: Deprecated. The name of the cluster to update.
// This field has been deprecated and replaced by the name field.
ClusterId string `json:"clusterId,omitempty"`
// Management: NodeManagement configuration for the node pool.
Management *NodeManagement `json:"management,omitempty"`
// Name: The name (project, location, cluster, node pool id) of the node
// pool to set
// management properties. Specified in the
// format
// 'projects/*/locations/*/clusters/*/nodePools/*'.
Name string `json:"name,omitempty"`
// NodePoolId: Deprecated. The name of the node pool to update.
// This field has been deprecated and replaced by the name field.
NodePoolId string `json:"nodePoolId,omitempty"`
// ProjectId: 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.
ProjectId string `json:"projectId,omitempty"`
// Zone: Deprecated. The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the
// cluster
// resides.
// This field has been deprecated and replaced by the name field.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SetNodePoolManagementRequest) MarshalJSON() ([]byte, error) {
type NoMethod SetNodePoolManagementRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SetNodePoolSizeRequest: SetNodePoolSizeRequest sets the size a
// node
// pool.
type SetNodePoolSizeRequest struct {
// ClusterId: Deprecated. The name of the cluster to update.
// This field has been deprecated and replaced by the name field.
ClusterId string `json:"clusterId,omitempty"`
// Name: The name (project, location, cluster, node pool id) of the node
// pool to set
// size.
// Specified in the format
// 'projects/*/locations/*/clusters/*/nodePools/*'.
Name string `json:"name,omitempty"`
// NodeCount: The desired node count for the pool.
NodeCount int64 `json:"nodeCount,omitempty"`
// NodePoolId: Deprecated. The name of the node pool to update.
// This field has been deprecated and replaced by the name field.
NodePoolId string `json:"nodePoolId,omitempty"`
// ProjectId: 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.
ProjectId string `json:"projectId,omitempty"`
// Zone: Deprecated. The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the
// cluster
// resides.
// This field has been deprecated and replaced by the name field.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SetNodePoolSizeRequest) MarshalJSON() ([]byte, error) {
type NoMethod SetNodePoolSizeRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// StartIPRotationRequest: StartIPRotationRequest creates a new IP for
// the cluster and then performs
// a node upgrade on each node pool to point to the new IP.
type StartIPRotationRequest struct {
// ClusterId: Deprecated. The name of the cluster.
// This field has been deprecated and replaced by the name field.
ClusterId string `json:"clusterId,omitempty"`
// Name: The name (project, location, cluster id) of the cluster to
// start IP
// rotation. Specified in the format
// 'projects/*/locations/*/clusters/*'.
Name string `json:"name,omitempty"`
// ProjectId: Deprecated. The Google Developers Console [project ID or
// project
// number](https://developers.google.com/console/help/new/#projec
// tnumber).
// This field has been deprecated and replaced by the name field.
ProjectId string `json:"projectId,omitempty"`
// RotateCredentials: Whether to rotate credentials during IP rotation.
RotateCredentials bool `json:"rotateCredentials,omitempty"`
// Zone: Deprecated. The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the
// cluster
// resides.
// This field has been deprecated and replaced by the name field.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *StartIPRotationRequest) MarshalJSON() ([]byte, error) {
type NoMethod StartIPRotationRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// StatusCondition: StatusCondition describes why a cluster or a node
// pool has a certain status
// (e.g., ERROR or DEGRADED).
type StatusCondition struct {
// Code: Machine-friendly representation of the condition
//
// Possible values:
// "UNKNOWN" - UNKNOWN indicates a generic condition.
// "GCE_STOCKOUT" - GCE_STOCKOUT indicates a Google Compute Engine
// stockout.
// "GKE_SERVICE_ACCOUNT_DELETED" - GKE_SERVICE_ACCOUNT_DELETED
// indicates that the user deleted their robot
// service account.
// "GCE_QUOTA_EXCEEDED" - Google Compute Engine quota was exceeded.
// "SET_BY_OPERATOR" - Cluster state was manually changed by an SRE
// due to a system logic error.
// More codes TBA
Code string `json:"code,omitempty"`
// Message: Human-friendly representation of the condition
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Code") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *StatusCondition) MarshalJSON() ([]byte, error) {
type NoMethod StatusCondition
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// UpdateClusterRequest: UpdateClusterRequest updates the settings of a
// cluster.
type UpdateClusterRequest struct {
// ClusterId: Deprecated. The name of the cluster to upgrade.
// This field has been deprecated and replaced by the name field.
ClusterId string `json:"clusterId,omitempty"`
// Name: The name (project, location, cluster) of the cluster to
// update.
// Specified in the format 'projects/*/locations/*/clusters/*'.
Name string `json:"name,omitempty"`
// ProjectId: 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.
ProjectId string `json:"projectId,omitempty"`
// Update: A description of the update.
Update *ClusterUpdate `json:"update,omitempty"`
// Zone: Deprecated. The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the
// cluster
// resides.
// This field has been deprecated and replaced by the name field.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *UpdateClusterRequest) MarshalJSON() ([]byte, error) {
type NoMethod UpdateClusterRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// UpdateMasterRequest: UpdateMasterRequest updates the master of the
// cluster.
type UpdateMasterRequest struct {
// ClusterId: Deprecated. The name of the cluster to upgrade.
// This field has been deprecated and replaced by the name field.
ClusterId string `json:"clusterId,omitempty"`
// MasterVersion: The Kubernetes version to change the master to.
//
// Users may specify either explicit versions offered by Kubernetes
// Engine or
// version aliases, which have the following behavior:
//
// - "latest": picks the highest valid Kubernetes version
// - "1.X": picks the highest valid patch+gke.N patch in the 1.X
// version
// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
// - "1.X.Y-gke.N": picks an explicit Kubernetes version
// - "-": picks the default Kubernetes version
MasterVersion string `json:"masterVersion,omitempty"`
// Name: The name (project, location, cluster) of the cluster to
// update.
// Specified in the format 'projects/*/locations/*/clusters/*'.
Name string `json:"name,omitempty"`
// ProjectId: 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.
ProjectId string `json:"projectId,omitempty"`
// Zone: Deprecated. The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the
// cluster
// resides.
// This field has been deprecated and replaced by the name field.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *UpdateMasterRequest) MarshalJSON() ([]byte, error) {
type NoMethod UpdateMasterRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// UpdateNodePoolRequest: UpdateNodePoolRequests update a node pool's
// image and/or version.
type UpdateNodePoolRequest struct {
// ClusterId: Deprecated. The name of the cluster to upgrade.
// This field has been deprecated and replaced by the name field.
ClusterId string `json:"clusterId,omitempty"`
// ImageType: The desired image type for the node pool.
ImageType string `json:"imageType,omitempty"`
// Name: The name (project, location, cluster, node pool) of the node
// pool to
// update. Specified in the
// format
// 'projects/*/locations/*/clusters/*/nodePools/*'.
Name string `json:"name,omitempty"`
// NodePoolId: Deprecated. The name of the node pool to upgrade.
// This field has been deprecated and replaced by the name field.
NodePoolId string `json:"nodePoolId,omitempty"`
// NodeVersion: The Kubernetes version to change the nodes to (typically
// an
// upgrade).
//
// Users may specify either explicit versions offered by Kubernetes
// Engine or
// version aliases, which have the following behavior:
//
// - "latest": picks the highest valid Kubernetes version
// - "1.X": picks the highest valid patch+gke.N patch in the 1.X
// version
// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
// - "1.X.Y-gke.N": picks an explicit Kubernetes version
// - "-": picks the Kubernetes master version
NodeVersion string `json:"nodeVersion,omitempty"`
// ProjectId: 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.
ProjectId string `json:"projectId,omitempty"`
// Zone: Deprecated. The name of the Google Compute
// Engine
// [zone](/compute/docs/zones#available) in which the
// cluster
// resides.
// This field has been deprecated and replaced by the name field.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *UpdateNodePoolRequest) MarshalJSON() ([]byte, error) {
type NoMethod UpdateNodePoolRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// method id "container.projects.locations.getServerConfig":
type ProjectsLocationsGetServerConfigCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// GetServerConfig: Returns configuration info about the Kubernetes
// Engine service.
func (r *ProjectsLocationsService) GetServerConfig(name string) *ProjectsLocationsGetServerConfigCall {
c := &ProjectsLocationsGetServerConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// ProjectId sets the optional parameter "projectId": 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.
func (c *ProjectsLocationsGetServerConfigCall) ProjectId(projectId string) *ProjectsLocationsGetServerConfigCall {
c.urlParams_.Set("projectId", projectId)
return c
}
// Zone sets the optional parameter "zone": Deprecated. The name of the
// Google Compute Engine
// [zone](/compute/docs/zones#available) to return operations for.
// This field has been deprecated and replaced by the name field.
func (c *ProjectsLocationsGetServerConfigCall) Zone(zone string) *ProjectsLocationsGetServerConfigCall {
c.urlParams_.Set("zone", zone)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *ProjectsLocationsGetServerConfigCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetServerConfigCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *ProjectsLocationsGetServerConfigCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetServerConfigCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsGetServerConfigCall) Context(ctx context.Context) *ProjectsLocationsGetServerConfigCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *ProjectsLocationsGetServerConfigCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsGetServerConfigCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/serverConfig")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "container.projects.locations.getServerConfig" call.
// Exactly one of *ServerConfig or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *ServerConfig.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
// to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsGetServerConfigCall) Do(opts ...googleapi.CallOption) (*ServerConfig, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &ServerConfig{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Returns configuration info about the Kubernetes Engine service.",
// "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverConfig",
// "httpMethod": "GET",
// "id": "container.projects.locations.getServerConfig",
// "parameterOrder": [
// "name"
// ],
// "parameters": {
// "name": {
// "description": "The name (project and location) of the server config to get\nSpecified in the format 'projects/*/locations/*'.",
// "location": "path",
// "pattern": "^projects/[^/]+/locations/[^/]+$",
// "required": true,
// "type": "string"
// },
// "projectId": {
// "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
// "location": "query",
// "type": "string"
// },
// "zone": {
// "description": "Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) to return operations for.\nThis field has been deprecated and replaced by the name field.",
// "location": "query",