Class: Google::Apis::ContainerV1::ClusterUpdate

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ClusterUpdate

Returns a new instance of ClusterUpdate.



1138
1139
1140
# File 'lib/google/apis/container_v1/classes.rb', line 1138

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#desired_addons_configGoogle::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



951
952
953
# File 'lib/google/apis/container_v1/classes.rb', line 951

def desired_addons_config
  @desired_addons_config
end

#desired_authenticator_groups_configGoogle::Apis::ContainerV1::AuthenticatorGroupsConfig

Configuration for returning group information from authenticators. Corresponds to the JSON property desiredAuthenticatorGroupsConfig



956
957
958
# File 'lib/google/apis/container_v1/classes.rb', line 956

def desired_authenticator_groups_config
  @desired_authenticator_groups_config
end

#desired_autopilotGoogle::Apis::ContainerV1::Autopilot

Autopilot is the configuration for Autopilot settings on the cluster. Corresponds to the JSON property desiredAutopilot



961
962
963
# File 'lib/google/apis/container_v1/classes.rb', line 961

def desired_autopilot
  @desired_autopilot
end

#desired_binary_authorizationGoogle::Apis::ContainerV1::BinaryAuthorization

Configuration for Binary Authorization. Corresponds to the JSON property desiredBinaryAuthorization



966
967
968
# File 'lib/google/apis/container_v1/classes.rb', line 966

def desired_binary_authorization
  @desired_binary_authorization
end

#desired_cluster_autoscalingGoogle::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



973
974
975
# File 'lib/google/apis/container_v1/classes.rb', line 973

def desired_cluster_autoscaling
  @desired_cluster_autoscaling
end

#desired_database_encryptionGoogle::Apis::ContainerV1::DatabaseEncryption

Configuration of etcd encryption. Corresponds to the JSON property desiredDatabaseEncryption



978
979
980
# File 'lib/google/apis/container_v1/classes.rb', line 978

def desired_database_encryption
  @desired_database_encryption
end

#desired_datapath_providerString

The desired datapath provider for the cluster. Corresponds to the JSON property desiredDatapathProvider

Returns:

  • (String)


983
984
985
# File 'lib/google/apis/container_v1/classes.rb', line 983

def desired_datapath_provider
  @desired_datapath_provider
end

#desired_default_snat_statusGoogle::Apis::ContainerV1::DefaultSnatStatus

DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. Corresponds to the JSON property desiredDefaultSnatStatus



989
990
991
# File 'lib/google/apis/container_v1/classes.rb', line 989

def desired_default_snat_status
  @desired_default_snat_status
end

#desired_image_typeString

The desired image type for the node pool. NOTE: Set the "desired_node_pool" field as well. Corresponds to the JSON property desiredImageType

Returns:

  • (String)


995
996
997
# File 'lib/google/apis/container_v1/classes.rb', line 995

def desired_image_type
  @desired_image_type
end

#desired_intra_node_visibility_configGoogle::Apis::ContainerV1::IntraNodeVisibilityConfig

IntraNodeVisibilityConfig contains the desired config of the intra-node visibility on this cluster. Corresponds to the JSON property desiredIntraNodeVisibilityConfig



1001
1002
1003
# File 'lib/google/apis/container_v1/classes.rb', line 1001

def desired_intra_node_visibility_config
  @desired_intra_node_visibility_config
end

#desired_l4ilb_subsetting_configGoogle::Apis::ContainerV1::IlbSubsettingConfig

ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer subsetting on this cluster. Corresponds to the JSON property desiredL4ilbSubsettingConfig



1007
1008
1009
# File 'lib/google/apis/container_v1/classes.rb', line 1007

def desired_l4ilb_subsetting_config
  @desired_l4ilb_subsetting_config
end

#desired_locationsArray<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

Returns:

  • (Array<String>)


1016
1017
1018
# File 'lib/google/apis/container_v1/classes.rb', line 1016

def desired_locations
  @desired_locations
end

#desired_logging_configGoogle::Apis::ContainerV1::LoggingConfig

LoggingConfig is cluster logging configuration. Corresponds to the JSON property desiredLoggingConfig



1021
1022
1023
# File 'lib/google/apis/container_v1/classes.rb', line 1021

def desired_logging_config
  @desired_logging_config
end

#desired_logging_serviceString

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

Returns:

  • (String)


1032
1033
1034
# File 'lib/google/apis/container_v1/classes.rb', line 1032

def desired_logging_service
  @desired_logging_service
end

#desired_master_authorized_networks_configGoogle::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



1040
1041
1042
# File 'lib/google/apis/container_v1/classes.rb', line 1040

def desired_master_authorized_networks_config
  @desired_master_authorized_networks_config
end

#desired_master_versionString

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

Returns:

  • (String)


1051
1052
1053
# File 'lib/google/apis/container_v1/classes.rb', line 1051

def desired_master_version
  @desired_master_version
end

#desired_monitoring_configGoogle::Apis::ContainerV1::MonitoringConfig

MonitoringConfig is cluster monitoring configuration. Corresponds to the JSON property desiredMonitoringConfig



1056
1057
1058
# File 'lib/google/apis/container_v1/classes.rb', line 1056

def desired_monitoring_config
  @desired_monitoring_config
end

#desired_monitoring_serviceString

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

Returns:

  • (String)


1067
1068
1069
# File 'lib/google/apis/container_v1/classes.rb', line 1067

def desired_monitoring_service
  @desired_monitoring_service
end

#desired_node_pool_autoscalingGoogle::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



1073
1074
1075
# File 'lib/google/apis/container_v1/classes.rb', line 1073

def desired_node_pool_autoscaling
  @desired_node_pool_autoscaling
end

#desired_node_pool_idString

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

Returns:

  • (String)


1080
1081
1082
# File 'lib/google/apis/container_v1/classes.rb', line 1080

def desired_node_pool_id
  @desired_node_pool_id
end

#desired_node_versionString

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

Returns:

  • (String)


1091
1092
1093
# File 'lib/google/apis/container_v1/classes.rb', line 1091

def desired_node_version
  @desired_node_version
end

#desired_notification_configGoogle::Apis::ContainerV1::NotificationConfig

NotificationConfig is the configuration of notifications. Corresponds to the JSON property desiredNotificationConfig



1096
1097
1098
# File 'lib/google/apis/container_v1/classes.rb', line 1096

def desired_notification_config
  @desired_notification_config
end

#desired_private_cluster_configGoogle::Apis::ContainerV1::PrivateClusterConfig

Configuration options for private clusters. Corresponds to the JSON property desiredPrivateClusterConfig



1101
1102
1103
# File 'lib/google/apis/container_v1/classes.rb', line 1101

def desired_private_cluster_config
  @desired_private_cluster_config
end

#desired_private_ipv6_google_accessString

The desired state of IPv6 connectivity to Google Services. Corresponds to the JSON property desiredPrivateIpv6GoogleAccess

Returns:

  • (String)


1106
1107
1108
# File 'lib/google/apis/container_v1/classes.rb', line 1106

def desired_private_ipv6_google_access
  @desired_private_ipv6_google_access
end

#desired_release_channelGoogle::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



1114
1115
1116
# File 'lib/google/apis/container_v1/classes.rb', line 1114

def desired_release_channel
  @desired_release_channel
end

#desired_resource_usage_export_configGoogle::Apis::ContainerV1::ResourceUsageExportConfig

Configuration for exporting cluster resource usages. Corresponds to the JSON property desiredResourceUsageExportConfig



1119
1120
1121
# File 'lib/google/apis/container_v1/classes.rb', line 1119

def desired_resource_usage_export_config
  @desired_resource_usage_export_config
end

#desired_shielded_nodesGoogle::Apis::ContainerV1::ShieldedNodes

Configuration of Shielded Nodes feature. Corresponds to the JSON property desiredShieldedNodes



1124
1125
1126
# File 'lib/google/apis/container_v1/classes.rb', line 1124

def desired_shielded_nodes
  @desired_shielded_nodes
end

#desired_vertical_pod_autoscalingGoogle::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



1131
1132
1133
# File 'lib/google/apis/container_v1/classes.rb', line 1131

def desired_vertical_pod_autoscaling
  @desired_vertical_pod_autoscaling
end

#desired_workload_identity_configGoogle::Apis::ContainerV1::WorkloadIdentityConfig

Configuration for the use of Kubernetes Service Accounts in GCP IAM policies. Corresponds to the JSON property desiredWorkloadIdentityConfig



1136
1137
1138
# File 'lib/google/apis/container_v1/classes.rb', line 1136

def desired_workload_identity_config
  @desired_workload_identity_config
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
# File 'lib/google/apis/container_v1/classes.rb', line 1143

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