pub struct ClusterUpdate {
Show 52 fields pub additional_pod_ranges_config: Option<AdditionalPodRangesConfig>, pub desired_addons_config: Option<AddonsConfig>, pub desired_authenticator_groups_config: Option<AuthenticatorGroupsConfig>, pub desired_autopilot_workload_policy_config: Option<WorkloadPolicyConfig>, pub desired_binary_authorization: Option<BinaryAuthorization>, pub desired_cluster_autoscaling: Option<ClusterAutoscaling>, pub desired_cost_management_config: Option<CostManagementConfig>, pub desired_database_encryption: Option<DatabaseEncryption>, pub desired_datapath_provider: Option<String>, pub desired_default_snat_status: Option<DefaultSnatStatus>, pub desired_dns_config: Option<DNSConfig>, pub desired_enable_fqdn_network_policy: Option<bool>, pub desired_enable_private_endpoint: Option<bool>, pub desired_fleet: Option<Fleet>, pub desired_gateway_api_config: Option<GatewayAPIConfig>, pub desired_gcfs_config: Option<GcfsConfig>, pub desired_identity_service_config: Option<IdentityServiceConfig>, pub desired_image_type: Option<String>, pub desired_in_transit_encryption_config: Option<String>, pub desired_intra_node_visibility_config: Option<IntraNodeVisibilityConfig>, pub desired_k8s_beta_apis: Option<K8sBetaAPIConfig>, pub desired_l4ilb_subsetting_config: Option<ILBSubsettingConfig>, pub desired_locations: Option<Vec<String>>, pub desired_logging_config: Option<LoggingConfig>, pub desired_logging_service: Option<String>, pub desired_master_authorized_networks_config: Option<MasterAuthorizedNetworksConfig>, pub desired_master_version: Option<String>, pub desired_mesh_certificates: Option<MeshCertificates>, pub desired_monitoring_config: Option<MonitoringConfig>, pub desired_monitoring_service: Option<String>, pub desired_network_performance_config: Option<ClusterNetworkPerformanceConfig>, pub desired_node_pool_auto_config_network_tags: Option<NetworkTags>, pub desired_node_pool_auto_config_resource_manager_tags: Option<ResourceManagerTags>, pub desired_node_pool_autoscaling: Option<NodePoolAutoscaling>, pub desired_node_pool_id: Option<String>, pub desired_node_pool_logging_config: Option<NodePoolLoggingConfig>, pub desired_node_version: Option<String>, pub desired_notification_config: Option<NotificationConfig>, pub desired_parent_product_config: Option<ParentProductConfig>, pub desired_private_cluster_config: Option<PrivateClusterConfig>, pub desired_private_ipv6_google_access: Option<String>, pub desired_release_channel: Option<ReleaseChannel>, pub desired_resource_usage_export_config: Option<ResourceUsageExportConfig>, pub desired_security_posture_config: Option<SecurityPostureConfig>, pub desired_service_external_ips_config: Option<ServiceExternalIPsConfig>, pub desired_shielded_nodes: Option<ShieldedNodes>, pub desired_stack_type: Option<String>, pub desired_vertical_pod_autoscaling: Option<VerticalPodAutoscaling>, pub desired_workload_identity_config: Option<WorkloadIdentityConfig>, pub enable_k8s_beta_apis: Option<K8sBetaAPIConfig>, pub etag: Option<String>, pub removed_additional_pod_ranges_config: Option<AdditionalPodRangesConfig>,
}
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.

This type is not used in any activity, and only used as part of another schema.

Fields§

§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.

§desired_addons_config: Option<AddonsConfig>

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

§desired_authenticator_groups_config: Option<AuthenticatorGroupsConfig>

The desired authenticator groups config for the cluster.

§desired_autopilot_workload_policy_config: Option<WorkloadPolicyConfig>

The desired workload policy configuration for the autopilot cluster.

§desired_binary_authorization: Option<BinaryAuthorization>

The desired configuration options for the Binary Authorization feature.

§desired_cluster_autoscaling: Option<ClusterAutoscaling>

Cluster-level autoscaling configuration.

§desired_cost_management_config: Option<CostManagementConfig>

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

§desired_database_encryption: Option<DatabaseEncryption>

Configuration of etcd encryption.

§desired_datapath_provider: Option<String>

The desired datapath provider for the cluster.

§desired_default_snat_status: Option<DefaultSnatStatus>

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

§desired_dns_config: Option<DNSConfig>

DNSConfig contains clusterDNS config for this cluster.

§desired_enable_fqdn_network_policy: Option<bool>

Enable/Disable FQDN Network Policy for the cluster.

§desired_enable_private_endpoint: Option<bool>

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

§desired_fleet: Option<Fleet>

The desired fleet configuration for the cluster.

§desired_gateway_api_config: Option<GatewayAPIConfig>

The desired config of Gateway API on this cluster.

§desired_gcfs_config: Option<GcfsConfig>

The desired GCFS config for the cluster

§desired_identity_service_config: Option<IdentityServiceConfig>

The desired Identity Service component configuration.

§desired_image_type: Option<String>

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

§desired_in_transit_encryption_config: Option<String>

Specify the details of in-transit encryption.

§desired_intra_node_visibility_config: Option<IntraNodeVisibilityConfig>

The desired config of Intra-node visibility.

§desired_k8s_beta_apis: Option<K8sBetaAPIConfig>

Desired Beta APIs to be enabled for cluster.

§desired_l4ilb_subsetting_config: Option<ILBSubsettingConfig>

The desired L4 Internal Load Balancer Subsetting configuration.

§desired_locations: Option<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_logging_config: Option<LoggingConfig>

The desired logging configuration.

§desired_logging_service: Option<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_master_authorized_networks_config: Option<MasterAuthorizedNetworksConfig>

The desired configuration options for master authorized networks feature.

§desired_master_version: Option<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

§desired_mesh_certificates: Option<MeshCertificates>

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

§desired_monitoring_config: Option<MonitoringConfig>

The desired monitoring configuration.

§desired_monitoring_service: Option<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_network_performance_config: Option<ClusterNetworkPerformanceConfig>

The desired network performance config.

§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_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_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_node_pool_id: Option<String>

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.

§desired_node_pool_logging_config: Option<NodePoolLoggingConfig>

The desired node pool logging configuration defaults for the cluster.

§desired_node_version: Option<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_notification_config: Option<NotificationConfig>

The desired notification configuration.

§desired_parent_product_config: Option<ParentProductConfig>

The desired parent product config for the cluster.

§desired_private_cluster_config: Option<PrivateClusterConfig>

The desired private cluster configuration.

§desired_private_ipv6_google_access: Option<String>

The desired state of IPv6 connectivity to Google Services.

§desired_release_channel: Option<ReleaseChannel>

The desired release channel configuration.

§desired_resource_usage_export_config: Option<ResourceUsageExportConfig>

The desired configuration for exporting resource usage.

§desired_security_posture_config: Option<SecurityPostureConfig>

Enable/Disable Security Posture API features for the cluster.

§desired_service_external_ips_config: Option<ServiceExternalIPsConfig>

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

§desired_shielded_nodes: Option<ShieldedNodes>

Configuration for Shielded Nodes.

§desired_stack_type: Option<String>

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.

§desired_vertical_pod_autoscaling: Option<VerticalPodAutoscaling>

Cluster-level Vertical Pod Autoscaling configuration.

§desired_workload_identity_config: Option<WorkloadIdentityConfig>

Configuration for Workload Identity.

§enable_k8s_beta_apis: Option<K8sBetaAPIConfig>

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

§etag: Option<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.

§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.

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() -> ClusterUpdate

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

impl<'de> Deserialize<'de> for ClusterUpdate

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for ClusterUpdate

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Part 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.

source§

impl<T> Instrument for T

source§

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

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

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> 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.
source§

impl<T> WithSubscriber for T

source§

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
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,