Class: Google::Apis::ContainerV1beta1::UpdateNodePoolRequest

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/container_v1beta1/classes.rb,
lib/google/apis/container_v1beta1/representations.rb,
lib/google/apis/container_v1beta1/representations.rb

Overview

SetNodePoolVersionRequest updates the version of a node pool.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ UpdateNodePoolRequest

Returns a new instance of UpdateNodePoolRequest.



6182
6183
6184
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6182

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#cluster_idString

Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field. Corresponds to the JSON property clusterId

Returns:

  • (String)


6052
6053
6054
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6052

def cluster_id
  @cluster_id
end

#confidential_nodesGoogle::Apis::ContainerV1beta1::ConfidentialNodes

ConfidentialNodes is configuration for the confidential nodes feature, which makes nodes run on confidential VMs. Corresponds to the JSON property confidentialNodes



6058
6059
6060
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6058

def confidential_nodes
  @confidential_nodes
end

#gcfs_configGoogle::Apis::ContainerV1beta1::GcfsConfig

GcfsConfig contains configurations of Google Container File System. Corresponds to the JSON property gcfsConfig



6063
6064
6065
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6063

def gcfs_config
  @gcfs_config
end

#gvnicGoogle::Apis::ContainerV1beta1::VirtualNic

Configuration of gVNIC feature. Corresponds to the JSON property gvnic



6068
6069
6070
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6068

def gvnic
  @gvnic
end

#image_typeString

Required. The desired image type for the node pool. Corresponds to the JSON property imageType

Returns:

  • (String)


6073
6074
6075
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6073

def image_type
  @image_type
end

#kubelet_configGoogle::Apis::ContainerV1beta1::NodeKubeletConfig

Node kubelet configs. Corresponds to the JSON property kubeletConfig



6078
6079
6080
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6078

def kubelet_config
  @kubelet_config
end

#labelsGoogle::Apis::ContainerV1beta1::NodeLabels

Collection of node-level Kubernetes labels. Corresponds to the JSON property labels



6084
6085
6086
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6084

def labels
  @labels
end

#linux_node_configGoogle::Apis::ContainerV1beta1::LinuxNodeConfig

Parameters that can be configured on Linux nodes. Corresponds to the JSON property linuxNodeConfig



6089
6090
6091
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6089

def linux_node_config
  @linux_node_config
end

#locationsArray<String>

The desired list of Google Compute Engine zones in which the node pool's nodes should be located. Changing the locations for a node pool will result in nodes being either created or removed from the node pool, depending on whether locations are being added or removed. Corresponds to the JSON property locations

Returns:

  • (Array<String>)


6098
6099
6100
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6098

def locations
  @locations
end

#nameString

The name (project, location, cluster, node pool) of the node pool to update. Specified in the format projects/*/locations/*/clusters/*/nodePools/*. Corresponds to the JSON property name

Returns:

  • (String)


6104
6105
6106
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6104

def name
  @name
end

#node_network_configGoogle::Apis::ContainerV1beta1::NodeNetworkConfig

Parameters for node pool-level network config. Corresponds to the JSON property nodeNetworkConfig



6109
6110
6111
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6109

def node_network_config
  @node_network_config
end

#node_pool_idString

Required. Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field. Corresponds to the JSON property nodePoolId

Returns:

  • (String)


6115
6116
6117
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6115

def node_pool_id
  @node_pool_id
end

#node_versionString

Required. 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 Corresponds to the JSON property nodeVersion

Returns:

  • (String)


6126
6127
6128
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6126

def node_version
  @node_version
end

#project_idString

Required. Deprecated. The Google Developers Console project ID or project number. This field has been deprecated and replaced by the name field. Corresponds to the JSON property projectId

Returns:

  • (String)


6133
6134
6135
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6133

def project_id
  @project_id
end

#tagsGoogle::Apis::ContainerV1beta1::NetworkTags

Collection of Compute Engine network tags that can be applied to a node's underlying VM instance. (See tags field in NodeConfig). Corresponds to the JSON property tags



6140
6141
6142
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6140

def tags
  @tags
end

#taintsGoogle::Apis::ContainerV1beta1::NodeTaints

Collection of Kubernetes node taints. Corresponds to the JSON property taints



6146
6147
6148
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6146

def taints
  @taints
end

#upgrade_settingsGoogle::Apis::ContainerV1beta1::UpgradeSettings

These upgrade settings configure the upgrade strategy for the node pool. Use strategy to switch between the strategies applied to the node pool. If the strategy is SURGE, use max_surge and max_unavailable to control the level of parallelism and the level of disruption caused by upgrade. 1. maxSurge controls the number of additional nodes that can be added to the node pool temporarily for the time of the upgrade to increase the number of available nodes. 2. maxUnavailable controls the number of nodes that can be simultaneously unavailable. 3. (maxUnavailable + maxSurge) determines the level of parallelism (how many nodes are being upgraded at the same time). If the strategy is BLUE_GREEN, use blue_green_settings to configure the blue- green upgrade related settings. 1. standard_rollout_policy is the default policy. The policy is used to control the way blue pool gets drained. The draining is executed in the batch mode. The batch size could be specified as either percentage of the node pool size or the number of nodes. batch_soak_duration is the soak time after each batch gets drained. 2. node_pool_soak_duration is the soak time after all blue nodes are drained. After this period, the blue pool nodes will be deleted. Corresponds to the JSON property upgradeSettings



6167
6168
6169
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6167

def upgrade_settings
  @upgrade_settings
end

#workload_metadata_configGoogle::Apis::ContainerV1beta1::WorkloadMetadataConfig

WorkloadMetadataConfig defines the metadata configuration to expose to workloads on the node pool. Corresponds to the JSON property workloadMetadataConfig



6173
6174
6175
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6173

def 
  @workload_metadata_config
end

#zoneString

Required. Deprecated. The name of the Google Compute Engine zone in which the cluster resides. This field has been deprecated and replaced by the name field. Corresponds to the JSON property zone

Returns:

  • (String)


6180
6181
6182
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6180

def zone
  @zone
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
# File 'lib/google/apis/container_v1beta1/classes.rb', line 6187

def update!(**args)
  @cluster_id = args[:cluster_id] if args.key?(:cluster_id)
  @confidential_nodes = args[:confidential_nodes] if args.key?(:confidential_nodes)
  @gcfs_config = args[:gcfs_config] if args.key?(:gcfs_config)
  @gvnic = args[:gvnic] if args.key?(:gvnic)
  @image_type = args[:image_type] if args.key?(:image_type)
  @kubelet_config = args[:kubelet_config] if args.key?(:kubelet_config)
  @labels = args[:labels] if args.key?(:labels)
  @linux_node_config = args[:linux_node_config] if args.key?(:linux_node_config)
  @locations = args[:locations] if args.key?(:locations)
  @name = args[:name] if args.key?(:name)
  @node_network_config = args[:node_network_config] if args.key?(:node_network_config)
  @node_pool_id = args[:node_pool_id] if args.key?(:node_pool_id)
  @node_version = args[:node_version] if args.key?(:node_version)
  @project_id = args[:project_id] if args.key?(:project_id)
  @tags = args[:tags] if args.key?(:tags)
  @taints = args[:taints] if args.key?(:taints)
  @upgrade_settings = args[:upgrade_settings] if args.key?(:upgrade_settings)
  @workload_metadata_config = args[:workload_metadata_config] if args.key?(:workload_metadata_config)
  @zone = args[:zone] if args.key?(:zone)
end