class Google::Apis::ContainerV1::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.
Attributes
Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. Corresponds to the JSON property `desiredAddonsConfig` @return [Google::Apis::ContainerV1::AddonsConfig]
Configuration for returning group information from authenticators. Corresponds to the JSON property `desiredAuthenticatorGroupsConfig` @return [Google::Apis::ContainerV1::AuthenticatorGroupsConfig]
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. Corresponds to the JSON property `desiredClusterAutoscaling` @return [Google::Apis::ContainerV1::ClusterAutoscaling]
Configuration of etcd encryption. Corresponds to the JSON property `desiredDatabaseEncryption` @return [Google::Apis::ContainerV1::DatabaseEncryption]
The desired datapath provider for the cluster. Corresponds to the JSON property `desiredDatapathProvider` @return [String]
DefaultSnatStatus
contains the desired state of whether default sNAT should be disabled on the cluster. Corresponds to the JSON property `desiredDefaultSnatStatus` @return [Google::Apis::ContainerV1::DefaultSnatStatus]
The desired image type for the node pool. NOTE: Set the “desired_node_pool” field as well. Corresponds to the JSON property `desiredImageType` @return [String]
IntraNodeVisibilityConfig
contains the desired config of the intra-node visibility on this cluster. Corresponds to the JSON property `desiredIntraNodeVisibilityConfig` @return [Google::Apis::ContainerV1::IntraNodeVisibilityConfig]
ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer subsetting on this cluster. Corresponds to the JSON property `desiredL4ilbSubsettingConfig` @return [Google::Apis::ContainerV1::IlbSubsettingConfig]
The desired list of Google
Compute Engine [zones](cloud.google.com/ compute/docs/zones#available) in which the cluster's nodes should be located. This list must always include the cluster's primary zone. Warning: changing cluster locations will update the locations of all node pools and will result in nodes being added and/or removed. Corresponds to the JSON property `desiredLocations` @return [Array<String>]
LoggingConfig
is cluster logging configuration. Corresponds to the JSON property `desiredLoggingConfig` @return [Google::Apis::ContainerV1::LoggingConfig]
The logging service the cluster should use to write logs. Currently available options: * `logging.googleapis.com/kubernetes` - The Cloud Logging service with a Kubernetes-native resource model * `logging.googleapis.com` - The legacy Cloud Logging service (no longer available as of GKE 1.15). * `none` - no logs will be exported from the cluster. If left as an empty string,`logging. googleapis.com/kubernetes` will be used for GKE 1.14+ or `logging.googleapis. com` for earlier versions. Corresponds to the JSON property `desiredLoggingService` @return [String]
The Kubernetes version to change the master to. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - “latest”: picks the highest valid Kubernetes version
-
“1.X”: picks the highest valid patch+gke.N patch in the 1.X version - “1.X.Y”
: picks the highest valid gke.N patch in the 1.X.Y version - “1.X.Y-gke.N”: picks an explicit Kubernetes version - “-”: picks the default Kubernetes version Corresponds to the JSON property `desiredMasterVersion` @return [String]
MonitoringConfig
is cluster monitoring configuration. Corresponds to the JSON property `desiredMonitoringConfig` @return [Google::Apis::ContainerV1::MonitoringConfig]
The monitoring service the cluster should use to write metrics. Currently available options: * “monitoring.googleapis.com/kubernetes” - The Cloud Monitoring service with a Kubernetes-native resource model * `monitoring. googleapis.com` - The legacy Cloud Monitoring service (no longer available as of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left as an empty string,`monitoring.googleapis.com/kubernetes` will be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions. Corresponds to the JSON property `desiredMonitoringService` @return [String]
NodePoolAutoscaling
contains information required by cluster autoscaler to adjust the size of the node pool to the current cluster usage. Corresponds to the JSON property `desiredNodePoolAutoscaling` @return [Google::Apis::ContainerV1::NodePoolAutoscaling]
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. Corresponds to the JSON property `desiredNodePoolId` @return [String]
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 `desiredNodeVersion` @return [String]
NotificationConfig
is the configuration of notifications. Corresponds to the JSON property `desiredNotificationConfig` @return [Google::Apis::ContainerV1::NotificationConfig]
Configuration options for private clusters. Corresponds to the JSON property `desiredPrivateClusterConfig` @return [Google::Apis::ContainerV1::PrivateClusterConfig]
The desired state of IPv6 connectivity to Google
Services. Corresponds to the JSON property `desiredPrivateIpv6GoogleAccess` @return [String]
ReleaseChannel
indicates which release channel a cluster is subscribed to. Release channels are arranged in order of risk. When a cluster is subscribed to a release channel, Google
maintains both the master version and the node version. Node auto-upgrade defaults to true and cannot be disabled. Corresponds to the JSON property `desiredReleaseChannel` @return [Google::Apis::ContainerV1::ReleaseChannel]
Configuration for exporting cluster resource usages. Corresponds to the JSON property `desiredResourceUsageExportConfig` @return [Google::Apis::ContainerV1::ResourceUsageExportConfig]
Configuration of Shielded Nodes feature. Corresponds to the JSON property `desiredShieldedNodes` @return [Google::Apis::ContainerV1::ShieldedNodes]
VerticalPodAutoscaling
contains global, per-cluster information required by Vertical Pod Autoscaler to automatically adjust the resources of pods controlled by it. Corresponds to the JSON property `desiredVerticalPodAutoscaling` @return [Google::Apis::ContainerV1::VerticalPodAutoscaling]
Configuration for the use of Kubernetes Service Accounts in GCP IAM policies. Corresponds to the JSON property `desiredWorkloadIdentityConfig` @return [Google::Apis::ContainerV1::WorkloadIdentityConfig]
Public Class Methods
# File lib/google/apis/container_v1/classes.rb, line 1152 def initialize(**args) update!(**args) end
Public Instance Methods
Update properties of this object
# File lib/google/apis/container_v1/classes.rb, line 1157 def update!(**args) @desired_addons_config = args[:desired_addons_config] if args.key?(:desired_addons_config) @desired_authenticator_groups_config = args[:desired_authenticator_groups_config] if args.key?(:desired_authenticator_groups_config) @desired_autopilot = args[:desired_autopilot] if args.key?(:desired_autopilot) @desired_binary_authorization = args[:desired_binary_authorization] if args.key?(:desired_binary_authorization) @desired_cluster_autoscaling = args[:desired_cluster_autoscaling] if args.key?(:desired_cluster_autoscaling) @desired_database_encryption = args[:desired_database_encryption] if args.key?(:desired_database_encryption) @desired_datapath_provider = args[:desired_datapath_provider] if args.key?(:desired_datapath_provider) @desired_default_snat_status = args[:desired_default_snat_status] if args.key?(:desired_default_snat_status) @desired_image_type = args[:desired_image_type] if args.key?(:desired_image_type) @desired_intra_node_visibility_config = args[:desired_intra_node_visibility_config] if args.key?(:desired_intra_node_visibility_config) @desired_l4ilb_subsetting_config = args[:desired_l4ilb_subsetting_config] if args.key?(:desired_l4ilb_subsetting_config) @desired_locations = args[:desired_locations] if args.key?(:desired_locations) @desired_logging_config = args[:desired_logging_config] if args.key?(:desired_logging_config) @desired_logging_service = args[:desired_logging_service] if args.key?(:desired_logging_service) @desired_master_authorized_networks_config = args[:desired_master_authorized_networks_config] if args.key?(:desired_master_authorized_networks_config) @desired_master_version = args[:desired_master_version] if args.key?(:desired_master_version) @desired_monitoring_config = args[:desired_monitoring_config] if args.key?(:desired_monitoring_config) @desired_monitoring_service = args[:desired_monitoring_service] if args.key?(:desired_monitoring_service) @desired_node_pool_autoscaling = args[:desired_node_pool_autoscaling] if args.key?(:desired_node_pool_autoscaling) @desired_node_pool_id = args[:desired_node_pool_id] if args.key?(:desired_node_pool_id) @desired_node_version = args[:desired_node_version] if args.key?(:desired_node_version) @desired_notification_config = args[:desired_notification_config] if args.key?(:desired_notification_config) @desired_private_cluster_config = args[:desired_private_cluster_config] if args.key?(:desired_private_cluster_config) @desired_private_ipv6_google_access = args[:desired_private_ipv6_google_access] if args.key?(:desired_private_ipv6_google_access) @desired_release_channel = args[:desired_release_channel] if args.key?(:desired_release_channel) @desired_resource_usage_export_config = args[:desired_resource_usage_export_config] if args.key?(:desired_resource_usage_export_config) @desired_shielded_nodes = args[:desired_shielded_nodes] if args.key?(:desired_shielded_nodes) @desired_vertical_pod_autoscaling = args[:desired_vertical_pod_autoscaling] if args.key?(:desired_vertical_pod_autoscaling) @desired_workload_identity_config = args[:desired_workload_identity_config] if args.key?(:desired_workload_identity_config) end