Google Kubernetes Engine v1 API - Class ClusterUpdate (3.33.0)

public sealed class ClusterUpdate : IMessage<ClusterUpdate>, IEquatable<ClusterUpdate>, IDeepCloneable<ClusterUpdate>, IBufferMessage, IMessage

Reference documentation and code samples for the Google Kubernetes Engine v1 API class 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.

Inheritance

object > ClusterUpdate

Namespace

Google.Cloud.Container.V1

Assembly

Google.Cloud.Container.V1.dll

Constructors

ClusterUpdate()

public ClusterUpdate()

ClusterUpdate(ClusterUpdate)

public ClusterUpdate(ClusterUpdate other)
Parameter
Name Description
other ClusterUpdate

Properties

AdditionalPodRangesConfig

public AdditionalPodRangesConfig AdditionalPodRangesConfig { get; set; }

The additional pod ranges to be added to the cluster. These pod ranges can be used by node pools to allocate pod IPs.

Property Value
Type Description
AdditionalPodRangesConfig

DesiredAddonsConfig

public AddonsConfig DesiredAddonsConfig { get; set; }

Configurations for the various addons available to run in the cluster.

Property Value
Type Description
AddonsConfig

DesiredAuthenticatorGroupsConfig

public AuthenticatorGroupsConfig DesiredAuthenticatorGroupsConfig { get; set; }

The desired authenticator groups config for the cluster.

Property Value
Type Description
AuthenticatorGroupsConfig

DesiredAutopilotWorkloadPolicyConfig

public WorkloadPolicyConfig DesiredAutopilotWorkloadPolicyConfig { get; set; }

The desired workload policy configuration for the autopilot cluster.

Property Value
Type Description
WorkloadPolicyConfig

DesiredBinaryAuthorization

public BinaryAuthorization DesiredBinaryAuthorization { get; set; }

The desired configuration options for the Binary Authorization feature.

Property Value
Type Description
BinaryAuthorization

DesiredClusterAutoscaling

public ClusterAutoscaling DesiredClusterAutoscaling { get; set; }

Cluster-level autoscaling configuration.

Property Value
Type Description
ClusterAutoscaling

DesiredCompliancePostureConfig

public CompliancePostureConfig DesiredCompliancePostureConfig { get; set; }

Enable/Disable Compliance Posture features for the cluster.

Property Value
Type Description
CompliancePostureConfig

DesiredContainerdConfig

public ContainerdConfig DesiredContainerdConfig { get; set; }

The desired containerd config for the cluster.

Property Value
Type Description
ContainerdConfig

DesiredControlPlaneEndpointsConfig

public ControlPlaneEndpointsConfig DesiredControlPlaneEndpointsConfig { get; set; }

[Control plane endpoints][google.container.v1.Cluster.control_plane_endpoints_config] configuration.

Property Value
Type Description
ControlPlaneEndpointsConfig

DesiredCostManagementConfig

public CostManagementConfig DesiredCostManagementConfig { get; set; }

The desired configuration for the fine-grained cost management feature.

Property Value
Type Description
CostManagementConfig

DesiredDatabaseEncryption

public DatabaseEncryption DesiredDatabaseEncryption { get; set; }

Configuration of etcd encryption.

Property Value
Type Description
DatabaseEncryption

DesiredDatapathProvider

public DatapathProvider DesiredDatapathProvider { get; set; }

The desired datapath provider for the cluster.

Property Value
Type Description
DatapathProvider

DesiredDefaultEnablePrivateNodes

public bool DesiredDefaultEnablePrivateNodes { get; set; }

Override the default setting of whether future created nodes have private IP addresses only, namely [NetworkConfig.default_enable_private_nodes][google.container.v1.NetworkConfig.default_enable_private_nodes]

Property Value
Type Description
bool

DesiredDefaultSnatStatus

public DefaultSnatStatus DesiredDefaultSnatStatus { get; set; }

The desired status of whether to disable default sNAT for this cluster.

Property Value
Type Description
DefaultSnatStatus

DesiredDnsConfig

public DNSConfig DesiredDnsConfig { get; set; }

DNSConfig contains clusterDNS config for this cluster.

Property Value
Type Description
DNSConfig

DesiredEnableCiliumClusterwideNetworkPolicy

public bool DesiredEnableCiliumClusterwideNetworkPolicy { get; set; }

Enable/Disable Cilium Clusterwide Network Policy for the cluster.

Property Value
Type Description
bool

DesiredEnableFqdnNetworkPolicy

public bool DesiredEnableFqdnNetworkPolicy { get; set; }

Enable/Disable FQDN Network Policy for the cluster.

Property Value
Type Description
bool

DesiredEnableMultiNetworking

public bool DesiredEnableMultiNetworking { get; set; }

Enable/Disable Multi-Networking for the cluster

Property Value
Type Description
bool

DesiredEnablePrivateEndpoint

[Obsolete]
public bool DesiredEnablePrivateEndpoint { get; set; }

Enable/Disable private endpoint for the cluster's master.

Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.enable_public_endpoint instead. Note that the value of enable_public_endpoint is reversed: if enable_private_endpoint is false, then enable_public_endpoint will be true.

Property Value
Type Description
bool

DesiredEnterpriseConfig

public DesiredEnterpriseConfig DesiredEnterpriseConfig { get; set; }

The desired enterprise configuration for the cluster.

Property Value
Type Description
DesiredEnterpriseConfig

DesiredFleet

public Fleet DesiredFleet { get; set; }

The desired fleet configuration for the cluster.

Property Value
Type Description
Fleet

DesiredGatewayApiConfig

public GatewayAPIConfig DesiredGatewayApiConfig { get; set; }

The desired config of Gateway API on this cluster.

Property Value
Type Description
GatewayAPIConfig

DesiredGcfsConfig

public GcfsConfig DesiredGcfsConfig { get; set; }

The desired GCFS config for the cluster

Property Value
Type Description
GcfsConfig

DesiredIdentityServiceConfig

public IdentityServiceConfig DesiredIdentityServiceConfig { get; set; }

The desired Identity Service component configuration.

Property Value
Type Description
IdentityServiceConfig

DesiredImageType

public string DesiredImageType { get; set; }

The desired image type for the node pool. NOTE: Set the "desired_node_pool" field as well.

Property Value
Type Description
string

DesiredInTransitEncryptionConfig

public InTransitEncryptionConfig DesiredInTransitEncryptionConfig { get; set; }

Specify the details of in-transit encryption.

Property Value
Type Description
InTransitEncryptionConfig

DesiredIntraNodeVisibilityConfig

public IntraNodeVisibilityConfig DesiredIntraNodeVisibilityConfig { get; set; }

The desired config of Intra-node visibility.

Property Value
Type Description
IntraNodeVisibilityConfig

DesiredK8SBetaApis

public K8sBetaAPIConfig DesiredK8SBetaApis { get; set; }

Desired Beta APIs to be enabled for cluster.

Property Value
Type Description
K8sBetaAPIConfig

DesiredL4IlbSubsettingConfig

public ILBSubsettingConfig DesiredL4IlbSubsettingConfig { get; set; }

The desired L4 Internal Load Balancer Subsetting configuration.

Property Value
Type Description
ILBSubsettingConfig

DesiredLocations

public RepeatedField<string> DesiredLocations { get; }

The desired list of Google Compute Engine zones 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.

Property Value
Type Description
RepeatedFieldstring

DesiredLoggingConfig

public LoggingConfig DesiredLoggingConfig { get; set; }

The desired logging configuration.

Property Value
Type Description
LoggingConfig

DesiredLoggingService

public string DesiredLoggingService { get; set; }

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.

Property Value
Type Description
string

DesiredMasterAuthorizedNetworksConfig

[Obsolete]
public MasterAuthorizedNetworksConfig DesiredMasterAuthorizedNetworksConfig { get; set; }

The desired configuration options for master authorized networks feature.

Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.authorized_networks_config instead.

Property Value
Type Description
MasterAuthorizedNetworksConfig

DesiredMasterVersion

public string DesiredMasterVersion { get; set; }

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
Property Value
Type Description
string

DesiredMeshCertificates

public MeshCertificates DesiredMeshCertificates { get; set; }

Configuration for issuance of mTLS keys and certificates to Kubernetes pods.

Property Value
Type Description
MeshCertificates

DesiredMonitoringConfig

public MonitoringConfig DesiredMonitoringConfig { get; set; }

The desired monitoring configuration.

Property Value
Type Description
MonitoringConfig

DesiredMonitoringService

public string DesiredMonitoringService { get; set; }

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.

Property Value
Type Description
string

DesiredNetworkPerformanceConfig

public NetworkConfig.Types.ClusterNetworkPerformanceConfig DesiredNetworkPerformanceConfig { get; set; }

The desired network performance config.

Property Value
Type Description
NetworkConfigTypesClusterNetworkPerformanceConfig

DesiredNodeKubeletConfig

public NodeKubeletConfig DesiredNodeKubeletConfig { get; set; }

The desired node kubelet config for the cluster.

Property Value
Type Description
NodeKubeletConfig

DesiredNodePoolAutoConfigKubeletConfig

public NodeKubeletConfig DesiredNodePoolAutoConfigKubeletConfig { get; set; }

The desired node kubelet config for all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters.

Property Value
Type Description
NodeKubeletConfig

DesiredNodePoolAutoConfigLinuxNodeConfig

public LinuxNodeConfig DesiredNodePoolAutoConfigLinuxNodeConfig { get; set; }

The desired Linux node config for all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters.

Currently only cgroup_mode can be set here.

Property Value
Type Description
LinuxNodeConfig

DesiredNodePoolAutoConfigNetworkTags

public NetworkTags DesiredNodePoolAutoConfigNetworkTags { get; set; }

The desired network tags that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters.

Property Value
Type Description
NetworkTags

DesiredNodePoolAutoConfigResourceManagerTags

public ResourceManagerTags DesiredNodePoolAutoConfigResourceManagerTags { get; set; }

The desired resource manager tags that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters.

Property Value
Type Description
ResourceManagerTags

DesiredNodePoolAutoscaling

public NodePoolAutoscaling DesiredNodePoolAutoscaling { get; set; }

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.

Property Value
Type Description
NodePoolAutoscaling

DesiredNodePoolId

public string DesiredNodePoolId { get; set; }

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.

Property Value
Type Description
string

DesiredNodePoolLoggingConfig

public NodePoolLoggingConfig DesiredNodePoolLoggingConfig { get; set; }

The desired node pool logging configuration defaults for the cluster.

Property Value
Type Description
NodePoolLoggingConfig

DesiredNodeVersion

public string DesiredNodeVersion { get; set; }

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
Property Value
Type Description
string

DesiredNotificationConfig

public NotificationConfig DesiredNotificationConfig { get; set; }

The desired notification configuration.

Property Value
Type Description
NotificationConfig

DesiredPrivateClusterConfig

[Obsolete]
public PrivateClusterConfig DesiredPrivateClusterConfig { get; set; }

The desired private cluster configuration. master_global_access_config is the only field that can be changed via this field. See also [ClusterUpdate.desired_enable_private_endpoint][google.container.v1.ClusterUpdate.desired_enable_private_endpoint] for modifying other fields within [PrivateClusterConfig][google.container.v1.PrivateClusterConfig].

Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.global_access instead.

Property Value
Type Description
PrivateClusterConfig

DesiredPrivateIpv6GoogleAccess

public PrivateIPv6GoogleAccess DesiredPrivateIpv6GoogleAccess { get; set; }

The desired state of IPv6 connectivity to Google Services.

Property Value
Type Description
PrivateIPv6GoogleAccess

DesiredRbacBindingConfig

public RBACBindingConfig DesiredRbacBindingConfig { get; set; }

RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings that can be created.

Property Value
Type Description
RBACBindingConfig

DesiredReleaseChannel

public ReleaseChannel DesiredReleaseChannel { get; set; }

The desired release channel configuration.

Property Value
Type Description
ReleaseChannel

DesiredResourceUsageExportConfig

public ResourceUsageExportConfig DesiredResourceUsageExportConfig { get; set; }

The desired configuration for exporting resource usage.

Property Value
Type Description
ResourceUsageExportConfig

DesiredSecretManagerConfig

public SecretManagerConfig DesiredSecretManagerConfig { get; set; }

Enable/Disable Secret Manager Config.

Property Value
Type Description
SecretManagerConfig

DesiredSecurityPostureConfig

public SecurityPostureConfig DesiredSecurityPostureConfig { get; set; }

Enable/Disable Security Posture API features for the cluster.

Property Value
Type Description
SecurityPostureConfig

DesiredServiceExternalIpsConfig

public ServiceExternalIPsConfig DesiredServiceExternalIpsConfig { get; set; }

ServiceExternalIPsConfig specifies the config for the use of Services with ExternalIPs field.

Property Value
Type Description
ServiceExternalIPsConfig

DesiredShieldedNodes

public ShieldedNodes DesiredShieldedNodes { get; set; }

Configuration for Shielded Nodes.

Property Value
Type Description
ShieldedNodes

DesiredStackType

public StackType DesiredStackType { get; set; }

The desired stack type of the cluster. If a stack type is provided and does not match the current stack type of the cluster, update will attempt to change the stack type to the new type.

Property Value
Type Description
StackType

DesiredVerticalPodAutoscaling

public VerticalPodAutoscaling DesiredVerticalPodAutoscaling { get; set; }

Cluster-level Vertical Pod Autoscaling configuration.

Property Value
Type Description
VerticalPodAutoscaling

DesiredWorkloadIdentityConfig

public WorkloadIdentityConfig DesiredWorkloadIdentityConfig { get; set; }

Configuration for Workload Identity.

Property Value
Type Description
WorkloadIdentityConfig

EnableK8SBetaApis

public K8sBetaAPIConfig EnableK8SBetaApis { get; set; }

Kubernetes open source beta apis enabled on the cluster. Only beta apis

Property Value
Type Description
K8sBetaAPIConfig

Etag

public string Etag { get; set; }

The current etag of the cluster. If an etag is provided and does not match the current etag of the cluster, update will be blocked and an ABORTED error will be returned.

Property Value
Type Description
string

HasDesiredDefaultEnablePrivateNodes

public bool HasDesiredDefaultEnablePrivateNodes { get; }

Gets whether the "desired_default_enable_private_nodes" field is set

Property Value
Type Description
bool

HasDesiredEnableCiliumClusterwideNetworkPolicy

public bool HasDesiredEnableCiliumClusterwideNetworkPolicy { get; }

Gets whether the "desired_enable_cilium_clusterwide_network_policy" field is set

Property Value
Type Description
bool

HasDesiredEnableFqdnNetworkPolicy

public bool HasDesiredEnableFqdnNetworkPolicy { get; }

Gets whether the "desired_enable_fqdn_network_policy" field is set

Property Value
Type Description
bool

HasDesiredEnableMultiNetworking

public bool HasDesiredEnableMultiNetworking { get; }

Gets whether the "desired_enable_multi_networking" field is set

Property Value
Type Description
bool

HasDesiredEnablePrivateEndpoint

[Obsolete]
public bool HasDesiredEnablePrivateEndpoint { get; }

Gets whether the "desired_enable_private_endpoint" field is set

Property Value
Type Description
bool

HasDesiredInTransitEncryptionConfig

public bool HasDesiredInTransitEncryptionConfig { get; }

Gets whether the "desired_in_transit_encryption_config" field is set

Property Value
Type Description
bool

RemovedAdditionalPodRangesConfig

public AdditionalPodRangesConfig RemovedAdditionalPodRangesConfig { get; set; }

The additional pod ranges that are to be removed from the cluster. The pod ranges specified here must have been specified earlier in the 'additional_pod_ranges_config' argument.

Property Value
Type Description
AdditionalPodRangesConfig

UserManagedKeysConfig

public UserManagedKeysConfig UserManagedKeysConfig { get; set; }

The Custom keys configuration for the cluster.

Property Value
Type Description
UserManagedKeysConfig