Class: Google::Apis::ContainerV1::ClusterUpdate
- Inherits:
-
Object
- Object
- Google::Apis::ContainerV1::ClusterUpdate
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/container_v1/classes.rb,
lib/google/apis/container_v1/representations.rb,
lib/google/apis/container_v1/representations.rb
Overview
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.
Instance Attribute Summary collapse
-
#desired_addons_config ⇒ Google::Apis::ContainerV1::AddonsConfig
Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality.
-
#desired_authenticator_groups_config ⇒ Google::Apis::ContainerV1::AuthenticatorGroupsConfig
Configuration for returning group information from authenticators.
-
#desired_binary_authorization ⇒ Google::Apis::ContainerV1::BinaryAuthorization
Configuration for Binary Authorization.
-
#desired_cluster_autoscaling ⇒ Google::Apis::ContainerV1::ClusterAutoscaling
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.
-
#desired_database_encryption ⇒ Google::Apis::ContainerV1::DatabaseEncryption
Configuration of etcd encryption.
-
#desired_datapath_provider ⇒ String
The desired datapath provider for the cluster.
-
#desired_default_snat_status ⇒ Google::Apis::ContainerV1::DefaultSnatStatus
DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster.
-
#desired_dns_config ⇒ Google::Apis::ContainerV1::DnsConfig
DNSConfig contains the desired set of options for configuring clusterDNS.
-
#desired_gcfs_config ⇒ Google::Apis::ContainerV1::GcfsConfig
GcfsConfig contains configurations of Google Container File System (image streaming).
-
#desired_identity_service_config ⇒ Google::Apis::ContainerV1::IdentityServiceConfig
IdentityServiceConfig is configuration for Identity Service which allows customers to use external identity providers with the K8S API Corresponds to the JSON property
desiredIdentityServiceConfig. -
#desired_image_type ⇒ String
The desired image type for the node pool.
-
#desired_intra_node_visibility_config ⇒ Google::Apis::ContainerV1::IntraNodeVisibilityConfig
IntraNodeVisibilityConfig contains the desired config of the intra-node visibility on this cluster.
-
#desired_l4ilb_subsetting_config ⇒ Google::Apis::ContainerV1::IlbSubsettingConfig
ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer subsetting on this cluster.
-
#desired_locations ⇒ Array<String>
The desired list of Google Compute Engine zones in which the cluster's nodes should be located.
-
#desired_logging_config ⇒ Google::Apis::ContainerV1::LoggingConfig
LoggingConfig is cluster logging configuration.
-
#desired_logging_service ⇒ String
The logging service the cluster should use to write logs.
-
#desired_master_authorized_networks_config ⇒ Google::Apis::ContainerV1::MasterAuthorizedNetworksConfig
Configuration options for the master authorized networks feature.
-
#desired_master_version ⇒ String
The Kubernetes version to change the master to.
-
#desired_mesh_certificates ⇒ Google::Apis::ContainerV1::MeshCertificates
Configuration for issuance of mTLS keys and certificates to Kubernetes pods.
-
#desired_monitoring_config ⇒ Google::Apis::ContainerV1::MonitoringConfig
MonitoringConfig is cluster monitoring configuration.
-
#desired_monitoring_service ⇒ String
The monitoring service the cluster should use to write metrics.
-
#desired_node_pool_auto_config_network_tags ⇒ Google::Apis::ContainerV1::NetworkTags
Collection of Compute Engine network tags that can be applied to a node's underlying VM instance.
-
#desired_node_pool_autoscaling ⇒ Google::Apis::ContainerV1::NodePoolAutoscaling
NodePoolAutoscaling contains information required by cluster autoscaler to adjust the size of the node pool to the current cluster usage.
-
#desired_node_pool_id ⇒ String
The node pool to be upgraded.
-
#desired_node_version ⇒ String
The Kubernetes version to change the nodes to (typically an upgrade).
-
#desired_notification_config ⇒ Google::Apis::ContainerV1::NotificationConfig
NotificationConfig is the configuration of notifications.
-
#desired_private_cluster_config ⇒ Google::Apis::ContainerV1::PrivateClusterConfig
Configuration options for private clusters.
-
#desired_private_ipv6_google_access ⇒ String
The desired state of IPv6 connectivity to Google Services.
-
#desired_release_channel ⇒ Google::Apis::ContainerV1::ReleaseChannel
ReleaseChannel indicates which release channel a cluster is subscribed to.
-
#desired_resource_usage_export_config ⇒ Google::Apis::ContainerV1::ResourceUsageExportConfig
Configuration for exporting cluster resource usages.
-
#desired_service_external_ips_config ⇒ Google::Apis::ContainerV1::ServiceExternalIPsConfig
Config to block services with externalIPs field.
-
#desired_shielded_nodes ⇒ Google::Apis::ContainerV1::ShieldedNodes
Configuration of Shielded Nodes feature.
-
#desired_vertical_pod_autoscaling ⇒ Google::Apis::ContainerV1::VerticalPodAutoscaling
VerticalPodAutoscaling contains global, per-cluster information required by Vertical Pod Autoscaler to automatically adjust the resources of pods controlled by it.
-
#desired_workload_identity_config ⇒ Google::Apis::ContainerV1::WorkloadIdentityConfig
Configuration for the use of Kubernetes Service Accounts in GCP IAM policies.
Instance Method Summary collapse
-
#initialize(**args) ⇒ ClusterUpdate
constructor
A new instance of ClusterUpdate.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ ClusterUpdate
Returns a new instance of ClusterUpdate.
1333 1334 1335 |
# File 'lib/google/apis/container_v1/classes.rb', line 1333 def initialize(**args) update!(**args) end |
Instance Attribute Details
#desired_addons_config ⇒ Google::Apis::ContainerV1::AddonsConfig
Configuration for the addons that can be automatically spun up in the cluster,
enabling additional functionality.
Corresponds to the JSON property desiredAddonsConfig
1118 1119 1120 |
# File 'lib/google/apis/container_v1/classes.rb', line 1118 def desired_addons_config @desired_addons_config end |
#desired_authenticator_groups_config ⇒ Google::Apis::ContainerV1::AuthenticatorGroupsConfig
Configuration for returning group information from authenticators.
Corresponds to the JSON property desiredAuthenticatorGroupsConfig
1123 1124 1125 |
# File 'lib/google/apis/container_v1/classes.rb', line 1123 def desired_authenticator_groups_config @desired_authenticator_groups_config end |
#desired_binary_authorization ⇒ Google::Apis::ContainerV1::BinaryAuthorization
Configuration for Binary Authorization.
Corresponds to the JSON property desiredBinaryAuthorization
1128 1129 1130 |
# File 'lib/google/apis/container_v1/classes.rb', line 1128 def @desired_binary_authorization end |
#desired_cluster_autoscaling ⇒ Google::Apis::ContainerV1::ClusterAutoscaling
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
1135 1136 1137 |
# File 'lib/google/apis/container_v1/classes.rb', line 1135 def desired_cluster_autoscaling @desired_cluster_autoscaling end |
#desired_database_encryption ⇒ Google::Apis::ContainerV1::DatabaseEncryption
Configuration of etcd encryption.
Corresponds to the JSON property desiredDatabaseEncryption
1140 1141 1142 |
# File 'lib/google/apis/container_v1/classes.rb', line 1140 def desired_database_encryption @desired_database_encryption end |
#desired_datapath_provider ⇒ String
The desired datapath provider for the cluster.
Corresponds to the JSON property desiredDatapathProvider
1145 1146 1147 |
# File 'lib/google/apis/container_v1/classes.rb', line 1145 def desired_datapath_provider @desired_datapath_provider end |
#desired_default_snat_status ⇒ Google::Apis::ContainerV1::DefaultSnatStatus
DefaultSnatStatus contains the desired state of whether default sNAT should be
disabled on the cluster.
Corresponds to the JSON property desiredDefaultSnatStatus
1151 1152 1153 |
# File 'lib/google/apis/container_v1/classes.rb', line 1151 def desired_default_snat_status @desired_default_snat_status end |
#desired_dns_config ⇒ Google::Apis::ContainerV1::DnsConfig
DNSConfig contains the desired set of options for configuring clusterDNS.
Corresponds to the JSON property desiredDnsConfig
1156 1157 1158 |
# File 'lib/google/apis/container_v1/classes.rb', line 1156 def desired_dns_config @desired_dns_config end |
#desired_gcfs_config ⇒ Google::Apis::ContainerV1::GcfsConfig
GcfsConfig contains configurations of Google Container File System (image
streaming).
Corresponds to the JSON property desiredGcfsConfig
1162 1163 1164 |
# File 'lib/google/apis/container_v1/classes.rb', line 1162 def desired_gcfs_config @desired_gcfs_config end |
#desired_identity_service_config ⇒ Google::Apis::ContainerV1::IdentityServiceConfig
IdentityServiceConfig is configuration for Identity Service which allows
customers to use external identity providers with the K8S API
Corresponds to the JSON property desiredIdentityServiceConfig
1168 1169 1170 |
# File 'lib/google/apis/container_v1/classes.rb', line 1168 def desired_identity_service_config @desired_identity_service_config end |
#desired_image_type ⇒ String
The desired image type for the node pool. NOTE: Set the "desired_node_pool"
field as well.
Corresponds to the JSON property desiredImageType
1174 1175 1176 |
# File 'lib/google/apis/container_v1/classes.rb', line 1174 def desired_image_type @desired_image_type end |
#desired_intra_node_visibility_config ⇒ Google::Apis::ContainerV1::IntraNodeVisibilityConfig
IntraNodeVisibilityConfig contains the desired config of the intra-node
visibility on this cluster.
Corresponds to the JSON property desiredIntraNodeVisibilityConfig
1180 1181 1182 |
# File 'lib/google/apis/container_v1/classes.rb', line 1180 def desired_intra_node_visibility_config @desired_intra_node_visibility_config end |
#desired_l4ilb_subsetting_config ⇒ Google::Apis::ContainerV1::IlbSubsettingConfig
ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer
subsetting on this cluster.
Corresponds to the JSON property desiredL4ilbSubsettingConfig
1186 1187 1188 |
# File 'lib/google/apis/container_v1/classes.rb', line 1186 def desired_l4ilb_subsetting_config @desired_l4ilb_subsetting_config end |
#desired_locations ⇒ Array<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.
Corresponds to the JSON property desiredLocations
1195 1196 1197 |
# File 'lib/google/apis/container_v1/classes.rb', line 1195 def desired_locations @desired_locations end |
#desired_logging_config ⇒ Google::Apis::ContainerV1::LoggingConfig
LoggingConfig is cluster logging configuration.
Corresponds to the JSON property desiredLoggingConfig
1200 1201 1202 |
# File 'lib/google/apis/container_v1/classes.rb', line 1200 def desired_logging_config @desired_logging_config end |
#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.
Corresponds to the JSON property desiredLoggingService
1211 1212 1213 |
# File 'lib/google/apis/container_v1/classes.rb', line 1211 def desired_logging_service @desired_logging_service end |
#desired_master_authorized_networks_config ⇒ Google::Apis::ContainerV1::MasterAuthorizedNetworksConfig
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
1219 1220 1221 |
# File 'lib/google/apis/container_v1/classes.rb', line 1219 def @desired_master_authorized_networks_config end |
#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
Corresponds to the JSON property
desiredMasterVersion
1230 1231 1232 |
# File 'lib/google/apis/container_v1/classes.rb', line 1230 def desired_master_version @desired_master_version end |
#desired_mesh_certificates ⇒ Google::Apis::ContainerV1::MeshCertificates
Configuration for issuance of mTLS keys and certificates to Kubernetes pods.
Corresponds to the JSON property desiredMeshCertificates
1235 1236 1237 |
# File 'lib/google/apis/container_v1/classes.rb', line 1235 def desired_mesh_certificates @desired_mesh_certificates end |
#desired_monitoring_config ⇒ Google::Apis::ContainerV1::MonitoringConfig
MonitoringConfig is cluster monitoring configuration.
Corresponds to the JSON property desiredMonitoringConfig
1240 1241 1242 |
# File 'lib/google/apis/container_v1/classes.rb', line 1240 def desired_monitoring_config @desired_monitoring_config end |
#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.
Corresponds to the JSON property desiredMonitoringService
1251 1252 1253 |
# File 'lib/google/apis/container_v1/classes.rb', line 1251 def desired_monitoring_service @desired_monitoring_service end |
#desired_node_pool_auto_config_network_tags ⇒ Google::Apis::ContainerV1::NetworkTags
Collection of Compute Engine network tags that can be applied to a node's
underlying VM instance.
Corresponds to the JSON property desiredNodePoolAutoConfigNetworkTags
1257 1258 1259 |
# File 'lib/google/apis/container_v1/classes.rb', line 1257 def @desired_node_pool_auto_config_network_tags end |
#desired_node_pool_autoscaling ⇒ Google::Apis::ContainerV1::NodePoolAutoscaling
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
1263 1264 1265 |
# File 'lib/google/apis/container_v1/classes.rb', line 1263 def desired_node_pool_autoscaling @desired_node_pool_autoscaling end |
#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.
Corresponds to the JSON property desiredNodePoolId
1270 1271 1272 |
# File 'lib/google/apis/container_v1/classes.rb', line 1270 def desired_node_pool_id @desired_node_pool_id end |
#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
Corresponds to the JSON property desiredNodeVersion
1281 1282 1283 |
# File 'lib/google/apis/container_v1/classes.rb', line 1281 def desired_node_version @desired_node_version end |
#desired_notification_config ⇒ Google::Apis::ContainerV1::NotificationConfig
NotificationConfig is the configuration of notifications.
Corresponds to the JSON property desiredNotificationConfig
1286 1287 1288 |
# File 'lib/google/apis/container_v1/classes.rb', line 1286 def desired_notification_config @desired_notification_config end |
#desired_private_cluster_config ⇒ Google::Apis::ContainerV1::PrivateClusterConfig
Configuration options for private clusters.
Corresponds to the JSON property desiredPrivateClusterConfig
1291 1292 1293 |
# File 'lib/google/apis/container_v1/classes.rb', line 1291 def desired_private_cluster_config @desired_private_cluster_config end |
#desired_private_ipv6_google_access ⇒ String
The desired state of IPv6 connectivity to Google Services.
Corresponds to the JSON property desiredPrivateIpv6GoogleAccess
1296 1297 1298 |
# File 'lib/google/apis/container_v1/classes.rb', line 1296 def desired_private_ipv6_google_access @desired_private_ipv6_google_access end |
#desired_release_channel ⇒ Google::Apis::ContainerV1::ReleaseChannel
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
1304 1305 1306 |
# File 'lib/google/apis/container_v1/classes.rb', line 1304 def desired_release_channel @desired_release_channel end |
#desired_resource_usage_export_config ⇒ Google::Apis::ContainerV1::ResourceUsageExportConfig
Configuration for exporting cluster resource usages.
Corresponds to the JSON property desiredResourceUsageExportConfig
1309 1310 1311 |
# File 'lib/google/apis/container_v1/classes.rb', line 1309 def desired_resource_usage_export_config @desired_resource_usage_export_config end |
#desired_service_external_ips_config ⇒ Google::Apis::ContainerV1::ServiceExternalIPsConfig
Config to block services with externalIPs field.
Corresponds to the JSON property desiredServiceExternalIpsConfig
1314 1315 1316 |
# File 'lib/google/apis/container_v1/classes.rb', line 1314 def desired_service_external_ips_config @desired_service_external_ips_config end |
#desired_shielded_nodes ⇒ Google::Apis::ContainerV1::ShieldedNodes
Configuration of Shielded Nodes feature.
Corresponds to the JSON property desiredShieldedNodes
1319 1320 1321 |
# File 'lib/google/apis/container_v1/classes.rb', line 1319 def desired_shielded_nodes @desired_shielded_nodes end |
#desired_vertical_pod_autoscaling ⇒ Google::Apis::ContainerV1::VerticalPodAutoscaling
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
1326 1327 1328 |
# File 'lib/google/apis/container_v1/classes.rb', line 1326 def desired_vertical_pod_autoscaling @desired_vertical_pod_autoscaling end |
#desired_workload_identity_config ⇒ Google::Apis::ContainerV1::WorkloadIdentityConfig
Configuration for the use of Kubernetes Service Accounts in GCP IAM policies.
Corresponds to the JSON property desiredWorkloadIdentityConfig
1331 1332 1333 |
# File 'lib/google/apis/container_v1/classes.rb', line 1331 def desired_workload_identity_config @desired_workload_identity_config end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 |
# File 'lib/google/apis/container_v1/classes.rb', line 1338 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_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_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_gcfs_config = args[:desired_gcfs_config] if args.key?(:desired_gcfs_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_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_mesh_certificates = args[:desired_mesh_certificates] if args.key?(:desired_mesh_certificates) @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_auto_config_network_tags = args[:desired_node_pool_auto_config_network_tags] if args.key?(:desired_node_pool_auto_config_network_tags) @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_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_vertical_pod_autoscaling = args[:desired_vertical_pod_autoscaling] if args.key?(:desired_vertical_pod_autoscaling) @desired_workload_identity_config = args[:desired_workload_identity_config] if args.key?(:desired_workload_identity_config) end |