diff --git a/discovery/container-v1.json b/discovery/container-v1.json index dea9e07e610..cd29fce6a61 100644 --- a/discovery/container-v1.json +++ b/discovery/container-v1.json @@ -2459,7 +2459,7 @@ } } }, - "revision": "20200519", + "revision": "20200619", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -2486,6 +2486,10 @@ "$ref": "CloudRunConfig", "description": "Configuration for the Cloud Run addon, which allows the user to use a\nmanaged Knative service." }, + "dnsCacheConfig": { + "$ref": "DnsCacheConfig", + "description": "Configuration for NodeLocalDNS, a dns cache running on cluster nodes" + }, "horizontalPodAutoscaling": { "$ref": "HorizontalPodAutoscaling", "description": "Configuration for the horizontal pod autoscaling feature, which\nincreases or decreases the number of replica pods a replication controller\nhas based on the resource usage of the existing pods." @@ -2688,7 +2692,7 @@ "type": "integer" }, "currentNodeVersion": { - "description": "[Output only] Deprecated, use\n[NodePools.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.zones.clusters.nodePools)\ninstead. The current version of the node software components. If they are\ncurrently at multiple versions because they're in the process of being\nupgraded, this reflects the minimum version of all nodes.", + "description": "[Output only] Deprecated, use\n[NodePools.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools)\ninstead. The current version of the node software components. If they are\ncurrently at multiple versions because they're in the process of being\nupgraded, this reflects the minimum version of all nodes.", "type": "string" }, "databaseEncryption": { @@ -2724,7 +2728,7 @@ "type": "string" }, "initialNodeCount": { - "description": "The number of nodes to create in this cluster. You must ensure that your\nCompute Engine resource quota\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.\nFor requests, this field should only be used in lieu of a\n\"node_pool\" object, since this configuration (along with the\n\"node_config\") will be used to create a \"NodePool\" object with an\nauto-generated name. Do not use this and a node_pool at the same time.\n\nThis field is deprecated, use node_pool.initial_node_count instead.", + "description": "The number of nodes to create in this cluster. You must ensure that your\nCompute Engine [resource quota](https://cloud.google.com/compute/quotas)\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.\nFor requests, this field should only be used in lieu of a\n\"node_pool\" object, since this configuration (along with the\n\"node_config\") will be used to create a \"NodePool\" object with an\nauto-generated name. Do not use this and a node_pool at the same time.\n\nThis field is deprecated, use node_pool.initial_node_count instead.", "format": "int32", "type": "integer" }, @@ -2814,6 +2818,10 @@ "$ref": "PrivateClusterConfig", "description": "Configuration for private cluster." }, + "releaseChannel": { + "$ref": "ReleaseChannel", + "description": "Release channel configuration." + }, "resourceLabels": { "additionalProperties": { "type": "string" @@ -2978,6 +2986,10 @@ "description": "The Kubernetes version to change the nodes to (typically an\nupgrade).\n\nUsers may specify either explicit versions offered by\nKubernetes Engine or version aliases, which have the following behavior:\n\n- \"latest\": picks the highest valid Kubernetes version\n- \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version\n- \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version\n- \"1.X.Y-gke.N\": picks an explicit Kubernetes version\n- \"-\": picks the Kubernetes master version", "type": "string" }, + "desiredReleaseChannel": { + "$ref": "ReleaseChannel", + "description": "The desired release channel configuration." + }, "desiredResourceUsageExportConfig": { "$ref": "ResourceUsageExportConfig", "description": "The desired configuration for exporting resource usage." @@ -3037,7 +3049,7 @@ "properties": { "cluster": { "$ref": "Cluster", - "description": "Required. A [cluster\nresource](https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters)" + "description": "Required. A [cluster\nresource](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters)" }, "parent": { "description": "The parent (project and location) where the cluster will be created.\nSpecified in the format `projects/*/locations/*`.", @@ -3121,6 +3133,17 @@ }, "type": "object" }, + "DnsCacheConfig": { + "description": "Configuration for NodeLocal DNSCache", + "id": "DnsCacheConfig", + "properties": { + "enabled": { + "description": "Whether NodeLocal DNSCache is enabled for this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", "id": "Empty", @@ -3633,6 +3656,10 @@ }, "type": "array" }, + "bootDiskKmsKey": { + "description": "\nThe Customer Managed Encryption Key used to encrypt the boot disk attached\nto each node in the node pool. This should be of the form\nprojects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].\nFor more information about protecting resources with Cloud KMS Keys please\nsee:\nhttps://cloud.google.com/compute/docs/disks/customer-managed-encryption", + "type": "string" + }, "diskSizeGb": { "description": "Size of the disk attached to each node, specified in GB.\nThe smallest allowed disk size is 10GB.\n\nIf unspecified, the default disk size is 100GB.", "format": "int32", @@ -3760,7 +3787,7 @@ "description": "The node configuration of the pool." }, "initialNodeCount": { - "description": "The initial node count for the pool. You must ensure that your\nCompute Engine resource quota\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.", + "description": "The initial node count for the pool. You must ensure that your\nCompute Engine [resource quota](https://cloud.google.com/compute/quotas)\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.", "format": "int32", "type": "integer" }, @@ -4102,6 +4129,63 @@ }, "type": "object" }, + "ReleaseChannel": { + "description": "ReleaseChannel indicates which release channel a cluster is\nsubscribed to. Release channels are arranged in order of risk.\n\nWhen a cluster is subscribed to a release channel, Google maintains\nboth the master version and the node version. Node auto-upgrade\ndefaults to true and cannot be disabled.", + "id": "ReleaseChannel", + "properties": { + "channel": { + "description": "channel specifies which release channel the cluster is subscribed to.", + "enum": [ + "UNSPECIFIED", + "RAPID", + "REGULAR", + "STABLE" + ], + "enumDescriptions": [ + "No channel specified.", + "RAPID channel is offered on an early access basis for customers who want\nto test new releases.\n\nWARNING: Versions available in the RAPID Channel may be subject to\nunresolved issues with no known workaround and are not subject to any\nSLAs.", + "Clusters subscribed to REGULAR receive versions that are considered GA\nquality. REGULAR is intended for production users who want to take\nadvantage of new features.", + "Clusters subscribed to STABLE receive versions that are known to be\nstable and reliable in production." + ], + "type": "string" + } + }, + "type": "object" + }, + "ReleaseChannelConfig": { + "description": "ReleaseChannelConfig exposes configuration for a release channel.", + "id": "ReleaseChannelConfig", + "properties": { + "channel": { + "description": "The release channel this configuration applies to.", + "enum": [ + "UNSPECIFIED", + "RAPID", + "REGULAR", + "STABLE" + ], + "enumDescriptions": [ + "No channel specified.", + "RAPID channel is offered on an early access basis for customers who want\nto test new releases.\n\nWARNING: Versions available in the RAPID Channel may be subject to\nunresolved issues with no known workaround and are not subject to any\nSLAs.", + "Clusters subscribed to REGULAR receive versions that are considered GA\nquality. REGULAR is intended for production users who want to take\nadvantage of new features.", + "Clusters subscribed to STABLE receive versions that are known to be\nstable and reliable in production." + ], + "type": "string" + }, + "defaultVersion": { + "description": "The default version for newly created clusters on the channel.", + "type": "string" + }, + "validVersions": { + "description": "List of valid versions for the channel.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ReservationAffinity": { "description": "[ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)\nis the configuration of desired reservation which instances could take\ncapacity from.", "id": "ReservationAffinity", @@ -4226,6 +4310,13 @@ "description": "Kubernetes Engine service configuration.", "id": "ServerConfig", "properties": { + "channels": { + "description": "List of release channel configurations.", + "items": { + "$ref": "ReleaseChannelConfig" + }, + "type": "array" + }, "defaultClusterVersion": { "description": "Version of Kubernetes the service deploys by default.", "type": "string" @@ -4242,14 +4333,14 @@ "type": "array" }, "validMasterVersions": { - "description": "List of valid master versions.", + "description": "List of valid master versions, in descending order.", "items": { "type": "string" }, "type": "array" }, "validNodeVersions": { - "description": "List of valid node upgrade target versions.", + "description": "List of valid node upgrade target versions, in descending order.", "items": { "type": "string" }, diff --git a/discovery/container-v1beta1.json b/discovery/container-v1beta1.json index 5a20db1189c..ccfca59133b 100644 --- a/discovery/container-v1beta1.json +++ b/discovery/container-v1beta1.json @@ -2484,7 +2484,7 @@ } } }, - "revision": "20200519", + "revision": "20200619", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -2586,32 +2586,32 @@ "properties": { "management": { "$ref": "NodeManagement", - "description": "Specifies the node management options for NAP created node-pools." + "description": "NodeManagement configuration for this NodePool." }, "minCpuPlatform": { - "description": "Minimum CPU platform to be used for NAP created node pools.\nThe instance may be scheduled on the specified or newer CPU platform.\nApplicable values are the friendly names of CPU platforms, such as\nminCpuPlatform: "Intel Haswell" or\nminCpuPlatform: "Intel Sandy Bridge". For more\ninformation, read [how to specify min CPU\nplatform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)\nTo unset the min cpu platform field pass \"automatic\" as field value.", + "description": "Minimum CPU platform to be used by this instance. The instance may be\nscheduled on the specified or newer CPU platform. Applicable values are the\nfriendly names of CPU platforms, such as\nminCpuPlatform: "Intel Haswell" or\nminCpuPlatform: "Intel Sandy Bridge". For more\ninformation, read [how to specify min CPU\nplatform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)\nTo unset the min cpu platform field pass \"automatic\"\nas field value.", "type": "string" }, "oauthScopes": { - "description": "Scopes that are used by NAP when creating node pools.", + "description": "The set of Google API scopes to be made available on all of the\nnode VMs under the \"default\" service account.\n\nThe following scopes are recommended, but not required, and by default are\nnot included:\n\n* `https://www.googleapis.com/auth/compute` is required for mounting\npersistent storage on your nodes.\n* `https://www.googleapis.com/auth/devstorage.read_only` is required for\ncommunicating with **gcr.io**\n(the [Google Container\nRegistry](https://cloud.google.com/container-registry/)).\n\nIf unspecified, no scopes are added, unless Cloud Logging or Cloud\nMonitoring are enabled, in which case their required scopes will be added.", "items": { "type": "string" }, "type": "array" }, "serviceAccount": { - "description": "The Google Cloud Platform Service Account to be used by the node VMs.", + "description": "The Google Cloud Platform Service Account to be used by the node VMs.\nSpecify the email address of the Service Account; otherwise, if no Service\nAccount is specified, the \"default\" service account is used.", "type": "string" }, "upgradeSettings": { "$ref": "UpgradeSettings", - "description": "Specifies the upgrade settings for NAP created node pools" + "description": "Upgrade settings control disruption and speed of the upgrade." } }, "type": "object" }, "AvailableVersion": { - "description": "AvailableVersion is an additional Kubernetes versions offered\nto users who subscribed to the release channel.", + "description": "Deprecated.", "id": "AvailableVersion", "properties": { "reason": { @@ -2792,7 +2792,7 @@ "type": "string" }, "initialNodeCount": { - "description": "The number of nodes to create in this cluster. You must ensure that your\nCompute Engine resource quota\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.\nFor requests, this field should only be used in lieu of a\n\"node_pool\" object, since this configuration (along with the\n\"node_config\") will be used to create a \"NodePool\" object with an\nauto-generated name. Do not use this and a node_pool at the same time.\n\nThis field is deprecated, use node_pool.initial_node_count instead.", + "description": "The number of nodes to create in this cluster. You must ensure that your\nCompute Engine [resource quota](https://cloud.google.com/compute/quotas)\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.\nFor requests, this field should only be used in lieu of a\n\"node_pool\" object, since this configuration (along with the\n\"node_config\") will be used to create a \"NodePool\" object with an\nauto-generated name. Do not use this and a node_pool at the same time.\n\nThis field is deprecated, use node_pool.initial_node_count instead.", "format": "int32", "type": "integer" }, @@ -3205,7 +3205,7 @@ "properties": { "cluster": { "$ref": "Cluster", - "description": "Required. A [cluster\nresource](https://cloud.google.com/container-engine/reference/rest/v1beta1/projects.zones.clusters)" + "description": "Required. A [cluster\nresource](https://cloud.google.com/container-engine/reference/rest/v1beta1/projects.locations.clusters)" }, "parent": { "description": "The parent (project and location) where the cluster will be created.\nSpecified in the format `projects/*/locations/*`.", @@ -3615,6 +3615,20 @@ }, "type": "object" }, + "LinuxNodeConfig": { + "description": "Parameters that can be configured on Linux nodes.", + "id": "LinuxNodeConfig", + "properties": { + "sysctls": { + "additionalProperties": { + "type": "string" + }, + "description": "The Linux kernel parameters to be applied to the nodes and all pods running\non the nodes.\n\nThe following parameters are supported.\n\nnet.core.netdev_max_backlog\nnet.core.rmem_max\nnet.core.wmem_default\nnet.core.wmem_max\nnet.core.optmem_max\nnet.core.somaxconn\nnet.ipv4.tcp_rmem\nnet.ipv4.tcp_wmem\nnet.ipv4.tcp_tw_reuse", + "type": "object" + } + }, + "type": "object" + }, "ListClustersResponse": { "description": "ListClustersResponse is the result of ListClustersRequest.", "id": "ListClustersResponse", @@ -3949,6 +3963,10 @@ "description": "The image type to use for this node. Note that for a given image type,\nthe latest version of it will be used.", "type": "string" }, + "kubeletConfig": { + "$ref": "NodeKubeletConfig", + "description": "Node kubelet configs." + }, "labels": { "additionalProperties": { "type": "string" @@ -3956,6 +3974,10 @@ "description": "The map of Kubernetes labels (key/value pairs) to be applied to each node.\nThese will added in addition to any default label(s) that\nKubernetes may apply to the node.\nIn case of conflict in label keys, the applied set may differ depending on\nthe Kubernetes version -- it's best to assume the behavior is undefined\nand conflicts should be avoided.\nFor more information, including usage and the valid values, see:\nhttps://kubernetes.io/docs/concepts/overview/working-with-objects/labels/", "type": "object" }, + "linuxNodeConfig": { + "$ref": "LinuxNodeConfig", + "description": "Parameters that can be configured on Linux nodes." + }, "localSsdCount": { "description": "The number of local SSD disks to be attached to the node.\n\nThe limit for this value is dependent upon the maximum number of\ndisks available on a machine per zone. See:\nhttps://cloud.google.com/compute/docs/disks/local-ssd\nfor more information.", "format": "int32", @@ -4024,6 +4046,25 @@ }, "type": "object" }, + "NodeKubeletConfig": { + "description": "Node kubelet configs.", + "id": "NodeKubeletConfig", + "properties": { + "cpuCfsQuota": { + "description": "Enable CPU CFS quota enforcement for containers that specify CPU limits.\n\nIf this option is enabled, kubelet uses CFS quota\n(https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to\nenforce container CPU limits. Otherwise, CPU limits will not be enforced at\nall.\n\nDisable this option to mitigate CPU throttling problems while still having\nyour pods to be in Guaranteed QoS class by specifying the CPU limits.\n\nThe default value is 'true' if unspecified.", + "type": "boolean" + }, + "cpuCfsQuotaPeriod": { + "description": "Set the CPU CFS quota period value 'cpu.cfs_period_us'.\n\nThe string must be a sequence of decimal numbers, each with optional\nfraction and a unit suffix, such as \"300ms\".\nValid time units are \"ns\", \"us\" (or \"µs\"), \"ms\", \"s\", \"m\", \"h\".\nThe value must be a positive duration.", + "type": "string" + }, + "cpuManagerPolicy": { + "description": "Control the CPU management policy on the node.\nSee\nhttps://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/\n\nThe following values are allowed.\n - \"none\": the default, which represents the existing scheduling behavior.\n - \"static\": allows pods with certain resource characteristics to be\n granted increased CPU affinity and exclusivity on the node.", + "type": "string" + } + }, + "type": "object" + }, "NodeManagement": { "description": "NodeManagement defines the set of node management services turned on for the\nnode pool.", "id": "NodeManagement", @@ -4063,7 +4104,7 @@ "description": "The node configuration of the pool." }, "initialNodeCount": { - "description": "The initial node count for the pool. You must ensure that your\nCompute Engine resource quota\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.", + "description": "The initial node count for the pool. You must ensure that your\nCompute Engine [resource quota](https://cloud.google.com/compute/quotas)\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.", "format": "int32", "type": "integer" }, @@ -4432,7 +4473,7 @@ "type": "object" }, "ReleaseChannel": { - "description": "ReleaseChannel indicates which release channel a cluster is\nsubscribed to. Release channels are arranged in order of risk and\nfrequency of updates.\n\nWhen a cluster is subscribed to a release channel, Google maintains\nboth the master version and the node version. Node auto-upgrade\ndefaults to true and cannot be disabled. Updates to version related\nfields (e.g. current_master_version) return an error.", + "description": "ReleaseChannel indicates which release channel a cluster is\nsubscribed to. Release channels are arranged in order of risk.\n\nWhen a cluster is subscribed to a release channel, Google maintains\nboth the master version and the node version. Node auto-upgrade\ndefaults to true and cannot be disabled.", "id": "ReleaseChannel", "properties": { "channel": { @@ -4445,9 +4486,9 @@ ], "enumDescriptions": [ "No channel specified.", - "RAPID channel is offered on an early access basis for customers who want\nto test new releases before they are qualified for production use or\ngeneral availability. New upgrades will occur roughly weekly.\n\nWARNING: Versions available in the RAPID Channel may be subject to\nunresolved issues with no known workaround and are not for use with\nproduction workloads or subject to any SLAs.", - "Clusters subscribed to REGULAR receive versions that are considered GA\nquality. REGULAR is intended for production users who want to take\nadvantage of new features. New upgrades will occur roughly every few\nweeks.", - "Clusters subscribed to STABLE receive versions that are known to be\nstable and reliable in production. STABLE is intended for production\nusers who need stability above all else, or for whom frequent upgrades\nare too risky. New upgrades will occur roughly every few months." + "RAPID channel is offered on an early access basis for customers who want\nto test new releases.\n\nWARNING: Versions available in the RAPID Channel may be subject to\nunresolved issues with no known workaround and are not subject to any\nSLAs.", + "Clusters subscribed to REGULAR receive versions that are considered GA\nquality. REGULAR is intended for production users who want to take\nadvantage of new features.", + "Clusters subscribed to STABLE receive versions that are known to be\nstable and reliable in production." ], "type": "string" } @@ -4459,7 +4500,7 @@ "id": "ReleaseChannelConfig", "properties": { "availableVersions": { - "description": "List of available versions for the release channel.", + "description": "Deprecated.\nThis field has been deprecated and replaced with the valid_versions\nfield.", "items": { "$ref": "AvailableVersion" }, @@ -4475,15 +4516,22 @@ ], "enumDescriptions": [ "No channel specified.", - "RAPID channel is offered on an early access basis for customers who want\nto test new releases before they are qualified for production use or\ngeneral availability. New upgrades will occur roughly weekly.\n\nWARNING: Versions available in the RAPID Channel may be subject to\nunresolved issues with no known workaround and are not for use with\nproduction workloads or subject to any SLAs.", - "Clusters subscribed to REGULAR receive versions that are considered GA\nquality. REGULAR is intended for production users who want to take\nadvantage of new features. New upgrades will occur roughly every few\nweeks.", - "Clusters subscribed to STABLE receive versions that are known to be\nstable and reliable in production. STABLE is intended for production\nusers who need stability above all else, or for whom frequent upgrades\nare too risky. New upgrades will occur roughly every few months." + "RAPID channel is offered on an early access basis for customers who want\nto test new releases.\n\nWARNING: Versions available in the RAPID Channel may be subject to\nunresolved issues with no known workaround and are not subject to any\nSLAs.", + "Clusters subscribed to REGULAR receive versions that are considered GA\nquality. REGULAR is intended for production users who want to take\nadvantage of new features.", + "Clusters subscribed to STABLE receive versions that are known to be\nstable and reliable in production." ], "type": "string" }, "defaultVersion": { "description": "The default version for newly created clusters on the channel.", "type": "string" + }, + "validVersions": { + "description": "List of valid versions for the channel.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -4639,14 +4687,14 @@ "type": "array" }, "validMasterVersions": { - "description": "List of valid master versions.", + "description": "List of valid master versions, in descending order.", "items": { "type": "string" }, "type": "array" }, "validNodeVersions": { - "description": "List of valid node upgrade target versions.", + "description": "List of valid node upgrade target versions, in descending order.", "items": { "type": "string" }, @@ -5204,6 +5252,14 @@ "description": "Required. The desired image type for the node pool.", "type": "string" }, + "kubeletConfig": { + "$ref": "NodeKubeletConfig", + "description": "Node kubelet configs." + }, + "linuxNodeConfig": { + "$ref": "LinuxNodeConfig", + "description": "Parameters that can be configured on Linux nodes." + }, "locations": { "description": "The desired list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\nnode pool's nodes should be located. Changing the locations for a node pool\nwill result in nodes being either created or removed from the node pool,\ndepending on whether locations are being added or removed.", "items": { diff --git a/src/apis/container/v1.ts b/src/apis/container/v1.ts index f05287ebcd5..d1eedb35c27 100644 --- a/src/apis/container/v1.ts +++ b/src/apis/container/v1.ts @@ -148,6 +148,10 @@ export namespace container_v1 { * Configuration for the Cloud Run addon, which allows the user to use a managed Knative service. */ cloudRunConfig?: Schema$CloudRunConfig; + /** + * Configuration for NodeLocalDNS, a dns cache running on cluster nodes + */ + dnsCacheConfig?: Schema$DnsCacheConfig; /** * Configuration for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. */ @@ -323,7 +327,7 @@ export namespace container_v1 { */ currentNodeCount?: number | null; /** - * [Output only] Deprecated, use [NodePools.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.zones.clusters.nodePools) instead. The current version of the node software components. If they are currently at multiple versions because they're in the process of being upgraded, this reflects the minimum version of all nodes. + * [Output only] Deprecated, use [NodePools.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools) instead. The current version of the node software components. If they are currently at multiple versions because they're in the process of being upgraded, this reflects the minimum version of all nodes. */ currentNodeVersion?: string | null; /** @@ -359,7 +363,7 @@ export namespace container_v1 { */ initialClusterVersion?: string | null; /** - * The number of nodes to create in this cluster. You must ensure that your Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a> is sufficient for this number of instances. You must also have available firewall and routes quota. For requests, this field should only be used in lieu of a "node_pool" object, since this configuration (along with the "node_config") will be used to create a "NodePool" object with an auto-generated name. Do not use this and a node_pool at the same time. This field is deprecated, use node_pool.initial_node_count instead. + * The number of nodes to create in this cluster. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota. For requests, this field should only be used in lieu of a "node_pool" object, since this configuration (along with the "node_config") will be used to create a "NodePool" object with an auto-generated name. Do not use this and a node_pool at the same time. This field is deprecated, use node_pool.initial_node_count instead. */ initialNodeCount?: number | null; /** @@ -438,6 +442,10 @@ export namespace container_v1 { * Configuration for private cluster. */ privateClusterConfig?: Schema$PrivateClusterConfig; + /** + * Release channel configuration. + */ + releaseChannel?: Schema$ReleaseChannel; /** * The resource labels for the cluster to use to annotate any related Google Compute Engine resources. */ @@ -568,6 +576,10 @@ export namespace container_v1 { * 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 */ desiredNodeVersion?: string | null; + /** + * The desired release channel configuration. + */ + desiredReleaseChannel?: Schema$ReleaseChannel; /** * The desired configuration for exporting resource usage. */ @@ -620,7 +632,7 @@ export namespace container_v1 { */ export interface Schema$CreateClusterRequest { /** - * Required. A [cluster resource](https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters) + * Required. A [cluster resource](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters) */ cluster?: Schema$Cluster; /** @@ -687,6 +699,15 @@ export namespace container_v1 { */ state?: string | null; } + /** + * Configuration for NodeLocal DNSCache + */ + export interface Schema$DnsCacheConfig { + /** + * Whether NodeLocal DNSCache is enabled for this cluster. + */ + enabled?: boolean | null; + } /** * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`. */ @@ -1094,6 +1115,10 @@ export namespace container_v1 { * A list of hardware accelerators to be attached to each node. See https://cloud.google.com/compute/docs/gpus for more information about support for GPUs. */ accelerators?: Schema$AcceleratorConfig[]; + /** + * The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption + */ + bootDiskKmsKey?: string | null; /** * Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB. */ @@ -1197,7 +1222,7 @@ export namespace container_v1 { */ config?: Schema$NodeConfig; /** - * The initial node count for the pool. You must ensure that your Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a> is sufficient for this number of instances. You must also have available firewall and routes quota. + * The initial node count for the pool. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota. */ initialNodeCount?: number | null; /** @@ -1407,6 +1432,32 @@ export namespace container_v1 { */ window?: Schema$TimeWindow; } + /** + * 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. + */ + export interface Schema$ReleaseChannel { + /** + * channel specifies which release channel the cluster is subscribed to. + */ + channel?: string | null; + } + /** + * ReleaseChannelConfig exposes configuration for a release channel. + */ + export interface Schema$ReleaseChannelConfig { + /** + * The release channel this configuration applies to. + */ + channel?: string | null; + /** + * The default version for newly created clusters on the channel. + */ + defaultVersion?: string | null; + /** + * List of valid versions for the channel. + */ + validVersions?: string[] | null; + } /** * [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) is the configuration of desired reservation which instances could take capacity from. */ @@ -1496,6 +1547,10 @@ export namespace container_v1 { * Kubernetes Engine service configuration. */ export interface Schema$ServerConfig { + /** + * List of release channel configurations. + */ + channels?: Schema$ReleaseChannelConfig[]; /** * Version of Kubernetes the service deploys by default. */ @@ -1509,11 +1564,11 @@ export namespace container_v1 { */ validImageTypes?: string[] | null; /** - * List of valid master versions. + * List of valid master versions, in descending order. */ validMasterVersions?: string[] | null; /** - * List of valid node upgrade target versions. + * List of valid node upgrade target versions, in descending order. */ validNodeVersions?: string[] | null; } @@ -2352,6 +2407,7 @@ export namespace container_v1 { * * // Example response * // { + * // "channels": [], * // "defaultClusterVersion": "my_defaultClusterVersion", * // "defaultImageType": "my_defaultImageType", * // "validImageTypes": [], @@ -3042,6 +3098,7 @@ export namespace container_v1 { * // "nodeIpv4CidrSize": 0, * // "nodePools": [], * // "privateClusterConfig": {}, + * // "releaseChannel": {}, * // "resourceLabels": {}, * // "resourceUsageExportConfig": {}, * // "selfLink": "my_selfLink", @@ -7874,6 +7931,7 @@ export namespace container_v1 { * * // Example response * // { + * // "channels": [], * // "defaultClusterVersion": "my_defaultClusterVersion", * // "defaultImageType": "my_defaultImageType", * // "validImageTypes": [], @@ -8748,6 +8806,7 @@ export namespace container_v1 { * // "nodeIpv4CidrSize": 0, * // "nodePools": [], * // "privateClusterConfig": {}, + * // "releaseChannel": {}, * // "resourceLabels": {}, * // "resourceUsageExportConfig": {}, * // "selfLink": "my_selfLink", diff --git a/src/apis/container/v1beta1.ts b/src/apis/container/v1beta1.ts index 8c461290ccb..a4d607b2773 100644 --- a/src/apis/container/v1beta1.ts +++ b/src/apis/container/v1beta1.ts @@ -203,23 +203,23 @@ export namespace container_v1beta1 { */ export interface Schema$AutoprovisioningNodePoolDefaults { /** - * Specifies the node management options for NAP created node-pools. + * NodeManagement configuration for this NodePool. */ management?: Schema$NodeManagement; /** - * Minimum CPU platform to be used for NAP created node pools. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) To unset the min cpu platform field pass "automatic" as field value. + * Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) To unset the min cpu platform field pass "automatic" as field value. */ minCpuPlatform?: string | null; /** - * Scopes that are used by NAP when creating node pools. + * The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Google Container Registry](https://cloud.google.com/container-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. */ oauthScopes?: string[] | null; /** - * The Google Cloud Platform Service Account to be used by the node VMs. + * 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. */ serviceAccount?: string | null; /** - * Specifies the upgrade settings for NAP created node pools + * Upgrade settings control disruption and speed of the upgrade. */ upgradeSettings?: Schema$UpgradeSettings; } @@ -237,7 +237,7 @@ export namespace container_v1beta1 { description?: string | null; } /** - * AvailableVersion is an additional Kubernetes versions offered to users who subscribed to the release channel. + * Deprecated. */ export interface Schema$AvailableVersion { /** @@ -400,7 +400,7 @@ export namespace container_v1beta1 { */ initialClusterVersion?: string | null; /** - * The number of nodes to create in this cluster. You must ensure that your Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a> is sufficient for this number of instances. You must also have available firewall and routes quota. For requests, this field should only be used in lieu of a "node_pool" object, since this configuration (along with the "node_config") will be used to create a "NodePool" object with an auto-generated name. Do not use this and a node_pool at the same time. This field is deprecated, use node_pool.initial_node_count instead. + * The number of nodes to create in this cluster. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota. For requests, this field should only be used in lieu of a "node_pool" object, since this configuration (along with the "node_config") will be used to create a "NodePool" object with an auto-generated name. Do not use this and a node_pool at the same time. This field is deprecated, use node_pool.initial_node_count instead. */ initialNodeCount?: number | null; /** @@ -735,7 +735,7 @@ export namespace container_v1beta1 { */ export interface Schema$CreateClusterRequest { /** - * Required. A [cluster resource](https://cloud.google.com/container-engine/reference/rest/v1beta1/projects.zones.clusters) + * Required. A [cluster resource](https://cloud.google.com/container-engine/reference/rest/v1beta1/projects.locations.clusters) */ cluster?: Schema$Cluster; /** @@ -1069,6 +1069,15 @@ export namespace container_v1beta1 { */ enabled?: boolean | null; } + /** + * Parameters that can be configured on Linux nodes. + */ + export interface Schema$LinuxNodeConfig { + /** + * The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse + */ + sysctls?: {[key: string]: string} | null; + } /** * ListClustersResponse is the result of ListClustersRequest. */ @@ -1317,10 +1326,18 @@ export namespace container_v1beta1 { * The image type to use for this node. Note that for a given image type, the latest version of it will be used. */ imageType?: string | null; + /** + * Node kubelet configs. + */ + kubeletConfig?: Schema$NodeKubeletConfig; /** * The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ */ labels?: {[key: string]: string} | null; + /** + * Parameters that can be configured on Linux nodes. + */ + linuxNodeConfig?: Schema$LinuxNodeConfig; /** * The number of local SSD disks to be attached to the node. The limit for this value is dependent upon the maximum number of disks available on a machine per zone. See: https://cloud.google.com/compute/docs/disks/local-ssd for more information. */ @@ -1374,6 +1391,23 @@ export namespace container_v1beta1 { */ workloadMetadataConfig?: Schema$WorkloadMetadataConfig; } + /** + * Node kubelet configs. + */ + export interface Schema$NodeKubeletConfig { + /** + * Enable CPU CFS quota enforcement for containers that specify CPU limits. If this option is enabled, kubelet uses CFS quota (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to enforce container CPU limits. Otherwise, CPU limits will not be enforced at all. Disable this option to mitigate CPU throttling problems while still having your pods to be in Guaranteed QoS class by specifying the CPU limits. The default value is 'true' if unspecified. + */ + cpuCfsQuota?: boolean | null; + /** + * Set the CPU CFS quota period value 'cpu.cfs_period_us'. The string must be a sequence of decimal numbers, each with optional fraction and a unit suffix, such as "300ms". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". The value must be a positive duration. + */ + cpuCfsQuotaPeriod?: string | null; + /** + * Control the CPU management policy on the node. See https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ The following values are allowed. - "none": the default, which represents the existing scheduling behavior. - "static": allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node. + */ + cpuManagerPolicy?: string | null; + } /** * NodeManagement defines the set of node management services turned on for the node pool. */ @@ -1408,7 +1442,7 @@ export namespace container_v1beta1 { */ config?: Schema$NodeConfig; /** - * The initial node count for the pool. You must ensure that your Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a> is sufficient for this number of instances. You must also have available firewall and routes quota. + * The initial node count for the pool. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota. */ initialNodeCount?: number | null; /** @@ -1641,7 +1675,7 @@ export namespace container_v1beta1 { window?: Schema$TimeWindow; } /** - * ReleaseChannel indicates which release channel a cluster is subscribed to. Release channels are arranged in order of risk and frequency of updates. 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. Updates to version related fields (e.g. current_master_version) return an error. + * 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. */ export interface Schema$ReleaseChannel { /** @@ -1654,7 +1688,7 @@ export namespace container_v1beta1 { */ export interface Schema$ReleaseChannelConfig { /** - * List of available versions for the release channel. + * Deprecated. This field has been deprecated and replaced with the valid_versions field. */ availableVersions?: Schema$AvailableVersion[]; /** @@ -1665,6 +1699,10 @@ export namespace container_v1beta1 { * The default version for newly created clusters on the channel. */ defaultVersion?: string | null; + /** + * List of valid versions for the channel. + */ + validVersions?: string[] | null; } /** * [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) is the configuration of desired reservation which instances could take capacity from. @@ -1776,11 +1814,11 @@ export namespace container_v1beta1 { */ validImageTypes?: string[] | null; /** - * List of valid master versions. + * List of valid master versions, in descending order. */ validMasterVersions?: string[] | null; /** - * List of valid node upgrade target versions. + * List of valid node upgrade target versions, in descending order. */ validNodeVersions?: string[] | null; } @@ -2256,6 +2294,14 @@ export namespace container_v1beta1 { * Required. The desired image type for the node pool. */ imageType?: string | null; + /** + * Node kubelet configs. + */ + kubeletConfig?: Schema$NodeKubeletConfig; + /** + * Parameters that can be configured on Linux nodes. + */ + linuxNodeConfig?: Schema$LinuxNodeConfig; /** * The desired list of Google Compute Engine [zones](https://cloud.google.com/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. */ @@ -7343,6 +7389,8 @@ export namespace container_v1beta1 { * // { * // "clusterId": "my_clusterId", * // "imageType": "my_imageType", + * // "kubeletConfig": {}, + * // "linuxNodeConfig": {}, * // "locations": [], * // "name": "my_name", * // "nodePoolId": "my_nodePoolId", @@ -13061,6 +13109,8 @@ export namespace container_v1beta1 { * // { * // "clusterId": "my_clusterId", * // "imageType": "my_imageType", + * // "kubeletConfig": {}, + * // "linuxNodeConfig": {}, * // "locations": [], * // "name": "my_name", * // "nodePoolId": "my_nodePoolId",