Index: generated/googleapis_beta/lib/replicapoolupdater/v1beta1.dart |
diff --git a/generated/googleapis_beta/lib/replicapoolupdater/v1beta1.dart b/generated/googleapis_beta/lib/replicapoolupdater/v1beta1.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..86747007113795725d1861048e875ebf5be1043e |
--- /dev/null |
+++ b/generated/googleapis_beta/lib/replicapoolupdater/v1beta1.dart |
@@ -0,0 +1,734 @@ |
+library googleapis_beta.replicapoolupdater.v1beta1; |
+ |
+import "dart:core" as core; |
+import "dart:collection" as collection; |
+import "dart:async" as async; |
+import "dart:convert" as convert; |
+ |
+import "package:crypto/crypto.dart" as crypto; |
+import 'package:http/http.dart' as http; |
+import '../src/common_internal.dart' as common_internal; |
+import '../common/common.dart' as common; |
+ |
+export '../common/common.dart' show ApiRequestError; |
+export '../common/common.dart' show DetailedApiRequestError; |
+ |
+/** |
+ * The Google Compute Engine Instance Group Updater API provides services for |
+ * updating groups of Compute Engine Instances. |
+ */ |
+class ReplicapoolupdaterApi { |
+ /** View and manage your data across Google Cloud Platform services */ |
+ static const CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"; |
+ |
+ /** View and manage replica pools */ |
+ static const ReplicapoolScope = "https://www.googleapis.com/auth/replicapool"; |
+ |
+ /** View replica pools */ |
+ static const ReplicapoolReadonlyScope = "https://www.googleapis.com/auth/replicapool.readonly"; |
+ |
+ |
+ final common_internal.ApiRequester _requester; |
+ |
+ UpdatesResourceApi get updates => new UpdatesResourceApi(_requester); |
+ |
+ ReplicapoolupdaterApi(http.Client client) : |
+ _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "replicapoolupdater/v1beta1/projects/"); |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class UpdatesResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ UpdatesResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Called on the particular Update endpoint. Cancels the update in state |
+ * PAUSED. No-op if invoked in state CANCELLED. |
+ * |
+ * Request parameters: |
+ * |
+ * [project] - Project ID for this request. |
+ * |
+ * [zone] - Zone for the instance group manager. |
+ * |
+ * [instanceGroupManager] - Name of the instance group manager for this |
+ * request. |
+ * |
+ * [update] - Unique (in the context of a group) handle of an update. |
+ * |
+ * Completes with a [common.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 cancel(core.String project, core.String zone, core.String instanceGroupManager, core.String update) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (project == null) { |
+ throw new core.ArgumentError("Parameter project is required."); |
+ } |
+ if (zone == null) { |
+ throw new core.ArgumentError("Parameter zone is required."); |
+ } |
+ if (instanceGroupManager == null) { |
+ throw new core.ArgumentError("Parameter instanceGroupManager is required."); |
+ } |
+ if (update == null) { |
+ throw new core.ArgumentError("Parameter update is required."); |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = common_internal.Escaper.ecapeVariable('$project') + '/zones/' + common_internal.Escaper.ecapeVariable('$zone') + '/instanceGroupManagers/' + common_internal.Escaper.ecapeVariable('$instanceGroupManager') + '/updates/' + common_internal.Escaper.ecapeVariable('$update') + '/cancel'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+ /** |
+ * Called on the particular Update endpoint. Returns the Update resource. |
+ * |
+ * Request parameters: |
+ * |
+ * [project] - Project ID for this request. |
+ * |
+ * [zone] - Zone for the instance group manager. |
+ * |
+ * [instanceGroupManager] - Name of the instance group manager for this |
+ * request. |
+ * |
+ * [update] - Unique (in the context of a group) handle of an update. |
+ * |
+ * Completes with a [Update]. |
+ * |
+ * Completes with a [common.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<Update> get(core.String project, core.String zone, core.String instanceGroupManager, core.String update) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (project == null) { |
+ throw new core.ArgumentError("Parameter project is required."); |
+ } |
+ if (zone == null) { |
+ throw new core.ArgumentError("Parameter zone is required."); |
+ } |
+ if (instanceGroupManager == null) { |
+ throw new core.ArgumentError("Parameter instanceGroupManager is required."); |
+ } |
+ if (update == null) { |
+ throw new core.ArgumentError("Parameter update is required."); |
+ } |
+ |
+ |
+ _url = common_internal.Escaper.ecapeVariable('$project') + '/zones/' + common_internal.Escaper.ecapeVariable('$zone') + '/instanceGroupManagers/' + common_internal.Escaper.ecapeVariable('$instanceGroupManager') + '/updates/' + common_internal.Escaper.ecapeVariable('$update'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Update.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Called on the collection endpoint. Inserts the new Update resource and |
+ * starts the update. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [project] - Project ID for this request. |
+ * |
+ * [zone] - Zone for the instance group manager. |
+ * |
+ * [instanceGroupManager] - Name of the instance group manager for this |
+ * request. |
+ * |
+ * Completes with a [InsertResponse]. |
+ * |
+ * Completes with a [common.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<InsertResponse> insert(Update request, core.String project, core.String zone, core.String instanceGroupManager) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (project == null) { |
+ throw new core.ArgumentError("Parameter project is required."); |
+ } |
+ if (zone == null) { |
+ throw new core.ArgumentError("Parameter zone is required."); |
+ } |
+ if (instanceGroupManager == null) { |
+ throw new core.ArgumentError("Parameter instanceGroupManager is required."); |
+ } |
+ |
+ |
+ _url = common_internal.Escaper.ecapeVariable('$project') + '/zones/' + common_internal.Escaper.ecapeVariable('$zone') + '/instanceGroupManagers/' + common_internal.Escaper.ecapeVariable('$instanceGroupManager') + '/updates'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new InsertResponse.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Called on the collection endpoint. Lists updates for a given instance |
+ * group, in reverse chronological order. Pagination is supported, see |
+ * ListRequestHeader. |
+ * |
+ * Request parameters: |
+ * |
+ * [project] - Project ID for this request. |
+ * |
+ * [zone] - Zone for the instance group manager. |
+ * |
+ * [instanceGroupManager] - Name of the instance group manager for this |
+ * request. |
+ * |
+ * [maxResults] - Maximum count of results to be returned. Acceptable values |
+ * are 1 to 100, inclusive. (Default: 50) |
+ * Value must be between "1" and "100". |
+ * |
+ * [pageToken] - Set this to the nextPageToken value returned by a previous |
+ * list request to obtain the next page of results from the previous list |
+ * request. |
+ * |
+ * Completes with a [UpdateList]. |
+ * |
+ * Completes with a [common.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<UpdateList> list(core.String project, core.String zone, core.String instanceGroupManager, {core.int maxResults, core.String pageToken}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (project == null) { |
+ throw new core.ArgumentError("Parameter project is required."); |
+ } |
+ if (zone == null) { |
+ throw new core.ArgumentError("Parameter zone is required."); |
+ } |
+ if (instanceGroupManager == null) { |
+ throw new core.ArgumentError("Parameter instanceGroupManager is required."); |
+ } |
+ if (maxResults != null) { |
+ _queryParams["maxResults"] = ["${maxResults}"]; |
+ } |
+ if (pageToken != null) { |
+ _queryParams["pageToken"] = [pageToken]; |
+ } |
+ |
+ |
+ _url = common_internal.Escaper.ecapeVariable('$project') + '/zones/' + common_internal.Escaper.ecapeVariable('$zone') + '/instanceGroupManagers/' + common_internal.Escaper.ecapeVariable('$instanceGroupManager') + '/updates'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new UpdateList.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Called on the particular Update endpoint. Pauses the update in state from { |
+ * ROLLING_FORWARD, ROLLING_BACK, PAUSED }. No-op if invoked in state PAUSED. |
+ * |
+ * Request parameters: |
+ * |
+ * [project] - Project ID for this request. |
+ * |
+ * [zone] - Zone for the instance group manager. |
+ * |
+ * [instanceGroupManager] - Name of the instance group manager for this |
+ * request. |
+ * |
+ * [update] - Unique (in the context of a group) handle of an update. |
+ * |
+ * Completes with a [common.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 pause(core.String project, core.String zone, core.String instanceGroupManager, core.String update) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (project == null) { |
+ throw new core.ArgumentError("Parameter project is required."); |
+ } |
+ if (zone == null) { |
+ throw new core.ArgumentError("Parameter zone is required."); |
+ } |
+ if (instanceGroupManager == null) { |
+ throw new core.ArgumentError("Parameter instanceGroupManager is required."); |
+ } |
+ if (update == null) { |
+ throw new core.ArgumentError("Parameter update is required."); |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = common_internal.Escaper.ecapeVariable('$project') + '/zones/' + common_internal.Escaper.ecapeVariable('$zone') + '/instanceGroupManagers/' + common_internal.Escaper.ecapeVariable('$instanceGroupManager') + '/updates/' + common_internal.Escaper.ecapeVariable('$update') + '/pause'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+ /** |
+ * Called on the particular Update endpoint. Rolls back the update in state |
+ * from { ROLLING_FORWARD, ROLLING_BACK, PAUSED }. No-op if invoked in state |
+ * ROLLED_BACK. |
+ * |
+ * Request parameters: |
+ * |
+ * [project] - Project ID for this request. |
+ * |
+ * [zone] - Zone for the instance group manager. |
+ * |
+ * [instanceGroupManager] - Name of the instance group manager for this |
+ * request. |
+ * |
+ * [update] - Unique (in the context of a group) handle of an update. |
+ * |
+ * Completes with a [common.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 rollback(core.String project, core.String zone, core.String instanceGroupManager, core.String update) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (project == null) { |
+ throw new core.ArgumentError("Parameter project is required."); |
+ } |
+ if (zone == null) { |
+ throw new core.ArgumentError("Parameter zone is required."); |
+ } |
+ if (instanceGroupManager == null) { |
+ throw new core.ArgumentError("Parameter instanceGroupManager is required."); |
+ } |
+ if (update == null) { |
+ throw new core.ArgumentError("Parameter update is required."); |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = common_internal.Escaper.ecapeVariable('$project') + '/zones/' + common_internal.Escaper.ecapeVariable('$zone') + '/instanceGroupManagers/' + common_internal.Escaper.ecapeVariable('$instanceGroupManager') + '/updates/' + common_internal.Escaper.ecapeVariable('$update') + '/rollback'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+ /** |
+ * Called on the particular Update endpoint. Rolls forward the update in state |
+ * from { ROLLING_FORWARD, ROLLING_BACK, PAUSED }. No-op if invoked in state |
+ * ROLLED_OUT. |
+ * |
+ * Request parameters: |
+ * |
+ * [project] - Project ID for this request. |
+ * |
+ * [zone] - Zone for the instance group manager. |
+ * |
+ * [instanceGroupManager] - Name of the instance group manager for this |
+ * request. |
+ * |
+ * [update] - Unique (in the context of a group) handle of an update. |
+ * |
+ * Completes with a [common.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 rollforward(core.String project, core.String zone, core.String instanceGroupManager, core.String update) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (project == null) { |
+ throw new core.ArgumentError("Parameter project is required."); |
+ } |
+ if (zone == null) { |
+ throw new core.ArgumentError("Parameter zone is required."); |
+ } |
+ if (instanceGroupManager == null) { |
+ throw new core.ArgumentError("Parameter instanceGroupManager is required."); |
+ } |
+ if (update == null) { |
+ throw new core.ArgumentError("Parameter update is required."); |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = common_internal.Escaper.ecapeVariable('$project') + '/zones/' + common_internal.Escaper.ecapeVariable('$zone') + '/instanceGroupManagers/' + common_internal.Escaper.ecapeVariable('$instanceGroupManager') + '/updates/' + common_internal.Escaper.ecapeVariable('$update') + '/rollforward'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+} |
+ |
+ |
+ |
+/** Response returned by Insert method. */ |
+class InsertResponse { |
+ /** Unique (in the context of a group) handle of an update. */ |
+ core.String update; |
+ |
+ |
+ InsertResponse(); |
+ |
+ InsertResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("update")) { |
+ update = _json["update"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (update != null) { |
+ _json["update"] = update; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Update of a single instance. */ |
+class InstanceUpdate { |
+ /** Name of an instance. */ |
+ core.String instanceName; |
+ |
+ /** State of an instance update. */ |
+ core.String state; |
+ |
+ |
+ InstanceUpdate(); |
+ |
+ InstanceUpdate.fromJson(core.Map _json) { |
+ if (_json.containsKey("instanceName")) { |
+ instanceName = _json["instanceName"]; |
+ } |
+ if (_json.containsKey("state")) { |
+ state = _json["state"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (instanceName != null) { |
+ _json["instanceName"] = instanceName; |
+ } |
+ if (state != null) { |
+ _json["state"] = state; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Resource describing a single update (rollout) of an instance group to the |
+ * given template. |
+ */ |
+class Update { |
+ /** [Output Only] Human-readable description of an update progress. */ |
+ core.String details; |
+ |
+ /** |
+ * [Output Only] Unique (in the context of a group) handle assigned to this |
+ * update. |
+ */ |
+ core.String handle; |
+ |
+ /** Url of an instance template to be applied. */ |
+ core.String instanceTemplate; |
+ |
+ /** [Output Only] Collection of instance updates. */ |
+ core.List<InstanceUpdate> instanceUpdates; |
+ |
+ /** [Output only] The resource type. Always replicapoolupdater#update. */ |
+ core.String kind; |
+ |
+ /** Parameters of an update process. */ |
+ UpdatePolicy policy; |
+ |
+ /** [Output only] The fully qualified URL for this resource. */ |
+ core.String selfLink; |
+ |
+ /** [Output Only] Current state of an update. */ |
+ core.String state; |
+ |
+ /** |
+ * [Output Only] Requested state of an update. This is the state that the |
+ * updater is moving towards. Acceptable values are: |
+ * - "ROLLED_OUT": The user has requested the update to go forward. |
+ * - "ROLLED_BACK": The user has requested the update to be rolled back. |
+ * - "PAUSED": The user has requested the update to be paused. |
+ * |
+ * - "CANCELLED": The user has requested the update to be cancelled. The |
+ * updater service is in the process of canceling the update. |
+ */ |
+ core.String targetState; |
+ |
+ |
+ Update(); |
+ |
+ Update.fromJson(core.Map _json) { |
+ if (_json.containsKey("details")) { |
+ details = _json["details"]; |
+ } |
+ if (_json.containsKey("handle")) { |
+ handle = _json["handle"]; |
+ } |
+ if (_json.containsKey("instanceTemplate")) { |
+ instanceTemplate = _json["instanceTemplate"]; |
+ } |
+ if (_json.containsKey("instanceUpdates")) { |
+ instanceUpdates = _json["instanceUpdates"].map((value) => new InstanceUpdate.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("policy")) { |
+ policy = new UpdatePolicy.fromJson(_json["policy"]); |
+ } |
+ if (_json.containsKey("selfLink")) { |
+ selfLink = _json["selfLink"]; |
+ } |
+ if (_json.containsKey("state")) { |
+ state = _json["state"]; |
+ } |
+ if (_json.containsKey("targetState")) { |
+ targetState = _json["targetState"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (details != null) { |
+ _json["details"] = details; |
+ } |
+ if (handle != null) { |
+ _json["handle"] = handle; |
+ } |
+ if (instanceTemplate != null) { |
+ _json["instanceTemplate"] = instanceTemplate; |
+ } |
+ if (instanceUpdates != null) { |
+ _json["instanceUpdates"] = instanceUpdates.map((value) => (value).toJson()).toList(); |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (policy != null) { |
+ _json["policy"] = (policy).toJson(); |
+ } |
+ if (selfLink != null) { |
+ _json["selfLink"] = selfLink; |
+ } |
+ if (state != null) { |
+ _json["state"] = state; |
+ } |
+ if (targetState != null) { |
+ _json["targetState"] = targetState; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Response returned by List method. */ |
+class UpdateList { |
+ /** Collection of requested updates. */ |
+ core.List<Update> items; |
+ |
+ /** A token used to continue a truncated list request. */ |
+ core.String nextPageToken; |
+ |
+ |
+ UpdateList(); |
+ |
+ UpdateList.fromJson(core.Map _json) { |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new Update.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("nextPageToken")) { |
+ nextPageToken = _json["nextPageToken"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (nextPageToken != null) { |
+ _json["nextPageToken"] = nextPageToken; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Parameters of an update process. */ |
+class UpdatePolicy { |
+ /** Parameters of a canary phase. If absent, canary will NOT be performed. */ |
+ UpdatePolicyCanary canary; |
+ |
+ /** |
+ * Maximum number of instances that can be updated simultaneously |
+ * (concurrently). An update of an instance starts when the instance is about |
+ * to be restarted and finishes after the instance has been restarted and the |
+ * sleep period (defined by sleep_after_instance_restart_sec) has passed. |
+ */ |
+ core.int maxNumConcurrentInstances; |
+ |
+ /** |
+ * Time period after the instance has been restarted but before marking the |
+ * update of this instance as done. |
+ */ |
+ core.int sleepAfterInstanceRestartSec; |
+ |
+ |
+ UpdatePolicy(); |
+ |
+ UpdatePolicy.fromJson(core.Map _json) { |
+ if (_json.containsKey("canary")) { |
+ canary = new UpdatePolicyCanary.fromJson(_json["canary"]); |
+ } |
+ if (_json.containsKey("maxNumConcurrentInstances")) { |
+ maxNumConcurrentInstances = _json["maxNumConcurrentInstances"]; |
+ } |
+ if (_json.containsKey("sleepAfterInstanceRestartSec")) { |
+ sleepAfterInstanceRestartSec = _json["sleepAfterInstanceRestartSec"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (canary != null) { |
+ _json["canary"] = (canary).toJson(); |
+ } |
+ if (maxNumConcurrentInstances != null) { |
+ _json["maxNumConcurrentInstances"] = maxNumConcurrentInstances; |
+ } |
+ if (sleepAfterInstanceRestartSec != null) { |
+ _json["sleepAfterInstanceRestartSec"] = sleepAfterInstanceRestartSec; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Parameters of a canary phase. */ |
+class UpdatePolicyCanary { |
+ /** |
+ * Number of instances updated as a part of canary phase. If absent, the |
+ * default number of instances will be used. |
+ */ |
+ core.int numInstances; |
+ |
+ |
+ UpdatePolicyCanary(); |
+ |
+ UpdatePolicyCanary.fromJson(core.Map _json) { |
+ if (_json.containsKey("numInstances")) { |
+ numInstances = _json["numInstances"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (numInstances != null) { |
+ _json["numInstances"] = numInstances; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |