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.