class Google::Apis::ContainerV1beta1::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.

Attributes

desired_addons_config[RW]

Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. Corresponds to the JSON property `desiredAddonsConfig` @return [Google::Apis::ContainerV1beta1::AddonsConfig]

desired_authenticator_groups_config[RW]

Configuration for returning group information from authenticators. Corresponds to the JSON property `desiredAuthenticatorGroupsConfig` @return [Google::Apis::ContainerV1beta1::AuthenticatorGroupsConfig]

desired_autopilot[RW]

Autopilot is the configuration for Autopilot settings on the cluster. Corresponds to the JSON property `desiredAutopilot` @return [Google::Apis::ContainerV1beta1::Autopilot]

desired_binary_authorization[RW]

Configuration for Binary Authorization. Corresponds to the JSON property `desiredBinaryAuthorization` @return [Google::Apis::ContainerV1beta1::BinaryAuthorization]

desired_cluster_autoscaling[RW]

ClusterAutoscaling contains global, per-cluster information required by Cluster Autoscaler to automatically adjust the size of the cluster and create/ delete node pools based on the current needs. Corresponds to the JSON property `desiredClusterAutoscaling` @return [Google::Apis::ContainerV1beta1::ClusterAutoscaling]

desired_cluster_telemetry[RW]

Telemetry integration for the cluster. Corresponds to the JSON property `desiredClusterTelemetry` @return [Google::Apis::ContainerV1beta1::ClusterTelemetry]

desired_database_encryption[RW]

Configuration of etcd encryption. Corresponds to the JSON property `desiredDatabaseEncryption` @return [Google::Apis::ContainerV1beta1::DatabaseEncryption]

desired_datapath_provider[RW]

The desired datapath provider for the cluster. Corresponds to the JSON property `desiredDatapathProvider` @return [String]

desired_default_snat_status[RW]

DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. Corresponds to the JSON property `desiredDefaultSnatStatus` @return [Google::Apis::ContainerV1beta1::DefaultSnatStatus]

desired_dns_config[RW]

DNSConfig contains the desired set of options for configuring clusterDNS. Corresponds to the JSON property `desiredDnsConfig` @return [Google::Apis::ContainerV1beta1::DnsConfig]

desired_identity_service_config[RW]

IdentityServiceConfig is configuration for Identity Service which allows customers to use external identity providers with the K8S API Corresponds to the JSON property `desiredIdentityServiceConfig` @return [Google::Apis::ContainerV1beta1::IdentityServiceConfig]

desired_image_type[RW]

The desired image type for the node pool. NOTE: Set the “desired_node_pool” field as well. Corresponds to the JSON property `desiredImageType` @return [String]

desired_intra_node_visibility_config[RW]

IntraNodeVisibilityConfig contains the desired config of the intra-node visibility on this cluster. Corresponds to the JSON property `desiredIntraNodeVisibilityConfig` @return [Google::Apis::ContainerV1beta1::IntraNodeVisibilityConfig]

desired_l4ilb_subsetting_config[RW]

ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer subsetting on this cluster. Corresponds to the JSON property `desiredL4ilbSubsettingConfig` @return [Google::Apis::ContainerV1beta1::IlbSubsettingConfig]

desired_locations[RW]

The desired list of Google Compute Engine [zones](cloud.google.com/ compute/docs/zones#available) 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. Corresponds to the JSON property `desiredLocations` @return [Array<String>]

desired_logging_config[RW]

LoggingConfig is cluster logging configuration. Corresponds to the JSON property `desiredLoggingConfig` @return [Google::Apis::ContainerV1beta1::LoggingConfig]

desired_logging_service[RW]

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. Corresponds to the JSON property `desiredLoggingService` @return [String]

desired_master[RW]

Master is the configuration for components on master. Corresponds to the JSON property `desiredMaster` @return [Google::Apis::ContainerV1beta1::Master]

desired_master_authorized_networks_config[RW]

Configuration options for the master authorized networks feature. Enabled master authorized networks will disallow all external traffic to access Kubernetes master through HTTPS except traffic from the given CIDR blocks, Google Compute Engine Public IPs and Google Prod IPs. Corresponds to the JSON property `desiredMasterAuthorizedNetworksConfig` @return [Google::Apis::ContainerV1beta1::MasterAuthorizedNetworksConfig]

desired_master_version[RW]

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 Corresponds to the JSON property `desiredMasterVersion` @return [String]

desired_monitoring_config[RW]

MonitoringConfig is cluster monitoring configuration. Corresponds to the JSON property `desiredMonitoringConfig` @return [Google::Apis::ContainerV1beta1::MonitoringConfig]

desired_monitoring_service[RW]

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. Corresponds to the JSON property `desiredMonitoringService` @return [String]

desired_node_pool_autoscaling[RW]

NodePoolAutoscaling contains information required by cluster autoscaler to adjust the size of the node pool to the current cluster usage. Corresponds to the JSON property `desiredNodePoolAutoscaling` @return [Google::Apis::ContainerV1beta1::NodePoolAutoscaling]

desired_node_pool_id[RW]

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. Corresponds to the JSON property `desiredNodePoolId` @return [String]

desired_node_version[RW]

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 Corresponds to the JSON property `desiredNodeVersion` @return [String]

desired_notification_config[RW]

NotificationConfig is the configuration of notifications. Corresponds to the JSON property `desiredNotificationConfig` @return [Google::Apis::ContainerV1beta1::NotificationConfig]

desired_pod_security_policy_config[RW]

Configuration for the PodSecurityPolicy feature. Corresponds to the JSON property `desiredPodSecurityPolicyConfig` @return [Google::Apis::ContainerV1beta1::PodSecurityPolicyConfig]

desired_private_cluster_config[RW]

Configuration options for private clusters. Corresponds to the JSON property `desiredPrivateClusterConfig` @return [Google::Apis::ContainerV1beta1::PrivateClusterConfig]

desired_private_ipv6_google_access[RW]

The desired state of IPv6 connectivity to Google Services. Corresponds to the JSON property `desiredPrivateIpv6GoogleAccess` @return [String]

desired_release_channel[RW]

ReleaseChannel indicates which release channel a cluster is subscribed to. Release channels are arranged in order of risk. When a cluster is subscribed to a release channel, Google maintains both the master version and the node version. Node auto-upgrade defaults to true and cannot be disabled. Corresponds to the JSON property `desiredReleaseChannel` @return [Google::Apis::ContainerV1beta1::ReleaseChannel]

desired_resource_usage_export_config[RW]

Configuration for exporting cluster resource usages. Corresponds to the JSON property `desiredResourceUsageExportConfig` @return [Google::Apis::ContainerV1beta1::ResourceUsageExportConfig]

desired_service_external_ips_config[RW]

Config to block services with externalIPs field. Corresponds to the JSON property `desiredServiceExternalIpsConfig` @return [Google::Apis::ContainerV1beta1::ServiceExternalIPsConfig]

desired_shielded_nodes[RW]

Configuration of Shielded Nodes feature. Corresponds to the JSON property `desiredShieldedNodes` @return [Google::Apis::ContainerV1beta1::ShieldedNodes]

desired_tpu_config[RW]

Configuration for Cloud TPU. Corresponds to the JSON property `desiredTpuConfig` @return [Google::Apis::ContainerV1beta1::TpuConfig]

desired_vertical_pod_autoscaling[RW]

VerticalPodAutoscaling contains global, per-cluster information required by Vertical Pod Autoscaler to automatically adjust the resources of pods controlled by it. Corresponds to the JSON property `desiredVerticalPodAutoscaling` @return [Google::Apis::ContainerV1beta1::VerticalPodAutoscaling]

desired_workload_certificates[RW]

Configuration for issuance of mTLS keys and certificates to Kubernetes pods. Corresponds to the JSON property `desiredWorkloadCertificates` @return [Google::Apis::ContainerV1beta1::WorkloadCertificates]

desired_workload_identity_config[RW]

Configuration for the use of Kubernetes Service Accounts in GCP IAM policies. Corresponds to the JSON property `desiredWorkloadIdentityConfig` @return [Google::Apis::ContainerV1beta1::WorkloadIdentityConfig]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/container_v1beta1/classes.rb, line 1312
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/container_v1beta1/classes.rb, line 1317
def update!(**args)
  @desired_addons_config = args[:desired_addons_config] if args.key?(:desired_addons_config)
  @desired_authenticator_groups_config = args[:desired_authenticator_groups_config] if args.key?(:desired_authenticator_groups_config)
  @desired_autopilot = args[:desired_autopilot] if args.key?(:desired_autopilot)
  @desired_binary_authorization = args[:desired_binary_authorization] if args.key?(:desired_binary_authorization)
  @desired_cluster_autoscaling = args[:desired_cluster_autoscaling] if args.key?(:desired_cluster_autoscaling)
  @desired_cluster_telemetry = args[:desired_cluster_telemetry] if args.key?(:desired_cluster_telemetry)
  @desired_database_encryption = args[:desired_database_encryption] if args.key?(:desired_database_encryption)
  @desired_datapath_provider = args[:desired_datapath_provider] if args.key?(:desired_datapath_provider)
  @desired_default_snat_status = args[:desired_default_snat_status] if args.key?(:desired_default_snat_status)
  @desired_dns_config = args[:desired_dns_config] if args.key?(:desired_dns_config)
  @desired_identity_service_config = args[:desired_identity_service_config] if args.key?(:desired_identity_service_config)
  @desired_image_type = args[:desired_image_type] if args.key?(:desired_image_type)
  @desired_intra_node_visibility_config = args[:desired_intra_node_visibility_config] if args.key?(:desired_intra_node_visibility_config)
  @desired_l4ilb_subsetting_config = args[:desired_l4ilb_subsetting_config] if args.key?(:desired_l4ilb_subsetting_config)
  @desired_locations = args[:desired_locations] if args.key?(:desired_locations)
  @desired_logging_config = args[:desired_logging_config] if args.key?(:desired_logging_config)
  @desired_logging_service = args[:desired_logging_service] if args.key?(:desired_logging_service)
  @desired_master = args[:desired_master] if args.key?(:desired_master)
  @desired_master_authorized_networks_config = args[:desired_master_authorized_networks_config] if args.key?(:desired_master_authorized_networks_config)
  @desired_master_version = args[:desired_master_version] if args.key?(:desired_master_version)
  @desired_monitoring_config = args[:desired_monitoring_config] if args.key?(:desired_monitoring_config)
  @desired_monitoring_service = args[:desired_monitoring_service] if args.key?(:desired_monitoring_service)
  @desired_node_pool_autoscaling = args[:desired_node_pool_autoscaling] if args.key?(:desired_node_pool_autoscaling)
  @desired_node_pool_id = args[:desired_node_pool_id] if args.key?(:desired_node_pool_id)
  @desired_node_version = args[:desired_node_version] if args.key?(:desired_node_version)
  @desired_notification_config = args[:desired_notification_config] if args.key?(:desired_notification_config)
  @desired_pod_security_policy_config = args[:desired_pod_security_policy_config] if args.key?(:desired_pod_security_policy_config)
  @desired_private_cluster_config = args[:desired_private_cluster_config] if args.key?(:desired_private_cluster_config)
  @desired_private_ipv6_google_access = args[:desired_private_ipv6_google_access] if args.key?(:desired_private_ipv6_google_access)
  @desired_release_channel = args[:desired_release_channel] if args.key?(:desired_release_channel)
  @desired_resource_usage_export_config = args[:desired_resource_usage_export_config] if args.key?(:desired_resource_usage_export_config)
  @desired_service_external_ips_config = args[:desired_service_external_ips_config] if args.key?(:desired_service_external_ips_config)
  @desired_shielded_nodes = args[:desired_shielded_nodes] if args.key?(:desired_shielded_nodes)
  @desired_tpu_config = args[:desired_tpu_config] if args.key?(:desired_tpu_config)
  @desired_vertical_pod_autoscaling = args[:desired_vertical_pod_autoscaling] if args.key?(:desired_vertical_pod_autoscaling)
  @desired_workload_certificates = args[:desired_workload_certificates] if args.key?(:desired_workload_certificates)
  @desired_workload_identity_config = args[:desired_workload_identity_config] if args.key?(:desired_workload_identity_config)
end