pub struct ClusterUpdate {
Show 62 fields pub desired_node_version: String, pub desired_monitoring_service: String, pub desired_addons_config: Option<AddonsConfig>, pub desired_node_pool_id: String, pub desired_image_type: String, pub desired_node_pool_autoscaling: Option<NodePoolAutoscaling>, pub desired_locations: Vec<String>, pub desired_master_authorized_networks_config: Option<MasterAuthorizedNetworksConfig>, pub desired_pod_security_policy_config: Option<PodSecurityPolicyConfig>, pub desired_cluster_autoscaling: Option<ClusterAutoscaling>, pub desired_binary_authorization: Option<BinaryAuthorization>, pub desired_logging_service: String, pub desired_resource_usage_export_config: Option<ResourceUsageExportConfig>, pub desired_vertical_pod_autoscaling: Option<VerticalPodAutoscaling>, pub desired_private_cluster_config: Option<PrivateClusterConfig>, pub desired_intra_node_visibility_config: Option<IntraNodeVisibilityConfig>, pub desired_default_snat_status: Option<DefaultSnatStatus>, pub desired_cluster_telemetry: Option<ClusterTelemetry>, pub desired_release_channel: Option<ReleaseChannel>, pub desired_tpu_config: Option<TpuConfig>, pub desired_l4ilb_subsetting_config: Option<IlbSubsettingConfig>, pub desired_datapath_provider: i32, pub desired_private_ipv6_google_access: i32, pub desired_notification_config: Option<NotificationConfig>, pub desired_master_version: String, pub desired_gcfs_config: Option<GcfsConfig>, pub desired_database_encryption: Option<DatabaseEncryption>, pub desired_workload_identity_config: Option<WorkloadIdentityConfig>, pub desired_workload_certificates: Option<WorkloadCertificates>, pub desired_mesh_certificates: Option<MeshCertificates>, pub desired_workload_alts_config: Option<WorkloadAltsConfig>, pub desired_shielded_nodes: Option<ShieldedNodes>, pub desired_cost_management_config: Option<CostManagementConfig>, pub desired_master: Option<Master>, pub desired_dns_config: Option<DnsConfig>, pub desired_service_external_ips_config: Option<ServiceExternalIPsConfig>, pub desired_authenticator_groups_config: Option<AuthenticatorGroupsConfig>, pub desired_logging_config: Option<LoggingConfig>, pub desired_monitoring_config: Option<MonitoringConfig>, pub desired_identity_service_config: Option<IdentityServiceConfig>, pub desired_enable_private_endpoint: Option<bool>, pub desired_node_pool_auto_config_network_tags: Option<NetworkTags>, pub desired_protect_config: Option<ProtectConfig>, pub desired_gateway_api_config: Option<GatewayApiConfig>, pub etag: String, pub desired_node_pool_logging_config: Option<NodePoolLoggingConfig>, pub desired_fleet: Option<Fleet>, pub desired_stack_type: i32, pub additional_pod_ranges_config: Option<AdditionalPodRangesConfig>, pub removed_additional_pod_ranges_config: Option<AdditionalPodRangesConfig>, pub enable_k8s_beta_apis: Option<K8sBetaApiConfig>, pub desired_security_posture_config: Option<SecurityPostureConfig>, pub desired_network_performance_config: Option<ClusterNetworkPerformanceConfig>, pub desired_enable_fqdn_network_policy: Option<bool>, pub desired_autopilot_workload_policy_config: Option<WorkloadPolicyConfig>, pub desired_k8s_beta_apis: Option<K8sBetaApiConfig>, pub desired_host_maintenance_policy: Option<HostMaintenancePolicy>, pub desired_enable_multi_networking: Option<bool>, pub desired_node_pool_auto_config_resource_manager_tags: Option<ResourceManagerTags>, pub desired_in_transit_encryption_config: Option<i32>, pub desired_enable_cilium_clusterwide_network_policy: Option<bool>, pub desired_secret_manager_config: Option<SecretManagerConfig>,
}
Expand description

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.

Fields§

§desired_node_version: 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
§desired_monitoring_service: String

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.

§desired_addons_config: Option<AddonsConfig>

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

§desired_node_pool_id: String

The node pool to be upgraded. This field is mandatory if “desired_node_version”, “desired_image_family”, “desired_node_pool_autoscaling”, or “desired_workload_metadata_config” is specified and there is more than one node pool on the cluster.

§desired_image_type: String

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

§desired_node_pool_autoscaling: Option<NodePoolAutoscaling>

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.

§desired_locations: Vec<String>

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.

§desired_master_authorized_networks_config: Option<MasterAuthorizedNetworksConfig>

The desired configuration options for master authorized networks feature.

§desired_pod_security_policy_config: Option<PodSecurityPolicyConfig>

The desired configuration options for the PodSecurityPolicy feature.

§desired_cluster_autoscaling: Option<ClusterAutoscaling>

Cluster-level autoscaling configuration.

§desired_binary_authorization: Option<BinaryAuthorization>

The desired configuration options for the Binary Authorization feature.

§desired_logging_service: String

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.

§desired_resource_usage_export_config: Option<ResourceUsageExportConfig>

The desired configuration for exporting resource usage.

§desired_vertical_pod_autoscaling: Option<VerticalPodAutoscaling>

Cluster-level Vertical Pod Autoscaling configuration.

§desired_private_cluster_config: Option<PrivateClusterConfig>

The desired private cluster configuration.

§desired_intra_node_visibility_config: Option<IntraNodeVisibilityConfig>

The desired config of Intra-node visibility.

§desired_default_snat_status: Option<DefaultSnatStatus>

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

§desired_cluster_telemetry: Option<ClusterTelemetry>

The desired telemetry integration for the cluster.

§desired_release_channel: Option<ReleaseChannel>

The desired release channel configuration.

§desired_tpu_config: Option<TpuConfig>

The desired Cloud TPU configuration.

§desired_l4ilb_subsetting_config: Option<IlbSubsettingConfig>

The desired L4 Internal Load Balancer Subsetting configuration.

§desired_datapath_provider: i32

The desired datapath provider for the cluster.

§desired_private_ipv6_google_access: i32

The desired state of IPv6 connectivity to Google Services.

§desired_notification_config: Option<NotificationConfig>

The desired notification configuration.

§desired_master_version: String

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
§desired_gcfs_config: Option<GcfsConfig>

The desired GCFS config for the cluster.

§desired_database_encryption: Option<DatabaseEncryption>

Configuration of etcd encryption.

§desired_workload_identity_config: Option<WorkloadIdentityConfig>

Configuration for Workload Identity.

§desired_workload_certificates: Option<WorkloadCertificates>

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

§desired_mesh_certificates: Option<MeshCertificates>

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

§desired_workload_alts_config: Option<WorkloadAltsConfig>

Configuration for direct-path (via ALTS) with workload identity.

§desired_shielded_nodes: Option<ShieldedNodes>

Configuration for Shielded Nodes.

§desired_cost_management_config: Option<CostManagementConfig>

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

§desired_master: Option<Master>

Configuration for master components.

§desired_dns_config: Option<DnsConfig>

DNSConfig contains clusterDNS config for this cluster.

§desired_service_external_ips_config: Option<ServiceExternalIPsConfig>

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

§desired_authenticator_groups_config: Option<AuthenticatorGroupsConfig>

AuthenticatorGroupsConfig specifies the config for the cluster security groups settings.

§desired_logging_config: Option<LoggingConfig>

The desired logging configuration.

§desired_monitoring_config: Option<MonitoringConfig>

The desired monitoring configuration.

§desired_identity_service_config: Option<IdentityServiceConfig>

The desired Identity Service component configuration.

§desired_enable_private_endpoint: Option<bool>

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

§desired_node_pool_auto_config_network_tags: Option<NetworkTags>

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

§desired_protect_config: Option<ProtectConfig>
👎Deprecated

Deprecated: Use DesiredSecurityPostureConfig instead. Enable/Disable Protect API features for the cluster.

§desired_gateway_api_config: Option<GatewayApiConfig>

The desired config of Gateway API on this cluster.

§etag: String

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.

§desired_node_pool_logging_config: Option<NodePoolLoggingConfig>

The desired node pool logging configuration defaults for the cluster.

§desired_fleet: Option<Fleet>

The desired fleet configuration for the cluster.

§desired_stack_type: i32

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.

§additional_pod_ranges_config: Option<AdditionalPodRangesConfig>

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

§removed_additional_pod_ranges_config: Option<AdditionalPodRangesConfig>

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.

§enable_k8s_beta_apis: Option<K8sBetaApiConfig>

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

§desired_security_posture_config: Option<SecurityPostureConfig>

Enable/Disable Security Posture API features for the cluster.

§desired_network_performance_config: Option<ClusterNetworkPerformanceConfig>

The desired network performance config.

§desired_enable_fqdn_network_policy: Option<bool>

Enable/Disable FQDN Network Policy for the cluster.

§desired_autopilot_workload_policy_config: Option<WorkloadPolicyConfig>

The desired workload policy configuration for the autopilot cluster.

§desired_k8s_beta_apis: Option<K8sBetaApiConfig>

Beta APIs enabled for cluster.

§desired_host_maintenance_policy: Option<HostMaintenancePolicy>

HostMaintenancePolicy contains the desired maintenance policy for the Google Compute Engine hosts.

§desired_enable_multi_networking: Option<bool>

Enable/Disable Multi-Networking for the cluster

§desired_node_pool_auto_config_resource_manager_tags: Option<ResourceManagerTags>

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

§desired_in_transit_encryption_config: Option<i32>

Specify the details of in-transit encryption.

§desired_enable_cilium_clusterwide_network_policy: Option<bool>

Enable/Disable Cilium Clusterwide Network Policy for the cluster.

§desired_secret_manager_config: Option<SecretManagerConfig>

Enable/Disable Secret Manager Config.

Implementations§

source§

impl ClusterUpdate

source

pub fn desired_datapath_provider(&self) -> DatapathProvider

Returns the enum value of desired_datapath_provider, or the default if the field is set to an invalid enum value.

source

pub fn set_desired_datapath_provider(&mut self, value: DatapathProvider)

Sets desired_datapath_provider to the provided enum value.

source

pub fn desired_private_ipv6_google_access(&self) -> PrivateIPv6GoogleAccess

Returns the enum value of desired_private_ipv6_google_access, or the default if the field is set to an invalid enum value.

source

pub fn set_desired_private_ipv6_google_access( &mut self, value: PrivateIPv6GoogleAccess )

Sets desired_private_ipv6_google_access to the provided enum value.

source

pub fn desired_enable_private_endpoint(&self) -> bool

Returns the value of desired_enable_private_endpoint, or the default value if desired_enable_private_endpoint is unset.

source

pub fn desired_stack_type(&self) -> StackType

Returns the enum value of desired_stack_type, or the default if the field is set to an invalid enum value.

source

pub fn set_desired_stack_type(&mut self, value: StackType)

Sets desired_stack_type to the provided enum value.

source

pub fn desired_enable_fqdn_network_policy(&self) -> bool

Returns the value of desired_enable_fqdn_network_policy, or the default value if desired_enable_fqdn_network_policy is unset.

source

pub fn desired_enable_multi_networking(&self) -> bool

Returns the value of desired_enable_multi_networking, or the default value if desired_enable_multi_networking is unset.

source

pub fn desired_in_transit_encryption_config(&self) -> InTransitEncryptionConfig

Returns the enum value of desired_in_transit_encryption_config, or the default if the field is unset or set to an invalid enum value.

source

pub fn set_desired_in_transit_encryption_config( &mut self, value: InTransitEncryptionConfig )

Sets desired_in_transit_encryption_config to the provided enum value.

source

pub fn desired_enable_cilium_clusterwide_network_policy(&self) -> bool

Returns the value of desired_enable_cilium_clusterwide_network_policy, or the default value if desired_enable_cilium_clusterwide_network_policy is unset.

Trait Implementations§

source§

impl Clone for ClusterUpdate

source§

fn clone(&self) -> ClusterUpdate

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ClusterUpdate

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ClusterUpdate

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Message for ClusterUpdate

source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
source§

fn clear(&mut self)

Clears the message, resetting all fields to their default.
source§

fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message to a buffer. Read more
source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
source§

fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
source§

fn decode<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

Decodes an instance of the message from a buffer. Read more
source§

fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

Decodes a length-delimited instance of the message from the buffer.
source§

fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
source§

fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
source§

impl PartialEq for ClusterUpdate

source§

fn eq(&self, other: &ClusterUpdate) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for ClusterUpdate

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more