Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(202)

Unified Diff: generated/googleapis_beta/lib/replicapool/v1beta1.dart

Issue 559053002: Generate 0.1.0 version of googleapis/googleapis_beta (Closed) Base URL: git@github.com:dart-lang/googleapis.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: generated/googleapis_beta/lib/replicapool/v1beta1.dart
diff --git a/generated/googleapis_beta/lib/replicapool/v1beta1.dart b/generated/googleapis_beta/lib/replicapool/v1beta1.dart
new file mode 100644
index 0000000000000000000000000000000000000000..f00cd93f7067c2ccb028ef9803e134de8a24a526
--- /dev/null
+++ b/generated/googleapis_beta/lib/replicapool/v1beta1.dart
@@ -0,0 +1,1939 @@
+library googleapis_beta.replicapool.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 Replica Pool API allows users to declaratively provision and manage
+ * groups of Google Compute Engine instances based on a common template.
+ */
+class ReplicapoolApi {
+ /** View and manage your data across Google Cloud Platform services */
+ static const CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform";
+
+ /**
+ * View and manage your Google Cloud Platform management resources and
+ * deployment status information
+ */
+ static const NdevCloudmanScope = "https://www.googleapis.com/auth/ndev.cloudman";
+
+ /**
+ * View your Google Cloud Platform management resources and deployment status
+ * information
+ */
+ static const NdevCloudmanReadonlyScope = "https://www.googleapis.com/auth/ndev.cloudman.readonly";
+
+ /** 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;
+
+ PoolsResourceApi get pools => new PoolsResourceApi(_requester);
+ ReplicasResourceApi get replicas => new ReplicasResourceApi(_requester);
+
+ ReplicapoolApi(http.Client client) :
+ _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/replicapool/v1beta1/projects/");
+}
+
+
+/** Not documented yet. */
+class PoolsResourceApi {
+ final common_internal.ApiRequester _requester;
+
+ PoolsResourceApi(common_internal.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Deletes a replica pool.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [projectName] - The project ID for this replica pool.
+ *
+ * [zone] - The zone for this replica pool.
+ *
+ * [poolName] - The name of the replica pool for this request.
+ *
+ * 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 delete(PoolsDeleteRequest request, core.String projectName, core.String zone, core.String poolName) {
+ 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 (projectName == null) {
+ throw new core.ArgumentError("Parameter projectName is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (poolName == null) {
+ throw new core.ArgumentError("Parameter poolName is required.");
+ }
+
+ _downloadOptions = null;
+
+ _url = common_internal.Escaper.ecapeVariable('$projectName') + '/zones/' + common_internal.Escaper.ecapeVariable('$zone') + '/pools/' + common_internal.Escaper.ecapeVariable('$poolName');
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => null);
+ }
+
+ /**
+ * Gets information about a single replica pool.
+ *
+ * Request parameters:
+ *
+ * [projectName] - The project ID for this replica pool.
+ *
+ * [zone] - The zone for this replica pool.
+ *
+ * [poolName] - The name of the replica pool for this request.
+ *
+ * Completes with a [Pool].
+ *
+ * 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<Pool> get(core.String projectName, core.String zone, core.String poolName) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = common.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (projectName == null) {
+ throw new core.ArgumentError("Parameter projectName is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (poolName == null) {
+ throw new core.ArgumentError("Parameter poolName is required.");
+ }
+
+
+ _url = common_internal.Escaper.ecapeVariable('$projectName') + '/zones/' + common_internal.Escaper.ecapeVariable('$zone') + '/pools/' + common_internal.Escaper.ecapeVariable('$poolName');
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Pool.fromJson(data));
+ }
+
+ /**
+ * Inserts a new replica pool.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [projectName] - The project ID for this replica pool.
+ *
+ * [zone] - The zone for this replica pool.
+ *
+ * Completes with a [Pool].
+ *
+ * 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<Pool> insert(Pool request, core.String projectName, core.String zone) {
+ 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 (projectName == null) {
+ throw new core.ArgumentError("Parameter projectName is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+
+
+ _url = common_internal.Escaper.ecapeVariable('$projectName') + '/zones/' + common_internal.Escaper.ecapeVariable('$zone') + '/pools';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Pool.fromJson(data));
+ }
+
+ /**
+ * List all replica pools.
+ *
+ * Request parameters:
+ *
+ * [projectName] - The project ID for this request.
+ *
+ * [zone] - The zone for this replica pool.
+ *
+ * [maxResults] - Maximum count of results to be returned. Acceptable values
+ * are 0 to 100, inclusive. (Default: 50)
+ * Value must be between "0" and "1000".
+ *
+ * [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 [PoolsListResponse].
+ *
+ * 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<PoolsListResponse> list(core.String projectName, core.String zone, {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 (projectName == null) {
+ throw new core.ArgumentError("Parameter projectName is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (maxResults != null) {
+ _queryParams["maxResults"] = ["${maxResults}"];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+
+
+ _url = common_internal.Escaper.ecapeVariable('$projectName') + '/zones/' + common_internal.Escaper.ecapeVariable('$zone') + '/pools';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new PoolsListResponse.fromJson(data));
+ }
+
+ /**
+ * Resize a pool. This is an asynchronous operation, and multiple overlapping
+ * resize requests can be made. Replica Pools will use the information from
+ * the last resize request.
+ *
+ * Request parameters:
+ *
+ * [projectName] - The project ID for this replica pool.
+ *
+ * [zone] - The zone for this replica pool.
+ *
+ * [poolName] - The name of the replica pool for this request.
+ *
+ * [numReplicas] - The desired number of replicas to resize to. If this number
+ * is larger than the existing number of replicas, new replicas will be added.
+ * If the number is smaller, then existing replicas will be deleted.
+ *
+ * Completes with a [Pool].
+ *
+ * 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<Pool> resize(core.String projectName, core.String zone, core.String poolName, {core.int numReplicas}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = common.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (projectName == null) {
+ throw new core.ArgumentError("Parameter projectName is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (poolName == null) {
+ throw new core.ArgumentError("Parameter poolName is required.");
+ }
+ if (numReplicas != null) {
+ _queryParams["numReplicas"] = ["${numReplicas}"];
+ }
+
+
+ _url = common_internal.Escaper.ecapeVariable('$projectName') + '/zones/' + common_internal.Escaper.ecapeVariable('$zone') + '/pools/' + common_internal.Escaper.ecapeVariable('$poolName') + '/resize';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Pool.fromJson(data));
+ }
+
+ /**
+ * Update the template used by the pool.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [projectName] - The project ID for this replica pool.
+ *
+ * [zone] - The zone for this replica pool.
+ *
+ * [poolName] - The name of the replica pool for this request.
+ *
+ * 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 updatetemplate(Template request, core.String projectName, core.String zone, core.String poolName) {
+ 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 (projectName == null) {
+ throw new core.ArgumentError("Parameter projectName is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (poolName == null) {
+ throw new core.ArgumentError("Parameter poolName is required.");
+ }
+
+ _downloadOptions = null;
+
+ _url = common_internal.Escaper.ecapeVariable('$projectName') + '/zones/' + common_internal.Escaper.ecapeVariable('$zone') + '/pools/' + common_internal.Escaper.ecapeVariable('$poolName') + '/updateTemplate';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => null);
+ }
+
+}
+
+
+/** Not documented yet. */
+class ReplicasResourceApi {
+ final common_internal.ApiRequester _requester;
+
+ ReplicasResourceApi(common_internal.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Deletes a replica from the pool.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [projectName] - The project ID for this request.
+ *
+ * [zone] - The zone where the replica lives.
+ *
+ * [poolName] - The replica pool name for this request.
+ *
+ * [replicaName] - The name of the replica for this request.
+ *
+ * Completes with a [Replica].
+ *
+ * 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<Replica> delete(ReplicasDeleteRequest request, core.String projectName, core.String zone, core.String poolName, core.String replicaName) {
+ 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 (projectName == null) {
+ throw new core.ArgumentError("Parameter projectName is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (poolName == null) {
+ throw new core.ArgumentError("Parameter poolName is required.");
+ }
+ if (replicaName == null) {
+ throw new core.ArgumentError("Parameter replicaName is required.");
+ }
+
+
+ _url = common_internal.Escaper.ecapeVariable('$projectName') + '/zones/' + common_internal.Escaper.ecapeVariable('$zone') + '/pools/' + common_internal.Escaper.ecapeVariable('$poolName') + '/replicas/' + common_internal.Escaper.ecapeVariable('$replicaName');
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Replica.fromJson(data));
+ }
+
+ /**
+ * Gets information about a specific replica.
+ *
+ * Request parameters:
+ *
+ * [projectName] - The project ID for this request.
+ *
+ * [zone] - The zone where the replica lives.
+ *
+ * [poolName] - The replica pool name for this request.
+ *
+ * [replicaName] - The name of the replica for this request.
+ *
+ * Completes with a [Replica].
+ *
+ * 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<Replica> get(core.String projectName, core.String zone, core.String poolName, core.String replicaName) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = common.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (projectName == null) {
+ throw new core.ArgumentError("Parameter projectName is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (poolName == null) {
+ throw new core.ArgumentError("Parameter poolName is required.");
+ }
+ if (replicaName == null) {
+ throw new core.ArgumentError("Parameter replicaName is required.");
+ }
+
+
+ _url = common_internal.Escaper.ecapeVariable('$projectName') + '/zones/' + common_internal.Escaper.ecapeVariable('$zone') + '/pools/' + common_internal.Escaper.ecapeVariable('$poolName') + '/replicas/' + common_internal.Escaper.ecapeVariable('$replicaName');
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Replica.fromJson(data));
+ }
+
+ /**
+ * Lists all replicas in a pool.
+ *
+ * Request parameters:
+ *
+ * [projectName] - The project ID for this request.
+ *
+ * [zone] - The zone where the replica pool lives.
+ *
+ * [poolName] - The replica pool name for this request.
+ *
+ * [maxResults] - Maximum count of results to be returned. Acceptable values
+ * are 0 to 100, inclusive. (Default: 50)
+ * Value must be between "0" and "1000".
+ *
+ * [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 [ReplicasListResponse].
+ *
+ * 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<ReplicasListResponse> list(core.String projectName, core.String zone, core.String poolName, {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 (projectName == null) {
+ throw new core.ArgumentError("Parameter projectName is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (poolName == null) {
+ throw new core.ArgumentError("Parameter poolName is required.");
+ }
+ if (maxResults != null) {
+ _queryParams["maxResults"] = ["${maxResults}"];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+
+
+ _url = common_internal.Escaper.ecapeVariable('$projectName') + '/zones/' + common_internal.Escaper.ecapeVariable('$zone') + '/pools/' + common_internal.Escaper.ecapeVariable('$poolName') + '/replicas';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new ReplicasListResponse.fromJson(data));
+ }
+
+ /**
+ * Restarts a replica in a pool.
+ *
+ * Request parameters:
+ *
+ * [projectName] - The project ID for this request.
+ *
+ * [zone] - The zone where the replica lives.
+ *
+ * [poolName] - The replica pool name for this request.
+ *
+ * [replicaName] - The name of the replica for this request.
+ *
+ * Completes with a [Replica].
+ *
+ * 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<Replica> restart(core.String projectName, core.String zone, core.String poolName, core.String replicaName) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = common.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (projectName == null) {
+ throw new core.ArgumentError("Parameter projectName is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (poolName == null) {
+ throw new core.ArgumentError("Parameter poolName is required.");
+ }
+ if (replicaName == null) {
+ throw new core.ArgumentError("Parameter replicaName is required.");
+ }
+
+
+ _url = common_internal.Escaper.ecapeVariable('$projectName') + '/zones/' + common_internal.Escaper.ecapeVariable('$zone') + '/pools/' + common_internal.Escaper.ecapeVariable('$poolName') + '/replicas/' + common_internal.Escaper.ecapeVariable('$replicaName') + '/restart';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Replica.fromJson(data));
+ }
+
+}
+
+
+
+/**
+ * A Compute Engine network accessConfig. Identical to the accessConfig on
+ * corresponding Compute Engine resource.
+ */
+class AccessConfig {
+ /** Name of this access configuration. */
+ core.String name;
+
+ /** An external IP address associated with this instance. */
+ core.String natIp;
+
+ /**
+ * Type of this access configuration file. Currently only ONE_TO_ONE_NAT is
+ * supported.
+ */
+ core.String type;
+
+
+ AccessConfig();
+
+ AccessConfig.fromJson(core.Map _json) {
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("natIp")) {
+ natIp = _json["natIp"];
+ }
+ if (_json.containsKey("type")) {
+ type = _json["type"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (natIp != null) {
+ _json["natIp"] = natIp;
+ }
+ if (type != null) {
+ _json["type"] = type;
+ }
+ return _json;
+ }
+}
+
+
+/** An action that gets executed during initialization of the replicas. */
+class Action {
+ /**
+ * A list of commands to run, one per line. If any command fails, the whole
+ * action is considered a failure and no further actions are run. This also
+ * marks the virtual machine or replica as a failure.
+ */
+ core.List<core.String> commands;
+
+ /**
+ * A list of environment variables to use for the commands in this action.
+ */
+ core.List<EnvVariable> envVariables;
+
+ /**
+ * If an action's commands on a particular replica do not finish in the
+ * specified timeoutMilliSeconds, the replica is considered to be in a FAILING
+ * state. No efforts are made to stop any processes that were spawned or
+ * created as the result of running the action's commands. The default is the
+ * max allowed value, 1 hour (i.e. 3600000 milliseconds).
+ */
+ core.int timeoutMilliSeconds;
+
+
+ Action();
+
+ Action.fromJson(core.Map _json) {
+ if (_json.containsKey("commands")) {
+ commands = _json["commands"];
+ }
+ if (_json.containsKey("envVariables")) {
+ envVariables = _json["envVariables"].map((value) => new EnvVariable.fromJson(value)).toList();
+ }
+ if (_json.containsKey("timeoutMilliSeconds")) {
+ timeoutMilliSeconds = _json["timeoutMilliSeconds"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (commands != null) {
+ _json["commands"] = commands;
+ }
+ if (envVariables != null) {
+ _json["envVariables"] = envVariables.map((value) => (value).toJson()).toList();
+ }
+ if (timeoutMilliSeconds != null) {
+ _json["timeoutMilliSeconds"] = timeoutMilliSeconds;
+ }
+ return _json;
+ }
+}
+
+
+/** Specifies how to attach a disk to a Replica. */
+class DiskAttachment {
+ /** The device name of this disk. */
+ core.String deviceName;
+
+ /**
+ * A zero-based index to assign to this disk, where 0 is reserved for the boot
+ * disk. If not specified, this is assigned by the server.
+ */
+ core.int index;
+
+
+ DiskAttachment();
+
+ DiskAttachment.fromJson(core.Map _json) {
+ if (_json.containsKey("deviceName")) {
+ deviceName = _json["deviceName"];
+ }
+ if (_json.containsKey("index")) {
+ index = _json["index"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (deviceName != null) {
+ _json["deviceName"] = deviceName;
+ }
+ if (index != null) {
+ _json["index"] = index;
+ }
+ return _json;
+ }
+}
+
+
+/** An environment variable to set for an action. */
+class EnvVariable {
+ /** Deprecated, do not use. */
+ core.bool hidden;
+
+ /** The name of the environment variable. */
+ core.String name;
+
+ /** The value of the variable. */
+ core.String value;
+
+
+ EnvVariable();
+
+ EnvVariable.fromJson(core.Map _json) {
+ if (_json.containsKey("hidden")) {
+ hidden = _json["hidden"];
+ }
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("value")) {
+ value = _json["value"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (hidden != null) {
+ _json["hidden"] = hidden;
+ }
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (value != null) {
+ _json["value"] = value;
+ }
+ return _json;
+ }
+}
+
+
+/**
+ * A pre-existing persistent disk that will be attached to every Replica in the
+ * Pool in READ_ONLY mode.
+ */
+class ExistingDisk {
+ /** How the disk will be attached to the Replica. */
+ DiskAttachment attachment;
+
+ /**
+ * The name of the Persistent Disk resource. The Persistent Disk resource must
+ * be in the same zone as the Pool.
+ */
+ core.String source;
+
+
+ ExistingDisk();
+
+ ExistingDisk.fromJson(core.Map _json) {
+ if (_json.containsKey("attachment")) {
+ attachment = new DiskAttachment.fromJson(_json["attachment"]);
+ }
+ if (_json.containsKey("source")) {
+ source = _json["source"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (attachment != null) {
+ _json["attachment"] = (attachment).toJson();
+ }
+ if (source != null) {
+ _json["source"] = source;
+ }
+ return _json;
+ }
+}
+
+
+/** Not documented yet. */
+class HealthCheck {
+ /**
+ * How often (in seconds) to make HTTP requests for this healthcheck. The
+ * default value is 5 seconds.
+ */
+ core.int checkIntervalSec;
+
+ /** The description for this health check. */
+ core.String description;
+
+ /**
+ * The number of consecutive health check requests that need to succeed before
+ * the replica is considered healthy again. The default value is 2.
+ */
+ core.int healthyThreshold;
+
+ /**
+ * The value of the host header in the HTTP health check request. If left
+ * empty (default value), the localhost IP 127.0.0.1 will be used.
+ */
+ core.String host;
+
+ /** The name of this health check. */
+ core.String name;
+
+ /**
+ * The localhost request path to send this health check, in the format
+ * /path/to/use. For example, /healthcheck.
+ */
+ core.String path;
+
+ /** The TCP port for the health check requests. */
+ core.int port;
+
+ /**
+ * How long (in seconds) to wait before a timeout failure for this
+ * healthcheck. The default value is 5 seconds.
+ */
+ core.int timeoutSec;
+
+ /**
+ * The number of consecutive health check requests that need to fail in order
+ * to consider the replica unhealthy. The default value is 2.
+ */
+ core.int unhealthyThreshold;
+
+
+ HealthCheck();
+
+ HealthCheck.fromJson(core.Map _json) {
+ if (_json.containsKey("checkIntervalSec")) {
+ checkIntervalSec = _json["checkIntervalSec"];
+ }
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
+ if (_json.containsKey("healthyThreshold")) {
+ healthyThreshold = _json["healthyThreshold"];
+ }
+ if (_json.containsKey("host")) {
+ host = _json["host"];
+ }
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("path")) {
+ path = _json["path"];
+ }
+ if (_json.containsKey("port")) {
+ port = _json["port"];
+ }
+ if (_json.containsKey("timeoutSec")) {
+ timeoutSec = _json["timeoutSec"];
+ }
+ if (_json.containsKey("unhealthyThreshold")) {
+ unhealthyThreshold = _json["unhealthyThreshold"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (checkIntervalSec != null) {
+ _json["checkIntervalSec"] = checkIntervalSec;
+ }
+ if (description != null) {
+ _json["description"] = description;
+ }
+ if (healthyThreshold != null) {
+ _json["healthyThreshold"] = healthyThreshold;
+ }
+ if (host != null) {
+ _json["host"] = host;
+ }
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (path != null) {
+ _json["path"] = path;
+ }
+ if (port != null) {
+ _json["port"] = port;
+ }
+ if (timeoutSec != null) {
+ _json["timeoutSec"] = timeoutSec;
+ }
+ if (unhealthyThreshold != null) {
+ _json["unhealthyThreshold"] = unhealthyThreshold;
+ }
+ return _json;
+ }
+}
+
+
+/** A label to apply to this replica pool. */
+class Label {
+ /** The key for this label. */
+ core.String key;
+
+ /** The value of this label. */
+ core.String value;
+
+
+ Label();
+
+ Label.fromJson(core.Map _json) {
+ if (_json.containsKey("key")) {
+ key = _json["key"];
+ }
+ if (_json.containsKey("value")) {
+ value = _json["value"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (key != null) {
+ _json["key"] = key;
+ }
+ if (value != null) {
+ _json["value"] = value;
+ }
+ return _json;
+ }
+}
+
+
+/**
+ * A Compute Engine metadata entry. Identical to the metadata on the
+ * corresponding Compute Engine resource.
+ */
+class Metadata {
+ /**
+ * The fingerprint of the metadata. Required for updating the metadata entries
+ * for this instance.
+ */
+ core.String fingerPrint;
+
+ /** A list of metadata items. */
+ core.List<MetadataItem> items;
+
+
+ Metadata();
+
+ Metadata.fromJson(core.Map _json) {
+ if (_json.containsKey("fingerPrint")) {
+ fingerPrint = _json["fingerPrint"];
+ }
+ if (_json.containsKey("items")) {
+ items = _json["items"].map((value) => new MetadataItem.fromJson(value)).toList();
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (fingerPrint != null) {
+ _json["fingerPrint"] = fingerPrint;
+ }
+ if (items != null) {
+ _json["items"] = items.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+
+/**
+ * A Compute Engine metadata item, defined as a key:value pair. Identical to the
+ * metadata on the corresponding Compute Engine resource.
+ */
+class MetadataItem {
+ /** A metadata key. */
+ core.String key;
+
+ /** A metadata value. */
+ core.String value;
+
+
+ MetadataItem();
+
+ MetadataItem.fromJson(core.Map _json) {
+ if (_json.containsKey("key")) {
+ key = _json["key"];
+ }
+ if (_json.containsKey("value")) {
+ value = _json["value"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (key != null) {
+ _json["key"] = key;
+ }
+ if (value != null) {
+ _json["value"] = value;
+ }
+ return _json;
+ }
+}
+
+
+/**
+ * A Compute Engine NetworkInterface resource. Identical to the NetworkInterface
+ * on the corresponding Compute Engine resource.
+ */
+class NetworkInterface {
+ /**
+ * An array of configurations for this interface. This specifies how this
+ * interface is configured to interact with other network services.
+ */
+ core.List<AccessConfig> accessConfigs;
+
+ /** Name the Network resource to which this interface applies. */
+ core.String network;
+
+ /**
+ * An optional IPV4 internal network address to assign to the instance for
+ * this network interface.
+ */
+ core.String networkIp;
+
+
+ NetworkInterface();
+
+ NetworkInterface.fromJson(core.Map _json) {
+ if (_json.containsKey("accessConfigs")) {
+ accessConfigs = _json["accessConfigs"].map((value) => new AccessConfig.fromJson(value)).toList();
+ }
+ if (_json.containsKey("network")) {
+ network = _json["network"];
+ }
+ if (_json.containsKey("networkIp")) {
+ networkIp = _json["networkIp"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (accessConfigs != null) {
+ _json["accessConfigs"] = accessConfigs.map((value) => (value).toJson()).toList();
+ }
+ if (network != null) {
+ _json["network"] = network;
+ }
+ if (networkIp != null) {
+ _json["networkIp"] = networkIp;
+ }
+ return _json;
+ }
+}
+
+
+/**
+ * A Persistent Disk resource that will be created and attached to each Replica
+ * in the Pool. Each Replica will have a unique persistent disk that is created
+ * and attached to that Replica in READ_WRITE mode.
+ */
+class NewDisk {
+ /** How the disk will be attached to the Replica. */
+ DiskAttachment attachment;
+
+ /**
+ * If true, then this disk will be deleted when the instance is deleted. The
+ * default value is true.
+ */
+ core.bool autoDelete;
+
+ /** If true, indicates that this is the root persistent disk. */
+ core.bool boot;
+
+ /**
+ * Create the new disk using these parameters. The name of the disk will be
+ * <instance_name>-<four_random_charactersgt;.
+ */
+ NewDiskInitializeParams initializeParams;
+
+
+ NewDisk();
+
+ NewDisk.fromJson(core.Map _json) {
+ if (_json.containsKey("attachment")) {
+ attachment = new DiskAttachment.fromJson(_json["attachment"]);
+ }
+ if (_json.containsKey("autoDelete")) {
+ autoDelete = _json["autoDelete"];
+ }
+ if (_json.containsKey("boot")) {
+ boot = _json["boot"];
+ }
+ if (_json.containsKey("initializeParams")) {
+ initializeParams = new NewDiskInitializeParams.fromJson(_json["initializeParams"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (attachment != null) {
+ _json["attachment"] = (attachment).toJson();
+ }
+ if (autoDelete != null) {
+ _json["autoDelete"] = autoDelete;
+ }
+ if (boot != null) {
+ _json["boot"] = boot;
+ }
+ if (initializeParams != null) {
+ _json["initializeParams"] = (initializeParams).toJson();
+ }
+ return _json;
+ }
+}
+
+
+/** Initialization parameters for creating a new disk. */
+class NewDiskInitializeParams {
+ /** The size of the created disk in gigabytes. */
+ core.String diskSizeGb;
+
+ /**
+ * Name of the disk type resource describing which disk type to use to create
+ * the disk. For example 'pd-ssd' or 'pd-standard'. Default is 'pd-standard'
+ */
+ core.String diskType;
+
+ /**
+ * The name or fully-qualified URL of a source image to use to create this
+ * disk. If you provide a name of the source image, Replica Pool will look for
+ * an image with that name in your project. If you are specifying an image
+ * provided by Compute Engine, you will need to provide the full URL with the
+ * correct project, such as:
+ * http://www.googleapis.com/compute/v1/projects/debian-cloud/
+ * global/images/debian-wheezy-7-vYYYYMMDD
+ */
+ core.String sourceImage;
+
+
+ NewDiskInitializeParams();
+
+ NewDiskInitializeParams.fromJson(core.Map _json) {
+ if (_json.containsKey("diskSizeGb")) {
+ diskSizeGb = _json["diskSizeGb"];
+ }
+ if (_json.containsKey("diskType")) {
+ diskType = _json["diskType"];
+ }
+ if (_json.containsKey("sourceImage")) {
+ sourceImage = _json["sourceImage"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (diskSizeGb != null) {
+ _json["diskSizeGb"] = diskSizeGb;
+ }
+ if (diskType != null) {
+ _json["diskType"] = diskType;
+ }
+ if (sourceImage != null) {
+ _json["sourceImage"] = sourceImage;
+ }
+ return _json;
+ }
+}
+
+
+/** Not documented yet. */
+class Pool {
+ /**
+ * Whether replicas in this pool should be restarted if they experience a
+ * failure. The default value is true.
+ */
+ core.bool autoRestart;
+
+ /**
+ * The base instance name to use for the replicas in this pool. This must
+ * match the regex [a-z]([-a-z0-9]*[a-z0-9])?. If specified, the instances in
+ * this replica pool will be named in the format <base-instance-name>-<ID>.
+ * The <ID> postfix will be a four character alphanumeric identifier generated
+ * by the service.
+ *
+ * If this is not specified by the user, a random base instance name is
+ * generated by the service.
+ */
+ core.String baseInstanceName;
+
+ /** [Output Only] The current number of replicas in the pool. */
+ core.int currentNumReplicas;
+
+ /** An optional description of the replica pool. */
+ core.String description;
+
+ /** Deprecated. Please use template[].healthChecks instead. */
+ core.List<HealthCheck> healthChecks;
+
+ /**
+ * The initial number of replicas this pool should have. You must provide a
+ * value greater than or equal to 0.
+ */
+ core.int initialNumReplicas;
+
+ /**
+ * A list of labels to attach to this replica pool and all created virtual
+ * machines in this replica pool.
+ */
+ core.List<Label> labels;
+
+ /**
+ * The name of the replica pool. Must follow the regex
+ * [a-z]([-a-z0-9]*[a-z0-9])? and be 1-28 characters long.
+ */
+ core.String name;
+
+ /** Deprecated! Use initial_num_replicas instead. */
+ core.int numReplicas;
+
+ /**
+ * The list of resource views that should be updated with all the replicas
+ * that are managed by this pool.
+ */
+ core.List<core.String> resourceViews;
+
+ /** [Output Only] A self-link to the replica pool. */
+ core.String selfLink;
+
+ /** Deprecated, please use target_pools instead. */
+ core.String targetPool;
+
+ /**
+ * A list of target pools to update with the replicas that are managed by this
+ * pool. If specified, the replicas in this replica pool will be added to the
+ * specified target pools for load balancing purposes. The replica pool must
+ * live in the same region as the specified target pools. These values must be
+ * the target pool resource names, and not fully qualified URLs.
+ */
+ core.List<core.String> targetPools;
+
+ /**
+ * The template to use when creating replicas in this pool. This template is
+ * used during initial instance creation of the pool, when growing the pool in
+ * size, or when a replica restarts.
+ */
+ Template template;
+
+ /** Deprecated! Do not set. */
+ core.String type;
+
+
+ Pool();
+
+ Pool.fromJson(core.Map _json) {
+ if (_json.containsKey("autoRestart")) {
+ autoRestart = _json["autoRestart"];
+ }
+ if (_json.containsKey("baseInstanceName")) {
+ baseInstanceName = _json["baseInstanceName"];
+ }
+ if (_json.containsKey("currentNumReplicas")) {
+ currentNumReplicas = _json["currentNumReplicas"];
+ }
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
+ if (_json.containsKey("healthChecks")) {
+ healthChecks = _json["healthChecks"].map((value) => new HealthCheck.fromJson(value)).toList();
+ }
+ if (_json.containsKey("initialNumReplicas")) {
+ initialNumReplicas = _json["initialNumReplicas"];
+ }
+ if (_json.containsKey("labels")) {
+ labels = _json["labels"].map((value) => new Label.fromJson(value)).toList();
+ }
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("numReplicas")) {
+ numReplicas = _json["numReplicas"];
+ }
+ if (_json.containsKey("resourceViews")) {
+ resourceViews = _json["resourceViews"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ if (_json.containsKey("targetPool")) {
+ targetPool = _json["targetPool"];
+ }
+ if (_json.containsKey("targetPools")) {
+ targetPools = _json["targetPools"];
+ }
+ if (_json.containsKey("template")) {
+ template = new Template.fromJson(_json["template"]);
+ }
+ if (_json.containsKey("type")) {
+ type = _json["type"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (autoRestart != null) {
+ _json["autoRestart"] = autoRestart;
+ }
+ if (baseInstanceName != null) {
+ _json["baseInstanceName"] = baseInstanceName;
+ }
+ if (currentNumReplicas != null) {
+ _json["currentNumReplicas"] = currentNumReplicas;
+ }
+ if (description != null) {
+ _json["description"] = description;
+ }
+ if (healthChecks != null) {
+ _json["healthChecks"] = healthChecks.map((value) => (value).toJson()).toList();
+ }
+ if (initialNumReplicas != null) {
+ _json["initialNumReplicas"] = initialNumReplicas;
+ }
+ if (labels != null) {
+ _json["labels"] = labels.map((value) => (value).toJson()).toList();
+ }
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (numReplicas != null) {
+ _json["numReplicas"] = numReplicas;
+ }
+ if (resourceViews != null) {
+ _json["resourceViews"] = resourceViews;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ if (targetPool != null) {
+ _json["targetPool"] = targetPool;
+ }
+ if (targetPools != null) {
+ _json["targetPools"] = targetPools;
+ }
+ if (template != null) {
+ _json["template"] = (template).toJson();
+ }
+ if (type != null) {
+ _json["type"] = type;
+ }
+ return _json;
+ }
+}
+
+
+/** Not documented yet. */
+class PoolsDeleteRequest {
+ /**
+ * If there are instances you would like to keep, you can specify them here.
+ * These instances won't be deleted, but the associated replica objects will
+ * be removed.
+ */
+ core.List<core.String> abandonInstances;
+
+
+ PoolsDeleteRequest();
+
+ PoolsDeleteRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("abandonInstances")) {
+ abandonInstances = _json["abandonInstances"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (abandonInstances != null) {
+ _json["abandonInstances"] = abandonInstances;
+ }
+ return _json;
+ }
+}
+
+
+/** Not documented yet. */
+class PoolsListResponse {
+ /** Not documented yet. */
+ core.String nextPageToken;
+
+ /** Not documented yet. */
+ core.List<Pool> resources;
+
+
+ PoolsListResponse();
+
+ PoolsListResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("resources")) {
+ resources = _json["resources"].map((value) => new Pool.fromJson(value)).toList();
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (resources != null) {
+ _json["resources"] = resources.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+
+/**
+ * An individual Replica within a Pool. Replicas are automatically created by
+ * the replica pool, using the template provided by the user. You cannot
+ * directly create replicas.
+ */
+class Replica {
+ /** [Output Only] The name of the Replica object. */
+ core.String name;
+
+ /** [Output Only] The self-link of the Replica. */
+ core.String selfLink;
+
+ /** [Output Only] Last known status of the Replica. */
+ ReplicaStatus status;
+
+
+ Replica();
+
+ Replica.fromJson(core.Map _json) {
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ if (_json.containsKey("status")) {
+ status = new ReplicaStatus.fromJson(_json["status"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ if (status != null) {
+ _json["status"] = (status).toJson();
+ }
+ return _json;
+ }
+}
+
+
+/** The current status of a Replica. */
+class ReplicaStatus {
+ /**
+ * [Output Only] Human-readable details about the current state of the replica
+ */
+ core.String details;
+
+ /** [Output Only] The state of the Replica. */
+ core.String state;
+
+ /** [Output Only] The template used to build the replica. */
+ core.String templateVersion;
+
+ /**
+ * [Output Only] Link to the virtual machine that this Replica represents.
+ */
+ core.String vmLink;
+
+ /**
+ * [Output Only] The time that this Replica got to the RUNNING state, in RFC
+ * 3339 format. If the start time is unknown, UNKNOWN is returned.
+ */
+ core.String vmStartTime;
+
+
+ ReplicaStatus();
+
+ ReplicaStatus.fromJson(core.Map _json) {
+ if (_json.containsKey("details")) {
+ details = _json["details"];
+ }
+ if (_json.containsKey("state")) {
+ state = _json["state"];
+ }
+ if (_json.containsKey("templateVersion")) {
+ templateVersion = _json["templateVersion"];
+ }
+ if (_json.containsKey("vmLink")) {
+ vmLink = _json["vmLink"];
+ }
+ if (_json.containsKey("vmStartTime")) {
+ vmStartTime = _json["vmStartTime"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (details != null) {
+ _json["details"] = details;
+ }
+ if (state != null) {
+ _json["state"] = state;
+ }
+ if (templateVersion != null) {
+ _json["templateVersion"] = templateVersion;
+ }
+ if (vmLink != null) {
+ _json["vmLink"] = vmLink;
+ }
+ if (vmStartTime != null) {
+ _json["vmStartTime"] = vmStartTime;
+ }
+ return _json;
+ }
+}
+
+
+/** Not documented yet. */
+class ReplicasDeleteRequest {
+ /**
+ * Whether the instance resource represented by this replica should be deleted
+ * or abandoned. If abandoned, the replica will be deleted but the virtual
+ * machine instance will remain. By default, this is set to false and the
+ * instance will be deleted along with the replica.
+ */
+ core.bool abandonInstance;
+
+
+ ReplicasDeleteRequest();
+
+ ReplicasDeleteRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("abandonInstance")) {
+ abandonInstance = _json["abandonInstance"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (abandonInstance != null) {
+ _json["abandonInstance"] = abandonInstance;
+ }
+ return _json;
+ }
+}
+
+
+/** Not documented yet. */
+class ReplicasListResponse {
+ /** Not documented yet. */
+ core.String nextPageToken;
+
+ /** Not documented yet. */
+ core.List<Replica> resources;
+
+
+ ReplicasListResponse();
+
+ ReplicasListResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("resources")) {
+ resources = _json["resources"].map((value) => new Replica.fromJson(value)).toList();
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (resources != null) {
+ _json["resources"] = resources.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+
+/**
+ * A Compute Engine service account, identical to the Compute Engine resource.
+ */
+class ServiceAccount {
+ /**
+ * The service account email address, for example:
+ * 123845678986@project.gserviceaccount.com
+ */
+ core.String email;
+
+ /**
+ * The list of OAuth2 scopes to obtain for the service account, for example:
+ * https://www.googleapis.com/auth/devstorage.full_control
+ */
+ core.List<core.String> scopes;
+
+
+ ServiceAccount();
+
+ ServiceAccount.fromJson(core.Map _json) {
+ if (_json.containsKey("email")) {
+ email = _json["email"];
+ }
+ if (_json.containsKey("scopes")) {
+ scopes = _json["scopes"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (email != null) {
+ _json["email"] = email;
+ }
+ if (scopes != null) {
+ _json["scopes"] = scopes;
+ }
+ return _json;
+ }
+}
+
+
+/**
+ * A Compute Engine Instance tag, identical to the tags on the corresponding
+ * Compute Engine Instance resource.
+ */
+class Tag {
+ /** The fingerprint of the tag. Required for updating the list of tags. */
+ core.String fingerPrint;
+
+ /** Items contained in this tag. */
+ core.List<core.String> items;
+
+
+ Tag();
+
+ Tag.fromJson(core.Map _json) {
+ if (_json.containsKey("fingerPrint")) {
+ fingerPrint = _json["fingerPrint"];
+ }
+ if (_json.containsKey("items")) {
+ items = _json["items"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (fingerPrint != null) {
+ _json["fingerPrint"] = fingerPrint;
+ }
+ if (items != null) {
+ _json["items"] = items;
+ }
+ return _json;
+ }
+}
+
+
+/** The template used for creating replicas in the pool. */
+class Template {
+ /**
+ * An action to run during initialization of your replicas. An action is run
+ * as shell commands which are executed one after the other in the same bash
+ * shell, so any state established by one command is inherited by later
+ * commands.
+ */
+ Action action;
+
+ /**
+ * A list of HTTP Health Checks to configure for this replica pool and all
+ * virtual machines in this replica pool.
+ */
+ core.List<HealthCheck> healthChecks;
+
+ /**
+ * A free-form string describing the version of this template. You can provide
+ * any versioning string you would like. For example, version1 or template-v1.
+ */
+ core.String version;
+
+ /**
+ * The virtual machine parameters to use for creating replicas. You can define
+ * settings such as the machine type and the image of replicas in this pool.
+ * This is required if replica type is SMART_VM.
+ */
+ VmParams vmParams;
+
+
+ Template();
+
+ Template.fromJson(core.Map _json) {
+ if (_json.containsKey("action")) {
+ action = new Action.fromJson(_json["action"]);
+ }
+ if (_json.containsKey("healthChecks")) {
+ healthChecks = _json["healthChecks"].map((value) => new HealthCheck.fromJson(value)).toList();
+ }
+ if (_json.containsKey("version")) {
+ version = _json["version"];
+ }
+ if (_json.containsKey("vmParams")) {
+ vmParams = new VmParams.fromJson(_json["vmParams"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (action != null) {
+ _json["action"] = (action).toJson();
+ }
+ if (healthChecks != null) {
+ _json["healthChecks"] = healthChecks.map((value) => (value).toJson()).toList();
+ }
+ if (version != null) {
+ _json["version"] = version;
+ }
+ if (vmParams != null) {
+ _json["vmParams"] = (vmParams).toJson();
+ }
+ return _json;
+ }
+}
+
+
+/**
+ * Parameters for creating a Compute Engine Instance resource. Most fields are
+ * identical to the corresponding Compute Engine resource.
+ */
+class VmParams {
+ /** Deprecated. Please use baseInstanceName instead. */
+ core.String baseInstanceName;
+
+ /**
+ * Enables IP Forwarding, which allows this instance to receive packets
+ * destined for a different IP address, and send packets with a different
+ * source IP. See IP Forwarding for more information.
+ */
+ core.bool canIpForward;
+
+ /** An optional textual description of the instance. */
+ core.String description;
+
+ /**
+ * A list of existing Persistent Disk resources to attach to each replica in
+ * the pool. Each disk will be attached in read-only mode to every replica.
+ */
+ core.List<ExistingDisk> disksToAttach;
+
+ /**
+ * A list of Disk resources to create and attach to each Replica in the Pool.
+ * Currently, you can only define one disk and it must be a root persistent
+ * disk. Note that Replica Pool will create a root persistent disk for each
+ * replica.
+ */
+ core.List<NewDisk> disksToCreate;
+
+ /**
+ * The machine type for this instance. The resource name (e.g. n1-standard-1).
+ */
+ core.String machineType;
+
+ /** The metadata key/value pairs assigned to this instance. */
+ Metadata metadata;
+
+ /**
+ * A list of network interfaces for the instance. Currently only one interface
+ * is supported by Google Compute Engine, ONE_TO_ONE_NAT.
+ */
+ core.List<NetworkInterface> networkInterfaces;
+
+ /** Not documented yet. */
+ core.String onHostMaintenance;
+
+ /** A list of Service Accounts to enable for this instance. */
+ core.List<ServiceAccount> serviceAccounts;
+
+ /**
+ * A list of tags to apply to the Google Compute Engine instance to identify
+ * resources.
+ */
+ Tag tags;
+
+
+ VmParams();
+
+ VmParams.fromJson(core.Map _json) {
+ if (_json.containsKey("baseInstanceName")) {
+ baseInstanceName = _json["baseInstanceName"];
+ }
+ if (_json.containsKey("canIpForward")) {
+ canIpForward = _json["canIpForward"];
+ }
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
+ if (_json.containsKey("disksToAttach")) {
+ disksToAttach = _json["disksToAttach"].map((value) => new ExistingDisk.fromJson(value)).toList();
+ }
+ if (_json.containsKey("disksToCreate")) {
+ disksToCreate = _json["disksToCreate"].map((value) => new NewDisk.fromJson(value)).toList();
+ }
+ if (_json.containsKey("machineType")) {
+ machineType = _json["machineType"];
+ }
+ if (_json.containsKey("metadata")) {
+ metadata = new Metadata.fromJson(_json["metadata"]);
+ }
+ if (_json.containsKey("networkInterfaces")) {
+ networkInterfaces = _json["networkInterfaces"].map((value) => new NetworkInterface.fromJson(value)).toList();
+ }
+ if (_json.containsKey("onHostMaintenance")) {
+ onHostMaintenance = _json["onHostMaintenance"];
+ }
+ if (_json.containsKey("serviceAccounts")) {
+ serviceAccounts = _json["serviceAccounts"].map((value) => new ServiceAccount.fromJson(value)).toList();
+ }
+ if (_json.containsKey("tags")) {
+ tags = new Tag.fromJson(_json["tags"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (baseInstanceName != null) {
+ _json["baseInstanceName"] = baseInstanceName;
+ }
+ if (canIpForward != null) {
+ _json["canIpForward"] = canIpForward;
+ }
+ if (description != null) {
+ _json["description"] = description;
+ }
+ if (disksToAttach != null) {
+ _json["disksToAttach"] = disksToAttach.map((value) => (value).toJson()).toList();
+ }
+ if (disksToCreate != null) {
+ _json["disksToCreate"] = disksToCreate.map((value) => (value).toJson()).toList();
+ }
+ if (machineType != null) {
+ _json["machineType"] = machineType;
+ }
+ if (metadata != null) {
+ _json["metadata"] = (metadata).toJson();
+ }
+ if (networkInterfaces != null) {
+ _json["networkInterfaces"] = networkInterfaces.map((value) => (value).toJson()).toList();
+ }
+ if (onHostMaintenance != null) {
+ _json["onHostMaintenance"] = onHostMaintenance;
+ }
+ if (serviceAccounts != null) {
+ _json["serviceAccounts"] = serviceAccounts.map((value) => (value).toJson()).toList();
+ }
+ if (tags != null) {
+ _json["tags"] = (tags).toJson();
+ }
+ return _json;
+ }
+}
+
+

Powered by Google App Engine
This is Rietveld 408576698