generated/google/apis/container_v1/classes.rb in google-api-client-0.36.4 vs generated/google/apis/container_v1/classes.rb in google-api-client-0.37.0
- old
+ new
@@ -157,10 +157,16 @@
# AutoprovisioningNodePoolDefaults contains defaults for a node pool created
# by NAP.
class AutoprovisioningNodePoolDefaults
include Google::Apis::Core::Hashable
+ # NodeManagement defines the set of node management services turned on for the
+ # node pool.
+ # Corresponds to the JSON property `management`
+ # @return [Google::Apis::ContainerV1::NodeManagement]
+ attr_accessor :management
+
# Scopes that are used by NAP when creating node pools. If oauth_scopes are
# specified, service_account should be empty.
# Corresponds to the JSON property `oauthScopes`
# @return [Array<String>]
attr_accessor :oauth_scopes
@@ -169,18 +175,42 @@
# service_account is specified, scopes should be empty.
# Corresponds to the JSON property `serviceAccount`
# @return [String]
attr_accessor :service_account
+ # These upgrade settings control the level of parallelism and the level of
+ # disruption caused by an upgrade.
+ # maxUnavailable controls the number of nodes that can be simultaneously
+ # unavailable.
+ # maxSurge controls the number of additional nodes that can be added to the
+ # node pool temporarily for the time of the upgrade to increase the number of
+ # available nodes.
+ # (maxUnavailable + maxSurge) determines the level of parallelism (how many
+ # nodes are being upgraded at the same time).
+ # Note: upgrades inevitably introduce some disruption since workloads need to
+ # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
+ # this holds true. (Disruption stays within the limits of
+ # PodDisruptionBudget, if it is configured.)
+ # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
+ # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
+ # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
+ # down 3 old (not yet upgraded) nodes at the same time. This ensures that
+ # there are always at least 4 nodes available.
+ # Corresponds to the JSON property `upgradeSettings`
+ # @return [Google::Apis::ContainerV1::UpgradeSettings]
+ attr_accessor :upgrade_settings
+
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
+ @management = args[:management] if args.key?(:management)
@oauth_scopes = args[:oauth_scopes] if args.key?(:oauth_scopes)
@service_account = args[:service_account] if args.key?(:service_account)
+ @upgrade_settings = args[:upgrade_settings] if args.key?(:upgrade_settings)
end
end
# Parameters for using BigQuery as the destination of resource usage export.
class BigQueryDestination
@@ -626,10 +656,15 @@
# typically put in the last `/16` from the container CIDR.
# Corresponds to the JSON property `servicesIpv4Cidr`
# @return [String]
attr_accessor :services_ipv4_cidr
+ # Configuration of Shielded Nodes feature.
+ # Corresponds to the JSON property `shieldedNodes`
+ # @return [Google::Apis::ContainerV1::ShieldedNodes]
+ attr_accessor :shielded_nodes
+
# [Output only] The current status of this cluster.
# Corresponds to the JSON property `status`
# @return [String]
attr_accessor :status
@@ -714,10 +749,11 @@
@private_cluster_config = args[:private_cluster_config] if args.key?(:private_cluster_config)
@resource_labels = args[:resource_labels] if args.key?(:resource_labels)
@resource_usage_export_config = args[:resource_usage_export_config] if args.key?(:resource_usage_export_config)
@self_link = args[:self_link] if args.key?(:self_link)
@services_ipv4_cidr = args[:services_ipv4_cidr] if args.key?(:services_ipv4_cidr)
+ @shielded_nodes = args[:shielded_nodes] if args.key?(:shielded_nodes)
@status = args[:status] if args.key?(:status)
@status_message = args[:status_message] if args.key?(:status_message)
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
@tpu_ipv4_cidr_block = args[:tpu_ipv4_cidr_block] if args.key?(:tpu_ipv4_cidr_block)
@vertical_pod_autoscaling = args[:vertical_pod_autoscaling] if args.key?(:vertical_pod_autoscaling)
@@ -891,10 +927,15 @@
# Configuration for exporting cluster resource usages.
# Corresponds to the JSON property `desiredResourceUsageExportConfig`
# @return [Google::Apis::ContainerV1::ResourceUsageExportConfig]
attr_accessor :desired_resource_usage_export_config
+ # Configuration of Shielded Nodes feature.
+ # Corresponds to the JSON property `desiredShieldedNodes`
+ # @return [Google::Apis::ContainerV1::ShieldedNodes]
+ attr_accessor :desired_shielded_nodes
+
# 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::ContainerV1::VerticalPodAutoscaling]
@@ -919,10 +960,11 @@
@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_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)
end
end
# CompleteIPRotationRequest moves the cluster master back into single-IP mode.
@@ -2028,12 +2070,13 @@
# "cluster-name"
# "cluster-uid"
# "configure-sh"
# "containerd-configure-sh"
# "enable-os-login"
- # "gci-update-strategy"
# "gci-ensure-gke-docker"
+ # "gci-metrics-enabled"
+ # "gci-update-strategy"
# "instance-template"
# "kube-env"
# "startup-script"
# "user-data"
# "disable-address-manager"
@@ -2084,12 +2127,25 @@
# Corresponds to the JSON property `preemptible`
# @return [Boolean]
attr_accessor :preemptible
alias_method :preemptible?, :preemptible
- # The Google Cloud Platform Service Account to be used by the node VMs. If
- # no Service Account is specified, the "default" service account is used.
+ # [ReservationAffinity](/compute/docs/instances/reserving-zonal-resources) is
+ # the configuration of desired reservation which instances could take
+ # capacity from.
+ # Corresponds to the JSON property `reservationAffinity`
+ # @return [Google::Apis::ContainerV1::ReservationAffinity]
+ attr_accessor :reservation_affinity
+
+ # SandboxConfig contains configurations of the sandbox to use for the node.
+ # Corresponds to the JSON property `sandboxConfig`
+ # @return [Google::Apis::ContainerV1::SandboxConfig]
+ attr_accessor :sandbox_config
+
+ # The Google Cloud Platform Service Account to be used by the node VMs.
+ # Specify the email address of the Service Account; otherwise, if no Service
+ # Account is specified, the "default" service account is used.
# Corresponds to the JSON property `serviceAccount`
# @return [String]
attr_accessor :service_account
# A set of Shielded Instance options.
@@ -2127,10 +2183,12 @@
@machine_type = args[:machine_type] if args.key?(:machine_type)
@metadata = args[:metadata] if args.key?(:metadata)
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
@oauth_scopes = args[:oauth_scopes] if args.key?(:oauth_scopes)
@preemptible = args[:preemptible] if args.key?(:preemptible)
+ @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
+ @sandbox_config = args[:sandbox_config] if args.key?(:sandbox_config)
@service_account = args[:service_account] if args.key?(:service_account)
@shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
@tags = args[:tags] if args.key?(:tags)
@taints = args[:taints] if args.key?(:taints)
end
@@ -2214,10 +2272,16 @@
# associated with this node pool.
# Corresponds to the JSON property `instanceGroupUrls`
# @return [Array<String>]
attr_accessor :instance_group_urls
+ # The list of Google Compute Engine [zones](/compute/docs/zones#available)
+ # in which the NodePool's nodes should be located.
+ # Corresponds to the JSON property `locations`
+ # @return [Array<String>]
+ attr_accessor :locations
+
# NodeManagement defines the set of node management services turned on for the
# node pool.
# Corresponds to the JSON property `management`
# @return [Google::Apis::ContainerV1::NodeManagement]
attr_accessor :management
@@ -2251,10 +2315,32 @@
# node pool instance, if available.
# Corresponds to the JSON property `statusMessage`
# @return [String]
attr_accessor :status_message
+ # These upgrade settings control the level of parallelism and the level of
+ # disruption caused by an upgrade.
+ # maxUnavailable controls the number of nodes that can be simultaneously
+ # unavailable.
+ # maxSurge controls the number of additional nodes that can be added to the
+ # node pool temporarily for the time of the upgrade to increase the number of
+ # available nodes.
+ # (maxUnavailable + maxSurge) determines the level of parallelism (how many
+ # nodes are being upgraded at the same time).
+ # Note: upgrades inevitably introduce some disruption since workloads need to
+ # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
+ # this holds true. (Disruption stays within the limits of
+ # PodDisruptionBudget, if it is configured.)
+ # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
+ # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
+ # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
+ # down 3 old (not yet upgraded) nodes at the same time. This ensures that
+ # there are always at least 4 nodes available.
+ # Corresponds to the JSON property `upgradeSettings`
+ # @return [Google::Apis::ContainerV1::UpgradeSettings]
+ attr_accessor :upgrade_settings
+
# The version of the Kubernetes of this node.
# Corresponds to the JSON property `version`
# @return [String]
attr_accessor :version
@@ -2267,17 +2353,19 @@
@autoscaling = args[:autoscaling] if args.key?(:autoscaling)
@conditions = args[:conditions] if args.key?(:conditions)
@config = args[:config] if args.key?(:config)
@initial_node_count = args[:initial_node_count] if args.key?(:initial_node_count)
@instance_group_urls = args[:instance_group_urls] if args.key?(:instance_group_urls)
+ @locations = args[:locations] if args.key?(:locations)
@management = args[:management] if args.key?(:management)
@max_pods_constraint = args[:max_pods_constraint] if args.key?(:max_pods_constraint)
@name = args[:name] if args.key?(:name)
@pod_ipv4_cidr_size = args[:pod_ipv4_cidr_size] if args.key?(:pod_ipv4_cidr_size)
@self_link = args[:self_link] if args.key?(:self_link)
@status = args[:status] if args.key?(:status)
@status_message = args[:status_message] if args.key?(:status_message)
+ @upgrade_settings = args[:upgrade_settings] if args.key?(:upgrade_settings)
@version = args[:version] if args.key?(:version)
end
end
# NodePoolAutoscaling contains information required by cluster autoscaler to
@@ -2480,10 +2568,15 @@
# any other ranges in use within the cluster's network.
# Corresponds to the JSON property `masterIpv4CidrBlock`
# @return [String]
attr_accessor :master_ipv4_cidr_block
+ # Output only. The peering name in the customer VPC used by this cluster.
+ # Corresponds to the JSON property `peeringName`
+ # @return [String]
+ attr_accessor :peering_name
+
# Output only. The internal IP address of this cluster's master endpoint.
# Corresponds to the JSON property `privateEndpoint`
# @return [String]
attr_accessor :private_endpoint
@@ -2499,10 +2592,11 @@
# Update properties of this object
def update!(**args)
@enable_private_endpoint = args[:enable_private_endpoint] if args.key?(:enable_private_endpoint)
@enable_private_nodes = args[:enable_private_nodes] if args.key?(:enable_private_nodes)
@master_ipv4_cidr_block = args[:master_ipv4_cidr_block] if args.key?(:master_ipv4_cidr_block)
+ @peering_name = args[:peering_name] if args.key?(:peering_name)
@private_endpoint = args[:private_endpoint] if args.key?(:private_endpoint)
@public_endpoint = args[:public_endpoint] if args.key?(:public_endpoint)
end
end
@@ -2554,10 +2648,43 @@
@recurrence = args[:recurrence] if args.key?(:recurrence)
@window = args[:window] if args.key?(:window)
end
end
+ # [ReservationAffinity](/compute/docs/instances/reserving-zonal-resources) is
+ # the configuration of desired reservation which instances could take
+ # capacity from.
+ class ReservationAffinity
+ include Google::Apis::Core::Hashable
+
+ # Corresponds to the type of reservation consumption.
+ # Corresponds to the JSON property `consumeReservationType`
+ # @return [String]
+ attr_accessor :consume_reservation_type
+
+ # Corresponds to the label key of reservation resource.
+ # Corresponds to the JSON property `key`
+ # @return [String]
+ attr_accessor :key
+
+ # Corresponds to the label value(s) of reservation resource(s).
+ # Corresponds to the JSON property `values`
+ # @return [Array<String>]
+ attr_accessor :values
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @consume_reservation_type = args[:consume_reservation_type] if args.key?(:consume_reservation_type)
+ @key = args[:key] if args.key?(:key)
+ @values = args[:values] if args.key?(:values)
+ end
+ end
+
# Contains information about amount of some resource in the cluster.
# For memory, value should be in GB.
class ResourceLimit
include Google::Apis::Core::Hashable
@@ -2673,10 +2800,29 @@
@project_id = args[:project_id] if args.key?(:project_id)
@zone = args[:zone] if args.key?(:zone)
end
end
+ # SandboxConfig contains configurations of the sandbox to use for the node.
+ class SandboxConfig
+ include Google::Apis::Core::Hashable
+
+ # Type of the sandbox to use for the node.
+ # Corresponds to the JSON property `type`
+ # @return [String]
+ attr_accessor :type
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @type = args[:type] if args.key?(:type)
+ end
+ end
+
# Kubernetes Engine service configuration.
class ServerConfig
include Google::Apis::Core::Hashable
# Version of Kubernetes the service deploys by default.
@@ -3414,10 +3560,30 @@
@enable_integrity_monitoring = args[:enable_integrity_monitoring] if args.key?(:enable_integrity_monitoring)
@enable_secure_boot = args[:enable_secure_boot] if args.key?(:enable_secure_boot)
end
end
+ # Configuration of Shielded Nodes feature.
+ class ShieldedNodes
+ include Google::Apis::Core::Hashable
+
+ # Whether Shielded Nodes features are enabled on all nodes in this cluster.
+ # Corresponds to the JSON property `enabled`
+ # @return [Boolean]
+ attr_accessor :enabled
+ alias_method :enabled?, :enabled
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @enabled = args[:enabled] if args.key?(:enabled)
+ end
+ end
+
# StartIPRotationRequest creates a new IP for the cluster and then performs
# a node upgrade on each node pool to point to the new IP.
class StartIpRotationRequest
include Google::Apis::Core::Hashable
@@ -3642,10 +3808,19 @@
# Required. The desired image type for the node pool.
# Corresponds to the JSON property `imageType`
# @return [String]
attr_accessor :image_type
+ # The desired list of Google Compute Engine
+ # [zones](/compute/docs/zones#available) in which the node pool's nodes
+ # should be located. Changing the locations for a node pool will result
+ # in nodes being either created or removed from the node pool, depending
+ # on whether locations are being added or removed.
+ # Corresponds to the JSON property `locations`
+ # @return [Array<String>]
+ attr_accessor :locations
+
# The name (project, location, cluster, node pool) of the node pool to
# update. Specified in the format
# 'projects/*/locations/*/clusters/*/nodePools/*'.
# Corresponds to the JSON property `name`
# @return [String]
@@ -3675,10 +3850,32 @@
# This field has been deprecated and replaced by the name field.
# Corresponds to the JSON property `projectId`
# @return [String]
attr_accessor :project_id
+ # These upgrade settings control the level of parallelism and the level of
+ # disruption caused by an upgrade.
+ # maxUnavailable controls the number of nodes that can be simultaneously
+ # unavailable.
+ # maxSurge controls the number of additional nodes that can be added to the
+ # node pool temporarily for the time of the upgrade to increase the number of
+ # available nodes.
+ # (maxUnavailable + maxSurge) determines the level of parallelism (how many
+ # nodes are being upgraded at the same time).
+ # Note: upgrades inevitably introduce some disruption since workloads need to
+ # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
+ # this holds true. (Disruption stays within the limits of
+ # PodDisruptionBudget, if it is configured.)
+ # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
+ # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
+ # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
+ # down 3 old (not yet upgraded) nodes at the same time. This ensures that
+ # there are always at least 4 nodes available.
+ # Corresponds to the JSON property `upgradeSettings`
+ # @return [Google::Apis::ContainerV1::UpgradeSettings]
+ attr_accessor :upgrade_settings
+
# Required. Deprecated. The name of the Google Compute Engine
# [zone](/compute/docs/zones#available) in which the cluster
# resides.
# This field has been deprecated and replaced by the name field.
# Corresponds to the JSON property `zone`
@@ -3691,14 +3888,61 @@
# Update properties of this object
def update!(**args)
@cluster_id = args[:cluster_id] if args.key?(:cluster_id)
@image_type = args[:image_type] if args.key?(:image_type)
+ @locations = args[:locations] if args.key?(:locations)
@name = args[:name] if args.key?(:name)
@node_pool_id = args[:node_pool_id] if args.key?(:node_pool_id)
@node_version = args[:node_version] if args.key?(:node_version)
@project_id = args[:project_id] if args.key?(:project_id)
+ @upgrade_settings = args[:upgrade_settings] if args.key?(:upgrade_settings)
@zone = args[:zone] if args.key?(:zone)
+ end
+ end
+
+ # These upgrade settings control the level of parallelism and the level of
+ # disruption caused by an upgrade.
+ # maxUnavailable controls the number of nodes that can be simultaneously
+ # unavailable.
+ # maxSurge controls the number of additional nodes that can be added to the
+ # node pool temporarily for the time of the upgrade to increase the number of
+ # available nodes.
+ # (maxUnavailable + maxSurge) determines the level of parallelism (how many
+ # nodes are being upgraded at the same time).
+ # Note: upgrades inevitably introduce some disruption since workloads need to
+ # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
+ # this holds true. (Disruption stays within the limits of
+ # PodDisruptionBudget, if it is configured.)
+ # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
+ # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
+ # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
+ # down 3 old (not yet upgraded) nodes at the same time. This ensures that
+ # there are always at least 4 nodes available.
+ class UpgradeSettings
+ include Google::Apis::Core::Hashable
+
+ # The maximum number of nodes that can be created beyond the current size
+ # of the node pool during the upgrade process.
+ # Corresponds to the JSON property `maxSurge`
+ # @return [Fixnum]
+ attr_accessor :max_surge
+
+ # The maximum number of nodes that can be simultaneously unavailable during
+ # the upgrade process. A node is considered available if its status is
+ # Ready.
+ # Corresponds to the JSON property `maxUnavailable`
+ # @return [Fixnum]
+ attr_accessor :max_unavailable
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @max_surge = args[:max_surge] if args.key?(:max_surge)
+ @max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
end
end
# UsableSubnetwork resource returns the subnetwork name, its associated network
# and the primary CIDR range.