ClusterUpdate

Struct ClusterUpdate 

Source
pub struct ClusterUpdate {
Show 75 fields pub additional_pod_ranges_config: Option<AdditionalPodRangesConfig>, pub desired_additional_ip_ranges_config: Option<DesiredAdditionalIPRangesConfig>, pub desired_addons_config: Option<AddonsConfig>, pub desired_anonymous_authentication_config: Option<AnonymousAuthenticationConfig>, pub desired_authenticator_groups_config: Option<AuthenticatorGroupsConfig>, pub desired_auto_ipam_config: Option<AutoIpamConfig>, pub desired_autopilot_workload_policy_config: Option<WorkloadPolicyConfig>, pub desired_binary_authorization: Option<BinaryAuthorization>, pub desired_cluster_autoscaling: Option<ClusterAutoscaling>, pub desired_compliance_posture_config: Option<CompliancePostureConfig>, pub desired_containerd_config: Option<ContainerdConfig>, pub desired_control_plane_endpoints_config: Option<ControlPlaneEndpointsConfig>, pub desired_cost_management_config: Option<CostManagementConfig>, pub desired_database_encryption: Option<DatabaseEncryption>, pub desired_datapath_provider: Option<String>, pub desired_default_enable_private_nodes: Option<bool>, pub desired_default_snat_status: Option<DefaultSnatStatus>, pub desired_disable_l4_lb_firewall_reconciliation: Option<bool>, pub desired_dns_config: Option<DNSConfig>, pub desired_enable_cilium_clusterwide_network_policy: Option<bool>, pub desired_enable_fqdn_network_policy: Option<bool>, pub desired_enable_multi_networking: Option<bool>, pub desired_enable_private_endpoint: Option<bool>, pub desired_enterprise_config: Option<DesiredEnterpriseConfig>, 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_managed_opentelemetry_config: Option<ManagedOpenTelemetryConfig>, 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_network_tier_config: Option<NetworkTierConfig>, pub desired_node_kubelet_config: Option<NodeKubeletConfig>, pub desired_node_pool_auto_config_kubelet_config: Option<NodeKubeletConfig>, pub desired_node_pool_auto_config_linux_node_config: Option<LinuxNodeConfig>, 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_pod_autoscaling: Option<PodAutoscaling>, pub desired_private_cluster_config: Option<PrivateClusterConfig>, pub desired_private_ipv6_google_access: Option<String>, pub desired_privileged_admission_config: Option<PrivilegedAdmissionConfig>, pub desired_rbac_binding_config: Option<RBACBindingConfig>, pub desired_release_channel: Option<ReleaseChannel>, pub desired_resource_usage_export_config: Option<ResourceUsageExportConfig>, pub desired_secret_manager_config: Option<SecretManagerConfig>, 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_user_managed_keys_config: Option<UserManagedKeysConfig>, 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 gke_auto_upgrade_config: Option<GkeAutoUpgradeConfig>, pub removed_additional_pod_ranges_config: Option<AdditionalPodRangesConfig>, pub user_managed_keys_config: Option<UserManagedKeysConfig>,
}
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_additional_ip_ranges_config: Option<DesiredAdditionalIPRangesConfig>

The desired config for additional subnetworks attached to the cluster.

§desired_addons_config: Option<AddonsConfig>

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

§desired_anonymous_authentication_config: Option<AnonymousAuthenticationConfig>

Configuration for limiting anonymous access to all endpoints except the health checks.

§desired_authenticator_groups_config: Option<AuthenticatorGroupsConfig>

The desired authenticator groups config for the cluster.

§desired_auto_ipam_config: Option<AutoIpamConfig>

AutoIpamConfig contains all information related to Auto IPAM

§desired_autopilot_workload_policy_config: Option<WorkloadPolicyConfig>

WorkloadPolicyConfig is the configuration related to GCW workload policy

§desired_binary_authorization: Option<BinaryAuthorization>

The desired configuration options for the Binary Authorization feature.

§desired_cluster_autoscaling: Option<ClusterAutoscaling>

Cluster-level autoscaling configuration.

§desired_compliance_posture_config: Option<CompliancePostureConfig>

Enable/Disable Compliance Posture features for the cluster.

§desired_containerd_config: Option<ContainerdConfig>

The desired containerd config for the cluster.

§desired_control_plane_endpoints_config: Option<ControlPlaneEndpointsConfig>

Control plane endpoints 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_enable_private_nodes: Option<bool>

Override the default setting of whether future created nodes have private IP addresses only, namely NetworkConfig.default_enable_private_nodes

§desired_default_snat_status: Option<DefaultSnatStatus>

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

§desired_disable_l4_lb_firewall_reconciliation: Option<bool>

Enable/Disable L4 LB VPC firewall reconciliation for the cluster.

§desired_dns_config: Option<DNSConfig>

DNSConfig contains clusterDNS config for this cluster.

§desired_enable_cilium_clusterwide_network_policy: Option<bool>

Enable/Disable Cilium Clusterwide Network Policy for the cluster.

§desired_enable_fqdn_network_policy: Option<bool>

Enable/Disable FQDN Network Policy for the cluster.

§desired_enable_multi_networking: Option<bool>

Enable/Disable Multi-Networking for the cluster

§desired_enable_private_endpoint: Option<bool>

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.

§desired_enterprise_config: Option<DesiredEnterpriseConfig>

The desired enterprise configuration for the cluster. Deprecated: GKE Enterprise features are now available without an Enterprise tier.

§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_managed_opentelemetry_config: Option<ManagedOpenTelemetryConfig>

The desired managed open telemetry configuration.

§desired_master_authorized_networks_config: Option<MasterAuthorizedNetworksConfig>

The desired configuration options for master authorized networks feature. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.authorized_networks_config instead.

§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_network_tier_config: Option<NetworkTierConfig>

The desired network tier configuration for the cluster.

§desired_node_kubelet_config: Option<NodeKubeletConfig>

The desired node kubelet config for the cluster.

§desired_node_pool_auto_config_kubelet_config: Option<NodeKubeletConfig>

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

§desired_node_pool_auto_config_linux_node_config: Option<LinuxNodeConfig>

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.

§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_pod_autoscaling: Option<PodAutoscaling>

The desired config for pod autoscaling.

§desired_private_cluster_config: Option<PrivateClusterConfig>

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 for modifying other fields within PrivateClusterConfig. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.global_access instead.

§desired_private_ipv6_google_access: Option<String>

The desired state of IPv6 connectivity to Google Services.

§desired_privileged_admission_config: Option<PrivilegedAdmissionConfig>

The desired privileged admission config for the cluster.

§desired_rbac_binding_config: Option<RBACBindingConfig>

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

§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_secret_manager_config: Option<SecretManagerConfig>

Enable/Disable Secret Manager Config.

§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_user_managed_keys_config: Option<UserManagedKeysConfig>

The desired user managed keys config for the cluster.

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

§gke_auto_upgrade_config: Option<GkeAutoUpgradeConfig>

Configuration for GKE auto upgrade.

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

§user_managed_keys_config: Option<UserManagedKeysConfig>

The Custom keys configuration for the cluster. This field is deprecated. Use ClusterUpdate.desired_user_managed_keys_config instead.

Trait Implementations§

Source§

impl Clone for ClusterUpdate

Source§

fn clone(&self) -> ClusterUpdate

Returns a duplicate 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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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,

Source§

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>,

Source§

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>,

Source§

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>,