Index: generated/googleapis/lib/container/v1.dart |
diff --git a/generated/googleapis/lib/container/v1.dart b/generated/googleapis/lib/container/v1.dart |
index 9e12f647a1e5c2303e35c5441e98bf3467a1d430..86bcca347a6274cf31c0c6ed9e9dd29501281256 100644 |
--- a/generated/googleapis/lib/container/v1.dart |
+++ b/generated/googleapis/lib/container/v1.dart |
@@ -604,6 +604,129 @@ class ProjectsZonesClustersNodePoolsResourceApi { |
return _response.then((data) => new ListNodePoolsResponse.fromJson(data)); |
} |
+ /** |
+ * Roll back the previously Aborted or Failed NodePool upgrade. This will be |
+ * an no-op if the last upgrade successfully completed. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [projectId] - The Google Developers Console [project ID or project |
+ * number](https://support.google.com/cloud/answer/6158840). |
+ * |
+ * [zone] - The name of the Google Compute Engine |
+ * [zone](/compute/docs/zones#available) in which the cluster resides. |
+ * |
+ * [clusterId] - The name of the cluster to rollback. |
+ * |
+ * [nodePoolId] - The name of the node pool to rollback. |
+ * |
+ * Completes with a [Operation]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Operation> rollback(RollbackNodePoolUpgradeRequest request, core.String projectId, core.String zone, core.String clusterId, core.String nodePoolId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (projectId == null) { |
+ throw new core.ArgumentError("Parameter projectId is required."); |
+ } |
+ if (zone == null) { |
+ throw new core.ArgumentError("Parameter zone is required."); |
+ } |
+ if (clusterId == null) { |
+ throw new core.ArgumentError("Parameter clusterId is required."); |
+ } |
+ if (nodePoolId == null) { |
+ throw new core.ArgumentError("Parameter nodePoolId is required."); |
+ } |
+ |
+ _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/clusters/' + commons.Escaper.ecapeVariable('$clusterId') + '/nodePools/' + commons.Escaper.ecapeVariable('$nodePoolId') + ':rollback'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Operation.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Sets the NodeManagement options for a node pool. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [projectId] - The Google Developers Console [project ID or project |
+ * number](https://support.google.com/cloud/answer/6158840). |
+ * |
+ * [zone] - The name of the Google Compute Engine |
+ * [zone](/compute/docs/zones#available) in which the cluster resides. |
+ * |
+ * [clusterId] - The name of the cluster to update. |
+ * |
+ * [nodePoolId] - The name of the node pool to update. |
+ * |
+ * Completes with a [Operation]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Operation> setManagement(SetNodePoolManagementRequest request, core.String projectId, core.String zone, core.String clusterId, core.String nodePoolId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (projectId == null) { |
+ throw new core.ArgumentError("Parameter projectId is required."); |
+ } |
+ if (zone == null) { |
+ throw new core.ArgumentError("Parameter zone is required."); |
+ } |
+ if (clusterId == null) { |
+ throw new core.ArgumentError("Parameter clusterId is required."); |
+ } |
+ if (nodePoolId == null) { |
+ throw new core.ArgumentError("Parameter nodePoolId is required."); |
+ } |
+ |
+ _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/clusters/' + commons.Escaper.ecapeVariable('$clusterId') + '/nodePools/' + commons.Escaper.ecapeVariable('$nodePoolId') + '/setManagement'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Operation.fromJson(data)); |
+ } |
+ |
} |
@@ -614,6 +737,62 @@ class ProjectsZonesOperationsResourceApi { |
_requester = client; |
/** |
+ * Cancels the specified operation. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [projectId] - The Google Developers Console [project ID or project |
+ * number](https://support.google.com/cloud/answer/6158840). |
+ * |
+ * [zone] - The name of the Google Compute Engine |
+ * [zone](/compute/docs/zones#available) in which the operation resides. |
+ * |
+ * [operationId] - The server-assigned `name` of the operation. |
+ * |
+ * Completes with a [Empty]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Empty> cancel(CancelOperationRequest request, core.String projectId, core.String zone, core.String operationId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (projectId == null) { |
+ throw new core.ArgumentError("Parameter projectId is required."); |
+ } |
+ if (zone == null) { |
+ throw new core.ArgumentError("Parameter zone is required."); |
+ } |
+ if (operationId == null) { |
+ throw new core.ArgumentError("Parameter operationId is required."); |
+ } |
+ |
+ _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/operations/' + commons.Escaper.ecapeVariable('$operationId') + ':cancel'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Empty.fromJson(data)); |
+ } |
+ |
+ /** |
* Gets the specified operation. |
* |
* Request parameters: |
@@ -755,6 +934,60 @@ class AddonsConfig { |
} |
} |
+/** |
+ * AutoUpgradeOptions defines the set of options for the user to control how the |
+ * Auto Upgrades will proceed. |
+ */ |
+class AutoUpgradeOptions { |
+ /** |
+ * [Output only] This field is set when upgrades are about to commence with |
+ * the approximate start time for the upgrades, in |
+ * [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. |
+ */ |
+ core.String autoUpgradeStartTime; |
+ /** |
+ * [Output only] This field is set when upgrades are about to commence with |
+ * the description of the upgrade. |
+ */ |
+ core.String description; |
+ |
+ AutoUpgradeOptions(); |
+ |
+ AutoUpgradeOptions.fromJson(core.Map _json) { |
+ if (_json.containsKey("autoUpgradeStartTime")) { |
+ autoUpgradeStartTime = _json["autoUpgradeStartTime"]; |
+ } |
+ if (_json.containsKey("description")) { |
+ description = _json["description"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (autoUpgradeStartTime != null) { |
+ _json["autoUpgradeStartTime"] = autoUpgradeStartTime; |
+ } |
+ if (description != null) { |
+ _json["description"] = description; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** CancelOperationRequest cancels a single operation. */ |
+class CancelOperationRequest { |
+ |
+ CancelOperationRequest(); |
+ |
+ CancelOperationRequest.fromJson(core.Map _json) { |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ return _json; |
+ } |
+} |
+ |
/** A Google Container Engine cluster. */ |
class Cluster { |
/** Configurations for the various addons available to run in the cluster. */ |
@@ -784,6 +1017,14 @@ class Cluster { |
/** An optional description of this cluster. */ |
core.String description; |
/** |
+ * Kubernetes alpha features are enabled on this cluster. This includes alpha |
+ * API groups (e.g. v1alpha1) and features that may not be production ready in |
+ * the kubernetes version of the master and nodes. The cluster has no SLA for |
+ * uptime and master/node upgrades are disabled. Alpha enabled clusters are |
+ * automatically deleted thirty days after creation. |
+ */ |
+ core.bool enableKubernetesAlpha; |
+ /** |
* [Output only] The IP address of this cluster's master endpoint. The |
* endpoint can be accessed from the internet at |
* `https://username:password@endpoint/`. See the `masterAuth` property of |
@@ -791,6 +1032,11 @@ class Cluster { |
*/ |
core.String endpoint; |
/** |
+ * [Output only] The time the cluster will be automatically deleted in |
+ * [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. |
+ */ |
+ core.String expireTime; |
+ /** |
* [Output only] The software version of the master endpoint and kubelets used |
* in the cluster when it was first created. The version can be upgraded over |
* time. |
@@ -865,8 +1111,7 @@ class Cluster { |
*/ |
core.int nodeIpv4CidrSize; |
/** |
- * The node pools associated with this cluster. When creating a new cluster, |
- * only a single node pool should be specified. This field should not be set |
+ * The node pools associated with this cluster. This field should not be set |
* if "node_config" or "initial_node_count" are specified. |
*/ |
core.List<NodePool> nodePools; |
@@ -931,9 +1176,15 @@ class Cluster { |
if (_json.containsKey("description")) { |
description = _json["description"]; |
} |
+ if (_json.containsKey("enableKubernetesAlpha")) { |
+ enableKubernetesAlpha = _json["enableKubernetesAlpha"]; |
+ } |
if (_json.containsKey("endpoint")) { |
endpoint = _json["endpoint"]; |
} |
+ if (_json.containsKey("expireTime")) { |
+ expireTime = _json["expireTime"]; |
+ } |
if (_json.containsKey("initialClusterVersion")) { |
initialClusterVersion = _json["initialClusterVersion"]; |
} |
@@ -1013,9 +1264,15 @@ class Cluster { |
if (description != null) { |
_json["description"] = description; |
} |
+ if (enableKubernetesAlpha != null) { |
+ _json["enableKubernetesAlpha"] = enableKubernetesAlpha; |
+ } |
if (endpoint != null) { |
_json["endpoint"] = endpoint; |
} |
+ if (expireTime != null) { |
+ _json["expireTime"] = expireTime; |
+ } |
if (initialClusterVersion != null) { |
_json["initialClusterVersion"] = initialClusterVersion; |
} |
@@ -1082,6 +1339,20 @@ class ClusterUpdate { |
/** Configurations for the various addons available to run in the cluster. */ |
AddonsConfig desiredAddonsConfig; |
/** |
+ * The desired image type for the node pool. NOTE: Set the "desired_node_pool" |
+ * field as well. |
+ */ |
+ core.String desiredImageType; |
+ /** |
+ * The desired list of Google Compute Engine |
+ * [locations](/compute/docs/zones#available) in which the cluster's nodes |
+ * should be located. Changing the locations a cluster is in will result in |
+ * nodes being either created or removed from the cluster, depending on |
+ * whether locations are being added or removed. This list must always include |
+ * the cluster's primary zone. |
+ */ |
+ core.List<core.String> desiredLocations; |
+ /** |
* The Kubernetes version to change the master to. The only valid value is the |
* latest supported version. Use "-" to have the server automatically select |
* the latest version. |
@@ -1094,9 +1365,17 @@ class ClusterUpdate { |
*/ |
core.String desiredMonitoringService; |
/** |
- * The node pool to be upgraded. This field is mandatory if the |
- * "desired_node_version" or "desired_image_family" is specified and there is |
- * more than one node pool on the cluster. |
+ * Autoscaler configuration for the node pool specified in |
+ * desired_node_pool_id. If there is only one pool in the cluster and |
+ * desired_node_pool_id is not provided then the change applies to that single |
+ * node pool. |
+ */ |
+ NodePoolAutoscaling desiredNodePoolAutoscaling; |
+ /** |
+ * 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. |
*/ |
core.String desiredNodePoolId; |
/** |
@@ -1111,12 +1390,21 @@ class ClusterUpdate { |
if (_json.containsKey("desiredAddonsConfig")) { |
desiredAddonsConfig = new AddonsConfig.fromJson(_json["desiredAddonsConfig"]); |
} |
+ if (_json.containsKey("desiredImageType")) { |
+ desiredImageType = _json["desiredImageType"]; |
+ } |
+ if (_json.containsKey("desiredLocations")) { |
+ desiredLocations = _json["desiredLocations"]; |
+ } |
if (_json.containsKey("desiredMasterVersion")) { |
desiredMasterVersion = _json["desiredMasterVersion"]; |
} |
if (_json.containsKey("desiredMonitoringService")) { |
desiredMonitoringService = _json["desiredMonitoringService"]; |
} |
+ if (_json.containsKey("desiredNodePoolAutoscaling")) { |
+ desiredNodePoolAutoscaling = new NodePoolAutoscaling.fromJson(_json["desiredNodePoolAutoscaling"]); |
+ } |
if (_json.containsKey("desiredNodePoolId")) { |
desiredNodePoolId = _json["desiredNodePoolId"]; |
} |
@@ -1130,12 +1418,21 @@ class ClusterUpdate { |
if (desiredAddonsConfig != null) { |
_json["desiredAddonsConfig"] = (desiredAddonsConfig).toJson(); |
} |
+ if (desiredImageType != null) { |
+ _json["desiredImageType"] = desiredImageType; |
+ } |
+ if (desiredLocations != null) { |
+ _json["desiredLocations"] = desiredLocations; |
+ } |
if (desiredMasterVersion != null) { |
_json["desiredMasterVersion"] = desiredMasterVersion; |
} |
if (desiredMonitoringService != null) { |
_json["desiredMonitoringService"] = desiredMonitoringService; |
} |
+ if (desiredNodePoolAutoscaling != null) { |
+ _json["desiredNodePoolAutoscaling"] = (desiredNodePoolAutoscaling).toJson(); |
+ } |
if (desiredNodePoolId != null) { |
_json["desiredNodePoolId"] = desiredNodePoolId; |
} |
@@ -1194,6 +1491,26 @@ class CreateNodePoolRequest { |
} |
/** |
+ * 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 `{}`. |
+ */ |
+class Empty { |
+ |
+ Empty(); |
+ |
+ Empty.fromJson(core.Map _json) { |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ return _json; |
+ } |
+} |
+ |
+/** |
* Configuration options 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. |
@@ -1424,6 +1741,29 @@ class NodeConfig { |
*/ |
core.int diskSizeGb; |
/** |
+ * The image type to use for this node. Note that for a given image type, the |
+ * latest version of it will be used. |
+ */ |
+ core.String imageType; |
+ /** |
+ * 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: |
+ * http://kubernetes.io/v1.1/docs/user-guide/labels.html |
+ */ |
+ core.Map<core.String, core.String> labels; |
+ /** |
+ * The number of local SSD disks to be attached to the node. The limit for |
+ * this value is dependant upon the maximum number of disks available on a |
+ * machine per zone. See: |
+ * https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits for |
+ * more information. |
+ */ |
+ core.int localSsdCount; |
+ /** |
* The name of a Google Compute Engine [machine |
* type](/compute/docs/machine-types) (e.g. `n1-standard-1`). If unspecified, |
* the default machine type is `n1-standard-1`. |
@@ -1455,6 +1795,24 @@ class NodeConfig { |
* required scopes will be added. |
*/ |
core.List<core.String> oauthScopes; |
+ /** |
+ * Whether the nodes are created as preemptible VM instances. See: |
+ * https://cloud.google.com/compute/docs/instances/preemptible for more |
+ * inforamtion about preemptible VM instances. |
+ */ |
+ core.bool 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. |
+ */ |
+ core.String serviceAccount; |
+ /** |
+ * The list of instance tags applied to all nodes. Tags are used to identify |
+ * valid sources or targets for network firewalls and are specified by the |
+ * client during cluster or node pool creation. Each tag within the list must |
+ * comply with RFC1035. |
+ */ |
+ core.List<core.String> tags; |
NodeConfig(); |
@@ -1462,6 +1820,15 @@ class NodeConfig { |
if (_json.containsKey("diskSizeGb")) { |
diskSizeGb = _json["diskSizeGb"]; |
} |
+ if (_json.containsKey("imageType")) { |
+ imageType = _json["imageType"]; |
+ } |
+ if (_json.containsKey("labels")) { |
+ labels = _json["labels"]; |
+ } |
+ if (_json.containsKey("localSsdCount")) { |
+ localSsdCount = _json["localSsdCount"]; |
+ } |
if (_json.containsKey("machineType")) { |
machineType = _json["machineType"]; |
} |
@@ -1471,6 +1838,15 @@ class NodeConfig { |
if (_json.containsKey("oauthScopes")) { |
oauthScopes = _json["oauthScopes"]; |
} |
+ if (_json.containsKey("preemptible")) { |
+ preemptible = _json["preemptible"]; |
+ } |
+ if (_json.containsKey("serviceAccount")) { |
+ serviceAccount = _json["serviceAccount"]; |
+ } |
+ if (_json.containsKey("tags")) { |
+ tags = _json["tags"]; |
+ } |
} |
core.Map toJson() { |
@@ -1478,6 +1854,15 @@ class NodeConfig { |
if (diskSizeGb != null) { |
_json["diskSizeGb"] = diskSizeGb; |
} |
+ if (imageType != null) { |
+ _json["imageType"] = imageType; |
+ } |
+ if (labels != null) { |
+ _json["labels"] = labels; |
+ } |
+ if (localSsdCount != null) { |
+ _json["localSsdCount"] = localSsdCount; |
+ } |
if (machineType != null) { |
_json["machineType"] = machineType; |
} |
@@ -1487,6 +1872,48 @@ class NodeConfig { |
if (oauthScopes != null) { |
_json["oauthScopes"] = oauthScopes; |
} |
+ if (preemptible != null) { |
+ _json["preemptible"] = preemptible; |
+ } |
+ if (serviceAccount != null) { |
+ _json["serviceAccount"] = serviceAccount; |
+ } |
+ if (tags != null) { |
+ _json["tags"] = tags; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * NodeManagement defines the set of node management services turned on for the |
+ * node pool. |
+ */ |
+class NodeManagement { |
+ /** Whether the nodes will be automatically upgraded. */ |
+ core.bool autoUpgrade; |
+ /** Specifies the Auto Upgrade knobs for the node pool. */ |
+ AutoUpgradeOptions upgradeOptions; |
+ |
+ NodeManagement(); |
+ |
+ NodeManagement.fromJson(core.Map _json) { |
+ if (_json.containsKey("autoUpgrade")) { |
+ autoUpgrade = _json["autoUpgrade"]; |
+ } |
+ if (_json.containsKey("upgradeOptions")) { |
+ upgradeOptions = new AutoUpgradeOptions.fromJson(_json["upgradeOptions"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (autoUpgrade != null) { |
+ _json["autoUpgrade"] = autoUpgrade; |
+ } |
+ if (upgradeOptions != null) { |
+ _json["upgradeOptions"] = (upgradeOptions).toJson(); |
+ } |
return _json; |
} |
} |
@@ -1500,6 +1927,11 @@ class NodeConfig { |
* the workload. |
*/ |
class NodePool { |
+ /** |
+ * Autoscaler configuration for this NodePool. Autoscaler is enabled only if a |
+ * valid configuration is present. |
+ */ |
+ NodePoolAutoscaling autoscaling; |
/** The node configuration of the pool. */ |
NodeConfig config; |
/** |
@@ -1513,12 +1945,14 @@ class NodePool { |
* groups](/compute/docs/instance-groups/) associated with this node pool. |
*/ |
core.List<core.String> instanceGroupUrls; |
+ /** NodeManagement configuration for this NodePool. */ |
+ NodeManagement management; |
/** The name of the node pool. */ |
core.String name; |
- /** Server-defined URL for the resource. */ |
+ /** [Output only] Server-defined URL for the resource. */ |
core.String selfLink; |
/** |
- * The status of the nodes in this pool instance. |
+ * [Output only] The status of the nodes in this pool instance. |
* Possible string values are: |
* - "STATUS_UNSPECIFIED" : A STATUS_UNSPECIFIED. |
* - "PROVISIONING" : A PROVISIONING. |
@@ -1534,12 +1968,15 @@ class NodePool { |
* pool instance, if available. |
*/ |
core.String statusMessage; |
- /** The version of the Kubernetes of this node. */ |
+ /** [Output only] The version of the Kubernetes of this node. */ |
core.String version; |
NodePool(); |
NodePool.fromJson(core.Map _json) { |
+ if (_json.containsKey("autoscaling")) { |
+ autoscaling = new NodePoolAutoscaling.fromJson(_json["autoscaling"]); |
+ } |
if (_json.containsKey("config")) { |
config = new NodeConfig.fromJson(_json["config"]); |
} |
@@ -1549,6 +1986,9 @@ class NodePool { |
if (_json.containsKey("instanceGroupUrls")) { |
instanceGroupUrls = _json["instanceGroupUrls"]; |
} |
+ if (_json.containsKey("management")) { |
+ management = new NodeManagement.fromJson(_json["management"]); |
+ } |
if (_json.containsKey("name")) { |
name = _json["name"]; |
} |
@@ -1568,6 +2008,9 @@ class NodePool { |
core.Map toJson() { |
var _json = new core.Map(); |
+ if (autoscaling != null) { |
+ _json["autoscaling"] = (autoscaling).toJson(); |
+ } |
if (config != null) { |
_json["config"] = (config).toJson(); |
} |
@@ -1577,6 +2020,9 @@ class NodePool { |
if (instanceGroupUrls != null) { |
_json["instanceGroupUrls"] = instanceGroupUrls; |
} |
+ if (management != null) { |
+ _json["management"] = (management).toJson(); |
+ } |
if (name != null) { |
_json["name"] = name; |
} |
@@ -1597,6 +2043,53 @@ class NodePool { |
} |
/** |
+ * NodePoolAutoscaling contains information required by cluster autoscaler to |
+ * adjust the size of the node pool to the current cluster usage. |
+ */ |
+class NodePoolAutoscaling { |
+ /** Is autoscaling enabled for this node pool. */ |
+ core.bool enabled; |
+ /** |
+ * Maximum number of nodes in the NodePool. Must be >= min_node_count. There |
+ * has to enough quota to scale up the cluster. |
+ */ |
+ core.int maxNodeCount; |
+ /** |
+ * Minimum number of nodes in the NodePool. Must be >= 1 and <= |
+ * max_node_count. |
+ */ |
+ core.int minNodeCount; |
+ |
+ NodePoolAutoscaling(); |
+ |
+ NodePoolAutoscaling.fromJson(core.Map _json) { |
+ if (_json.containsKey("enabled")) { |
+ enabled = _json["enabled"]; |
+ } |
+ if (_json.containsKey("maxNodeCount")) { |
+ maxNodeCount = _json["maxNodeCount"]; |
+ } |
+ if (_json.containsKey("minNodeCount")) { |
+ minNodeCount = _json["minNodeCount"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (enabled != null) { |
+ _json["enabled"] = enabled; |
+ } |
+ if (maxNodeCount != null) { |
+ _json["maxNodeCount"] = maxNodeCount; |
+ } |
+ if (minNodeCount != null) { |
+ _json["minNodeCount"] = minNodeCount; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
* This operation resource represents operations that may have happened or are |
* happening on the cluster. All fields are output only. |
*/ |
@@ -1617,6 +2110,7 @@ class Operation { |
* - "UPDATE_CLUSTER" : A UPDATE_CLUSTER. |
* - "CREATE_NODE_POOL" : A CREATE_NODE_POOL. |
* - "DELETE_NODE_POOL" : A DELETE_NODE_POOL. |
+ * - "SET_NODE_POOL_MANAGEMENT" : A SET_NODE_POOL_MANAGEMENT. |
*/ |
core.String operationType; |
/** Server-defined URL for the resource. */ |
@@ -1628,6 +2122,7 @@ class Operation { |
* - "PENDING" : A PENDING. |
* - "RUNNING" : A RUNNING. |
* - "DONE" : A DONE. |
+ * - "ABORTING" : A ABORTING. |
*/ |
core.String status; |
/** If an error has occurred, a textual description of the error. */ |
@@ -1699,14 +2194,34 @@ class Operation { |
} |
} |
+/** |
+ * RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed |
+ * NodePool upgrade. This will be an no-op if the last upgrade successfully |
+ * completed. |
+ */ |
+class RollbackNodePoolUpgradeRequest { |
+ |
+ RollbackNodePoolUpgradeRequest(); |
+ |
+ RollbackNodePoolUpgradeRequest.fromJson(core.Map _json) { |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ return _json; |
+ } |
+} |
+ |
/** Container Engine service configuration. */ |
class ServerConfig { |
/** Version of Kubernetes the service deploys by default. */ |
core.String defaultClusterVersion; |
- /** Default image family. */ |
- core.String defaultImageFamily; |
- /** List of valid image families. */ |
- core.List<core.String> validImageFamilies; |
+ /** Default image type. */ |
+ core.String defaultImageType; |
+ /** List of valid image types. */ |
+ core.List<core.String> validImageTypes; |
+ /** List of valid master versions. */ |
+ core.List<core.String> validMasterVersions; |
/** List of valid node upgrade target versions. */ |
core.List<core.String> validNodeVersions; |
@@ -1716,11 +2231,14 @@ class ServerConfig { |
if (_json.containsKey("defaultClusterVersion")) { |
defaultClusterVersion = _json["defaultClusterVersion"]; |
} |
- if (_json.containsKey("defaultImageFamily")) { |
- defaultImageFamily = _json["defaultImageFamily"]; |
+ if (_json.containsKey("defaultImageType")) { |
+ defaultImageType = _json["defaultImageType"]; |
+ } |
+ if (_json.containsKey("validImageTypes")) { |
+ validImageTypes = _json["validImageTypes"]; |
} |
- if (_json.containsKey("validImageFamilies")) { |
- validImageFamilies = _json["validImageFamilies"]; |
+ if (_json.containsKey("validMasterVersions")) { |
+ validMasterVersions = _json["validMasterVersions"]; |
} |
if (_json.containsKey("validNodeVersions")) { |
validNodeVersions = _json["validNodeVersions"]; |
@@ -1732,11 +2250,14 @@ class ServerConfig { |
if (defaultClusterVersion != null) { |
_json["defaultClusterVersion"] = defaultClusterVersion; |
} |
- if (defaultImageFamily != null) { |
- _json["defaultImageFamily"] = defaultImageFamily; |
+ if (defaultImageType != null) { |
+ _json["defaultImageType"] = defaultImageType; |
} |
- if (validImageFamilies != null) { |
- _json["validImageFamilies"] = validImageFamilies; |
+ if (validImageTypes != null) { |
+ _json["validImageTypes"] = validImageTypes; |
+ } |
+ if (validMasterVersions != null) { |
+ _json["validMasterVersions"] = validMasterVersions; |
} |
if (validNodeVersions != null) { |
_json["validNodeVersions"] = validNodeVersions; |
@@ -1745,6 +2266,31 @@ class ServerConfig { |
} |
} |
+/** |
+ * SetNodePoolManagementRequest sets the node management properties of a node |
+ * pool. |
+ */ |
+class SetNodePoolManagementRequest { |
+ /** NodeManagement configuration for the node pool. */ |
+ NodeManagement management; |
+ |
+ SetNodePoolManagementRequest(); |
+ |
+ SetNodePoolManagementRequest.fromJson(core.Map _json) { |
+ if (_json.containsKey("management")) { |
+ management = new NodeManagement.fromJson(_json["management"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (management != null) { |
+ _json["management"] = (management).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
/** UpdateClusterRequest updates the settings of a cluster. */ |
class UpdateClusterRequest { |
/** A description of the update. */ |