Struct google_api_proto::google::container::v1::ClusterUpdate

source ·
pub struct ClusterUpdate {
Show 56 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_database_encryption: Option<DatabaseEncryption>, pub desired_workload_identity_config: Option<WorkloadIdentityConfig>, pub desired_mesh_certificates: Option<MeshCertificates>, pub desired_shielded_nodes: Option<ShieldedNodes>, pub desired_cost_management_config: Option<CostManagementConfig>, pub desired_dns_config: Option<DnsConfig>, pub desired_node_pool_autoscaling: Option<NodePoolAutoscaling>, pub desired_locations: Vec<String>, pub desired_master_authorized_networks_config: Option<MasterAuthorizedNetworksConfig>, 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_release_channel: Option<ReleaseChannel>, 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_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_service_external_ips_config: Option<ServiceExternalIPsConfig>, pub desired_enable_private_endpoint: Option<bool>, pub desired_master_version: String, pub desired_gcfs_config: Option<GcfsConfig>, pub desired_node_pool_auto_config_network_tags: Option<NetworkTags>, 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_containerd_config: Option<ContainerdConfig>, 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_node_kubelet_config: Option<NodeKubeletConfig>, pub desired_node_pool_auto_config_kubelet_config: Option<NodeKubeletConfig>,
}
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” or “desired_node_pool_autoscaling” 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_database_encryption: Option<DatabaseEncryption>

Configuration of etcd encryption.

§desired_workload_identity_config: Option<WorkloadIdentityConfig>

Configuration for Workload Identity.

§desired_mesh_certificates: Option<MeshCertificates>

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

§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_dns_config: Option<DnsConfig>

DNSConfig contains clusterDNS config for this cluster.

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

§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_release_channel: Option<ReleaseChannel>

The desired release channel 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_authenticator_groups_config: Option<AuthenticatorGroupsConfig>

The desired authenticator groups config for the cluster.

§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_service_external_ips_config: Option<ServiceExternalIPsConfig>

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

§desired_enable_private_endpoint: Option<bool>

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

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

The desired GCFS config for the cluster

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

Desired Beta APIs to be enabled for cluster.

§desired_containerd_config: Option<ContainerdConfig>

The desired containerd config for the cluster.

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

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(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>
where 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( &self, buf: &mut impl BufMut, ) -> Result<(), EncodeError>
where 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(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

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

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

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

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

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

fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where 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