blob: 04921c5bbd04728ef876d6fae6b3cff223a339eb [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/v1beta1"
// ...
// containerService, err := container.New(oauthHttpClient)
package container // import "google.golang.org/api/container/v1beta1"
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:v1beta1"
const apiName = "container"
const apiVersion = "v1beta1"
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.Aggregated = NewProjectsAggregatedService(s)
rs.Locations = NewProjectsLocationsService(s)
rs.Zones = NewProjectsZonesService(s)
return rs
}
type ProjectsService struct {
s *Service
Aggregated *ProjectsAggregatedService
Locations *ProjectsLocationsService
Zones *ProjectsZonesService
}
func NewProjectsAggregatedService(s *Service) *ProjectsAggregatedService {
rs := &ProjectsAggregatedService{s: s}
rs.UsableSubnetworks = NewProjectsAggregatedUsableSubnetworksService(s)
return rs
}
type ProjectsAggregatedService struct {
s *Service
UsableSubnetworks *ProjectsAggregatedUsableSubnetworksService
}
func NewProjectsAggregatedUsableSubnetworksService(s *Service) *ProjectsAggregatedUsableSubnetworksService {
rs := &ProjectsAggregatedUsableSubnetworksService{s: s}
return rs
}
type ProjectsAggregatedUsableSubnetworksService struct {
s *Service
}
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)
rs.WellKnown = NewProjectsLocationsClustersWellKnownService(s)
return rs
}
type ProjectsLocationsClustersService struct {
s *Service
NodePools *ProjectsLocationsClustersNodePoolsService
WellKnown *ProjectsLocationsClustersWellKnownService
}
func NewProjectsLocationsClustersNodePoolsService(s *Service) *ProjectsLocationsClustersNodePoolsService {
rs := &ProjectsLocationsClustersNodePoolsService{s: s}
return rs
}
type ProjectsLocationsClustersNodePoolsService struct {
s *Service
}
func NewProjectsLocationsClustersWellKnownService(s *Service) *ProjectsLocationsClustersWellKnownService {
rs := &ProjectsLocationsClustersWellKnownService{s: s}
return rs
}
type ProjectsLocationsClustersWellKnownService 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 {
// CloudRunConfig: Configuration for the Cloud Run addon. The
// `IstioConfig` addon must be
// enabled in order to enable Cloud Run addon. This option can only be
// enabled
// at cluster creation time.
CloudRunConfig *CloudRunConfig `json:"cloudRunConfig,omitempty"`
// 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"`
// IstioConfig: Configuration for Istio, an open platform to connect,
// manage, and secure
// microservices.
IstioConfig *IstioConfig `json:"istioConfig,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. "CloudRunConfig") 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. "CloudRunConfig") 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)
}
// BigQueryDestination: Parameters for using BigQuery as the destination
// of resource usage export.
type BigQueryDestination struct {
// DatasetId: The ID of a BigQuery Dataset.
DatasetId string `json:"datasetId,omitempty"`
// ForceSendFields is a list of field names (e.g. "DatasetId") 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. "DatasetId") 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 *BigQueryDestination) MarshalJSON() ([]byte, error) {
type NoMethod BigQueryDestination
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BinaryAuthorization: Configuration for Binary Authorization.
type BinaryAuthorization struct {
// Enabled: Enable Binary Authorization for this cluster. If enabled,
// all container
// images will be validated by Google Binauthz.
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 *BinaryAuthorization) MarshalJSON() ([]byte, error) {
type NoMethod BinaryAuthorization
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)
}
// CloudRunConfig: Configuration options for the Cloud Run feature.
type CloudRunConfig struct {
// Disabled: Whether Cloud Run addon 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 *CloudRunConfig) MarshalJSON() ([]byte, error) {
type NoMethod CloudRunConfig
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"`
// Autoscaling: Cluster-level autoscaling configuration.
Autoscaling *ClusterAutoscaling `json:"autoscaling,omitempty"`
// BinaryAuthorization: Configuration for Binary Authorization.
BinaryAuthorization *BinaryAuthorization `json:"binaryAuthorization,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/v1beta1/
// projects.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"`
// DatabaseEncryption: Configuration of etcd encryption.
DatabaseEncryption *DatabaseEncryption `json:"databaseEncryption,omitempty"`
// DefaultMaxPodsConstraint: The default constraint on the maximum
// number of pods that can be run
// simultaneously on a node in the node pool of this cluster. Only
// honored
// if cluster created with IP Alias support.
DefaultMaxPodsConstraint *MaxPodsConstraint `json:"defaultMaxPodsConstraint,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. v1beta1) 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"`
// EnableTpu: Enable the ability to use Cloud TPUs in this cluster.
EnableTpu bool `json:"enableTpu,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"`
// MasterIpv4CidrBlock: The IP prefix in CIDR notation to use for the
// hosted master network.
// This prefix will be used for assigning private IP addresses to
// the
// master or set of masters, as well as the ILB VIP.
// This field is deprecated,
// use
// private_cluster_config.master_ipv4_cidr_block instead.
MasterIpv4CidrBlock string `json:"masterIpv4CidrBlock,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. On output this shows the network ID instead of
// the name.
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"`
// PodSecurityPolicyConfig: Configuration for the PodSecurityPolicy
// feature.
PodSecurityPolicyConfig *PodSecurityPolicyConfig `json:"podSecurityPolicyConfig,omitempty"`
// PrivateCluster: If this is a private cluster setup. Private clusters
// are clusters that, by
// default have no external IP addresses on the nodes and where nodes
// and the
// master communicate over private IP addresses.
// This field is deprecated, use
// private_cluster_config.enable_private_nodes
// instead.
PrivateCluster bool `json:"privateCluster,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"`
// ResourceUsageExportConfig: Configuration for exporting resource
// usages. Resource usage export is
// disabled when this config unspecified.
ResourceUsageExportConfig *ResourceUsageExportConfig `json:"resourceUsageExportConfig,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. On output this shows the subnetwork ID instead
// of
// the name.
Subnetwork string `json:"subnetwork,omitempty"`
// TpuIpv4CidrBlock: [Output only] The IP address range of the Cloud
// TPUs in this cluster,
// in
// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
//
// notation (e.g. `1.2.3.4/29`).
TpuIpv4CidrBlock string `json:"tpuIpv4CidrBlock,omitempty"`
// VerticalPodAutoscaling: Cluster-level Vertical Pod Autoscaling
// configuration.
VerticalPodAutoscaling *VerticalPodAutoscaling `json:"verticalPodAutoscaling,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)
}
// ClusterAutoscaling: ClusterAutoscaling contains global, per-cluster
// information
// required by Cluster Autoscaler to automatically adjust
// the size of the cluster and create/delete
// node pools based on the current needs.
type ClusterAutoscaling struct {
// EnableNodeAutoprovisioning: Enables automatic node pool creation and
// deletion.
EnableNodeAutoprovisioning bool `json:"enableNodeAutoprovisioning,omitempty"`
// ResourceLimits: Contains global constraints regarding minimum and
// maximum
// amount of resources in the cluster.
ResourceLimits []*ResourceLimit `json:"resourceLimits,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "EnableNodeAutoprovisioning") 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.
// "EnableNodeAutoprovisioning") 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 *ClusterAutoscaling) MarshalJSON() ([]byte, error) {
type NoMethod ClusterAutoscaling
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"`
// DesiredBinaryAuthorization: The desired configuration options for the
// Binary Authorization feature.
DesiredBinaryAuthorization *BinaryAuthorization `json:"desiredBinaryAuthorization,omitempty"`
// DesiredClusterAutoscaling: Cluster-level autoscaling configuration.
DesiredClusterAutoscaling *ClusterAutoscaling `json:"desiredClusterAutoscaling,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"`
// DesiredLoggingService: The logging service the cluster should use to
// write metrics.
// Currently available options:
//
// * "logging.googleapis.com/kubernetes" - the Google Cloud
// Logging
// service with Kubernetes-native resource model in Stackdriver
// * "logging.googleapis.com" - the Google Cloud Logging service
// * "none" - no logs will be exported from the cluster
DesiredLoggingService string `json:"desiredLoggingService,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.
// The only valid value is the
// latest supported version.
//
// 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/kubernetes" - the Google Cloud
// Monitoring
// service with Kubernetes-native resource model in Stackdriver
// * "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"`
// DesiredPodSecurityPolicyConfig: The desired configuration options for
// the PodSecurityPolicy feature.
DesiredPodSecurityPolicyConfig *PodSecurityPolicyConfig `json:"desiredPodSecurityPolicyConfig,omitempty"`
// DesiredResourceUsageExportConfig: The desired configuration for
// exporting resource usage.
DesiredResourceUsageExportConfig *ResourceUsageExportConfig `json:"desiredResourceUsageExportConfig,omitempty"`
// DesiredVerticalPodAutoscaling: Cluster-level Vertical Pod Autoscaling
// configuration.
DesiredVerticalPodAutoscaling *VerticalPodAutoscaling `json:"desiredVerticalPodAutoscaling,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/v1beta1/projects.z
// ones.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 string `json:"duration,omitempty"`
// StartTime: Time within the maintenance window to start the
// maintenance operations.
// It must be in 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)
}
// DatabaseEncryption: Configuration of etcd encryption.
type DatabaseEncryption struct {
// KeyName: Name of CloudKMS key to use for the encryption of secrets in
// etcd.
// Ex.
// projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-ke
// y
KeyName string `json:"keyName,omitempty"`
// State: Denotes the state of etcd encryption.
//
// Possible values:
// "UNKNOWN" - Should never be set
// "ENCRYPTED" - Secrets in etcd are encrypted.
// "DECRYPTED" - Secrets in etcd are stored in plain text (at etcd
// level) - this is
// unrelated to GCE level full disk encryption.
State string `json:"state,omitempty"`
// ForceSendFields is a list of field names (e.g. "KeyName") 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. "KeyName") 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 *DatabaseEncryption) MarshalJSON() ([]byte, error) {
type NoMethod DatabaseEncryption
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:"-"`
}
// GetJSONWebKeysResponse: GetJSONWebKeysResponse is a valid JSON Web
// Key Set as specififed in rfc 7517
type GetJSONWebKeysResponse struct {
// Keys: The public component of the keys used by the cluster to sign
// token
// requests.
Keys []*Jwk `json:"keys,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Keys") 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. "Keys") 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 *GetJSONWebKeysResponse) MarshalJSON() ([]byte, error) {
type NoMethod GetJSONWebKeysResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GetOpenIDConfigResponse: GetOpenIDConfigResponse is an OIDC discovery
// document for the cluster.
// See the OpenID Connect Discovery 1.0 specification for details.
type GetOpenIDConfigResponse struct {
// ClaimsSupported: NOLINT
ClaimsSupported []string `json:"claims_supported,omitempty"`
// GrantTypes: NOLINT
GrantTypes []string `json:"grant_types,omitempty"`
// IdTokenSigningAlgValuesSupported: NOLINT
IdTokenSigningAlgValuesSupported []string `json:"id_token_signing_alg_values_supported,omitempty"`
// Issuer: NOLINT
Issuer string `json:"issuer,omitempty"`
// JwksUri: NOLINT
JwksUri string `json:"jwks_uri,omitempty"`
// ResponseTypesSupported: NOLINT
ResponseTypesSupported []string `json:"response_types_supported,omitempty"`
// SubjectTypesSupported: NOLINT
SubjectTypesSupported []string `json:"subject_types_supported,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ClaimsSupported") 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. "ClaimsSupported") 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 *GetOpenIDConfigResponse) MarshalJSON() ([]byte, error) {
type NoMethod GetOpenIDConfigResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// 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 {
// AllowRouteOverlap: If true, allow allocation of cluster CIDR ranges
// that overlap with certain
// kinds of network routes. By default we do not allow cluster CIDR
// ranges to
// intersect with any user declared routes. With allow_route_overlap ==
// true,
// we allow overlapping with CIDR ranges that are larger than the
// cluster CIDR
// range.
//
// If this field is set to true, then cluster and services CIDRs must
// be
// fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means:
// 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and
// `services_ipv4_cidr_block` must be fully-specified.
// 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse
// be
// fully-specified.
AllowRouteOverlap bool `json:"allowRouteOverlap,omitempty"`
// 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
// 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
// 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"`
// TpuIpv4CidrBlock: The IP address range of the Cloud TPUs in this
// cluster. If unspecified, a
// range will be automatically chosen with the default size.
//
// This field is only applicable when `use_ip_aliases` is true.
//
// If unspecified, the range will use 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.
TpuIpv4CidrBlock string `json:"tpuIpv4CidrBlock,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. "AllowRouteOverlap")
// 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. "AllowRouteOverlap") 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)
}
// IstioConfig: Configuration options for Istio addon.
type IstioConfig struct {
// Auth: The specified Istio auth mode, either none, or mutual TLS.
//
// Possible values:
// "AUTH_NONE" - auth not enabled
// "AUTH_MUTUAL_TLS" - auth mutual TLS enabled
Auth string `json:"auth,omitempty"`
// Disabled: Whether Istio is enabled for this cluster.
Disabled bool `json:"disabled,omitempty"`
// ForceSendFields is a list of field names (e.g. "Auth") 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. "Auth") 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 *IstioConfig) MarshalJSON() ([]byte, error) {
type NoMethod IstioConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Jwk: Jwk is a JSON Web Key as specified in RFC 7517
type Jwk struct {
// Alg: NOLINT
Alg string `json:"alg,omitempty"`
// Crv: NOLINT
Crv string `json:"crv,omitempty"`
// E: NOLINT
E string `json:"e,omitempty"`
// Kid: NOLINT
Kid string `json:"kid,omitempty"`
// Kty: NOLINT
Kty string `json:"kty,omitempty"`
// N: Fields for RSA keys.
// NOLINT
N string `json:"n,omitempty"`
// Use: NOLINT
Use string `json:"use,omitempty"`
// X: Fields for ECDSA keys.
// NOLINT
X string `json:"x,omitempty"`
// Y: NOLINT
Y string `json:"y,omitempty"`
// ForceSendFields is a list of field names (e.g. "Alg") 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. "Alg") 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 *Jwk) MarshalJSON() ([]byte, error) {
type NoMethod Jwk
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)
}
// ListLocationsResponse: ListLocationsResponse returns the list of all
// GKE locations and their
// recommendation state.
type ListLocationsResponse struct {
// Locations: A full list of GKE locations.
Locations []*Location `json:"locations,omitempty"`
// NextPageToken: Only return ListLocationsResponse that occur after the
// page_token. This
// value should be populated from the
// ListLocationsResponse.next_page_token if
// that response token was set (which happens when listing more
// Locations than
// fit in a single ListLocationsResponse).
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Locations") 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. "Locations") 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 *ListLocationsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListLocationsResponse
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)
}
// ListUsableSubnetworksResponse: ListUsableSubnetworksResponse is the
// response of
// ListUsableSubnetworksRequest.
type ListUsableSubnetworksResponse struct {
// NextPageToken: This token allows you to get the next page of results
// for list requests.
// If the number of results is larger than `page_size`, use
// the
// `next_page_token` as a value for the query parameter `page_token` in
// the
// next request. The value will become empty when there are no more
// pages.
NextPageToken string `json:"nextPageToken,omitempty"`
// Subnetworks: A list of usable subnetworks in the specified network
// project.
Subnetworks []*UsableSubnetwork `json:"subnetworks,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") 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. "NextPageToken") 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 *ListUsableSubnetworksResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListUsableSubnetworksResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Location: Location returns the location name, and if the location is
// recommended
// for GKE cluster scheduling.
type Location struct {
// Name: Contains the name of the resource requested.
// Specified in the format 'projects/*/locations/*'.
Name string `json:"name,omitempty"`
// Recommended: Whether the location is recomended for GKE cluster
// scheduling.
Recommended bool `json:"recommended,omitempty"`
// Type: Contains the type of location this Location is for.
// Regional or Zonal.
//
// Possible values:
// "LOCATION_TYPE_UNSPECIFIED" - LOCATION_TYPE_UNSPECIFIED means the
// location type was not determined.
// "ZONE" - A GKE Location where Zonal clusters can be created.
// "REGION" - A GKE Location where Regional clusters can be created.
Type string `json:"type,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 *Location) MarshalJSON() ([]byte, error) {
type NoMethod Location
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)
}
// MaxPodsConstraint: Constraints applied to pods.
type MaxPodsConstraint struct {
// MaxPodsPerNode: Constraint enforced on the max num of pods per node.
MaxPodsPerNode int64 `json:"maxPodsPerNode,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "MaxPodsPerNode") 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. "MaxPodsPerNode") 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 *MaxPodsConstraint) MarshalJSON() ([]byte, error) {
type NoMethod MaxPodsConstraint
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Metric: Progress metric is (string, int|float|string) pair.
type Metric struct {
// DoubleValue: For metrics with floating point value.
DoubleValue float64 `json:"doubleValue,omitempty"`
// IntValue: For metrics with integer value.
IntValue int64 `json:"intValue,omitempty,string"`
// Name: Metric name, required.
// e.g., "nodes total", "percent done"
Name string `json:"name,omitempty"`
// StringValue: For metrics with custom values (ratios, visual progress,
// etc.).
StringValue string `json:"stringValue,omitempty"`
// ForceSendFields is a list of field names (e.g. "DoubleValue") 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. "DoubleValue") 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 *Metric) MarshalJSON() ([]byte, error) {
type NoMethod Metric
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *Metric) UnmarshalJSON(data []byte) error {
type NoMethod Metric
var s1 struct {
DoubleValue gensupport.JSONFloat64 `json:"doubleValue"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.DoubleValue = float64(s1.DoubleValue)
return nil
}
// 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-oslogin"
// "gci-ensure-gke-docker"
// "gci-update-strategy"
// "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
// inforamtion 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"`
// WorkloadMetadataConfig: The workload metadata configuration for this
// node.
WorkloadMetadataConfig *WorkloadMetadataConfig `json:"workloadMetadataConfig,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: Whether the nodes will be automatically repaired.
AutoRepair bool `json:"autoRepair,omitempty"`
// AutoUpgrade: Whether the nodes will be automatically upgraded.
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"`
// MaxPodsConstraint: The constraint on the maximum number of pods that
// can be run
// simultaneously on a node in the node pool.
MaxPodsConstraint *MaxPodsConstraint `json:"maxPodsConstraint,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 {
// Autoprovisioned: Can this node pool be deleted automatically.
Autoprovisioned bool `json:"autoprovisioned,omitempty"`
// 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. "Autoprovisioned") 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. "Autoprovisioned") 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"`
// Progress: [Output only] Progress information for an operation.
Progress *OperationProgress `json:"progress,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)
}
// OperationProgress: Information about operation (or operation stage)
// progress.
type OperationProgress struct {
// Metrics: Progress metric bundle, for example:
// metrics: [{name: "nodes done", int_value: 15},
// {name: "nodes total", int_value: 32}]
// or
// metrics: [{name: "progress", double_value: 0.56},
// {name: "progress scale", double_value: 1.0}]
Metrics []*Metric `json:"metrics,omitempty"`
// Name: A non-parameterized string describing an operation stage.
// Unset for single-stage operations.
Name string `json:"name,omitempty"`
// Stages: Substages of an operation or a stage.
Stages []*OperationProgress `json:"stages,omitempty"`
// Status: Status of an operation stage.
// Unset for single-stage operations.
//
// 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"`
// ForceSendFields is a list of field names (e.g. "Metrics") 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. "Metrics") 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 *OperationProgress) MarshalJSON() ([]byte, error) {
type NoMethod OperationProgress
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// PodSecurityPolicyConfig: Configuration for the PodSecurityPolicy
// feature.
type PodSecurityPolicyConfig struct {
// Enabled: Enable the PodSecurityPolicy controller for this cluster. If
// enabled, pods
// must be valid under a PodSecurityPolicy to be created.
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 *PodSecurityPolicyConfig) MarshalJSON() ([]byte, error) {
type NoMethod PodSecurityPolicyConfig
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)
}
// ResourceLimit: Contains information about amount of some resource in
// the cluster.
// For memory, value should be in GB.
type ResourceLimit struct {
// Maximum: Maximum amount of the resource in the cluster.
Maximum int64 `json:"maximum,omitempty,string"`
// Minimum: Minimum amount of the resource in the cluster.
Minimum int64 `json:"minimum,omitempty,string"`
// ResourceType: Resource name "cpu", "memory" or gpu-specific string.
ResourceType string `json:"resourceType,omitempty"`
// ForceSendFields is a list of field names (e.g. "Maximum") 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. "Maximum") 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 *ResourceLimit) MarshalJSON() ([]byte, error) {
type NoMethod ResourceLimit
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ResourceUsageExportConfig: Configuration for exporting cluster
// resource usages.
type ResourceUsageExportConfig struct {
// BigqueryDestination: Configuration to use BigQuery as usage export
// destination.
BigqueryDestination *BigQueryDestination `json:"bigqueryDestination,omitempty"`
// EnableNetworkEgressMetering: Whether to enable network egress
// metering for this cluster. If enabled, a
// daemonset will be created in the cluster to meter network egress
// traffic.
EnableNetworkEgressMetering bool `json:"enableNetworkEgressMetering,omitempty"`
// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
// 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. "BigqueryDestination") 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 *ResourceUsageExportConfig) MarshalJSON() ([]byte, error) {
type NoMethod ResourceUsageExportConfig
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: SetAddonsRequest 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