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; |
+ } |
+} |
+ |
+ |