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

Unified Diff: generated/googleapis/lib/compute/v1.dart

Side-by-side diff isn't available for this file because of its large size.
Issue 2571553005: Api-roll 43: 2016-12-13 (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
Download patch
« no previous file with comments | « generated/googleapis/lib/cloudresourcemanager/v1.dart ('k') | generated/googleapis/lib/content/v2.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: generated/googleapis/lib/compute/v1.dart
diff --git a/generated/googleapis/lib/compute/v1.dart b/generated/googleapis/lib/compute/v1.dart
index e956c2fa80d5cbba4bf6d8ae53f0f3d389e425f3..06d4324c54c41d739e3c34eeba7e4f7f3723c8d2 100644
--- a/generated/googleapis/lib/compute/v1.dart
+++ b/generated/googleapis/lib/compute/v1.dart
@@ -59,6 +59,10 @@ class ComputeApi {
MachineTypesResourceApi get machineTypes => new MachineTypesResourceApi(_requester);
NetworksResourceApi get networks => new NetworksResourceApi(_requester);
ProjectsResourceApi get projects => new ProjectsResourceApi(_requester);
+ RegionAutoscalersResourceApi get regionAutoscalers => new RegionAutoscalersResourceApi(_requester);
+ RegionBackendServicesResourceApi get regionBackendServices => new RegionBackendServicesResourceApi(_requester);
+ RegionInstanceGroupManagersResourceApi get regionInstanceGroupManagers => new RegionInstanceGroupManagersResourceApi(_requester);
+ RegionInstanceGroupsResourceApi get regionInstanceGroups => new RegionInstanceGroupsResourceApi(_requester);
RegionOperationsResourceApi get regionOperations => new RegionOperationsResourceApi(_requester);
RegionsResourceApi get regions => new RegionsResourceApi(_requester);
RoutersResourceApi get routers => new RoutersResourceApi(_requester);
@@ -953,6 +957,106 @@ class BackendServicesResourceApi {
_requester = client;
/**
+ * Retrieves the list of all BackendService resources, regional and global,
+ * available to the specified project.
+ *
+ * Request parameters:
+ *
+ * [project] - Name of the project scoping this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [filter] - Sets a filter expression for filtering listed resources, in the
+ * form filter={expression}. Your {expression} must be in the format:
+ * field_name comparison_string literal_string.
+ *
+ * The field_name is the name of the field you want to compare. Only atomic
+ * field types are supported (string, number, boolean). The comparison_string
+ * must be either eq (equals) or ne (not equals). The literal_string is the
+ * string value to filter to. The literal value must be valid for the type of
+ * field you are filtering by (string, number, boolean). For string fields,
+ * the literal value is interpreted as a regular expression using RE2 syntax.
+ * The literal value must match the entire field.
+ *
+ * For example, to filter for instances that do not have a name of
+ * example-instance, you would use filter=name ne example-instance.
+ *
+ * You can filter on nested fields. For example, you could filter on instances
+ * that have set the scheduling.automaticRestart field to true. Use filtering
+ * on nested fields to take advantage of labels to organize and search for
+ * results based on label values.
+ *
+ * To filter on multiple expressions, provide each separate expression within
+ * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq
+ * us-central1-f). Multiple expressions are treated as AND expressions,
+ * meaning that resources must match all expressions to pass the filters.
+ *
+ * [maxResults] - The maximum number of results per page that should be
+ * returned. If the number of available results is larger than maxResults,
+ * Compute Engine returns a nextPageToken that can be used to get the next
+ * page of results in subsequent list requests.
+ * Value must be between "0" and "500".
+ *
+ * [orderBy] - Sorts list results by a certain order. By default, results are
+ * returned in alphanumerical order based on the resource name.
+ *
+ * You can also sort results in descending order based on the creation
+ * timestamp using orderBy="creationTimestamp desc". This sorts results based
+ * on the creationTimestamp field in reverse chronological order (newest
+ * result first). Use this to sort resources like operations so that the
+ * newest operation is returned first.
+ *
+ * Currently, only sorting by name or creationTimestamp desc is supported.
+ *
+ * [pageToken] - Specifies a page token to use. Set pageToken to the
+ * nextPageToken returned by a previous list request to get the next page of
+ * results.
+ *
+ * Completes with a [BackendServiceAggregatedList].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<BackendServiceAggregatedList> aggregatedList(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
+ if (maxResults != null) {
+ _queryParams["maxResults"] = ["${maxResults}"];
+ }
+ if (orderBy != null) {
+ _queryParams["orderBy"] = [orderBy];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/backendServices';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new BackendServiceAggregatedList.fromJson(data));
+ }
+
+ /**
* Deletes the specified BackendService resource.
*
* Request parameters:
@@ -5715,13 +5819,6 @@ class InstanceGroupManagersResourceApi {
*
* [instanceGroupManager] - The name of the managed instance group.
*
- * [filter] - null
- *
- * [maxResults] - null
- * Value must be between "0" and "500".
- *
- * [pageToken] - null
- *
* Completes with a [InstanceGroupManagersListManagedInstancesResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -5730,7 +5827,7 @@ class InstanceGroupManagersResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<InstanceGroupManagersListManagedInstancesResponse> listManagedInstances(core.String project, core.String zone, core.String instanceGroupManager, {core.String filter, core.int maxResults, core.String pageToken}) {
+ async.Future<InstanceGroupManagersListManagedInstancesResponse> listManagedInstances(core.String project, core.String zone, core.String instanceGroupManager) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -5747,15 +5844,6 @@ class InstanceGroupManagersResourceApi {
if (instanceGroupManager == null) {
throw new core.ArgumentError("Parameter instanceGroupManager is required.");
}
- if (filter != null) {
- _queryParams["filter"] = [filter];
- }
- if (maxResults != null) {
- _queryParams["maxResults"] = ["${maxResults}"];
- }
- if (pageToken != null) {
- _queryParams["pageToken"] = [pageToken];
- }
_url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/listManagedInstances';
@@ -7409,6 +7497,10 @@ class InstancesResourceApi {
* [port] - Specifies which COM or serial port to retrieve data from.
* Value must be between "1" and "4".
*
+ * [start_1] - For the initial request, leave this field unspecified. For
+ * subsequent calls, this field should be set to the next value that was
+ * returned in the previous call.
+ *
* Completes with a [SerialPortOutput].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -7417,7 +7509,7 @@ class InstancesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<SerialPortOutput> getSerialPortOutput(core.String project, core.String zone, core.String instance, {core.int port}) {
+ async.Future<SerialPortOutput> getSerialPortOutput(core.String project, core.String zone, core.String instance, {core.int port, core.String start_1}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -7437,6 +7529,9 @@ class InstancesResourceApi {
if (port != null) {
_queryParams["port"] = ["${port}"];
}
+ if (start_1 != null) {
+ _queryParams["start"] = [start_1];
+ }
_url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/serialPort';
@@ -8995,14 +9090,14 @@ class ProjectsResourceApi {
}
-class RegionOperationsResourceApi {
+class RegionAutoscalersResourceApi {
final commons.ApiRequester _requester;
- RegionOperationsResourceApi(commons.ApiRequester client) :
+ RegionAutoscalersResourceApi(commons.ApiRequester client) :
_requester = client;
/**
- * Deletes the specified region-specific Operations resource.
+ * Deletes the specified autoscaler.
*
* Request parameters:
*
@@ -9010,19 +9105,21 @@ class RegionOperationsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region for this request.
+ * [region] - Name of the region scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [operation] - Name of the Operations resource to delete.
+ * [autoscaler] - Name of the autoscaler to delete.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
+ * Completes with a [Operation].
+ *
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
*
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future delete(core.String project, core.String region, core.String operation) {
+ async.Future<Operation> delete(core.String project, core.String region, core.String autoscaler) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -9036,13 +9133,11 @@ class RegionOperationsResourceApi {
if (region == null) {
throw new core.ArgumentError("Parameter region is required.");
}
- if (operation == null) {
- throw new core.ArgumentError("Parameter operation is required.");
+ if (autoscaler == null) {
+ throw new core.ArgumentError("Parameter autoscaler is required.");
}
- _downloadOptions = null;
-
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/operations/' + commons.Escaper.ecapeVariable('$operation');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/autoscalers/' + commons.Escaper.ecapeVariable('$autoscaler');
var _response = _requester.request(_url,
"DELETE",
@@ -9051,11 +9146,11 @@ class RegionOperationsResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => null);
+ return _response.then((data) => new Operation.fromJson(data));
}
/**
- * Retrieves the specified region-specific Operations resource.
+ * Returns the specified autoscaler.
*
* Request parameters:
*
@@ -9063,13 +9158,13 @@ class RegionOperationsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region for this request.
+ * [region] - Name of the region scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [operation] - Name of the Operations resource to return.
+ * [autoscaler] - Name of the autoscaler to return.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [Operation].
+ * Completes with a [Autoscaler].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -9077,7 +9172,7 @@ class RegionOperationsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> get(core.String project, core.String region, core.String operation) {
+ async.Future<Autoscaler> get(core.String project, core.String region, core.String autoscaler) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -9091,11 +9186,11 @@ class RegionOperationsResourceApi {
if (region == null) {
throw new core.ArgumentError("Parameter region is required.");
}
- if (operation == null) {
- throw new core.ArgumentError("Parameter operation is required.");
+ if (autoscaler == null) {
+ throw new core.ArgumentError("Parameter autoscaler is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/operations/' + commons.Escaper.ecapeVariable('$operation');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/autoscalers/' + commons.Escaper.ecapeVariable('$autoscaler');
var _response = _requester.request(_url,
"GET",
@@ -9104,12 +9199,64 @@ class RegionOperationsResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
+ return _response.then((data) => new Autoscaler.fromJson(data));
+ }
+
+ /**
+ * Creates an autoscaler in the specified project using the data included in
+ * the request.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [region] - Name of the region scoping this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Operation> insert(Autoscaler request, core.String project, core.String region) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/autoscalers';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
return _response.then((data) => new Operation.fromJson(data));
}
/**
- * Retrieves a list of Operation resources contained within the specified
- * region.
+ * Retrieves a list of autoscalers contained within the specified region.
*
* Request parameters:
*
@@ -9117,7 +9264,7 @@ class RegionOperationsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region for this request.
+ * [region] - Name of the region scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
* [filter] - Sets a filter expression for filtering listed resources, in the
@@ -9166,7 +9313,7 @@ class RegionOperationsResourceApi {
* nextPageToken returned by a previous list request to get the next page of
* results.
*
- * Completes with a [OperationList].
+ * Completes with a [RegionAutoscalerList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -9174,7 +9321,7 @@ class RegionOperationsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<OperationList> list(core.String project, core.String region, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<RegionAutoscalerList> list(core.String project, core.String region, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -9201,7 +9348,7 @@ class RegionOperationsResourceApi {
_queryParams["pageToken"] = [pageToken];
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/operations';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/autoscalers';
var _response = _requester.request(_url,
"GET",
@@ -9210,21 +9357,14 @@ class RegionOperationsResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new OperationList.fromJson(data));
+ return _response.then((data) => new RegionAutoscalerList.fromJson(data));
}
-}
-
-
-class RegionsResourceApi {
- final commons.ApiRequester _requester;
-
- RegionsResourceApi(commons.ApiRequester client) :
- _requester = client;
-
/**
- * Returns the specified Region resource. Get a list of available regions by
- * making a list() request.
+ * Updates an autoscaler in the specified project using the data included in
+ * the request. This method supports patch semantics.
+ *
+ * [request] - The metadata request object.
*
* Request parameters:
*
@@ -9232,10 +9372,13 @@ class RegionsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region resource to return.
+ * [region] - Name of the region scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [Region].
+ * [autoscaler] - Name of the autoscaler to update.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -9243,7 +9386,7 @@ class RegionsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Region> get(core.String project, core.String region) {
+ async.Future<Operation> patch(Autoscaler request, core.String project, core.String region, core.String autoscaler) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -9251,27 +9394,37 @@ class RegionsResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
if (region == null) {
throw new core.ArgumentError("Parameter region is required.");
}
+ if (autoscaler == null) {
+ throw new core.ArgumentError("Parameter autoscaler is required.");
+ }
+ _queryParams["autoscaler"] = [autoscaler];
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/autoscalers';
var _response = _requester.request(_url,
- "GET",
+ "PATCH",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new Region.fromJson(data));
+ return _response.then((data) => new Operation.fromJson(data));
}
/**
- * Retrieves the list of region resources available to the specified project.
+ * Updates an autoscaler in the specified project using the data included in
+ * the request.
+ *
+ * [request] - The metadata request object.
*
* Request parameters:
*
@@ -9279,53 +9432,13 @@ class RegionsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [filter] - Sets a filter expression for filtering listed resources, in the
- * form filter={expression}. Your {expression} must be in the format:
- * field_name comparison_string literal_string.
+ * [region] - Name of the region scoping this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * The field_name is the name of the field you want to compare. Only atomic
- * field types are supported (string, number, boolean). The comparison_string
- * must be either eq (equals) or ne (not equals). The literal_string is the
- * string value to filter to. The literal value must be valid for the type of
- * field you are filtering by (string, number, boolean). For string fields,
- * the literal value is interpreted as a regular expression using RE2 syntax.
- * The literal value must match the entire field.
+ * [autoscaler] - Name of the autoscaler to update.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * For example, to filter for instances that do not have a name of
- * example-instance, you would use filter=name ne example-instance.
- *
- * You can filter on nested fields. For example, you could filter on instances
- * that have set the scheduling.automaticRestart field to true. Use filtering
- * on nested fields to take advantage of labels to organize and search for
- * results based on label values.
- *
- * To filter on multiple expressions, provide each separate expression within
- * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq
- * us-central1-f). Multiple expressions are treated as AND expressions,
- * meaning that resources must match all expressions to pass the filters.
- *
- * [maxResults] - The maximum number of results per page that should be
- * returned. If the number of available results is larger than maxResults,
- * Compute Engine returns a nextPageToken that can be used to get the next
- * page of results in subsequent list requests.
- * Value must be between "0" and "500".
- *
- * [orderBy] - Sorts list results by a certain order. By default, results are
- * returned in alphanumerical order based on the resource name.
- *
- * You can also sort results in descending order based on the creation
- * timestamp using orderBy="creationTimestamp desc". This sorts results based
- * on the creationTimestamp field in reverse chronological order (newest
- * result first). Use this to sort resources like operations so that the
- * newest operation is returned first.
- *
- * Currently, only sorting by name or creationTimestamp desc is supported.
- *
- * [pageToken] - Specifies a page token to use. Set pageToken to the
- * nextPageToken returned by a previous list request to get the next page of
- * results.
- *
- * Completes with a [RegionList].
+ * Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -9333,7 +9446,7 @@ class RegionsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<RegionList> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<Operation> update(Autoscaler request, core.String project, core.String region, {core.String autoscaler}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -9341,144 +9454,42 @@ class RegionsResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (filter != null) {
- _queryParams["filter"] = [filter];
- }
- if (maxResults != null) {
- _queryParams["maxResults"] = ["${maxResults}"];
- }
- if (orderBy != null) {
- _queryParams["orderBy"] = [orderBy];
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
}
- if (pageToken != null) {
- _queryParams["pageToken"] = [pageToken];
+ if (autoscaler != null) {
+ _queryParams["autoscaler"] = [autoscaler];
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/autoscalers';
var _response = _requester.request(_url,
- "GET",
+ "PUT",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new RegionList.fromJson(data));
+ return _response.then((data) => new Operation.fromJson(data));
}
}
-class RoutersResourceApi {
+class RegionBackendServicesResourceApi {
final commons.ApiRequester _requester;
- RoutersResourceApi(commons.ApiRequester client) :
+ RegionBackendServicesResourceApi(commons.ApiRequester client) :
_requester = client;
/**
- * Retrieves an aggregated list of routers.
- *
- * Request parameters:
- *
- * [project] - Project ID for this request.
- * Value must have pattern
- * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
- *
- * [filter] - Sets a filter expression for filtering listed resources, in the
- * form filter={expression}. Your {expression} must be in the format:
- * field_name comparison_string literal_string.
- *
- * The field_name is the name of the field you want to compare. Only atomic
- * field types are supported (string, number, boolean). The comparison_string
- * must be either eq (equals) or ne (not equals). The literal_string is the
- * string value to filter to. The literal value must be valid for the type of
- * field you are filtering by (string, number, boolean). For string fields,
- * the literal value is interpreted as a regular expression using RE2 syntax.
- * The literal value must match the entire field.
- *
- * For example, to filter for instances that do not have a name of
- * example-instance, you would use filter=name ne example-instance.
- *
- * You can filter on nested fields. For example, you could filter on instances
- * that have set the scheduling.automaticRestart field to true. Use filtering
- * on nested fields to take advantage of labels to organize and search for
- * results based on label values.
- *
- * To filter on multiple expressions, provide each separate expression within
- * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq
- * us-central1-f). Multiple expressions are treated as AND expressions,
- * meaning that resources must match all expressions to pass the filters.
- *
- * [maxResults] - The maximum number of results per page that should be
- * returned. If the number of available results is larger than maxResults,
- * Compute Engine returns a nextPageToken that can be used to get the next
- * page of results in subsequent list requests.
- * Value must be between "0" and "500".
- *
- * [orderBy] - Sorts list results by a certain order. By default, results are
- * returned in alphanumerical order based on the resource name.
- *
- * You can also sort results in descending order based on the creation
- * timestamp using orderBy="creationTimestamp desc". This sorts results based
- * on the creationTimestamp field in reverse chronological order (newest
- * result first). Use this to sort resources like operations so that the
- * newest operation is returned first.
- *
- * Currently, only sorting by name or creationTimestamp desc is supported.
- *
- * [pageToken] - Specifies a page token to use. Set pageToken to the
- * nextPageToken returned by a previous list request to get the next page of
- * results.
- *
- * Completes with a [RouterAggregatedList].
- *
- * Completes with a [commons.ApiRequestError] if the API endpoint returned an
- * error.
- *
- * If the used [http.Client] completes with an error when making a REST call,
- * this method will complete with the same error.
- */
- async.Future<RouterAggregatedList> aggregatedList(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
- var _url = null;
- var _queryParams = new core.Map();
- var _uploadMedia = null;
- var _uploadOptions = null;
- var _downloadOptions = commons.DownloadOptions.Metadata;
- var _body = null;
-
- if (project == null) {
- throw new core.ArgumentError("Parameter project is required.");
- }
- if (filter != null) {
- _queryParams["filter"] = [filter];
- }
- if (maxResults != null) {
- _queryParams["maxResults"] = ["${maxResults}"];
- }
- if (orderBy != null) {
- _queryParams["orderBy"] = [orderBy];
- }
- if (pageToken != null) {
- _queryParams["pageToken"] = [pageToken];
- }
-
- _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/routers';
-
- var _response = _requester.request(_url,
- "GET",
- body: _body,
- queryParams: _queryParams,
- uploadOptions: _uploadOptions,
- uploadMedia: _uploadMedia,
- downloadOptions: _downloadOptions);
- return _response.then((data) => new RouterAggregatedList.fromJson(data));
- }
-
- /**
- * Deletes the specified Router resource.
+ * Deletes the specified regional BackendService resource.
*
* Request parameters:
*
@@ -9486,10 +9497,10 @@ class RoutersResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region for this request.
+ * [region] - Name of the region scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [router] - Name of the Router resource to delete.
+ * [backendService] - Name of the BackendService resource to delete.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
* Completes with a [Operation].
@@ -9500,7 +9511,7 @@ class RoutersResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> delete(core.String project, core.String region, core.String router) {
+ async.Future<Operation> delete(core.String project, core.String region, core.String backendService) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -9514,11 +9525,11 @@ class RoutersResourceApi {
if (region == null) {
throw new core.ArgumentError("Parameter region is required.");
}
- if (router == null) {
- throw new core.ArgumentError("Parameter router is required.");
+ if (backendService == null) {
+ throw new core.ArgumentError("Parameter backendService is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/routers/' + commons.Escaper.ecapeVariable('$router');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/backendServices/' + commons.Escaper.ecapeVariable('$backendService');
var _response = _requester.request(_url,
"DELETE",
@@ -9531,8 +9542,7 @@ class RoutersResourceApi {
}
/**
- * Returns the specified Router resource. Get a list of available routers by
- * making a list() request.
+ * Returns the specified regional BackendService resource.
*
* Request parameters:
*
@@ -9540,13 +9550,13 @@ class RoutersResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region for this request.
+ * [region] - Name of the region scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [router] - Name of the Router resource to return.
+ * [backendService] - Name of the BackendService resource to return.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [Router].
+ * Completes with a [BackendService].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -9554,7 +9564,7 @@ class RoutersResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Router> get(core.String project, core.String region, core.String router) {
+ async.Future<BackendService> get(core.String project, core.String region, core.String backendService) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -9568,11 +9578,11 @@ class RoutersResourceApi {
if (region == null) {
throw new core.ArgumentError("Parameter region is required.");
}
- if (router == null) {
- throw new core.ArgumentError("Parameter router is required.");
+ if (backendService == null) {
+ throw new core.ArgumentError("Parameter backendService is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/routers/' + commons.Escaper.ecapeVariable('$router');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/backendServices/' + commons.Escaper.ecapeVariable('$backendService');
var _response = _requester.request(_url,
"GET",
@@ -9581,25 +9591,28 @@ class RoutersResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new Router.fromJson(data));
+ return _response.then((data) => new BackendService.fromJson(data));
}
/**
- * Retrieves runtime information of the specified router.
+ * Gets the most recent health check results for this regional BackendService.
+ *
+ * [request] - The metadata request object.
*
* Request parameters:
*
- * [project] - Project ID for this request.
+ * [project] - null
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region for this request.
+ * [region] - Name of the region scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [router] - Name of the Router resource to query.
+ * [backendService] - Name of the BackendService resource to which the queried
+ * instance belongs.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [RouterStatusResponse].
+ * Completes with a [BackendServiceGroupHealth].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -9607,7 +9620,7 @@ class RoutersResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<RouterStatusResponse> getRouterStatus(core.String project, core.String region, core.String router) {
+ async.Future<BackendServiceGroupHealth> getHealth(ResourceGroupReference request, core.String project, core.String region, core.String backendService) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -9615,31 +9628,36 @@ class RoutersResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
if (region == null) {
throw new core.ArgumentError("Parameter region is required.");
}
- if (router == null) {
- throw new core.ArgumentError("Parameter router is required.");
+ if (backendService == null) {
+ throw new core.ArgumentError("Parameter backendService is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/routers/' + commons.Escaper.ecapeVariable('$router') + '/getRouterStatus';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/backendServices/' + commons.Escaper.ecapeVariable('$backendService') + '/getHealth';
var _response = _requester.request(_url,
- "GET",
+ "POST",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new RouterStatusResponse.fromJson(data));
+ return _response.then((data) => new BackendServiceGroupHealth.fromJson(data));
}
/**
- * Creates a Router resource in the specified project and region using the
- * data included in the request.
+ * Creates a regional BackendService resource in the specified project using
+ * the data included in the request. There are several restrictions and
+ * guidelines to keep in mind when creating a regional backend service. Read
+ * Restrictions and Guidelines for more information.
*
* [request] - The metadata request object.
*
@@ -9649,7 +9667,7 @@ class RoutersResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region for this request.
+ * [region] - Name of the region scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
* Completes with a [Operation].
@@ -9660,7 +9678,7 @@ class RoutersResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> insert(Router request, core.String project, core.String region) {
+ async.Future<Operation> insert(BackendService request, core.String project, core.String region) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -9678,7 +9696,7 @@ class RoutersResourceApi {
throw new core.ArgumentError("Parameter region is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/routers';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/backendServices';
var _response = _requester.request(_url,
"POST",
@@ -9691,7 +9709,8 @@ class RoutersResourceApi {
}
/**
- * Retrieves a list of Router resources available to the specified project.
+ * Retrieves the list of regional BackendService resources available to the
+ * specified project in the given region.
*
* Request parameters:
*
@@ -9699,7 +9718,7 @@ class RoutersResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region for this request.
+ * [region] - Name of the region scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
* [filter] - Sets a filter expression for filtering listed resources, in the
@@ -9748,7 +9767,7 @@ class RoutersResourceApi {
* nextPageToken returned by a previous list request to get the next page of
* results.
*
- * Completes with a [RouterList].
+ * Completes with a [BackendServiceList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -9756,7 +9775,7 @@ class RoutersResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<RouterList> list(core.String project, core.String region, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<BackendServiceList> list(core.String project, core.String region, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -9783,7 +9802,7 @@ class RoutersResourceApi {
_queryParams["pageToken"] = [pageToken];
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/routers';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/backendServices';
var _response = _requester.request(_url,
"GET",
@@ -9792,12 +9811,14 @@ class RoutersResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new RouterList.fromJson(data));
+ return _response.then((data) => new BackendServiceList.fromJson(data));
}
/**
- * Updates the specified Router resource with the data included in the
- * request. This method supports patch semantics.
+ * Updates the specified regional BackendService resource with the data
+ * included in the request. There are several restrictions and guidelines to
+ * keep in mind when updating a backend service. Read Restrictions and
+ * Guidelines for more information. This method supports patch semantics.
*
* [request] - The metadata request object.
*
@@ -9807,10 +9828,10 @@ class RoutersResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region for this request.
+ * [region] - Name of the region scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [router] - Name of the Router resource to update.
+ * [backendService] - Name of the BackendService resource to update.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
* Completes with a [Operation].
@@ -9821,7 +9842,7 @@ class RoutersResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> patch(Router request, core.String project, core.String region, core.String router) {
+ async.Future<Operation> patch(BackendService request, core.String project, core.String region, core.String backendService) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -9838,11 +9859,11 @@ class RoutersResourceApi {
if (region == null) {
throw new core.ArgumentError("Parameter region is required.");
}
- if (router == null) {
- throw new core.ArgumentError("Parameter router is required.");
+ if (backendService == null) {
+ throw new core.ArgumentError("Parameter backendService is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/routers/' + commons.Escaper.ecapeVariable('$router');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/backendServices/' + commons.Escaper.ecapeVariable('$backendService');
var _response = _requester.request(_url,
"PATCH",
@@ -9855,8 +9876,10 @@ class RoutersResourceApi {
}
/**
- * Preview fields auto-generated during router create and update operations.
- * Calling this method does NOT create or update the router.
+ * Updates the specified regional BackendService resource with the data
+ * included in the request. There are several restrictions and guidelines to
+ * keep in mind when updating a backend service. Read Restrictions and
+ * Guidelines for more information.
*
* [request] - The metadata request object.
*
@@ -9866,13 +9889,13 @@ class RoutersResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region for this request.
+ * [region] - Name of the region scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [router] - Name of the Router resource to query.
+ * [backendService] - Name of the BackendService resource to update.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [RoutersPreviewResponse].
+ * Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -9880,7 +9903,7 @@ class RoutersResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<RoutersPreviewResponse> preview(Router request, core.String project, core.String region, core.String router) {
+ async.Future<Operation> update(BackendService request, core.String project, core.String region, core.String backendService) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -9897,25 +9920,40 @@ class RoutersResourceApi {
if (region == null) {
throw new core.ArgumentError("Parameter region is required.");
}
- if (router == null) {
- throw new core.ArgumentError("Parameter router is required.");
+ if (backendService == null) {
+ throw new core.ArgumentError("Parameter backendService is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/routers/' + commons.Escaper.ecapeVariable('$router') + '/preview';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/backendServices/' + commons.Escaper.ecapeVariable('$backendService');
var _response = _requester.request(_url,
- "POST",
+ "PUT",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new RoutersPreviewResponse.fromJson(data));
+ return _response.then((data) => new Operation.fromJson(data));
}
+}
+
+
+class RegionInstanceGroupManagersResourceApi {
+ final commons.ApiRequester _requester;
+
+ RegionInstanceGroupManagersResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
/**
- * Updates the specified Router resource with the data included in the
- * request.
+ * Schedules a group action to remove the specified instances from the managed
+ * instance group. Abandoning an instance does not delete the instance, but it
+ * does remove the instance from any target pools that are applied by the
+ * managed instance group. This method reduces the targetSize of the managed
+ * instance group by the number of instances that you abandon. This operation
+ * is marked as DONE when the action is scheduled even if the instances have
+ * not yet been removed from the group. You must separately verify the status
+ * of the abandoning action with the listmanagedinstances method.
*
* [request] - The metadata request object.
*
@@ -9925,11 +9963,9 @@ class RoutersResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region for this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ * [region] - Name of the region scoping this request.
*
- * [router] - Name of the Router resource to update.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ * [instanceGroupManager] - Name of the managed instance group.
*
* Completes with a [Operation].
*
@@ -9939,7 +9975,7 @@ class RoutersResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> update(Router request, core.String project, core.String region, core.String router) {
+ async.Future<Operation> abandonInstances(RegionInstanceGroupManagersAbandonInstancesRequest request, core.String project, core.String region, core.String instanceGroupManager) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -9956,14 +9992,14 @@ class RoutersResourceApi {
if (region == null) {
throw new core.ArgumentError("Parameter region is required.");
}
- if (router == null) {
- throw new core.ArgumentError("Parameter router is required.");
+ if (instanceGroupManager == null) {
+ throw new core.ArgumentError("Parameter instanceGroupManager is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/routers/' + commons.Escaper.ecapeVariable('$router');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/abandonInstances';
var _response = _requester.request(_url,
- "PUT",
+ "POST",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
@@ -9972,17 +10008,68 @@ class RoutersResourceApi {
return _response.then((data) => new Operation.fromJson(data));
}
-}
+ /**
+ * Deletes the specified managed instance group and all of the instances in
+ * that group.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [region] - Name of the region scoping this request.
+ *
+ * [instanceGroupManager] - Name of the managed instance group to delete.
+ *
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Operation> delete(core.String project, core.String region, core.String instanceGroupManager) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (instanceGroupManager == null) {
+ throw new core.ArgumentError("Parameter instanceGroupManager is required.");
+ }
-class RoutesResourceApi {
- final commons.ApiRequester _requester;
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager');
- RoutesResourceApi(commons.ApiRequester client) :
- _requester = client;
+ var _response = _requester.request(_url,
+ "DELETE",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
/**
- * Deletes the specified Route resource.
+ * Schedules a group action to delete the specified instances in the managed
+ * instance group. The instances are also removed from any target pools of
+ * which they were a member. This method reduces the targetSize of the managed
+ * instance group by the number of instances that you delete. This operation
+ * is marked as DONE when the action is scheduled even if the instances are
+ * still being deleted. You must separately verify the status of the deleting
+ * action with the listmanagedinstances method.
+ *
+ * [request] - The metadata request object.
*
* Request parameters:
*
@@ -9990,8 +10077,9 @@ class RoutesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [route] - Name of the Route resource to delete.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ * [region] - Name of the region scoping this request.
+ *
+ * [instanceGroupManager] - Name of the managed instance group.
*
* Completes with a [Operation].
*
@@ -10001,7 +10089,7 @@ class RoutesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> delete(core.String project, core.String route) {
+ async.Future<Operation> deleteInstances(RegionInstanceGroupManagersDeleteInstancesRequest request, core.String project, core.String region, core.String instanceGroupManager) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -10009,17 +10097,23 @@ class RoutesResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (route == null) {
- throw new core.ArgumentError("Parameter route is required.");
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (instanceGroupManager == null) {
+ throw new core.ArgumentError("Parameter instanceGroupManager is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/routes/' + commons.Escaper.ecapeVariable('$route');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/deleteInstances';
var _response = _requester.request(_url,
- "DELETE",
+ "POST",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
@@ -10029,8 +10123,7 @@ class RoutesResourceApi {
}
/**
- * Returns the specified Route resource. Get a list of available routes by
- * making a list() request.
+ * Returns all of the details about the specified managed instance group.
*
* Request parameters:
*
@@ -10038,10 +10131,11 @@ class RoutesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [route] - Name of the Route resource to return.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ * [region] - Name of the region scoping this request.
*
- * Completes with a [Route].
+ * [instanceGroupManager] - Name of the managed instance group to return.
+ *
+ * Completes with a [InstanceGroupManager].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -10049,7 +10143,7 @@ class RoutesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Route> get(core.String project, core.String route) {
+ async.Future<InstanceGroupManager> get(core.String project, core.String region, core.String instanceGroupManager) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -10060,11 +10154,14 @@ class RoutesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (route == null) {
- throw new core.ArgumentError("Parameter route is required.");
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (instanceGroupManager == null) {
+ throw new core.ArgumentError("Parameter instanceGroupManager is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/routes/' + commons.Escaper.ecapeVariable('$route');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager');
var _response = _requester.request(_url,
"GET",
@@ -10073,12 +10170,16 @@ class RoutesResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new Route.fromJson(data));
+ return _response.then((data) => new InstanceGroupManager.fromJson(data));
}
/**
- * Creates a Route resource in the specified project using the data included
- * in the request.
+ * Creates a managed instance group using the information that you specify in
+ * the request. After the group is created, it schedules an action to create
+ * instances in the group using the specified instance template. This
+ * operation is marked as DONE when the group is created even if the instances
+ * in the group have not yet been created. You must separately verify the
+ * status of the individual instances with the listmanagedinstances method.
*
* [request] - The metadata request object.
*
@@ -10088,6 +10189,8 @@ class RoutesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
+ * [region] - Name of the region scoping this request.
+ *
* Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -10096,7 +10199,7 @@ class RoutesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> insert(Route request, core.String project) {
+ async.Future<Operation> insert(InstanceGroupManager request, core.String project, core.String region) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -10110,8 +10213,11 @@ class RoutesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
- _url = commons.Escaper.ecapeVariable('$project') + '/global/routes';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers';
var _response = _requester.request(_url,
"POST",
@@ -10124,7 +10230,8 @@ class RoutesResourceApi {
}
/**
- * Retrieves the list of Route resources available to the specified project.
+ * Retrieves the list of managed instance groups that are contained within the
+ * specified region.
*
* Request parameters:
*
@@ -10132,6 +10239,8 @@ class RoutesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
+ * [region] - Name of the region scoping this request.
+ *
* [filter] - Sets a filter expression for filtering listed resources, in the
* form filter={expression}. Your {expression} must be in the format:
* field_name comparison_string literal_string.
@@ -10178,7 +10287,7 @@ class RoutesResourceApi {
* nextPageToken returned by a previous list request to get the next page of
* results.
*
- * Completes with a [RouteList].
+ * Completes with a [RegionInstanceGroupManagerList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -10186,7 +10295,7 @@ class RoutesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<RouteList> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<RegionInstanceGroupManagerList> list(core.String project, core.String region, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -10197,6 +10306,9 @@ class RoutesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
if (filter != null) {
_queryParams["filter"] = [filter];
}
@@ -10210,7 +10322,7 @@ class RoutesResourceApi {
_queryParams["pageToken"] = [pageToken];
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/routes';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers';
var _response = _requester.request(_url,
"GET",
@@ -10219,26 +10331,13 @@ class RoutesResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new RouteList.fromJson(data));
+ return _response.then((data) => new RegionInstanceGroupManagerList.fromJson(data));
}
-}
-
-
-class SnapshotsResourceApi {
- final commons.ApiRequester _requester;
-
- SnapshotsResourceApi(commons.ApiRequester client) :
- _requester = client;
-
/**
- * Deletes the specified Snapshot resource. Keep in mind that deleting a
- * single snapshot might not necessarily delete all the data on that snapshot.
- * If any data on the snapshot that is marked for deletion is needed for
- * subsequent snapshots, the data will be moved to the next corresponding
- * snapshot.
- *
- * For more information, see Deleting snaphots.
+ * Lists the instances in the managed instance group and instances that are
+ * scheduled to be created. The list includes any current actions that the
+ * group has scheduled for its instances.
*
* Request parameters:
*
@@ -10246,10 +10345,11 @@ class SnapshotsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [snapshot] - Name of the Snapshot resource to delete.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ * [region] - Name of the region scoping this request.
*
- * Completes with a [Operation].
+ * [instanceGroupManager] - The name of the managed instance group.
+ *
+ * Completes with a [RegionInstanceGroupManagersListInstancesResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -10257,7 +10357,7 @@ class SnapshotsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> delete(core.String project, core.String snapshot) {
+ async.Future<RegionInstanceGroupManagersListInstancesResponse> listManagedInstances(core.String project, core.String region, core.String instanceGroupManager) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -10268,25 +10368,34 @@ class SnapshotsResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (snapshot == null) {
- throw new core.ArgumentError("Parameter snapshot is required.");
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (instanceGroupManager == null) {
+ throw new core.ArgumentError("Parameter instanceGroupManager is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/snapshots/' + commons.Escaper.ecapeVariable('$snapshot');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/listManagedInstances';
var _response = _requester.request(_url,
- "DELETE",
+ "POST",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new Operation.fromJson(data));
+ return _response.then((data) => new RegionInstanceGroupManagersListInstancesResponse.fromJson(data));
}
/**
- * Returns the specified Snapshot resource. Get a list of available snapshots
- * by making a list() request.
+ * Schedules a group action to recreate the specified instances in the managed
+ * instance group. The instances are deleted and recreated using the current
+ * instance template for the managed instance group. This operation is marked
+ * as DONE when the action is scheduled even if the instances have not yet
+ * been recreated. You must separately verify the status of the recreating
+ * action with the listmanagedinstances method.
+ *
+ * [request] - The metadata request object.
*
* Request parameters:
*
@@ -10294,10 +10403,11 @@ class SnapshotsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [snapshot] - Name of the Snapshot resource to return.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ * [region] - Name of the region scoping this request.
*
- * Completes with a [Snapshot].
+ * [instanceGroupManager] - Name of the managed instance group.
+ *
+ * Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -10305,7 +10415,7 @@ class SnapshotsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Snapshot> get(core.String project, core.String snapshot) {
+ async.Future<Operation> recreateInstances(RegionInstanceGroupManagersRecreateRequest request, core.String project, core.String region, core.String instanceGroupManager) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -10313,28 +10423,39 @@ class SnapshotsResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (snapshot == null) {
- throw new core.ArgumentError("Parameter snapshot is required.");
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (instanceGroupManager == null) {
+ throw new core.ArgumentError("Parameter instanceGroupManager is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/snapshots/' + commons.Escaper.ecapeVariable('$snapshot');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/recreateInstances';
var _response = _requester.request(_url,
- "GET",
+ "POST",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new Snapshot.fromJson(data));
+ return _response.then((data) => new Operation.fromJson(data));
}
/**
- * Retrieves the list of Snapshot resources contained within the specified
- * project.
+ * Changes the intended size for the managed instance group. If you increase
+ * the size, the group schedules actions to create new instances using the
+ * current instance template. If you decrease the size, the group schedules
+ * delete actions on one or more instances. The resize operation is marked
+ * DONE when the resize actions are scheduled even if the group has not yet
+ * added or deleted any instances. You must separately verify the status of
+ * the creating or deleting actions with the listmanagedinstances method.
*
* Request parameters:
*
@@ -10342,61 +10463,22 @@ class SnapshotsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [filter] - Sets a filter expression for filtering listed resources, in the
- * form filter={expression}. Your {expression} must be in the format:
- * field_name comparison_string literal_string.
- *
- * The field_name is the name of the field you want to compare. Only atomic
- * field types are supported (string, number, boolean). The comparison_string
- * must be either eq (equals) or ne (not equals). The literal_string is the
- * string value to filter to. The literal value must be valid for the type of
- * field you are filtering by (string, number, boolean). For string fields,
- * the literal value is interpreted as a regular expression using RE2 syntax.
- * The literal value must match the entire field.
- *
- * For example, to filter for instances that do not have a name of
- * example-instance, you would use filter=name ne example-instance.
+ * [region] - Name of the region scoping this request.
*
- * You can filter on nested fields. For example, you could filter on instances
- * that have set the scheduling.automaticRestart field to true. Use filtering
- * on nested fields to take advantage of labels to organize and search for
- * results based on label values.
+ * [instanceGroupManager] - Name of the managed instance group.
*
- * To filter on multiple expressions, provide each separate expression within
- * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq
- * us-central1-f). Multiple expressions are treated as AND expressions,
- * meaning that resources must match all expressions to pass the filters.
+ * [size] - Number of instances that should exist in this instance group
+ * manager.
*
- * [maxResults] - The maximum number of results per page that should be
- * returned. If the number of available results is larger than maxResults,
- * Compute Engine returns a nextPageToken that can be used to get the next
- * page of results in subsequent list requests.
- * Value must be between "0" and "500".
+ * Completes with a [Operation].
*
- * [orderBy] - Sorts list results by a certain order. By default, results are
- * returned in alphanumerical order based on the resource name.
- *
- * You can also sort results in descending order based on the creation
- * timestamp using orderBy="creationTimestamp desc". This sorts results based
- * on the creationTimestamp field in reverse chronological order (newest
- * result first). Use this to sort resources like operations so that the
- * newest operation is returned first.
- *
- * Currently, only sorting by name or creationTimestamp desc is supported.
- *
- * [pageToken] - Specifies a page token to use. Set pageToken to the
- * nextPageToken returned by a previous list request to get the next page of
- * results.
- *
- * Completes with a [SnapshotList].
- *
- * Completes with a [commons.ApiRequestError] if the API endpoint returned an
- * error.
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
*
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<SnapshotList> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<Operation> resize(core.String project, core.String region, core.String instanceGroupManager, core.int size) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -10407,42 +10489,34 @@ class SnapshotsResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (filter != null) {
- _queryParams["filter"] = [filter];
- }
- if (maxResults != null) {
- _queryParams["maxResults"] = ["${maxResults}"];
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
}
- if (orderBy != null) {
- _queryParams["orderBy"] = [orderBy];
+ if (instanceGroupManager == null) {
+ throw new core.ArgumentError("Parameter instanceGroupManager is required.");
}
- if (pageToken != null) {
- _queryParams["pageToken"] = [pageToken];
+ if (size == null) {
+ throw new core.ArgumentError("Parameter size is required.");
}
+ _queryParams["size"] = ["${size}"];
- _url = commons.Escaper.ecapeVariable('$project') + '/global/snapshots';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/resize';
var _response = _requester.request(_url,
- "GET",
+ "POST",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new SnapshotList.fromJson(data));
+ return _response.then((data) => new Operation.fromJson(data));
}
-}
-
-
-class SslCertificatesResourceApi {
- final commons.ApiRequester _requester;
-
- SslCertificatesResourceApi(commons.ApiRequester client) :
- _requester = client;
-
/**
- * Deletes the specified SslCertificate resource.
+ * Sets the instance template to use when creating new instances or recreating
+ * instances in this group. Existing instances are not affected.
+ *
+ * [request] - The metadata request object.
*
* Request parameters:
*
@@ -10450,8 +10524,9 @@ class SslCertificatesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [sslCertificate] - Name of the SslCertificate resource to delete.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ * [region] - Name of the region scoping this request.
+ *
+ * [instanceGroupManager] - The name of the managed instance group.
*
* Completes with a [Operation].
*
@@ -10461,7 +10536,7 @@ class SslCertificatesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> delete(core.String project, core.String sslCertificate) {
+ async.Future<Operation> setInstanceTemplate(RegionInstanceGroupManagersSetTemplateRequest request, core.String project, core.String region, core.String instanceGroupManager) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -10469,17 +10544,23 @@ class SslCertificatesResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (sslCertificate == null) {
- throw new core.ArgumentError("Parameter sslCertificate is required.");
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (instanceGroupManager == null) {
+ throw new core.ArgumentError("Parameter instanceGroupManager is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/sslCertificates/' + commons.Escaper.ecapeVariable('$sslCertificate');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/setInstanceTemplate';
var _response = _requester.request(_url,
- "DELETE",
+ "POST",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
@@ -10489,8 +10570,10 @@ class SslCertificatesResourceApi {
}
/**
- * Returns the specified SslCertificate resource. Get a list of available SSL
- * certificates by making a list() request.
+ * Modifies the target pools to which all new instances in this group are
+ * assigned. Existing instances in the group are not affected.
+ *
+ * [request] - The metadata request object.
*
* Request parameters:
*
@@ -10498,10 +10581,11 @@ class SslCertificatesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [sslCertificate] - Name of the SslCertificate resource to return.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ * [region] - Name of the region scoping this request.
*
- * Completes with a [SslCertificate].
+ * [instanceGroupManager] - Name of the managed instance group.
+ *
+ * Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -10509,7 +10593,7 @@ class SslCertificatesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<SslCertificate> get(core.String project, core.String sslCertificate) {
+ async.Future<Operation> setTargetPools(RegionInstanceGroupManagersSetTargetPoolsRequest request, core.String project, core.String region, core.String instanceGroupManager) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -10517,30 +10601,42 @@ class SslCertificatesResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (sslCertificate == null) {
- throw new core.ArgumentError("Parameter sslCertificate is required.");
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (instanceGroupManager == null) {
+ throw new core.ArgumentError("Parameter instanceGroupManager is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/sslCertificates/' + commons.Escaper.ecapeVariable('$sslCertificate');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/setTargetPools';
var _response = _requester.request(_url,
- "GET",
+ "POST",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new SslCertificate.fromJson(data));
+ return _response.then((data) => new Operation.fromJson(data));
}
+}
+
+
+class RegionInstanceGroupsResourceApi {
+ final commons.ApiRequester _requester;
+
+ RegionInstanceGroupsResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
/**
- * Creates a SslCertificate resource in the specified project using the data
- * included in the request.
- *
- * [request] - The metadata request object.
+ * Returns the specified instance group resource.
*
* Request parameters:
*
@@ -10548,7 +10644,11 @@ class SslCertificatesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * Completes with a [Operation].
+ * [region] - Name of the region scoping this request.
+ *
+ * [instanceGroup] - Name of the instance group resource to return.
+ *
+ * Completes with a [InstanceGroup].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -10556,7 +10656,7 @@ class SslCertificatesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> insert(SslCertificate request, core.String project) {
+ async.Future<InstanceGroup> get(core.String project, core.String region, core.String instanceGroup) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -10564,28 +10664,31 @@ class SslCertificatesResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (request != null) {
- _body = convert.JSON.encode((request).toJson());
- }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (instanceGroup == null) {
+ throw new core.ArgumentError("Parameter instanceGroup is required.");
+ }
- _url = commons.Escaper.ecapeVariable('$project') + '/global/sslCertificates';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroups/' + commons.Escaper.ecapeVariable('$instanceGroup');
var _response = _requester.request(_url,
- "POST",
+ "GET",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new Operation.fromJson(data));
+ return _response.then((data) => new InstanceGroup.fromJson(data));
}
/**
- * Retrieves the list of SslCertificate resources available to the specified
- * project.
+ * Retrieves the list of instance group resources contained within the
+ * specified region.
*
* Request parameters:
*
@@ -10593,6 +10696,8 @@ class SslCertificatesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
+ * [region] - Name of the region scoping this request.
+ *
* [filter] - Sets a filter expression for filtering listed resources, in the
* form filter={expression}. Your {expression} must be in the format:
* field_name comparison_string literal_string.
@@ -10639,7 +10744,7 @@ class SslCertificatesResourceApi {
* nextPageToken returned by a previous list request to get the next page of
* results.
*
- * Completes with a [SslCertificateList].
+ * Completes with a [RegionInstanceGroupList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -10647,7 +10752,7 @@ class SslCertificatesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<SslCertificateList> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<RegionInstanceGroupList> list(core.String project, core.String region, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -10658,6 +10763,9 @@ class SslCertificatesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
if (filter != null) {
_queryParams["filter"] = [filter];
}
@@ -10671,7 +10779,7 @@ class SslCertificatesResourceApi {
_queryParams["pageToken"] = [pageToken];
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/sslCertificates';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroups';
var _response = _requester.request(_url,
"GET",
@@ -10680,20 +10788,15 @@ class SslCertificatesResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new SslCertificateList.fromJson(data));
+ return _response.then((data) => new RegionInstanceGroupList.fromJson(data));
}
-}
-
-
-class SubnetworksResourceApi {
- final commons.ApiRequester _requester;
-
- SubnetworksResourceApi(commons.ApiRequester client) :
- _requester = client;
-
/**
- * Retrieves an aggregated list of subnetworks.
+ * Lists the instances in the specified instance group and displays
+ * information about the named ports. Depending on the specified options, this
+ * method can list all instances or only the instances that are running.
+ *
+ * [request] - The metadata request object.
*
* Request parameters:
*
@@ -10701,6 +10804,11 @@ class SubnetworksResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
+ * [region] - Name of the region scoping this request.
+ *
+ * [instanceGroup] - Name of the regional instance group for which we want to
+ * list the instances.
+ *
* [filter] - Sets a filter expression for filtering listed resources, in the
* form filter={expression}. Your {expression} must be in the format:
* field_name comparison_string literal_string.
@@ -10747,7 +10855,7 @@ class SubnetworksResourceApi {
* nextPageToken returned by a previous list request to get the next page of
* results.
*
- * Completes with a [SubnetworkAggregatedList].
+ * Completes with a [RegionInstanceGroupsListInstances].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -10755,7 +10863,7 @@ class SubnetworksResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<SubnetworkAggregatedList> aggregatedList(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<RegionInstanceGroupsListInstances> listInstances(RegionInstanceGroupsListInstancesRequest request, core.String project, core.String region, core.String instanceGroup, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -10763,9 +10871,18 @@ class SubnetworksResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (instanceGroup == null) {
+ throw new core.ArgumentError("Parameter instanceGroup is required.");
+ }
if (filter != null) {
_queryParams["filter"] = [filter];
}
@@ -10779,20 +10896,22 @@ class SubnetworksResourceApi {
_queryParams["pageToken"] = [pageToken];
}
- _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/subnetworks';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroups/' + commons.Escaper.ecapeVariable('$instanceGroup') + '/listInstances';
var _response = _requester.request(_url,
- "GET",
+ "POST",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new SubnetworkAggregatedList.fromJson(data));
+ return _response.then((data) => new RegionInstanceGroupsListInstances.fromJson(data));
}
/**
- * Deletes the specified subnetwork.
+ * Sets the named ports for the specified regional instance group.
+ *
+ * [request] - The metadata request object.
*
* Request parameters:
*
@@ -10801,10 +10920,9 @@ class SubnetworksResourceApi {
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
* [region] - Name of the region scoping this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [subnetwork] - Name of the Subnetwork resource to delete.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ * [instanceGroup] - The name of the regional instance group where the named
+ * ports are updated.
*
* Completes with a [Operation].
*
@@ -10814,7 +10932,7 @@ class SubnetworksResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> delete(core.String project, core.String region, core.String subnetwork) {
+ async.Future<Operation> setNamedPorts(RegionInstanceGroupsSetNamedPortsRequest request, core.String project, core.String region, core.String instanceGroup) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -10822,20 +10940,23 @@ class SubnetworksResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
if (region == null) {
throw new core.ArgumentError("Parameter region is required.");
}
- if (subnetwork == null) {
- throw new core.ArgumentError("Parameter subnetwork is required.");
+ if (instanceGroup == null) {
+ throw new core.ArgumentError("Parameter instanceGroup is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/subnetworks/' + commons.Escaper.ecapeVariable('$subnetwork');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroups/' + commons.Escaper.ecapeVariable('$instanceGroup') + '/setNamedPorts';
var _response = _requester.request(_url,
- "DELETE",
+ "POST",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
@@ -10844,10 +10965,17 @@ class SubnetworksResourceApi {
return _response.then((data) => new Operation.fromJson(data));
}
+}
+
+
+class RegionOperationsResourceApi {
+ final commons.ApiRequester _requester;
+
+ RegionOperationsResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
/**
- * Expands the IP CIDR range of the subnetwork to a specified value.
- *
- * [request] - The metadata request object.
+ * Deletes the specified region-specific Operations resource.
*
* Request parameters:
*
@@ -10855,21 +10983,19 @@ class SubnetworksResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region scoping this request.
+ * [region] - Name of the region for this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [subnetwork] - Name of the Subnetwork resource to update.
+ * [operation] - Name of the Operations resource to delete.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [Operation].
- *
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
*
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> expandIpCidrRange(SubnetworksExpandIpCidrRangeRequest request, core.String project, core.String region, core.String subnetwork) {
+ async.Future delete(core.String project, core.String region, core.String operation) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -10877,34 +11003,32 @@ class SubnetworksResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (request != null) {
- _body = convert.JSON.encode((request).toJson());
- }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
if (region == null) {
throw new core.ArgumentError("Parameter region is required.");
}
- if (subnetwork == null) {
- throw new core.ArgumentError("Parameter subnetwork is required.");
+ if (operation == null) {
+ throw new core.ArgumentError("Parameter operation is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/subnetworks/' + commons.Escaper.ecapeVariable('$subnetwork') + '/expandIpCidrRange';
+ _downloadOptions = null;
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/operations/' + commons.Escaper.ecapeVariable('$operation');
var _response = _requester.request(_url,
- "POST",
+ "DELETE",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new Operation.fromJson(data));
+ return _response.then((data) => null);
}
/**
- * Returns the specified subnetwork. Get a list of available subnetworks
- * list() request.
+ * Retrieves the specified region-specific Operations resource.
*
* Request parameters:
*
@@ -10912,13 +11036,13 @@ class SubnetworksResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region scoping this request.
+ * [region] - Name of the region for this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [subnetwork] - Name of the Subnetwork resource to return.
+ * [operation] - Name of the Operations resource to return.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [Subnetwork].
+ * Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -10926,7 +11050,7 @@ class SubnetworksResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Subnetwork> get(core.String project, core.String region, core.String subnetwork) {
+ async.Future<Operation> get(core.String project, core.String region, core.String operation) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -10940,11 +11064,11 @@ class SubnetworksResourceApi {
if (region == null) {
throw new core.ArgumentError("Parameter region is required.");
}
- if (subnetwork == null) {
- throw new core.ArgumentError("Parameter subnetwork is required.");
+ if (operation == null) {
+ throw new core.ArgumentError("Parameter operation is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/subnetworks/' + commons.Escaper.ecapeVariable('$subnetwork');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/operations/' + commons.Escaper.ecapeVariable('$operation');
var _response = _requester.request(_url,
"GET",
@@ -10953,14 +11077,12 @@ class SubnetworksResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new Subnetwork.fromJson(data));
+ return _response.then((data) => new Operation.fromJson(data));
}
/**
- * Creates a subnetwork in the specified project using the data included in
- * the request.
- *
- * [request] - The metadata request object.
+ * Retrieves a list of Operation resources contained within the specified
+ * region.
*
* Request parameters:
*
@@ -10968,62 +11090,12 @@ class SubnetworksResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region scoping this request.
+ * [region] - Name of the region for this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [Operation].
- *
- * Completes with a [commons.ApiRequestError] if the API endpoint returned an
- * error.
- *
- * If the used [http.Client] completes with an error when making a REST call,
- * this method will complete with the same error.
- */
- async.Future<Operation> insert(Subnetwork request, core.String project, core.String region) {
- var _url = null;
- var _queryParams = new core.Map();
- var _uploadMedia = null;
- var _uploadOptions = null;
- var _downloadOptions = commons.DownloadOptions.Metadata;
- var _body = null;
-
- if (request != null) {
- _body = convert.JSON.encode((request).toJson());
- }
- if (project == null) {
- throw new core.ArgumentError("Parameter project is required.");
- }
- if (region == null) {
- throw new core.ArgumentError("Parameter region is required.");
- }
-
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/subnetworks';
-
- var _response = _requester.request(_url,
- "POST",
- body: _body,
- queryParams: _queryParams,
- uploadOptions: _uploadOptions,
- uploadMedia: _uploadMedia,
- downloadOptions: _downloadOptions);
- return _response.then((data) => new Operation.fromJson(data));
- }
-
- /**
- * Retrieves a list of subnetworks available to the specified project.
- *
- * Request parameters:
- *
- * [project] - Project ID for this request.
- * Value must have pattern
- * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
- *
- * [region] - Name of the region scoping this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
- *
- * [filter] - Sets a filter expression for filtering listed resources, in the
- * form filter={expression}. Your {expression} must be in the format:
- * field_name comparison_string literal_string.
+ * [filter] - Sets a filter expression for filtering listed resources, in the
+ * form filter={expression}. Your {expression} must be in the format:
+ * field_name comparison_string literal_string.
*
* The field_name is the name of the field you want to compare. Only atomic
* field types are supported (string, number, boolean). The comparison_string
@@ -11067,7 +11139,7 @@ class SubnetworksResourceApi {
* nextPageToken returned by a previous list request to get the next page of
* results.
*
- * Completes with a [SubnetworkList].
+ * Completes with a [OperationList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -11075,7 +11147,7 @@ class SubnetworksResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<SubnetworkList> list(core.String project, core.String region, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<OperationList> list(core.String project, core.String region, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -11102,7 +11174,7 @@ class SubnetworksResourceApi {
_queryParams["pageToken"] = [pageToken];
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/subnetworks';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/operations';
var _response = _requester.request(_url,
"GET",
@@ -11111,20 +11183,21 @@ class SubnetworksResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new SubnetworkList.fromJson(data));
+ return _response.then((data) => new OperationList.fromJson(data));
}
}
-class TargetHttpProxiesResourceApi {
+class RegionsResourceApi {
final commons.ApiRequester _requester;
- TargetHttpProxiesResourceApi(commons.ApiRequester client) :
+ RegionsResourceApi(commons.ApiRequester client) :
_requester = client;
/**
- * Deletes the specified TargetHttpProxy resource.
+ * Returns the specified Region resource. Get a list of available regions by
+ * making a list() request.
*
* Request parameters:
*
@@ -11132,10 +11205,10 @@ class TargetHttpProxiesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [targetHttpProxy] - Name of the TargetHttpProxy resource to delete.
+ * [region] - Name of the region resource to return.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [Operation].
+ * Completes with a [Region].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -11143,7 +11216,7 @@ class TargetHttpProxiesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> delete(core.String project, core.String targetHttpProxy) {
+ async.Future<Region> get(core.String project, core.String region) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -11154,25 +11227,24 @@ class TargetHttpProxiesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (targetHttpProxy == null) {
- throw new core.ArgumentError("Parameter targetHttpProxy is required.");
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpProxies/' + commons.Escaper.ecapeVariable('$targetHttpProxy');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region');
var _response = _requester.request(_url,
- "DELETE",
+ "GET",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new Operation.fromJson(data));
+ return _response.then((data) => new Region.fromJson(data));
}
/**
- * Returns the specified TargetHttpProxy resource. Get a list of available
- * target HTTP proxies by making a list() request.
+ * Retrieves the list of region resources available to the specified project.
*
* Request parameters:
*
@@ -11180,57 +11252,53 @@ class TargetHttpProxiesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [targetHttpProxy] - Name of the TargetHttpProxy resource to return.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ * [filter] - Sets a filter expression for filtering listed resources, in the
+ * form filter={expression}. Your {expression} must be in the format:
+ * field_name comparison_string literal_string.
*
- * Completes with a [TargetHttpProxy].
+ * The field_name is the name of the field you want to compare. Only atomic
+ * field types are supported (string, number, boolean). The comparison_string
+ * must be either eq (equals) or ne (not equals). The literal_string is the
+ * string value to filter to. The literal value must be valid for the type of
+ * field you are filtering by (string, number, boolean). For string fields,
+ * the literal value is interpreted as a regular expression using RE2 syntax.
+ * The literal value must match the entire field.
*
- * Completes with a [commons.ApiRequestError] if the API endpoint returned an
- * error.
+ * For example, to filter for instances that do not have a name of
+ * example-instance, you would use filter=name ne example-instance.
*
- * If the used [http.Client] completes with an error when making a REST call,
- * this method will complete with the same error.
- */
- async.Future<TargetHttpProxy> get(core.String project, core.String targetHttpProxy) {
- var _url = null;
- var _queryParams = new core.Map();
- var _uploadMedia = null;
- var _uploadOptions = null;
- var _downloadOptions = commons.DownloadOptions.Metadata;
- var _body = null;
-
- if (project == null) {
- throw new core.ArgumentError("Parameter project is required.");
- }
- if (targetHttpProxy == null) {
- throw new core.ArgumentError("Parameter targetHttpProxy is required.");
- }
-
- _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpProxies/' + commons.Escaper.ecapeVariable('$targetHttpProxy');
-
- var _response = _requester.request(_url,
- "GET",
- body: _body,
- queryParams: _queryParams,
- uploadOptions: _uploadOptions,
- uploadMedia: _uploadMedia,
- downloadOptions: _downloadOptions);
- return _response.then((data) => new TargetHttpProxy.fromJson(data));
- }
-
- /**
- * Creates a TargetHttpProxy resource in the specified project using the data
- * included in the request.
+ * You can filter on nested fields. For example, you could filter on instances
+ * that have set the scheduling.automaticRestart field to true. Use filtering
+ * on nested fields to take advantage of labels to organize and search for
+ * results based on label values.
*
- * [request] - The metadata request object.
+ * To filter on multiple expressions, provide each separate expression within
+ * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq
+ * us-central1-f). Multiple expressions are treated as AND expressions,
+ * meaning that resources must match all expressions to pass the filters.
*
- * Request parameters:
+ * [maxResults] - The maximum number of results per page that should be
+ * returned. If the number of available results is larger than maxResults,
+ * Compute Engine returns a nextPageToken that can be used to get the next
+ * page of results in subsequent list requests.
+ * Value must be between "0" and "500".
*
- * [project] - Project ID for this request.
- * Value must have pattern
- * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ * [orderBy] - Sorts list results by a certain order. By default, results are
+ * returned in alphanumerical order based on the resource name.
*
- * Completes with a [Operation].
+ * You can also sort results in descending order based on the creation
+ * timestamp using orderBy="creationTimestamp desc". This sorts results based
+ * on the creationTimestamp field in reverse chronological order (newest
+ * result first). Use this to sort resources like operations so that the
+ * newest operation is returned first.
+ *
+ * Currently, only sorting by name or creationTimestamp desc is supported.
+ *
+ * [pageToken] - Specifies a page token to use. Set pageToken to the
+ * nextPageToken returned by a previous list request to get the next page of
+ * results.
+ *
+ * Completes with a [RegionList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -11238,7 +11306,7 @@ class TargetHttpProxiesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> insert(TargetHttpProxy request, core.String project) {
+ async.Future<RegionList> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -11246,28 +11314,45 @@ class TargetHttpProxiesResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (request != null) {
- _body = convert.JSON.encode((request).toJson());
- }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
+ if (maxResults != null) {
+ _queryParams["maxResults"] = ["${maxResults}"];
+ }
+ if (orderBy != null) {
+ _queryParams["orderBy"] = [orderBy];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
- _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpProxies';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions';
var _response = _requester.request(_url,
- "POST",
+ "GET",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new Operation.fromJson(data));
+ return _response.then((data) => new RegionList.fromJson(data));
}
+}
+
+
+class RoutersResourceApi {
+ final commons.ApiRequester _requester;
+
+ RoutersResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
/**
- * Retrieves the list of TargetHttpProxy resources available to the specified
- * project.
+ * Retrieves an aggregated list of routers.
*
* Request parameters:
*
@@ -11321,7 +11406,7 @@ class TargetHttpProxiesResourceApi {
* nextPageToken returned by a previous list request to get the next page of
* results.
*
- * Completes with a [TargetHttpProxyList].
+ * Completes with a [RouterAggregatedList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -11329,7 +11414,7 @@ class TargetHttpProxiesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<TargetHttpProxyList> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<RouterAggregatedList> aggregatedList(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -11353,7 +11438,7 @@ class TargetHttpProxiesResourceApi {
_queryParams["pageToken"] = [pageToken];
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpProxies';
+ _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/routers';
var _response = _requester.request(_url,
"GET",
@@ -11362,13 +11447,11 @@ class TargetHttpProxiesResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new TargetHttpProxyList.fromJson(data));
+ return _response.then((data) => new RouterAggregatedList.fromJson(data));
}
/**
- * Changes the URL map for TargetHttpProxy.
- *
- * [request] - The metadata request object.
+ * Deletes the specified Router resource.
*
* Request parameters:
*
@@ -11376,7 +11459,10 @@ class TargetHttpProxiesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [targetHttpProxy] - Name of the TargetHttpProxy to set a URL map for.
+ * [region] - Name of the region for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [router] - Name of the Router resource to delete.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
* Completes with a [Operation].
@@ -11387,7 +11473,7 @@ class TargetHttpProxiesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> setUrlMap(UrlMapReference request, core.String project, core.String targetHttpProxy) {
+ async.Future<Operation> delete(core.String project, core.String region, core.String router) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -11395,20 +11481,20 @@ class TargetHttpProxiesResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (request != null) {
- _body = convert.JSON.encode((request).toJson());
- }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (targetHttpProxy == null) {
- throw new core.ArgumentError("Parameter targetHttpProxy is required.");
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (router == null) {
+ throw new core.ArgumentError("Parameter router is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/targetHttpProxies/' + commons.Escaper.ecapeVariable('$targetHttpProxy') + '/setUrlMap';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/routers/' + commons.Escaper.ecapeVariable('$router');
var _response = _requester.request(_url,
- "POST",
+ "DELETE",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
@@ -11417,17 +11503,9 @@ class TargetHttpProxiesResourceApi {
return _response.then((data) => new Operation.fromJson(data));
}
-}
-
-
-class TargetHttpsProxiesResourceApi {
- final commons.ApiRequester _requester;
-
- TargetHttpsProxiesResourceApi(commons.ApiRequester client) :
- _requester = client;
-
/**
- * Deletes the specified TargetHttpsProxy resource.
+ * Returns the specified Router resource. Get a list of available routers by
+ * making a list() request.
*
* Request parameters:
*
@@ -11435,10 +11513,13 @@ class TargetHttpsProxiesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [targetHttpsProxy] - Name of the TargetHttpsProxy resource to delete.
+ * [region] - Name of the region for this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [Operation].
+ * [router] - Name of the Router resource to return.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [Router].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -11446,7 +11527,7 @@ class TargetHttpsProxiesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> delete(core.String project, core.String targetHttpsProxy) {
+ async.Future<Router> get(core.String project, core.String region, core.String router) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -11457,25 +11538,27 @@ class TargetHttpsProxiesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (targetHttpsProxy == null) {
- throw new core.ArgumentError("Parameter targetHttpsProxy is required.");
- }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (router == null) {
+ throw new core.ArgumentError("Parameter router is required.");
+ }
- _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpsProxies/' + commons.Escaper.ecapeVariable('$targetHttpsProxy');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/routers/' + commons.Escaper.ecapeVariable('$router');
var _response = _requester.request(_url,
- "DELETE",
+ "GET",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new Operation.fromJson(data));
+ return _response.then((data) => new Router.fromJson(data));
}
/**
- * Returns the specified TargetHttpsProxy resource. Get a list of available
- * target HTTPS proxies by making a list() request.
+ * Retrieves runtime information of the specified router.
*
* Request parameters:
*
@@ -11483,10 +11566,13 @@ class TargetHttpsProxiesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [targetHttpsProxy] - Name of the TargetHttpsProxy resource to return.
+ * [region] - Name of the region for this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [TargetHttpsProxy].
+ * [router] - Name of the Router resource to query.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [RouterStatusResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -11494,7 +11580,7 @@ class TargetHttpsProxiesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<TargetHttpsProxy> get(core.String project, core.String targetHttpsProxy) {
+ async.Future<RouterStatusResponse> getRouterStatus(core.String project, core.String region, core.String router) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -11505,11 +11591,14 @@ class TargetHttpsProxiesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (targetHttpsProxy == null) {
- throw new core.ArgumentError("Parameter targetHttpsProxy is required.");
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (router == null) {
+ throw new core.ArgumentError("Parameter router is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpsProxies/' + commons.Escaper.ecapeVariable('$targetHttpsProxy');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/routers/' + commons.Escaper.ecapeVariable('$router') + '/getRouterStatus';
var _response = _requester.request(_url,
"GET",
@@ -11518,12 +11607,12 @@ class TargetHttpsProxiesResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new TargetHttpsProxy.fromJson(data));
+ return _response.then((data) => new RouterStatusResponse.fromJson(data));
}
/**
- * Creates a TargetHttpsProxy resource in the specified project using the data
- * included in the request.
+ * Creates a Router resource in the specified project and region using the
+ * data included in the request.
*
* [request] - The metadata request object.
*
@@ -11533,6 +11622,9 @@ class TargetHttpsProxiesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
+ * [region] - Name of the region for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
* Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -11541,7 +11633,7 @@ class TargetHttpsProxiesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> insert(TargetHttpsProxy request, core.String project) {
+ async.Future<Operation> insert(Router request, core.String project, core.String region) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -11555,8 +11647,11 @@ class TargetHttpsProxiesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
- _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpsProxies';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/routers';
var _response = _requester.request(_url,
"POST",
@@ -11569,8 +11664,7 @@ class TargetHttpsProxiesResourceApi {
}
/**
- * Retrieves the list of TargetHttpsProxy resources available to the specified
- * project.
+ * Retrieves a list of Router resources available to the specified project.
*
* Request parameters:
*
@@ -11578,6 +11672,9 @@ class TargetHttpsProxiesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
+ * [region] - Name of the region for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
* [filter] - Sets a filter expression for filtering listed resources, in the
* form filter={expression}. Your {expression} must be in the format:
* field_name comparison_string literal_string.
@@ -11624,7 +11721,7 @@ class TargetHttpsProxiesResourceApi {
* nextPageToken returned by a previous list request to get the next page of
* results.
*
- * Completes with a [TargetHttpsProxyList].
+ * Completes with a [RouterList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -11632,7 +11729,7 @@ class TargetHttpsProxiesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<TargetHttpsProxyList> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<RouterList> list(core.String project, core.String region, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -11643,6 +11740,9 @@ class TargetHttpsProxiesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
if (filter != null) {
_queryParams["filter"] = [filter];
}
@@ -11656,7 +11756,7 @@ class TargetHttpsProxiesResourceApi {
_queryParams["pageToken"] = [pageToken];
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpsProxies';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/routers';
var _response = _requester.request(_url,
"GET",
@@ -11665,11 +11765,12 @@ class TargetHttpsProxiesResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new TargetHttpsProxyList.fromJson(data));
+ return _response.then((data) => new RouterList.fromJson(data));
}
/**
- * Replaces SslCertificates for TargetHttpsProxy.
+ * Updates the specified Router resource with the data included in the
+ * request. This method supports patch semantics.
*
* [request] - The metadata request object.
*
@@ -11679,8 +11780,10 @@ class TargetHttpsProxiesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [targetHttpsProxy] - Name of the TargetHttpsProxy resource to set an
- * SslCertificates resource for.
+ * [region] - Name of the region for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [router] - Name of the Router resource to update.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
* Completes with a [Operation].
@@ -11691,7 +11794,7 @@ class TargetHttpsProxiesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> setSslCertificates(TargetHttpsProxiesSetSslCertificatesRequest request, core.String project, core.String targetHttpsProxy) {
+ async.Future<Operation> patch(Router request, core.String project, core.String region, core.String router) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -11705,14 +11808,17 @@ class TargetHttpsProxiesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (targetHttpsProxy == null) {
- throw new core.ArgumentError("Parameter targetHttpsProxy is required.");
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (router == null) {
+ throw new core.ArgumentError("Parameter router is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/targetHttpsProxies/' + commons.Escaper.ecapeVariable('$targetHttpsProxy') + '/setSslCertificates';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/routers/' + commons.Escaper.ecapeVariable('$router');
var _response = _requester.request(_url,
- "POST",
+ "PATCH",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
@@ -11722,7 +11828,8 @@ class TargetHttpsProxiesResourceApi {
}
/**
- * Changes the URL map for TargetHttpsProxy.
+ * Preview fields auto-generated during router create and update operations.
+ * Calling this method does NOT create or update the router.
*
* [request] - The metadata request object.
*
@@ -11732,11 +11839,13 @@ class TargetHttpsProxiesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [targetHttpsProxy] - Name of the TargetHttpsProxy resource whose URL map is
- * to be set.
+ * [region] - Name of the region for this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [Operation].
+ * [router] - Name of the Router resource to query.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [RoutersPreviewResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -11744,7 +11853,7 @@ class TargetHttpsProxiesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> setUrlMap(UrlMapReference request, core.String project, core.String targetHttpsProxy) {
+ async.Future<RoutersPreviewResponse> preview(Router request, core.String project, core.String region, core.String router) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -11758,11 +11867,14 @@ class TargetHttpsProxiesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (targetHttpsProxy == null) {
- throw new core.ArgumentError("Parameter targetHttpsProxy is required.");
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (router == null) {
+ throw new core.ArgumentError("Parameter router is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/targetHttpsProxies/' + commons.Escaper.ecapeVariable('$targetHttpsProxy') + '/setUrlMap';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/routers/' + commons.Escaper.ecapeVariable('$router') + '/preview';
var _response = _requester.request(_url,
"POST",
@@ -11771,20 +11883,14 @@ class TargetHttpsProxiesResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new Operation.fromJson(data));
+ return _response.then((data) => new RoutersPreviewResponse.fromJson(data));
}
-}
-
-
-class TargetInstancesResourceApi {
- final commons.ApiRequester _requester;
-
- TargetInstancesResourceApi(commons.ApiRequester client) :
- _requester = client;
-
/**
- * Retrieves an aggregated list of target instances.
+ * Updates the specified Router resource with the data included in the
+ * request.
+ *
+ * [request] - The metadata request object.
*
* Request parameters:
*
@@ -11792,53 +11898,13 @@ class TargetInstancesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [filter] - Sets a filter expression for filtering listed resources, in the
- * form filter={expression}. Your {expression} must be in the format:
- * field_name comparison_string literal_string.
- *
- * The field_name is the name of the field you want to compare. Only atomic
- * field types are supported (string, number, boolean). The comparison_string
- * must be either eq (equals) or ne (not equals). The literal_string is the
- * string value to filter to. The literal value must be valid for the type of
- * field you are filtering by (string, number, boolean). For string fields,
- * the literal value is interpreted as a regular expression using RE2 syntax.
- * The literal value must match the entire field.
- *
- * For example, to filter for instances that do not have a name of
- * example-instance, you would use filter=name ne example-instance.
- *
- * You can filter on nested fields. For example, you could filter on instances
- * that have set the scheduling.automaticRestart field to true. Use filtering
- * on nested fields to take advantage of labels to organize and search for
- * results based on label values.
- *
- * To filter on multiple expressions, provide each separate expression within
- * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq
- * us-central1-f). Multiple expressions are treated as AND expressions,
- * meaning that resources must match all expressions to pass the filters.
- *
- * [maxResults] - The maximum number of results per page that should be
- * returned. If the number of available results is larger than maxResults,
- * Compute Engine returns a nextPageToken that can be used to get the next
- * page of results in subsequent list requests.
- * Value must be between "0" and "500".
- *
- * [orderBy] - Sorts list results by a certain order. By default, results are
- * returned in alphanumerical order based on the resource name.
- *
- * You can also sort results in descending order based on the creation
- * timestamp using orderBy="creationTimestamp desc". This sorts results based
- * on the creationTimestamp field in reverse chronological order (newest
- * result first). Use this to sort resources like operations so that the
- * newest operation is returned first.
- *
- * Currently, only sorting by name or creationTimestamp desc is supported.
+ * [region] - Name of the region for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [pageToken] - Specifies a page token to use. Set pageToken to the
- * nextPageToken returned by a previous list request to get the next page of
- * results.
+ * [router] - Name of the Router resource to update.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [TargetInstanceAggregatedList].
+ * Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -11846,7 +11912,7 @@ class TargetInstancesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<TargetInstanceAggregatedList> aggregatedList(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<Operation> update(Router request, core.String project, core.String region, core.String router) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -11854,36 +11920,42 @@ class TargetInstancesResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (filter != null) {
- _queryParams["filter"] = [filter];
- }
- if (maxResults != null) {
- _queryParams["maxResults"] = ["${maxResults}"];
- }
- if (orderBy != null) {
- _queryParams["orderBy"] = [orderBy];
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
}
- if (pageToken != null) {
- _queryParams["pageToken"] = [pageToken];
+ if (router == null) {
+ throw new core.ArgumentError("Parameter router is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/targetInstances';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/routers/' + commons.Escaper.ecapeVariable('$router');
var _response = _requester.request(_url,
- "GET",
+ "PUT",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new TargetInstanceAggregatedList.fromJson(data));
+ return _response.then((data) => new Operation.fromJson(data));
}
+}
+
+
+class RoutesResourceApi {
+ final commons.ApiRequester _requester;
+
+ RoutesResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
/**
- * Deletes the specified TargetInstance resource.
+ * Deletes the specified Route resource.
*
* Request parameters:
*
@@ -11891,10 +11963,7 @@ class TargetInstancesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [zone] - Name of the zone scoping this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
- *
- * [targetInstance] - Name of the TargetInstance resource to delete.
+ * [route] - Name of the Route resource to delete.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
* Completes with a [Operation].
@@ -11905,7 +11974,7 @@ class TargetInstancesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> delete(core.String project, core.String zone, core.String targetInstance) {
+ async.Future<Operation> delete(core.String project, core.String route) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -11916,14 +11985,11 @@ class TargetInstancesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (zone == null) {
- throw new core.ArgumentError("Parameter zone is required.");
- }
- if (targetInstance == null) {
- throw new core.ArgumentError("Parameter targetInstance is required.");
+ if (route == null) {
+ throw new core.ArgumentError("Parameter route is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/targetInstances/' + commons.Escaper.ecapeVariable('$targetInstance');
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/routes/' + commons.Escaper.ecapeVariable('$route');
var _response = _requester.request(_url,
"DELETE",
@@ -11936,8 +12002,8 @@ class TargetInstancesResourceApi {
}
/**
- * Returns the specified TargetInstance resource. Get a list of available
- * target instances by making a list() request.
+ * Returns the specified Route resource. Get a list of available routes by
+ * making a list() request.
*
* Request parameters:
*
@@ -11945,13 +12011,10 @@ class TargetInstancesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [zone] - Name of the zone scoping this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
- *
- * [targetInstance] - Name of the TargetInstance resource to return.
+ * [route] - Name of the Route resource to return.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [TargetInstance].
+ * Completes with a [Route].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -11959,7 +12022,7 @@ class TargetInstancesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<TargetInstance> get(core.String project, core.String zone, core.String targetInstance) {
+ async.Future<Route> get(core.String project, core.String route) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -11970,14 +12033,11 @@ class TargetInstancesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (zone == null) {
- throw new core.ArgumentError("Parameter zone is required.");
- }
- if (targetInstance == null) {
- throw new core.ArgumentError("Parameter targetInstance is required.");
+ if (route == null) {
+ throw new core.ArgumentError("Parameter route is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/targetInstances/' + commons.Escaper.ecapeVariable('$targetInstance');
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/routes/' + commons.Escaper.ecapeVariable('$route');
var _response = _requester.request(_url,
"GET",
@@ -11986,12 +12046,12 @@ class TargetInstancesResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new TargetInstance.fromJson(data));
+ return _response.then((data) => new Route.fromJson(data));
}
/**
- * Creates a TargetInstance resource in the specified project and zone using
- * the data included in the request.
+ * Creates a Route resource in the specified project using the data included
+ * in the request.
*
* [request] - The metadata request object.
*
@@ -12001,9 +12061,6 @@ class TargetInstancesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [zone] - Name of the zone scoping this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
- *
* Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -12012,7 +12069,7 @@ class TargetInstancesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> insert(TargetInstance request, core.String project, core.String zone) {
+ async.Future<Operation> insert(Route request, core.String project) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -12026,11 +12083,8 @@ class TargetInstancesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (zone == null) {
- throw new core.ArgumentError("Parameter zone is required.");
- }
- _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/targetInstances';
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/routes';
var _response = _requester.request(_url,
"POST",
@@ -12043,8 +12097,7 @@ class TargetInstancesResourceApi {
}
/**
- * Retrieves a list of TargetInstance resources available to the specified
- * project and zone.
+ * Retrieves the list of Route resources available to the specified project.
*
* Request parameters:
*
@@ -12052,9 +12105,6 @@ class TargetInstancesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [zone] - Name of the zone scoping this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
- *
* [filter] - Sets a filter expression for filtering listed resources, in the
* form filter={expression}. Your {expression} must be in the format:
* field_name comparison_string literal_string.
@@ -12101,7 +12151,7 @@ class TargetInstancesResourceApi {
* nextPageToken returned by a previous list request to get the next page of
* results.
*
- * Completes with a [TargetInstanceList].
+ * Completes with a [RouteList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -12109,7 +12159,7 @@ class TargetInstancesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<TargetInstanceList> list(core.String project, core.String zone, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<RouteList> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -12120,9 +12170,6 @@ class TargetInstancesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (zone == null) {
- throw new core.ArgumentError("Parameter zone is required.");
- }
if (filter != null) {
_queryParams["filter"] = [filter];
}
@@ -12136,7 +12183,7 @@ class TargetInstancesResourceApi {
_queryParams["pageToken"] = [pageToken];
}
- _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/targetInstances';
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/routes';
var _response = _requester.request(_url,
"GET",
@@ -12145,22 +12192,26 @@ class TargetInstancesResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new TargetInstanceList.fromJson(data));
+ return _response.then((data) => new RouteList.fromJson(data));
}
}
-class TargetPoolsResourceApi {
+class SnapshotsResourceApi {
final commons.ApiRequester _requester;
- TargetPoolsResourceApi(commons.ApiRequester client) :
+ SnapshotsResourceApi(commons.ApiRequester client) :
_requester = client;
/**
- * Adds health check URLs to a target pool.
+ * Deletes the specified Snapshot resource. Keep in mind that deleting a
+ * single snapshot might not necessarily delete all the data on that snapshot.
+ * If any data on the snapshot that is marked for deletion is needed for
+ * subsequent snapshots, the data will be moved to the next corresponding
+ * snapshot.
*
- * [request] - The metadata request object.
+ * For more information, see Deleting snaphots.
*
* Request parameters:
*
@@ -12168,10 +12219,7 @@ class TargetPoolsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region scoping this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
- *
- * [targetPool] - Name of the target pool to add a health check to.
+ * [snapshot] - Name of the Snapshot resource to delete.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
* Completes with a [Operation].
@@ -12182,7 +12230,7 @@ class TargetPoolsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> addHealthCheck(TargetPoolsAddHealthCheckRequest request, core.String project, core.String region, core.String targetPool) {
+ async.Future<Operation> delete(core.String project, core.String snapshot) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -12190,23 +12238,17 @@ class TargetPoolsResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (request != null) {
- _body = convert.JSON.encode((request).toJson());
- }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (region == null) {
- throw new core.ArgumentError("Parameter region is required.");
- }
- if (targetPool == null) {
- throw new core.ArgumentError("Parameter targetPool is required.");
+ if (snapshot == null) {
+ throw new core.ArgumentError("Parameter snapshot is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool') + '/addHealthCheck';
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/snapshots/' + commons.Escaper.ecapeVariable('$snapshot');
var _response = _requester.request(_url,
- "POST",
+ "DELETE",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
@@ -12216,9 +12258,8 @@ class TargetPoolsResourceApi {
}
/**
- * Adds an instance to a target pool.
- *
- * [request] - The metadata request object.
+ * Returns the specified Snapshot resource. Get a list of available snapshots
+ * by making a list() request.
*
* Request parameters:
*
@@ -12226,13 +12267,10 @@ class TargetPoolsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region scoping this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
- *
- * [targetPool] - Name of the TargetPool resource to add instances to.
+ * [snapshot] - Name of the Snapshot resource to return.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [Operation].
+ * Completes with a [Snapshot].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -12240,7 +12278,7 @@ class TargetPoolsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> addInstance(TargetPoolsAddInstanceRequest request, core.String project, core.String region, core.String targetPool) {
+ async.Future<Snapshot> get(core.String project, core.String snapshot) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -12248,33 +12286,28 @@ class TargetPoolsResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (request != null) {
- _body = convert.JSON.encode((request).toJson());
- }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (region == null) {
- throw new core.ArgumentError("Parameter region is required.");
- }
- if (targetPool == null) {
- throw new core.ArgumentError("Parameter targetPool is required.");
+ if (snapshot == null) {
+ throw new core.ArgumentError("Parameter snapshot is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool') + '/addInstance';
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/snapshots/' + commons.Escaper.ecapeVariable('$snapshot');
var _response = _requester.request(_url,
- "POST",
+ "GET",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new Operation.fromJson(data));
+ return _response.then((data) => new Snapshot.fromJson(data));
}
/**
- * Retrieves an aggregated list of target pools.
+ * Retrieves the list of Snapshot resources contained within the specified
+ * project.
*
* Request parameters:
*
@@ -12328,7 +12361,7 @@ class TargetPoolsResourceApi {
* nextPageToken returned by a previous list request to get the next page of
* results.
*
- * Completes with a [TargetPoolAggregatedList].
+ * Completes with a [SnapshotList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -12336,7 +12369,7 @@ class TargetPoolsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<TargetPoolAggregatedList> aggregatedList(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<SnapshotList> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -12360,7 +12393,7 @@ class TargetPoolsResourceApi {
_queryParams["pageToken"] = [pageToken];
}
- _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/targetPools';
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/snapshots';
var _response = _requester.request(_url,
"GET",
@@ -12369,65 +12402,20 @@ class TargetPoolsResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new TargetPoolAggregatedList.fromJson(data));
+ return _response.then((data) => new SnapshotList.fromJson(data));
}
- /**
- * Deletes the specified target pool.
- *
- * Request parameters:
- *
- * [project] - Project ID for this request.
- * Value must have pattern
- * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
- *
- * [region] - Name of the region scoping this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
- *
- * [targetPool] - Name of the TargetPool resource to delete.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
- *
- * Completes with a [Operation].
- *
- * Completes with a [commons.ApiRequestError] if the API endpoint returned an
- * error.
- *
- * If the used [http.Client] completes with an error when making a REST call,
- * this method will complete with the same error.
- */
- async.Future<Operation> delete(core.String project, core.String region, core.String targetPool) {
- var _url = null;
- var _queryParams = new core.Map();
- var _uploadMedia = null;
- var _uploadOptions = null;
- var _downloadOptions = commons.DownloadOptions.Metadata;
- var _body = null;
+}
- if (project == null) {
- throw new core.ArgumentError("Parameter project is required.");
- }
- if (region == null) {
- throw new core.ArgumentError("Parameter region is required.");
- }
- if (targetPool == null) {
- throw new core.ArgumentError("Parameter targetPool is required.");
- }
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool');
+class SslCertificatesResourceApi {
+ final commons.ApiRequester _requester;
- var _response = _requester.request(_url,
- "DELETE",
- body: _body,
- queryParams: _queryParams,
- uploadOptions: _uploadOptions,
- uploadMedia: _uploadMedia,
- downloadOptions: _downloadOptions);
- return _response.then((data) => new Operation.fromJson(data));
- }
+ SslCertificatesResourceApi(commons.ApiRequester client) :
+ _requester = client;
/**
- * Returns the specified target pool. Get a list of available target pools by
- * making a list() request.
+ * Deletes the specified SslCertificate resource.
*
* Request parameters:
*
@@ -12435,13 +12423,10 @@ class TargetPoolsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region scoping this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
- *
- * [targetPool] - Name of the TargetPool resource to return.
+ * [sslCertificate] - Name of the SslCertificate resource to delete.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [TargetPool].
+ * Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -12449,7 +12434,7 @@ class TargetPoolsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<TargetPool> get(core.String project, core.String region, core.String targetPool) {
+ async.Future<Operation> delete(core.String project, core.String sslCertificate) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -12460,30 +12445,25 @@ class TargetPoolsResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (region == null) {
- throw new core.ArgumentError("Parameter region is required.");
- }
- if (targetPool == null) {
- throw new core.ArgumentError("Parameter targetPool is required.");
+ if (sslCertificate == null) {
+ throw new core.ArgumentError("Parameter sslCertificate is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool');
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/sslCertificates/' + commons.Escaper.ecapeVariable('$sslCertificate');
var _response = _requester.request(_url,
- "GET",
+ "DELETE",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new TargetPool.fromJson(data));
+ return _response.then((data) => new Operation.fromJson(data));
}
/**
- * Gets the most recent health check results for each IP for the instance that
- * is referenced by the given target pool.
- *
- * [request] - The metadata request object.
+ * Returns the specified SslCertificate resource. Get a list of available SSL
+ * certificates by making a list() request.
*
* Request parameters:
*
@@ -12491,14 +12471,10 @@ class TargetPoolsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region scoping this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
- *
- * [targetPool] - Name of the TargetPool resource to which the queried
- * instance belongs.
+ * [sslCertificate] - Name of the SslCertificate resource to return.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [TargetPoolInstanceHealth].
+ * Completes with a [SslCertificate].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -12506,7 +12482,7 @@ class TargetPoolsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<TargetPoolInstanceHealth> getHealth(InstanceReference request, core.String project, core.String region, core.String targetPool) {
+ async.Future<SslCertificate> get(core.String project, core.String sslCertificate) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -12514,33 +12490,27 @@ class TargetPoolsResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (request != null) {
- _body = convert.JSON.encode((request).toJson());
- }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (region == null) {
- throw new core.ArgumentError("Parameter region is required.");
- }
- if (targetPool == null) {
- throw new core.ArgumentError("Parameter targetPool is required.");
+ if (sslCertificate == null) {
+ throw new core.ArgumentError("Parameter sslCertificate is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool') + '/getHealth';
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/sslCertificates/' + commons.Escaper.ecapeVariable('$sslCertificate');
var _response = _requester.request(_url,
- "POST",
+ "GET",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new TargetPoolInstanceHealth.fromJson(data));
+ return _response.then((data) => new SslCertificate.fromJson(data));
}
/**
- * Creates a target pool in the specified project and region using the data
+ * Creates a SslCertificate resource in the specified project using the data
* included in the request.
*
* [request] - The metadata request object.
@@ -12551,9 +12521,6 @@ class TargetPoolsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region scoping this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
- *
* Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -12562,7 +12529,7 @@ class TargetPoolsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> insert(TargetPool request, core.String project, core.String region) {
+ async.Future<Operation> insert(SslCertificate request, core.String project) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -12576,11 +12543,8 @@ class TargetPoolsResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (region == null) {
- throw new core.ArgumentError("Parameter region is required.");
- }
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools';
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/sslCertificates';
var _response = _requester.request(_url,
"POST",
@@ -12593,8 +12557,8 @@ class TargetPoolsResourceApi {
}
/**
- * Retrieves a list of target pools available to the specified project and
- * region.
+ * Retrieves the list of SslCertificate resources available to the specified
+ * project.
*
* Request parameters:
*
@@ -12602,9 +12566,6 @@ class TargetPoolsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region scoping this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
- *
* [filter] - Sets a filter expression for filtering listed resources, in the
* form filter={expression}. Your {expression} must be in the format:
* field_name comparison_string literal_string.
@@ -12651,7 +12612,7 @@ class TargetPoolsResourceApi {
* nextPageToken returned by a previous list request to get the next page of
* results.
*
- * Completes with a [TargetPoolList].
+ * Completes with a [SslCertificateList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -12659,7 +12620,7 @@ class TargetPoolsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<TargetPoolList> list(core.String project, core.String region, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<SslCertificateList> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -12670,9 +12631,6 @@ class TargetPoolsResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (region == null) {
- throw new core.ArgumentError("Parameter region is required.");
- }
if (filter != null) {
_queryParams["filter"] = [filter];
}
@@ -12686,7 +12644,7 @@ class TargetPoolsResourceApi {
_queryParams["pageToken"] = [pageToken];
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools';
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/sslCertificates';
var _response = _requester.request(_url,
"GET",
@@ -12695,13 +12653,20 @@ class TargetPoolsResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new TargetPoolList.fromJson(data));
+ return _response.then((data) => new SslCertificateList.fromJson(data));
}
+}
+
+
+class SubnetworksResourceApi {
+ final commons.ApiRequester _requester;
+
+ SubnetworksResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
/**
- * Removes health check URL from a target pool.
- *
- * [request] - The metadata request object.
+ * Retrieves an aggregated list of subnetworks.
*
* Request parameters:
*
@@ -12709,13 +12674,53 @@ class TargetPoolsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region for this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ * [filter] - Sets a filter expression for filtering listed resources, in the
+ * form filter={expression}. Your {expression} must be in the format:
+ * field_name comparison_string literal_string.
*
- * [targetPool] - Name of the target pool to remove health checks from.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ * The field_name is the name of the field you want to compare. Only atomic
+ * field types are supported (string, number, boolean). The comparison_string
+ * must be either eq (equals) or ne (not equals). The literal_string is the
+ * string value to filter to. The literal value must be valid for the type of
+ * field you are filtering by (string, number, boolean). For string fields,
+ * the literal value is interpreted as a regular expression using RE2 syntax.
+ * The literal value must match the entire field.
*
- * Completes with a [Operation].
+ * For example, to filter for instances that do not have a name of
+ * example-instance, you would use filter=name ne example-instance.
+ *
+ * You can filter on nested fields. For example, you could filter on instances
+ * that have set the scheduling.automaticRestart field to true. Use filtering
+ * on nested fields to take advantage of labels to organize and search for
+ * results based on label values.
+ *
+ * To filter on multiple expressions, provide each separate expression within
+ * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq
+ * us-central1-f). Multiple expressions are treated as AND expressions,
+ * meaning that resources must match all expressions to pass the filters.
+ *
+ * [maxResults] - The maximum number of results per page that should be
+ * returned. If the number of available results is larger than maxResults,
+ * Compute Engine returns a nextPageToken that can be used to get the next
+ * page of results in subsequent list requests.
+ * Value must be between "0" and "500".
+ *
+ * [orderBy] - Sorts list results by a certain order. By default, results are
+ * returned in alphanumerical order based on the resource name.
+ *
+ * You can also sort results in descending order based on the creation
+ * timestamp using orderBy="creationTimestamp desc". This sorts results based
+ * on the creationTimestamp field in reverse chronological order (newest
+ * result first). Use this to sort resources like operations so that the
+ * newest operation is returned first.
+ *
+ * Currently, only sorting by name or creationTimestamp desc is supported.
+ *
+ * [pageToken] - Specifies a page token to use. Set pageToken to the
+ * nextPageToken returned by a previous list request to get the next page of
+ * results.
+ *
+ * Completes with a [SubnetworkAggregatedList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -12723,7 +12728,7 @@ class TargetPoolsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> removeHealthCheck(TargetPoolsRemoveHealthCheckRequest request, core.String project, core.String region, core.String targetPool) {
+ async.Future<SubnetworkAggregatedList> aggregatedList(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -12731,35 +12736,36 @@ class TargetPoolsResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (request != null) {
- _body = convert.JSON.encode((request).toJson());
- }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (region == null) {
- throw new core.ArgumentError("Parameter region is required.");
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
}
- if (targetPool == null) {
- throw new core.ArgumentError("Parameter targetPool is required.");
+ if (maxResults != null) {
+ _queryParams["maxResults"] = ["${maxResults}"];
+ }
+ if (orderBy != null) {
+ _queryParams["orderBy"] = [orderBy];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool') + '/removeHealthCheck';
+ _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/subnetworks';
var _response = _requester.request(_url,
- "POST",
+ "GET",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new Operation.fromJson(data));
+ return _response.then((data) => new SubnetworkAggregatedList.fromJson(data));
}
/**
- * Removes instance URL from a target pool.
- *
- * [request] - The metadata request object.
+ * Deletes the specified subnetwork.
*
* Request parameters:
*
@@ -12770,7 +12776,7 @@ class TargetPoolsResourceApi {
* [region] - Name of the region scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [targetPool] - Name of the TargetPool resource to remove instances from.
+ * [subnetwork] - Name of the Subnetwork resource to delete.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
* Completes with a [Operation].
@@ -12781,7 +12787,7 @@ class TargetPoolsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> removeInstance(TargetPoolsRemoveInstanceRequest request, core.String project, core.String region, core.String targetPool) {
+ async.Future<Operation> delete(core.String project, core.String region, core.String subnetwork) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -12789,23 +12795,20 @@ class TargetPoolsResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (request != null) {
- _body = convert.JSON.encode((request).toJson());
- }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
if (region == null) {
throw new core.ArgumentError("Parameter region is required.");
}
- if (targetPool == null) {
- throw new core.ArgumentError("Parameter targetPool is required.");
+ if (subnetwork == null) {
+ throw new core.ArgumentError("Parameter subnetwork is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool') + '/removeInstance';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/subnetworks/' + commons.Escaper.ecapeVariable('$subnetwork');
var _response = _requester.request(_url,
- "POST",
+ "DELETE",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
@@ -12815,7 +12818,7 @@ class TargetPoolsResourceApi {
}
/**
- * Changes a backup target pool's configurations.
+ * Expands the IP CIDR range of the subnetwork to a specified value.
*
* [request] - The metadata request object.
*
@@ -12828,11 +12831,9 @@ class TargetPoolsResourceApi {
* [region] - Name of the region scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [targetPool] - Name of the TargetPool resource to set a backup pool for.
+ * [subnetwork] - Name of the Subnetwork resource to update.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [failoverRatio] - New failoverRatio value for the target pool.
- *
* Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -12841,7 +12842,7 @@ class TargetPoolsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> setBackup(TargetReference request, core.String project, core.String region, core.String targetPool, {core.double failoverRatio}) {
+ async.Future<Operation> expandIpCidrRange(SubnetworksExpandIpCidrRangeRequest request, core.String project, core.String region, core.String subnetwork) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -12858,14 +12859,11 @@ class TargetPoolsResourceApi {
if (region == null) {
throw new core.ArgumentError("Parameter region is required.");
}
- if (targetPool == null) {
- throw new core.ArgumentError("Parameter targetPool is required.");
- }
- if (failoverRatio != null) {
- _queryParams["failoverRatio"] = ["${failoverRatio}"];
+ if (subnetwork == null) {
+ throw new core.ArgumentError("Parameter subnetwork is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool') + '/setBackup';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/subnetworks/' + commons.Escaper.ecapeVariable('$subnetwork') + '/expandIpCidrRange';
var _response = _requester.request(_url,
"POST",
@@ -12877,17 +12875,9 @@ class TargetPoolsResourceApi {
return _response.then((data) => new Operation.fromJson(data));
}
-}
-
-
-class TargetSslProxiesResourceApi {
- final commons.ApiRequester _requester;
-
- TargetSslProxiesResourceApi(commons.ApiRequester client) :
- _requester = client;
-
/**
- * Deletes the specified TargetSslProxy resource.
+ * Returns the specified subnetwork. Get a list of available subnetworks
+ * list() request.
*
* Request parameters:
*
@@ -12895,58 +12885,13 @@ class TargetSslProxiesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [targetSslProxy] - Name of the TargetSslProxy resource to delete.
+ * [region] - Name of the region scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [Operation].
- *
- * Completes with a [commons.ApiRequestError] if the API endpoint returned an
- * error.
- *
- * If the used [http.Client] completes with an error when making a REST call,
- * this method will complete with the same error.
- */
- async.Future<Operation> delete(core.String project, core.String targetSslProxy) {
- var _url = null;
- var _queryParams = new core.Map();
- var _uploadMedia = null;
- var _uploadOptions = null;
- var _downloadOptions = commons.DownloadOptions.Metadata;
- var _body = null;
-
- if (project == null) {
- throw new core.ArgumentError("Parameter project is required.");
- }
- if (targetSslProxy == null) {
- throw new core.ArgumentError("Parameter targetSslProxy is required.");
- }
-
- _url = commons.Escaper.ecapeVariable('$project') + '/global/targetSslProxies/' + commons.Escaper.ecapeVariable('$targetSslProxy');
-
- var _response = _requester.request(_url,
- "DELETE",
- body: _body,
- queryParams: _queryParams,
- uploadOptions: _uploadOptions,
- uploadMedia: _uploadMedia,
- downloadOptions: _downloadOptions);
- return _response.then((data) => new Operation.fromJson(data));
- }
-
- /**
- * Returns the specified TargetSslProxy resource. Get a list of available
- * target SSL proxies by making a list() request.
- *
- * Request parameters:
- *
- * [project] - Project ID for this request.
- * Value must have pattern
- * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
- *
- * [targetSslProxy] - Name of the TargetSslProxy resource to return.
+ * [subnetwork] - Name of the Subnetwork resource to return.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [TargetSslProxy].
+ * Completes with a [Subnetwork].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -12954,7 +12899,7 @@ class TargetSslProxiesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<TargetSslProxy> get(core.String project, core.String targetSslProxy) {
+ async.Future<Subnetwork> get(core.String project, core.String region, core.String subnetwork) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -12965,11 +12910,14 @@ class TargetSslProxiesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (targetSslProxy == null) {
- throw new core.ArgumentError("Parameter targetSslProxy is required.");
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (subnetwork == null) {
+ throw new core.ArgumentError("Parameter subnetwork is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/targetSslProxies/' + commons.Escaper.ecapeVariable('$targetSslProxy');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/subnetworks/' + commons.Escaper.ecapeVariable('$subnetwork');
var _response = _requester.request(_url,
"GET",
@@ -12978,12 +12926,12 @@ class TargetSslProxiesResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new TargetSslProxy.fromJson(data));
+ return _response.then((data) => new Subnetwork.fromJson(data));
}
/**
- * Creates a TargetSslProxy resource in the specified project using the data
- * included in the request.
+ * Creates a subnetwork in the specified project using the data included in
+ * the request.
*
* [request] - The metadata request object.
*
@@ -12993,6 +12941,9 @@ class TargetSslProxiesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
+ * [region] - Name of the region scoping this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
* Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -13001,7 +12952,7 @@ class TargetSslProxiesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> insert(TargetSslProxy request, core.String project) {
+ async.Future<Operation> insert(Subnetwork request, core.String project, core.String region) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -13015,8 +12966,11 @@ class TargetSslProxiesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
- _url = commons.Escaper.ecapeVariable('$project') + '/global/targetSslProxies';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/subnetworks';
var _response = _requester.request(_url,
"POST",
@@ -13029,8 +12983,7 @@ class TargetSslProxiesResourceApi {
}
/**
- * Retrieves the list of TargetSslProxy resources available to the specified
- * project.
+ * Retrieves a list of subnetworks available to the specified project.
*
* Request parameters:
*
@@ -13038,6 +12991,9 @@ class TargetSslProxiesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
+ * [region] - Name of the region scoping this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
* [filter] - Sets a filter expression for filtering listed resources, in the
* form filter={expression}. Your {expression} must be in the format:
* field_name comparison_string literal_string.
@@ -13084,7 +13040,7 @@ class TargetSslProxiesResourceApi {
* nextPageToken returned by a previous list request to get the next page of
* results.
*
- * Completes with a [TargetSslProxyList].
+ * Completes with a [SubnetworkList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -13092,7 +13048,7 @@ class TargetSslProxiesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<TargetSslProxyList> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<SubnetworkList> list(core.String project, core.String region, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -13103,6 +13059,9 @@ class TargetSslProxiesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
if (filter != null) {
_queryParams["filter"] = [filter];
}
@@ -13116,7 +13075,7 @@ class TargetSslProxiesResourceApi {
_queryParams["pageToken"] = [pageToken];
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/targetSslProxies';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/subnetworks';
var _response = _requester.request(_url,
"GET",
@@ -13125,13 +13084,20 @@ class TargetSslProxiesResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new TargetSslProxyList.fromJson(data));
+ return _response.then((data) => new SubnetworkList.fromJson(data));
}
+}
+
+
+class TargetHttpProxiesResourceApi {
+ final commons.ApiRequester _requester;
+
+ TargetHttpProxiesResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
/**
- * Changes the BackendService for TargetSslProxy.
- *
- * [request] - The metadata request object.
+ * Deletes the specified TargetHttpProxy resource.
*
* Request parameters:
*
@@ -13139,8 +13105,7 @@ class TargetSslProxiesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [targetSslProxy] - Name of the TargetSslProxy resource whose BackendService
- * resource is to be set.
+ * [targetHttpProxy] - Name of the TargetHttpProxy resource to delete.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
* Completes with a [Operation].
@@ -13151,7 +13116,7 @@ class TargetSslProxiesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> setBackendService(TargetSslProxiesSetBackendServiceRequest request, core.String project, core.String targetSslProxy) {
+ async.Future<Operation> delete(core.String project, core.String targetHttpProxy) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -13159,20 +13124,17 @@ class TargetSslProxiesResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (request != null) {
- _body = convert.JSON.encode((request).toJson());
- }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (targetSslProxy == null) {
- throw new core.ArgumentError("Parameter targetSslProxy is required.");
+ if (targetHttpProxy == null) {
+ throw new core.ArgumentError("Parameter targetHttpProxy is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/targetSslProxies/' + commons.Escaper.ecapeVariable('$targetSslProxy') + '/setBackendService';
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpProxies/' + commons.Escaper.ecapeVariable('$targetHttpProxy');
var _response = _requester.request(_url,
- "POST",
+ "DELETE",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
@@ -13182,9 +13144,8 @@ class TargetSslProxiesResourceApi {
}
/**
- * Changes the ProxyHeaderType for TargetSslProxy.
- *
- * [request] - The metadata request object.
+ * Returns the specified TargetHttpProxy resource. Get a list of available
+ * target HTTP proxies by making a list() request.
*
* Request parameters:
*
@@ -13192,11 +13153,10 @@ class TargetSslProxiesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [targetSslProxy] - Name of the TargetSslProxy resource whose ProxyHeader is
- * to be set.
+ * [targetHttpProxy] - Name of the TargetHttpProxy resource to return.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [Operation].
+ * Completes with a [TargetHttpProxy].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -13204,7 +13164,7 @@ class TargetSslProxiesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> setProxyHeader(TargetSslProxiesSetProxyHeaderRequest request, core.String project, core.String targetSslProxy) {
+ async.Future<TargetHttpProxy> get(core.String project, core.String targetHttpProxy) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -13212,30 +13172,28 @@ class TargetSslProxiesResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (request != null) {
- _body = convert.JSON.encode((request).toJson());
- }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (targetSslProxy == null) {
- throw new core.ArgumentError("Parameter targetSslProxy is required.");
+ if (targetHttpProxy == null) {
+ throw new core.ArgumentError("Parameter targetHttpProxy is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/targetSslProxies/' + commons.Escaper.ecapeVariable('$targetSslProxy') + '/setProxyHeader';
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpProxies/' + commons.Escaper.ecapeVariable('$targetHttpProxy');
var _response = _requester.request(_url,
- "POST",
+ "GET",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new Operation.fromJson(data));
+ return _response.then((data) => new TargetHttpProxy.fromJson(data));
}
/**
- * Changes SslCertificates for TargetSslProxy.
+ * Creates a TargetHttpProxy resource in the specified project using the data
+ * included in the request.
*
* [request] - The metadata request object.
*
@@ -13245,10 +13203,6 @@ class TargetSslProxiesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [targetSslProxy] - Name of the TargetSslProxy resource whose SslCertificate
- * resource is to be set.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
- *
* Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -13257,7 +13211,7 @@ class TargetSslProxiesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> setSslCertificates(TargetSslProxiesSetSslCertificatesRequest request, core.String project, core.String targetSslProxy) {
+ async.Future<Operation> insert(TargetHttpProxy request, core.String project) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -13271,11 +13225,8 @@ class TargetSslProxiesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (targetSslProxy == null) {
- throw new core.ArgumentError("Parameter targetSslProxy is required.");
- }
- _url = commons.Escaper.ecapeVariable('$project') + '/global/targetSslProxies/' + commons.Escaper.ecapeVariable('$targetSslProxy') + '/setSslCertificates';
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpProxies';
var _response = _requester.request(_url,
"POST",
@@ -13287,17 +13238,9 @@ class TargetSslProxiesResourceApi {
return _response.then((data) => new Operation.fromJson(data));
}
-}
-
-
-class TargetVpnGatewaysResourceApi {
- final commons.ApiRequester _requester;
-
- TargetVpnGatewaysResourceApi(commons.ApiRequester client) :
- _requester = client;
-
/**
- * Retrieves an aggregated list of target VPN gateways.
+ * Retrieves the list of TargetHttpProxy resources available to the specified
+ * project.
*
* Request parameters:
*
@@ -13351,7 +13294,7 @@ class TargetVpnGatewaysResourceApi {
* nextPageToken returned by a previous list request to get the next page of
* results.
*
- * Completes with a [TargetVpnGatewayAggregatedList].
+ * Completes with a [TargetHttpProxyList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -13359,7 +13302,7 @@ class TargetVpnGatewaysResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<TargetVpnGatewayAggregatedList> aggregatedList(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<TargetHttpProxyList> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -13383,7 +13326,7 @@ class TargetVpnGatewaysResourceApi {
_queryParams["pageToken"] = [pageToken];
}
- _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/targetVpnGateways';
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpProxies';
var _response = _requester.request(_url,
"GET",
@@ -13392,11 +13335,13 @@ class TargetVpnGatewaysResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new TargetVpnGatewayAggregatedList.fromJson(data));
+ return _response.then((data) => new TargetHttpProxyList.fromJson(data));
}
/**
- * Deletes the specified target VPN gateway.
+ * Changes the URL map for TargetHttpProxy.
+ *
+ * [request] - The metadata request object.
*
* Request parameters:
*
@@ -13404,10 +13349,66 @@ class TargetVpnGatewaysResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region for this request.
+ * [targetHttpProxy] - Name of the TargetHttpProxy to set a URL map for.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [targetVpnGateway] - Name of the target VPN gateway to delete.
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Operation> setUrlMap(UrlMapReference request, core.String project, core.String targetHttpProxy) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (targetHttpProxy == null) {
+ throw new core.ArgumentError("Parameter targetHttpProxy is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/targetHttpProxies/' + commons.Escaper.ecapeVariable('$targetHttpProxy') + '/setUrlMap';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+}
+
+
+class TargetHttpsProxiesResourceApi {
+ final commons.ApiRequester _requester;
+
+ TargetHttpsProxiesResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Deletes the specified TargetHttpsProxy resource.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [targetHttpsProxy] - Name of the TargetHttpsProxy resource to delete.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
* Completes with a [Operation].
@@ -13418,7 +13419,7 @@ class TargetVpnGatewaysResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> delete(core.String project, core.String region, core.String targetVpnGateway) {
+ async.Future<Operation> delete(core.String project, core.String targetHttpsProxy) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -13429,14 +13430,11 @@ class TargetVpnGatewaysResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (region == null) {
- throw new core.ArgumentError("Parameter region is required.");
- }
- if (targetVpnGateway == null) {
- throw new core.ArgumentError("Parameter targetVpnGateway is required.");
+ if (targetHttpsProxy == null) {
+ throw new core.ArgumentError("Parameter targetHttpsProxy is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetVpnGateways/' + commons.Escaper.ecapeVariable('$targetVpnGateway');
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpsProxies/' + commons.Escaper.ecapeVariable('$targetHttpsProxy');
var _response = _requester.request(_url,
"DELETE",
@@ -13449,8 +13447,8 @@ class TargetVpnGatewaysResourceApi {
}
/**
- * Returns the specified target VPN gateway. Get a list of available target
- * VPN gateways by making a list() request.
+ * Returns the specified TargetHttpsProxy resource. Get a list of available
+ * target HTTPS proxies by making a list() request.
*
* Request parameters:
*
@@ -13458,13 +13456,10 @@ class TargetVpnGatewaysResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region for this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
- *
- * [targetVpnGateway] - Name of the target VPN gateway to return.
+ * [targetHttpsProxy] - Name of the TargetHttpsProxy resource to return.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [TargetVpnGateway].
+ * Completes with a [TargetHttpsProxy].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -13472,7 +13467,7 @@ class TargetVpnGatewaysResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<TargetVpnGateway> get(core.String project, core.String region, core.String targetVpnGateway) {
+ async.Future<TargetHttpsProxy> get(core.String project, core.String targetHttpsProxy) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -13483,14 +13478,11 @@ class TargetVpnGatewaysResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (region == null) {
- throw new core.ArgumentError("Parameter region is required.");
- }
- if (targetVpnGateway == null) {
- throw new core.ArgumentError("Parameter targetVpnGateway is required.");
+ if (targetHttpsProxy == null) {
+ throw new core.ArgumentError("Parameter targetHttpsProxy is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetVpnGateways/' + commons.Escaper.ecapeVariable('$targetVpnGateway');
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpsProxies/' + commons.Escaper.ecapeVariable('$targetHttpsProxy');
var _response = _requester.request(_url,
"GET",
@@ -13499,12 +13491,12 @@ class TargetVpnGatewaysResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new TargetVpnGateway.fromJson(data));
+ return _response.then((data) => new TargetHttpsProxy.fromJson(data));
}
/**
- * Creates a target VPN gateway in the specified project and region using the
- * data included in the request.
+ * Creates a TargetHttpsProxy resource in the specified project using the data
+ * included in the request.
*
* [request] - The metadata request object.
*
@@ -13514,9 +13506,6 @@ class TargetVpnGatewaysResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region for this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
- *
* Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -13525,7 +13514,7 @@ class TargetVpnGatewaysResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> insert(TargetVpnGateway request, core.String project, core.String region) {
+ async.Future<Operation> insert(TargetHttpsProxy request, core.String project) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -13539,11 +13528,8 @@ class TargetVpnGatewaysResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (region == null) {
- throw new core.ArgumentError("Parameter region is required.");
- }
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetVpnGateways';
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpsProxies';
var _response = _requester.request(_url,
"POST",
@@ -13556,8 +13542,8 @@ class TargetVpnGatewaysResourceApi {
}
/**
- * Retrieves a list of target VPN gateways available to the specified project
- * and region.
+ * Retrieves the list of TargetHttpsProxy resources available to the specified
+ * project.
*
* Request parameters:
*
@@ -13565,9 +13551,6 @@ class TargetVpnGatewaysResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region for this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
- *
* [filter] - Sets a filter expression for filtering listed resources, in the
* form filter={expression}. Your {expression} must be in the format:
* field_name comparison_string literal_string.
@@ -13614,7 +13597,7 @@ class TargetVpnGatewaysResourceApi {
* nextPageToken returned by a previous list request to get the next page of
* results.
*
- * Completes with a [TargetVpnGatewayList].
+ * Completes with a [TargetHttpsProxyList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -13622,7 +13605,7 @@ class TargetVpnGatewaysResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<TargetVpnGatewayList> list(core.String project, core.String region, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<TargetHttpsProxyList> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -13633,9 +13616,6 @@ class TargetVpnGatewaysResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (region == null) {
- throw new core.ArgumentError("Parameter region is required.");
- }
if (filter != null) {
_queryParams["filter"] = [filter];
}
@@ -13649,7 +13629,7 @@ class TargetVpnGatewaysResourceApi {
_queryParams["pageToken"] = [pageToken];
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetVpnGateways';
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpsProxies';
var _response = _requester.request(_url,
"GET",
@@ -13658,20 +13638,13 @@ class TargetVpnGatewaysResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new TargetVpnGatewayList.fromJson(data));
+ return _response.then((data) => new TargetHttpsProxyList.fromJson(data));
}
-}
-
-
-class UrlMapsResourceApi {
- final commons.ApiRequester _requester;
-
- UrlMapsResourceApi(commons.ApiRequester client) :
- _requester = client;
-
/**
- * Deletes the specified UrlMap resource.
+ * Replaces SslCertificates for TargetHttpsProxy.
+ *
+ * [request] - The metadata request object.
*
* Request parameters:
*
@@ -13679,7 +13652,8 @@ class UrlMapsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [urlMap] - Name of the UrlMap resource to delete.
+ * [targetHttpsProxy] - Name of the TargetHttpsProxy resource to set an
+ * SslCertificates resource for.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
* Completes with a [Operation].
@@ -13690,7 +13664,7 @@ class UrlMapsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> delete(core.String project, core.String urlMap) {
+ async.Future<Operation> setSslCertificates(TargetHttpsProxiesSetSslCertificatesRequest request, core.String project, core.String targetHttpsProxy) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -13698,17 +13672,20 @@ class UrlMapsResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (urlMap == null) {
- throw new core.ArgumentError("Parameter urlMap is required.");
+ if (targetHttpsProxy == null) {
+ throw new core.ArgumentError("Parameter targetHttpsProxy is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + commons.Escaper.ecapeVariable('$urlMap');
+ _url = commons.Escaper.ecapeVariable('$project') + '/targetHttpsProxies/' + commons.Escaper.ecapeVariable('$targetHttpsProxy') + '/setSslCertificates';
var _response = _requester.request(_url,
- "DELETE",
+ "POST",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
@@ -13718,8 +13695,9 @@ class UrlMapsResourceApi {
}
/**
- * Returns the specified UrlMap resource. Get a list of available URL maps by
- * making a list() request.
+ * Changes the URL map for TargetHttpsProxy.
+ *
+ * [request] - The metadata request object.
*
* Request parameters:
*
@@ -13727,10 +13705,11 @@ class UrlMapsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [urlMap] - Name of the UrlMap resource to return.
+ * [targetHttpsProxy] - Name of the TargetHttpsProxy resource whose URL map is
+ * to be set.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [UrlMap].
+ * Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -13738,7 +13717,7 @@ class UrlMapsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<UrlMap> get(core.String project, core.String urlMap) {
+ async.Future<Operation> setUrlMap(UrlMapReference request, core.String project, core.String targetHttpsProxy) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -13746,30 +13725,39 @@ class UrlMapsResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (urlMap == null) {
- throw new core.ArgumentError("Parameter urlMap is required.");
+ if (targetHttpsProxy == null) {
+ throw new core.ArgumentError("Parameter targetHttpsProxy is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + commons.Escaper.ecapeVariable('$urlMap');
+ _url = commons.Escaper.ecapeVariable('$project') + '/targetHttpsProxies/' + commons.Escaper.ecapeVariable('$targetHttpsProxy') + '/setUrlMap';
var _response = _requester.request(_url,
- "GET",
+ "POST",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new UrlMap.fromJson(data));
+ return _response.then((data) => new Operation.fromJson(data));
}
+}
+
+
+class TargetInstancesResourceApi {
+ final commons.ApiRequester _requester;
+
+ TargetInstancesResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
/**
- * Creates a UrlMap resource in the specified project using the data included
- * in the request.
- *
- * [request] - The metadata request object.
+ * Retrieves an aggregated list of target instances.
*
* Request parameters:
*
@@ -13777,106 +13765,9 @@ class UrlMapsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * Completes with a [Operation].
- *
- * Completes with a [commons.ApiRequestError] if the API endpoint returned an
- * error.
- *
- * If the used [http.Client] completes with an error when making a REST call,
- * this method will complete with the same error.
- */
- async.Future<Operation> insert(UrlMap request, core.String project) {
- var _url = null;
- var _queryParams = new core.Map();
- var _uploadMedia = null;
- var _uploadOptions = null;
- var _downloadOptions = commons.DownloadOptions.Metadata;
- var _body = null;
-
- if (request != null) {
- _body = convert.JSON.encode((request).toJson());
- }
- if (project == null) {
- throw new core.ArgumentError("Parameter project is required.");
- }
-
- _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps';
-
- var _response = _requester.request(_url,
- "POST",
- body: _body,
- queryParams: _queryParams,
- uploadOptions: _uploadOptions,
- uploadMedia: _uploadMedia,
- downloadOptions: _downloadOptions);
- return _response.then((data) => new Operation.fromJson(data));
- }
-
- /**
- * Initiates a cache invalidation operation, invalidating the specified path,
- * scoped to the specified UrlMap.
- *
- * [request] - The metadata request object.
- *
- * Request parameters:
- *
- * [project] - Project ID for this request.
- * Value must have pattern
- * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
- *
- * [urlMap] - Name of the UrlMap scoping this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
- *
- * Completes with a [Operation].
- *
- * Completes with a [commons.ApiRequestError] if the API endpoint returned an
- * error.
- *
- * If the used [http.Client] completes with an error when making a REST call,
- * this method will complete with the same error.
- */
- async.Future<Operation> invalidateCache(CacheInvalidationRule request, core.String project, core.String urlMap) {
- var _url = null;
- var _queryParams = new core.Map();
- var _uploadMedia = null;
- var _uploadOptions = null;
- var _downloadOptions = commons.DownloadOptions.Metadata;
- var _body = null;
-
- if (request != null) {
- _body = convert.JSON.encode((request).toJson());
- }
- if (project == null) {
- throw new core.ArgumentError("Parameter project is required.");
- }
- if (urlMap == null) {
- throw new core.ArgumentError("Parameter urlMap is required.");
- }
-
- _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + commons.Escaper.ecapeVariable('$urlMap') + '/invalidateCache';
-
- var _response = _requester.request(_url,
- "POST",
- body: _body,
- queryParams: _queryParams,
- uploadOptions: _uploadOptions,
- uploadMedia: _uploadMedia,
- downloadOptions: _downloadOptions);
- return _response.then((data) => new Operation.fromJson(data));
- }
-
- /**
- * Retrieves the list of UrlMap resources available to the specified project.
- *
- * Request parameters:
- *
- * [project] - Project ID for this request.
- * Value must have pattern
- * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
- *
- * [filter] - Sets a filter expression for filtering listed resources, in the
- * form filter={expression}. Your {expression} must be in the format:
- * field_name comparison_string literal_string.
+ * [filter] - Sets a filter expression for filtering listed resources, in the
+ * form filter={expression}. Your {expression} must be in the format:
+ * field_name comparison_string literal_string.
*
* The field_name is the name of the field you want to compare. Only atomic
* field types are supported (string, number, boolean). The comparison_string
@@ -13920,7 +13811,7 @@ class UrlMapsResourceApi {
* nextPageToken returned by a previous list request to get the next page of
* results.
*
- * Completes with a [UrlMapList].
+ * Completes with a [TargetInstanceAggregatedList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -13928,7 +13819,7 @@ class UrlMapsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<UrlMapList> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<TargetInstanceAggregatedList> aggregatedList(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -13952,7 +13843,7 @@ class UrlMapsResourceApi {
_queryParams["pageToken"] = [pageToken];
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps';
+ _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/targetInstances';
var _response = _requester.request(_url,
"GET",
@@ -13961,14 +13852,11 @@ class UrlMapsResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new UrlMapList.fromJson(data));
+ return _response.then((data) => new TargetInstanceAggregatedList.fromJson(data));
}
/**
- * Updates the specified UrlMap resource with the data included in the
- * request. This method supports patch semantics.
- *
- * [request] - The metadata request object.
+ * Deletes the specified TargetInstance resource.
*
* Request parameters:
*
@@ -13976,7 +13864,10 @@ class UrlMapsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [urlMap] - Name of the UrlMap resource to update.
+ * [zone] - Name of the zone scoping this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [targetInstance] - Name of the TargetInstance resource to delete.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
* Completes with a [Operation].
@@ -13987,7 +13878,7 @@ class UrlMapsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> patch(UrlMap request, core.String project, core.String urlMap) {
+ async.Future<Operation> delete(core.String project, core.String zone, core.String targetInstance) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -13995,20 +13886,20 @@ class UrlMapsResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (request != null) {
- _body = convert.JSON.encode((request).toJson());
- }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (urlMap == null) {
- throw new core.ArgumentError("Parameter urlMap is required.");
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (targetInstance == null) {
+ throw new core.ArgumentError("Parameter targetInstance is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + commons.Escaper.ecapeVariable('$urlMap');
+ _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/targetInstances/' + commons.Escaper.ecapeVariable('$targetInstance');
var _response = _requester.request(_url,
- "PATCH",
+ "DELETE",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
@@ -14018,10 +13909,8 @@ class UrlMapsResourceApi {
}
/**
- * Updates the specified UrlMap resource with the data included in the
- * request.
- *
- * [request] - The metadata request object.
+ * Returns the specified TargetInstance resource. Get a list of available
+ * target instances by making a list() request.
*
* Request parameters:
*
@@ -14029,10 +13918,13 @@ class UrlMapsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [urlMap] - Name of the UrlMap resource to update.
+ * [zone] - Name of the zone scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [Operation].
+ * [targetInstance] - Name of the TargetInstance resource to return.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [TargetInstance].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -14040,7 +13932,7 @@ class UrlMapsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> update(UrlMap request, core.String project, core.String urlMap) {
+ async.Future<TargetInstance> get(core.String project, core.String zone, core.String targetInstance) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -14048,32 +13940,31 @@ class UrlMapsResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (request != null) {
- _body = convert.JSON.encode((request).toJson());
- }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (urlMap == null) {
- throw new core.ArgumentError("Parameter urlMap is required.");
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (targetInstance == null) {
+ throw new core.ArgumentError("Parameter targetInstance is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + commons.Escaper.ecapeVariable('$urlMap');
+ _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/targetInstances/' + commons.Escaper.ecapeVariable('$targetInstance');
var _response = _requester.request(_url,
- "PUT",
+ "GET",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new Operation.fromJson(data));
+ return _response.then((data) => new TargetInstance.fromJson(data));
}
/**
- * Runs static validation for the UrlMap. In particular, the tests of the
- * provided UrlMap will be run. Calling this method does NOT create the
- * UrlMap.
+ * Creates a TargetInstance resource in the specified project and zone using
+ * the data included in the request.
*
* [request] - The metadata request object.
*
@@ -14083,10 +13974,10 @@ class UrlMapsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [urlMap] - Name of the UrlMap resource to be validated as.
+ * [zone] - Name of the zone scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [UrlMapsValidateResponse].
+ * Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -14094,7 +13985,7 @@ class UrlMapsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<UrlMapsValidateResponse> validate(UrlMapsValidateRequest request, core.String project, core.String urlMap) {
+ async.Future<Operation> insert(TargetInstance request, core.String project, core.String zone) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -14108,11 +13999,11 @@ class UrlMapsResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (urlMap == null) {
- throw new core.ArgumentError("Parameter urlMap is required.");
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + commons.Escaper.ecapeVariable('$urlMap') + '/validate';
+ _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/targetInstances';
var _response = _requester.request(_url,
"POST",
@@ -14121,20 +14012,12 @@ class UrlMapsResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new UrlMapsValidateResponse.fromJson(data));
+ return _response.then((data) => new Operation.fromJson(data));
}
-}
-
-
-class VpnTunnelsResourceApi {
- final commons.ApiRequester _requester;
-
- VpnTunnelsResourceApi(commons.ApiRequester client) :
- _requester = client;
-
/**
- * Retrieves an aggregated list of VPN tunnels.
+ * Retrieves a list of TargetInstance resources available to the specified
+ * project and zone.
*
* Request parameters:
*
@@ -14142,6 +14025,9 @@ class VpnTunnelsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
+ * [zone] - Name of the zone scoping this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
* [filter] - Sets a filter expression for filtering listed resources, in the
* form filter={expression}. Your {expression} must be in the format:
* field_name comparison_string literal_string.
@@ -14188,7 +14074,7 @@ class VpnTunnelsResourceApi {
* nextPageToken returned by a previous list request to get the next page of
* results.
*
- * Completes with a [VpnTunnelAggregatedList].
+ * Completes with a [TargetInstanceList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -14196,7 +14082,7 @@ class VpnTunnelsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<VpnTunnelAggregatedList> aggregatedList(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<TargetInstanceList> list(core.String project, core.String zone, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -14207,6 +14093,9 @@ class VpnTunnelsResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
if (filter != null) {
_queryParams["filter"] = [filter];
}
@@ -14220,7 +14109,7 @@ class VpnTunnelsResourceApi {
_queryParams["pageToken"] = [pageToken];
}
- _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/vpnTunnels';
+ _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/targetInstances';
var _response = _requester.request(_url,
"GET",
@@ -14229,11 +14118,22 @@ class VpnTunnelsResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new VpnTunnelAggregatedList.fromJson(data));
+ return _response.then((data) => new TargetInstanceList.fromJson(data));
}
+}
+
+
+class TargetPoolsResourceApi {
+ final commons.ApiRequester _requester;
+
+ TargetPoolsResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
/**
- * Deletes the specified VpnTunnel resource.
+ * Adds health check URLs to a target pool.
+ *
+ * [request] - The metadata request object.
*
* Request parameters:
*
@@ -14241,10 +14141,10 @@ class VpnTunnelsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region for this request.
+ * [region] - Name of the region scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [vpnTunnel] - Name of the VpnTunnel resource to delete.
+ * [targetPool] - Name of the target pool to add a health check to.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
* Completes with a [Operation].
@@ -14255,7 +14155,7 @@ class VpnTunnelsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> delete(core.String project, core.String region, core.String vpnTunnel) {
+ async.Future<Operation> addHealthCheck(TargetPoolsAddHealthCheckRequest request, core.String project, core.String region, core.String targetPool) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -14263,20 +14163,23 @@ class VpnTunnelsResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
if (region == null) {
throw new core.ArgumentError("Parameter region is required.");
}
- if (vpnTunnel == null) {
- throw new core.ArgumentError("Parameter vpnTunnel is required.");
+ if (targetPool == null) {
+ throw new core.ArgumentError("Parameter targetPool is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/vpnTunnels/' + commons.Escaper.ecapeVariable('$vpnTunnel');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool') + '/addHealthCheck';
var _response = _requester.request(_url,
- "DELETE",
+ "POST",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
@@ -14286,8 +14189,9 @@ class VpnTunnelsResourceApi {
}
/**
- * Returns the specified VpnTunnel resource. Get a list of available VPN
- * tunnels by making a list() request.
+ * Adds an instance to a target pool.
+ *
+ * [request] - The metadata request object.
*
* Request parameters:
*
@@ -14295,13 +14199,13 @@ class VpnTunnelsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region for this request.
+ * [region] - Name of the region scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [vpnTunnel] - Name of the VpnTunnel resource to return.
+ * [targetPool] - Name of the TargetPool resource to add instances to.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [VpnTunnel].
+ * Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -14309,7 +14213,7 @@ class VpnTunnelsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<VpnTunnel> get(core.String project, core.String region, core.String vpnTunnel) {
+ async.Future<Operation> addInstance(TargetPoolsAddInstanceRequest request, core.String project, core.String region, core.String targetPool) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -14317,70 +14221,20 @@ class VpnTunnelsResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
if (region == null) {
throw new core.ArgumentError("Parameter region is required.");
}
- if (vpnTunnel == null) {
- throw new core.ArgumentError("Parameter vpnTunnel is required.");
+ if (targetPool == null) {
+ throw new core.ArgumentError("Parameter targetPool is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/vpnTunnels/' + commons.Escaper.ecapeVariable('$vpnTunnel');
-
- var _response = _requester.request(_url,
- "GET",
- body: _body,
- queryParams: _queryParams,
- uploadOptions: _uploadOptions,
- uploadMedia: _uploadMedia,
- downloadOptions: _downloadOptions);
- return _response.then((data) => new VpnTunnel.fromJson(data));
- }
-
- /**
- * Creates a VpnTunnel resource in the specified project and region using the
- * data included in the request.
- *
- * [request] - The metadata request object.
- *
- * Request parameters:
- *
- * [project] - Project ID for this request.
- * Value must have pattern
- * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
- *
- * [region] - Name of the region for this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
- *
- * Completes with a [Operation].
- *
- * Completes with a [commons.ApiRequestError] if the API endpoint returned an
- * error.
- *
- * If the used [http.Client] completes with an error when making a REST call,
- * this method will complete with the same error.
- */
- async.Future<Operation> insert(VpnTunnel request, core.String project, core.String region) {
- var _url = null;
- var _queryParams = new core.Map();
- var _uploadMedia = null;
- var _uploadOptions = null;
- var _downloadOptions = commons.DownloadOptions.Metadata;
- var _body = null;
-
- if (request != null) {
- _body = convert.JSON.encode((request).toJson());
- }
- if (project == null) {
- throw new core.ArgumentError("Parameter project is required.");
- }
- if (region == null) {
- throw new core.ArgumentError("Parameter region is required.");
- }
-
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/vpnTunnels';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool') + '/addInstance';
var _response = _requester.request(_url,
"POST",
@@ -14393,8 +14247,7 @@ class VpnTunnelsResourceApi {
}
/**
- * Retrieves a list of VpnTunnel resources contained in the specified project
- * and region.
+ * Retrieves an aggregated list of target pools.
*
* Request parameters:
*
@@ -14402,9 +14255,6 @@ class VpnTunnelsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [region] - Name of the region for this request.
- * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
- *
* [filter] - Sets a filter expression for filtering listed resources, in the
* form filter={expression}. Your {expression} must be in the format:
* field_name comparison_string literal_string.
@@ -14451,7 +14301,7 @@ class VpnTunnelsResourceApi {
* nextPageToken returned by a previous list request to get the next page of
* results.
*
- * Completes with a [VpnTunnelList].
+ * Completes with a [TargetPoolAggregatedList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -14459,7 +14309,7 @@ class VpnTunnelsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<VpnTunnelList> list(core.String project, core.String region, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<TargetPoolAggregatedList> aggregatedList(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -14470,9 +14320,6 @@ class VpnTunnelsResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (region == null) {
- throw new core.ArgumentError("Parameter region is required.");
- }
if (filter != null) {
_queryParams["filter"] = [filter];
}
@@ -14486,7 +14333,7 @@ class VpnTunnelsResourceApi {
_queryParams["pageToken"] = [pageToken];
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/vpnTunnels';
+ _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/targetPools';
var _response = _requester.request(_url,
"GET",
@@ -14495,20 +14342,11 @@ class VpnTunnelsResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new VpnTunnelList.fromJson(data));
+ return _response.then((data) => new TargetPoolAggregatedList.fromJson(data));
}
-}
-
-
-class ZoneOperationsResourceApi {
- final commons.ApiRequester _requester;
-
- ZoneOperationsResourceApi(commons.ApiRequester client) :
- _requester = client;
-
/**
- * Deletes the specified zone-specific Operations resource.
+ * Deletes the specified target pool.
*
* Request parameters:
*
@@ -14516,19 +14354,21 @@ class ZoneOperationsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [zone] - Name of the zone for this request.
+ * [region] - Name of the region scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [operation] - Name of the Operations resource to delete.
+ * [targetPool] - Name of the TargetPool resource to delete.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
+ * Completes with a [Operation].
+ *
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
*
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future delete(core.String project, core.String zone, core.String operation) {
+ async.Future<Operation> delete(core.String project, core.String region, core.String targetPool) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -14539,16 +14379,14 @@ class ZoneOperationsResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (zone == null) {
- throw new core.ArgumentError("Parameter zone is required.");
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
}
- if (operation == null) {
- throw new core.ArgumentError("Parameter operation is required.");
+ if (targetPool == null) {
+ throw new core.ArgumentError("Parameter targetPool is required.");
}
- _downloadOptions = null;
-
- _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/operations/' + commons.Escaper.ecapeVariable('$operation');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool');
var _response = _requester.request(_url,
"DELETE",
@@ -14557,11 +14395,12 @@ class ZoneOperationsResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => null);
+ return _response.then((data) => new Operation.fromJson(data));
}
/**
- * Retrieves the specified zone-specific Operations resource.
+ * Returns the specified target pool. Get a list of available target pools by
+ * making a list() request.
*
* Request parameters:
*
@@ -14569,13 +14408,13 @@ class ZoneOperationsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [zone] - Name of the zone for this request.
+ * [region] - Name of the region scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [operation] - Name of the Operations resource to return.
+ * [targetPool] - Name of the TargetPool resource to return.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [Operation].
+ * Completes with a [TargetPool].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -14583,7 +14422,7 @@ class ZoneOperationsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Operation> get(core.String project, core.String zone, core.String operation) {
+ async.Future<TargetPool> get(core.String project, core.String region, core.String targetPool) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -14594,14 +14433,14 @@ class ZoneOperationsResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (zone == null) {
- throw new core.ArgumentError("Parameter zone is required.");
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
}
- if (operation == null) {
- throw new core.ArgumentError("Parameter operation is required.");
+ if (targetPool == null) {
+ throw new core.ArgumentError("Parameter targetPool is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/operations/' + commons.Escaper.ecapeVariable('$operation');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool');
var _response = _requester.request(_url,
"GET",
@@ -14610,12 +14449,14 @@ class ZoneOperationsResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new Operation.fromJson(data));
+ return _response.then((data) => new TargetPool.fromJson(data));
}
/**
- * Retrieves a list of Operation resources contained within the specified
- * zone.
+ * Gets the most recent health check results for each IP for the instance that
+ * is referenced by the given target pool.
+ *
+ * [request] - The metadata request object.
*
* Request parameters:
*
@@ -14623,56 +14464,14 @@ class ZoneOperationsResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [zone] - Name of the zone for request.
+ * [region] - Name of the region scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [filter] - Sets a filter expression for filtering listed resources, in the
- * form filter={expression}. Your {expression} must be in the format:
- * field_name comparison_string literal_string.
- *
- * The field_name is the name of the field you want to compare. Only atomic
- * field types are supported (string, number, boolean). The comparison_string
- * must be either eq (equals) or ne (not equals). The literal_string is the
- * string value to filter to. The literal value must be valid for the type of
- * field you are filtering by (string, number, boolean). For string fields,
- * the literal value is interpreted as a regular expression using RE2 syntax.
- * The literal value must match the entire field.
- *
- * For example, to filter for instances that do not have a name of
- * example-instance, you would use filter=name ne example-instance.
- *
- * You can filter on nested fields. For example, you could filter on instances
- * that have set the scheduling.automaticRestart field to true. Use filtering
- * on nested fields to take advantage of labels to organize and search for
- * results based on label values.
- *
- * To filter on multiple expressions, provide each separate expression within
- * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq
- * us-central1-f). Multiple expressions are treated as AND expressions,
- * meaning that resources must match all expressions to pass the filters.
- *
- * [maxResults] - The maximum number of results per page that should be
- * returned. If the number of available results is larger than maxResults,
- * Compute Engine returns a nextPageToken that can be used to get the next
- * page of results in subsequent list requests.
- * Value must be between "0" and "500".
- *
- * [orderBy] - Sorts list results by a certain order. By default, results are
- * returned in alphanumerical order based on the resource name.
- *
- * You can also sort results in descending order based on the creation
- * timestamp using orderBy="creationTimestamp desc". This sorts results based
- * on the creationTimestamp field in reverse chronological order (newest
- * result first). Use this to sort resources like operations so that the
- * newest operation is returned first.
- *
- * Currently, only sorting by name or creationTimestamp desc is supported.
- *
- * [pageToken] - Specifies a page token to use. Set pageToken to the
- * nextPageToken returned by a previous list request to get the next page of
- * results.
+ * [targetPool] - Name of the TargetPool resource to which the queried
+ * instance belongs.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [OperationList].
+ * Completes with a [TargetPoolInstanceHealth].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -14680,7 +14479,7 @@ class ZoneOperationsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<OperationList> list(core.String project, core.String zone, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<TargetPoolInstanceHealth> getHealth(InstanceReference request, core.String project, core.String region, core.String targetPool) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -14688,49 +14487,36 @@ class ZoneOperationsResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (zone == null) {
- throw new core.ArgumentError("Parameter zone is required.");
- }
- if (filter != null) {
- _queryParams["filter"] = [filter];
- }
- if (maxResults != null) {
- _queryParams["maxResults"] = ["${maxResults}"];
- }
- if (orderBy != null) {
- _queryParams["orderBy"] = [orderBy];
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
}
- if (pageToken != null) {
- _queryParams["pageToken"] = [pageToken];
+ if (targetPool == null) {
+ throw new core.ArgumentError("Parameter targetPool is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/operations';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool') + '/getHealth';
var _response = _requester.request(_url,
- "GET",
+ "POST",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new OperationList.fromJson(data));
+ return _response.then((data) => new TargetPoolInstanceHealth.fromJson(data));
}
-}
-
-
-class ZonesResourceApi {
- final commons.ApiRequester _requester;
-
- ZonesResourceApi(commons.ApiRequester client) :
- _requester = client;
-
/**
- * Returns the specified Zone resource. Get a list of available zones by
- * making a list() request.
+ * Creates a target pool in the specified project and region using the data
+ * included in the request.
+ *
+ * [request] - The metadata request object.
*
* Request parameters:
*
@@ -14738,10 +14524,10 @@ class ZonesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [zone] - Name of the zone resource to return.
+ * [region] - Name of the region scoping this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [Zone].
+ * Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -14749,7 +14535,7 @@ class ZonesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Zone> get(core.String project, core.String zone) {
+ async.Future<Operation> insert(TargetPool request, core.String project, core.String region) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -14757,27 +14543,31 @@ class ZonesResourceApi {
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
- if (zone == null) {
- throw new core.ArgumentError("Parameter zone is required.");
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools';
var _response = _requester.request(_url,
- "GET",
+ "POST",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new Zone.fromJson(data));
+ return _response.then((data) => new Operation.fromJson(data));
}
/**
- * Retrieves the list of Zone resources available to the specified project.
+ * Retrieves a list of target pools available to the specified project and
+ * region.
*
* Request parameters:
*
@@ -14785,6 +14575,9 @@ class ZonesResourceApi {
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
+ * [region] - Name of the region scoping this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
* [filter] - Sets a filter expression for filtering listed resources, in the
* form filter={expression}. Your {expression} must be in the format:
* field_name comparison_string literal_string.
@@ -14831,7 +14624,7 @@ class ZonesResourceApi {
* nextPageToken returned by a previous list request to get the next page of
* results.
*
- * Completes with a [ZoneList].
+ * Completes with a [TargetPoolList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -14839,7 +14632,7 @@ class ZonesResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ZoneList> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ async.Future<TargetPoolList> list(core.String project, core.String region, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -14850,6 +14643,9 @@ class ZonesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
if (filter != null) {
_queryParams["filter"] = [filter];
}
@@ -14863,7 +14659,7 @@ class ZonesResourceApi {
_queryParams["pageToken"] = [pageToken];
}
- _url = commons.Escaper.ecapeVariable('$project') + '/zones';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools';
var _response = _requester.request(_url,
"GET",
@@ -14872,164 +14668,3902 @@ class ZonesResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new ZoneList.fromJson(data));
+ return _response.then((data) => new TargetPoolList.fromJson(data));
}
-}
-
-
-
-/**
- * An access configuration attached to an instance's network interface. Only one
- * access config per instance is supported.
- */
-class AccessConfig {
- /**
- * [Output Only] Type of the resource. Always compute#accessConfig for access
- * configs.
- */
- core.String kind;
- /** Name of this access configuration. */
- core.String name;
- /**
- * An external IP address associated with this instance. Specify an unused
- * static external IP address available to the project or leave this field
- * undefined to use an IP from a shared ephemeral IP address pool. If you
- * specify a static external IP address, it must live in the same region as
- * the zone of the instance.
- */
- core.String natIP;
/**
- * The type of configuration. The default and only option is ONE_TO_ONE_NAT.
- * Possible string values are:
- * - "ONE_TO_ONE_NAT"
+ * Removes health check URL from a target pool.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [region] - Name of the region for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [targetPool] - Name of the target pool to remove health checks from.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
*/
- core.String type;
-
- AccessConfig();
+ async.Future<Operation> removeHealthCheck(TargetPoolsRemoveHealthCheckRequest request, core.String project, core.String region, core.String targetPool) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
- AccessConfig.fromJson(core.Map _json) {
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
}
- if (_json.containsKey("name")) {
- name = _json["name"];
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
}
- if (_json.containsKey("natIP")) {
- natIP = _json["natIP"];
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
}
- if (_json.containsKey("type")) {
- type = _json["type"];
+ if (targetPool == null) {
+ throw new core.ArgumentError("Parameter targetPool is required.");
}
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool') + '/removeHealthCheck';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
}
- core.Map toJson() {
- var _json = new core.Map();
- if (kind != null) {
- _json["kind"] = kind;
+ /**
+ * Removes instance URL from a target pool.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [region] - Name of the region scoping this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [targetPool] - Name of the TargetPool resource to remove instances from.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Operation> removeInstance(TargetPoolsRemoveInstanceRequest request, core.String project, core.String region, core.String targetPool) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
}
- if (name != null) {
- _json["name"] = name;
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
}
- if (natIP != null) {
- _json["natIP"] = natIP;
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
}
- if (type != null) {
- _json["type"] = type;
+ if (targetPool == null) {
+ throw new core.ArgumentError("Parameter targetPool is required.");
}
- return _json;
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool') + '/removeInstance';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
}
-}
-/** A reserved address resource. */
-class Address {
- /** The static external IP address represented by this resource. */
- core.String address;
- /** [Output Only] Creation timestamp in RFC3339 text format. */
- core.String creationTimestamp;
- /**
- * An optional description of this resource. Provide this property when you
- * create the resource.
- */
- core.String description;
- /**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
- */
- core.String id;
- /**
- * [Output Only] Type of the resource. Always compute#address for addresses.
- */
- core.String kind;
- /**
- * Name of the resource. Provided by the client when the resource is created.
- * The name must be 1-63 characters long, and comply with RFC1035.
- * Specifically, the name must be 1-63 characters long and match the regular
- * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
- * be a lowercase letter, and all following characters must be a dash,
- * lowercase letter, or digit, except the last character, which cannot be a
- * dash.
- */
- core.String name;
- /**
- * [Output Only] URL of the region where the regional address resides. This
- * field is not applicable to global addresses.
- */
- core.String region;
- /** [Output Only] Server-defined URL for the resource. */
- core.String selfLink;
/**
- * [Output Only] The status of the address, which can be either IN_USE or
- * RESERVED. An address that is RESERVED is currently reserved and available
- * to use. An IN_USE address is currently being used by another resource and
- * is not available.
- * Possible string values are:
- * - "IN_USE"
- * - "RESERVED"
+ * Changes a backup target pool's configurations.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [region] - Name of the region scoping this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [targetPool] - Name of the TargetPool resource to set a backup pool for.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [failoverRatio] - New failoverRatio value for the target pool.
+ *
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
*/
- core.String status;
- /** [Output Only] The URLs of the resources that are using this address. */
- core.List<core.String> users;
-
- Address();
+ async.Future<Operation> setBackup(TargetReference request, core.String project, core.String region, core.String targetPool, {core.double failoverRatio}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
- Address.fromJson(core.Map _json) {
- if (_json.containsKey("address")) {
- address = _json["address"];
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
}
- if (_json.containsKey("creationTimestamp")) {
- creationTimestamp = _json["creationTimestamp"];
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
}
- if (_json.containsKey("description")) {
- description = _json["description"];
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
}
- if (_json.containsKey("id")) {
- id = _json["id"];
+ if (targetPool == null) {
+ throw new core.ArgumentError("Parameter targetPool is required.");
+ }
+ if (failoverRatio != null) {
+ _queryParams["failoverRatio"] = ["${failoverRatio}"];
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable('$targetPool') + '/setBackup';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+}
+
+
+class TargetSslProxiesResourceApi {
+ final commons.ApiRequester _requester;
+
+ TargetSslProxiesResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Deletes the specified TargetSslProxy resource.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [targetSslProxy] - Name of the TargetSslProxy resource to delete.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Operation> delete(core.String project, core.String targetSslProxy) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (targetSslProxy == null) {
+ throw new core.ArgumentError("Parameter targetSslProxy is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/targetSslProxies/' + commons.Escaper.ecapeVariable('$targetSslProxy');
+
+ var _response = _requester.request(_url,
+ "DELETE",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Returns the specified TargetSslProxy resource. Get a list of available
+ * target SSL proxies by making a list() request.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [targetSslProxy] - Name of the TargetSslProxy resource to return.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [TargetSslProxy].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<TargetSslProxy> get(core.String project, core.String targetSslProxy) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (targetSslProxy == null) {
+ throw new core.ArgumentError("Parameter targetSslProxy is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/targetSslProxies/' + commons.Escaper.ecapeVariable('$targetSslProxy');
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new TargetSslProxy.fromJson(data));
+ }
+
+ /**
+ * Creates a TargetSslProxy resource in the specified project using the data
+ * included in the request.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Operation> insert(TargetSslProxy request, core.String project) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/targetSslProxies';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Retrieves the list of TargetSslProxy resources available to the specified
+ * project.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [filter] - Sets a filter expression for filtering listed resources, in the
+ * form filter={expression}. Your {expression} must be in the format:
+ * field_name comparison_string literal_string.
+ *
+ * The field_name is the name of the field you want to compare. Only atomic
+ * field types are supported (string, number, boolean). The comparison_string
+ * must be either eq (equals) or ne (not equals). The literal_string is the
+ * string value to filter to. The literal value must be valid for the type of
+ * field you are filtering by (string, number, boolean). For string fields,
+ * the literal value is interpreted as a regular expression using RE2 syntax.
+ * The literal value must match the entire field.
+ *
+ * For example, to filter for instances that do not have a name of
+ * example-instance, you would use filter=name ne example-instance.
+ *
+ * You can filter on nested fields. For example, you could filter on instances
+ * that have set the scheduling.automaticRestart field to true. Use filtering
+ * on nested fields to take advantage of labels to organize and search for
+ * results based on label values.
+ *
+ * To filter on multiple expressions, provide each separate expression within
+ * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq
+ * us-central1-f). Multiple expressions are treated as AND expressions,
+ * meaning that resources must match all expressions to pass the filters.
+ *
+ * [maxResults] - The maximum number of results per page that should be
+ * returned. If the number of available results is larger than maxResults,
+ * Compute Engine returns a nextPageToken that can be used to get the next
+ * page of results in subsequent list requests.
+ * Value must be between "0" and "500".
+ *
+ * [orderBy] - Sorts list results by a certain order. By default, results are
+ * returned in alphanumerical order based on the resource name.
+ *
+ * You can also sort results in descending order based on the creation
+ * timestamp using orderBy="creationTimestamp desc". This sorts results based
+ * on the creationTimestamp field in reverse chronological order (newest
+ * result first). Use this to sort resources like operations so that the
+ * newest operation is returned first.
+ *
+ * Currently, only sorting by name or creationTimestamp desc is supported.
+ *
+ * [pageToken] - Specifies a page token to use. Set pageToken to the
+ * nextPageToken returned by a previous list request to get the next page of
+ * results.
+ *
+ * Completes with a [TargetSslProxyList].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<TargetSslProxyList> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
+ if (maxResults != null) {
+ _queryParams["maxResults"] = ["${maxResults}"];
+ }
+ if (orderBy != null) {
+ _queryParams["orderBy"] = [orderBy];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/targetSslProxies';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new TargetSslProxyList.fromJson(data));
+ }
+
+ /**
+ * Changes the BackendService for TargetSslProxy.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [targetSslProxy] - Name of the TargetSslProxy resource whose BackendService
+ * resource is to be set.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Operation> setBackendService(TargetSslProxiesSetBackendServiceRequest request, core.String project, core.String targetSslProxy) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (targetSslProxy == null) {
+ throw new core.ArgumentError("Parameter targetSslProxy is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/targetSslProxies/' + commons.Escaper.ecapeVariable('$targetSslProxy') + '/setBackendService';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Changes the ProxyHeaderType for TargetSslProxy.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [targetSslProxy] - Name of the TargetSslProxy resource whose ProxyHeader is
+ * to be set.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Operation> setProxyHeader(TargetSslProxiesSetProxyHeaderRequest request, core.String project, core.String targetSslProxy) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (targetSslProxy == null) {
+ throw new core.ArgumentError("Parameter targetSslProxy is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/targetSslProxies/' + commons.Escaper.ecapeVariable('$targetSslProxy') + '/setProxyHeader';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Changes SslCertificates for TargetSslProxy.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [targetSslProxy] - Name of the TargetSslProxy resource whose SslCertificate
+ * resource is to be set.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Operation> setSslCertificates(TargetSslProxiesSetSslCertificatesRequest request, core.String project, core.String targetSslProxy) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (targetSslProxy == null) {
+ throw new core.ArgumentError("Parameter targetSslProxy is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/targetSslProxies/' + commons.Escaper.ecapeVariable('$targetSslProxy') + '/setSslCertificates';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+}
+
+
+class TargetVpnGatewaysResourceApi {
+ final commons.ApiRequester _requester;
+
+ TargetVpnGatewaysResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Retrieves an aggregated list of target VPN gateways.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [filter] - Sets a filter expression for filtering listed resources, in the
+ * form filter={expression}. Your {expression} must be in the format:
+ * field_name comparison_string literal_string.
+ *
+ * The field_name is the name of the field you want to compare. Only atomic
+ * field types are supported (string, number, boolean). The comparison_string
+ * must be either eq (equals) or ne (not equals). The literal_string is the
+ * string value to filter to. The literal value must be valid for the type of
+ * field you are filtering by (string, number, boolean). For string fields,
+ * the literal value is interpreted as a regular expression using RE2 syntax.
+ * The literal value must match the entire field.
+ *
+ * For example, to filter for instances that do not have a name of
+ * example-instance, you would use filter=name ne example-instance.
+ *
+ * You can filter on nested fields. For example, you could filter on instances
+ * that have set the scheduling.automaticRestart field to true. Use filtering
+ * on nested fields to take advantage of labels to organize and search for
+ * results based on label values.
+ *
+ * To filter on multiple expressions, provide each separate expression within
+ * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq
+ * us-central1-f). Multiple expressions are treated as AND expressions,
+ * meaning that resources must match all expressions to pass the filters.
+ *
+ * [maxResults] - The maximum number of results per page that should be
+ * returned. If the number of available results is larger than maxResults,
+ * Compute Engine returns a nextPageToken that can be used to get the next
+ * page of results in subsequent list requests.
+ * Value must be between "0" and "500".
+ *
+ * [orderBy] - Sorts list results by a certain order. By default, results are
+ * returned in alphanumerical order based on the resource name.
+ *
+ * You can also sort results in descending order based on the creation
+ * timestamp using orderBy="creationTimestamp desc". This sorts results based
+ * on the creationTimestamp field in reverse chronological order (newest
+ * result first). Use this to sort resources like operations so that the
+ * newest operation is returned first.
+ *
+ * Currently, only sorting by name or creationTimestamp desc is supported.
+ *
+ * [pageToken] - Specifies a page token to use. Set pageToken to the
+ * nextPageToken returned by a previous list request to get the next page of
+ * results.
+ *
+ * Completes with a [TargetVpnGatewayAggregatedList].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<TargetVpnGatewayAggregatedList> aggregatedList(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
+ if (maxResults != null) {
+ _queryParams["maxResults"] = ["${maxResults}"];
+ }
+ if (orderBy != null) {
+ _queryParams["orderBy"] = [orderBy];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/targetVpnGateways';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new TargetVpnGatewayAggregatedList.fromJson(data));
+ }
+
+ /**
+ * Deletes the specified target VPN gateway.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [region] - Name of the region for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [targetVpnGateway] - Name of the target VPN gateway to delete.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Operation> delete(core.String project, core.String region, core.String targetVpnGateway) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (targetVpnGateway == null) {
+ throw new core.ArgumentError("Parameter targetVpnGateway is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetVpnGateways/' + commons.Escaper.ecapeVariable('$targetVpnGateway');
+
+ var _response = _requester.request(_url,
+ "DELETE",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Returns the specified target VPN gateway. Get a list of available target
+ * VPN gateways by making a list() request.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [region] - Name of the region for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [targetVpnGateway] - Name of the target VPN gateway to return.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [TargetVpnGateway].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<TargetVpnGateway> get(core.String project, core.String region, core.String targetVpnGateway) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (targetVpnGateway == null) {
+ throw new core.ArgumentError("Parameter targetVpnGateway is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetVpnGateways/' + commons.Escaper.ecapeVariable('$targetVpnGateway');
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new TargetVpnGateway.fromJson(data));
+ }
+
+ /**
+ * Creates a target VPN gateway in the specified project and region using the
+ * data included in the request.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [region] - Name of the region for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Operation> insert(TargetVpnGateway request, core.String project, core.String region) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetVpnGateways';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Retrieves a list of target VPN gateways available to the specified project
+ * and region.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [region] - Name of the region for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [filter] - Sets a filter expression for filtering listed resources, in the
+ * form filter={expression}. Your {expression} must be in the format:
+ * field_name comparison_string literal_string.
+ *
+ * The field_name is the name of the field you want to compare. Only atomic
+ * field types are supported (string, number, boolean). The comparison_string
+ * must be either eq (equals) or ne (not equals). The literal_string is the
+ * string value to filter to. The literal value must be valid for the type of
+ * field you are filtering by (string, number, boolean). For string fields,
+ * the literal value is interpreted as a regular expression using RE2 syntax.
+ * The literal value must match the entire field.
+ *
+ * For example, to filter for instances that do not have a name of
+ * example-instance, you would use filter=name ne example-instance.
+ *
+ * You can filter on nested fields. For example, you could filter on instances
+ * that have set the scheduling.automaticRestart field to true. Use filtering
+ * on nested fields to take advantage of labels to organize and search for
+ * results based on label values.
+ *
+ * To filter on multiple expressions, provide each separate expression within
+ * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq
+ * us-central1-f). Multiple expressions are treated as AND expressions,
+ * meaning that resources must match all expressions to pass the filters.
+ *
+ * [maxResults] - The maximum number of results per page that should be
+ * returned. If the number of available results is larger than maxResults,
+ * Compute Engine returns a nextPageToken that can be used to get the next
+ * page of results in subsequent list requests.
+ * Value must be between "0" and "500".
+ *
+ * [orderBy] - Sorts list results by a certain order. By default, results are
+ * returned in alphanumerical order based on the resource name.
+ *
+ * You can also sort results in descending order based on the creation
+ * timestamp using orderBy="creationTimestamp desc". This sorts results based
+ * on the creationTimestamp field in reverse chronological order (newest
+ * result first). Use this to sort resources like operations so that the
+ * newest operation is returned first.
+ *
+ * Currently, only sorting by name or creationTimestamp desc is supported.
+ *
+ * [pageToken] - Specifies a page token to use. Set pageToken to the
+ * nextPageToken returned by a previous list request to get the next page of
+ * results.
+ *
+ * Completes with a [TargetVpnGatewayList].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<TargetVpnGatewayList> list(core.String project, core.String region, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
+ if (maxResults != null) {
+ _queryParams["maxResults"] = ["${maxResults}"];
+ }
+ if (orderBy != null) {
+ _queryParams["orderBy"] = [orderBy];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/targetVpnGateways';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new TargetVpnGatewayList.fromJson(data));
+ }
+
+}
+
+
+class UrlMapsResourceApi {
+ final commons.ApiRequester _requester;
+
+ UrlMapsResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Deletes the specified UrlMap resource.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [urlMap] - Name of the UrlMap resource to delete.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Operation> delete(core.String project, core.String urlMap) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (urlMap == null) {
+ throw new core.ArgumentError("Parameter urlMap is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + commons.Escaper.ecapeVariable('$urlMap');
+
+ var _response = _requester.request(_url,
+ "DELETE",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Returns the specified UrlMap resource. Get a list of available URL maps by
+ * making a list() request.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [urlMap] - Name of the UrlMap resource to return.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [UrlMap].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<UrlMap> get(core.String project, core.String urlMap) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (urlMap == null) {
+ throw new core.ArgumentError("Parameter urlMap is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + commons.Escaper.ecapeVariable('$urlMap');
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new UrlMap.fromJson(data));
+ }
+
+ /**
+ * Creates a UrlMap resource in the specified project using the data included
+ * in the request.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Operation> insert(UrlMap request, core.String project) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Initiates a cache invalidation operation, invalidating the specified path,
+ * scoped to the specified UrlMap.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [urlMap] - Name of the UrlMap scoping this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Operation> invalidateCache(CacheInvalidationRule request, core.String project, core.String urlMap) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (urlMap == null) {
+ throw new core.ArgumentError("Parameter urlMap is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + commons.Escaper.ecapeVariable('$urlMap') + '/invalidateCache';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Retrieves the list of UrlMap resources available to the specified project.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [filter] - Sets a filter expression for filtering listed resources, in the
+ * form filter={expression}. Your {expression} must be in the format:
+ * field_name comparison_string literal_string.
+ *
+ * The field_name is the name of the field you want to compare. Only atomic
+ * field types are supported (string, number, boolean). The comparison_string
+ * must be either eq (equals) or ne (not equals). The literal_string is the
+ * string value to filter to. The literal value must be valid for the type of
+ * field you are filtering by (string, number, boolean). For string fields,
+ * the literal value is interpreted as a regular expression using RE2 syntax.
+ * The literal value must match the entire field.
+ *
+ * For example, to filter for instances that do not have a name of
+ * example-instance, you would use filter=name ne example-instance.
+ *
+ * You can filter on nested fields. For example, you could filter on instances
+ * that have set the scheduling.automaticRestart field to true. Use filtering
+ * on nested fields to take advantage of labels to organize and search for
+ * results based on label values.
+ *
+ * To filter on multiple expressions, provide each separate expression within
+ * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq
+ * us-central1-f). Multiple expressions are treated as AND expressions,
+ * meaning that resources must match all expressions to pass the filters.
+ *
+ * [maxResults] - The maximum number of results per page that should be
+ * returned. If the number of available results is larger than maxResults,
+ * Compute Engine returns a nextPageToken that can be used to get the next
+ * page of results in subsequent list requests.
+ * Value must be between "0" and "500".
+ *
+ * [orderBy] - Sorts list results by a certain order. By default, results are
+ * returned in alphanumerical order based on the resource name.
+ *
+ * You can also sort results in descending order based on the creation
+ * timestamp using orderBy="creationTimestamp desc". This sorts results based
+ * on the creationTimestamp field in reverse chronological order (newest
+ * result first). Use this to sort resources like operations so that the
+ * newest operation is returned first.
+ *
+ * Currently, only sorting by name or creationTimestamp desc is supported.
+ *
+ * [pageToken] - Specifies a page token to use. Set pageToken to the
+ * nextPageToken returned by a previous list request to get the next page of
+ * results.
+ *
+ * Completes with a [UrlMapList].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<UrlMapList> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
+ if (maxResults != null) {
+ _queryParams["maxResults"] = ["${maxResults}"];
+ }
+ if (orderBy != null) {
+ _queryParams["orderBy"] = [orderBy];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new UrlMapList.fromJson(data));
+ }
+
+ /**
+ * Updates the specified UrlMap resource with the data included in the
+ * request. This method supports patch semantics.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [urlMap] - Name of the UrlMap resource to update.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Operation> patch(UrlMap request, core.String project, core.String urlMap) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (urlMap == null) {
+ throw new core.ArgumentError("Parameter urlMap is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + commons.Escaper.ecapeVariable('$urlMap');
+
+ var _response = _requester.request(_url,
+ "PATCH",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Updates the specified UrlMap resource with the data included in the
+ * request.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [urlMap] - Name of the UrlMap resource to update.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Operation> update(UrlMap request, core.String project, core.String urlMap) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (urlMap == null) {
+ throw new core.ArgumentError("Parameter urlMap is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + commons.Escaper.ecapeVariable('$urlMap');
+
+ var _response = _requester.request(_url,
+ "PUT",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Runs static validation for the UrlMap. In particular, the tests of the
+ * provided UrlMap will be run. Calling this method does NOT create the
+ * UrlMap.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [urlMap] - Name of the UrlMap resource to be validated as.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [UrlMapsValidateResponse].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<UrlMapsValidateResponse> validate(UrlMapsValidateRequest request, core.String project, core.String urlMap) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (urlMap == null) {
+ throw new core.ArgumentError("Parameter urlMap is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + commons.Escaper.ecapeVariable('$urlMap') + '/validate';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new UrlMapsValidateResponse.fromJson(data));
+ }
+
+}
+
+
+class VpnTunnelsResourceApi {
+ final commons.ApiRequester _requester;
+
+ VpnTunnelsResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Retrieves an aggregated list of VPN tunnels.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [filter] - Sets a filter expression for filtering listed resources, in the
+ * form filter={expression}. Your {expression} must be in the format:
+ * field_name comparison_string literal_string.
+ *
+ * The field_name is the name of the field you want to compare. Only atomic
+ * field types are supported (string, number, boolean). The comparison_string
+ * must be either eq (equals) or ne (not equals). The literal_string is the
+ * string value to filter to. The literal value must be valid for the type of
+ * field you are filtering by (string, number, boolean). For string fields,
+ * the literal value is interpreted as a regular expression using RE2 syntax.
+ * The literal value must match the entire field.
+ *
+ * For example, to filter for instances that do not have a name of
+ * example-instance, you would use filter=name ne example-instance.
+ *
+ * You can filter on nested fields. For example, you could filter on instances
+ * that have set the scheduling.automaticRestart field to true. Use filtering
+ * on nested fields to take advantage of labels to organize and search for
+ * results based on label values.
+ *
+ * To filter on multiple expressions, provide each separate expression within
+ * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq
+ * us-central1-f). Multiple expressions are treated as AND expressions,
+ * meaning that resources must match all expressions to pass the filters.
+ *
+ * [maxResults] - The maximum number of results per page that should be
+ * returned. If the number of available results is larger than maxResults,
+ * Compute Engine returns a nextPageToken that can be used to get the next
+ * page of results in subsequent list requests.
+ * Value must be between "0" and "500".
+ *
+ * [orderBy] - Sorts list results by a certain order. By default, results are
+ * returned in alphanumerical order based on the resource name.
+ *
+ * You can also sort results in descending order based on the creation
+ * timestamp using orderBy="creationTimestamp desc". This sorts results based
+ * on the creationTimestamp field in reverse chronological order (newest
+ * result first). Use this to sort resources like operations so that the
+ * newest operation is returned first.
+ *
+ * Currently, only sorting by name or creationTimestamp desc is supported.
+ *
+ * [pageToken] - Specifies a page token to use. Set pageToken to the
+ * nextPageToken returned by a previous list request to get the next page of
+ * results.
+ *
+ * Completes with a [VpnTunnelAggregatedList].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<VpnTunnelAggregatedList> aggregatedList(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
+ if (maxResults != null) {
+ _queryParams["maxResults"] = ["${maxResults}"];
+ }
+ if (orderBy != null) {
+ _queryParams["orderBy"] = [orderBy];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/vpnTunnels';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new VpnTunnelAggregatedList.fromJson(data));
+ }
+
+ /**
+ * Deletes the specified VpnTunnel resource.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [region] - Name of the region for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [vpnTunnel] - Name of the VpnTunnel resource to delete.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Operation> delete(core.String project, core.String region, core.String vpnTunnel) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (vpnTunnel == null) {
+ throw new core.ArgumentError("Parameter vpnTunnel is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/vpnTunnels/' + commons.Escaper.ecapeVariable('$vpnTunnel');
+
+ var _response = _requester.request(_url,
+ "DELETE",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Returns the specified VpnTunnel resource. Get a list of available VPN
+ * tunnels by making a list() request.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [region] - Name of the region for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [vpnTunnel] - Name of the VpnTunnel resource to return.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [VpnTunnel].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<VpnTunnel> get(core.String project, core.String region, core.String vpnTunnel) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (vpnTunnel == null) {
+ throw new core.ArgumentError("Parameter vpnTunnel is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/vpnTunnels/' + commons.Escaper.ecapeVariable('$vpnTunnel');
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new VpnTunnel.fromJson(data));
+ }
+
+ /**
+ * Creates a VpnTunnel resource in the specified project and region using the
+ * data included in the request.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [region] - Name of the region for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Operation> insert(VpnTunnel request, core.String project, core.String region) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/vpnTunnels';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Retrieves a list of VpnTunnel resources contained in the specified project
+ * and region.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [region] - Name of the region for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [filter] - Sets a filter expression for filtering listed resources, in the
+ * form filter={expression}. Your {expression} must be in the format:
+ * field_name comparison_string literal_string.
+ *
+ * The field_name is the name of the field you want to compare. Only atomic
+ * field types are supported (string, number, boolean). The comparison_string
+ * must be either eq (equals) or ne (not equals). The literal_string is the
+ * string value to filter to. The literal value must be valid for the type of
+ * field you are filtering by (string, number, boolean). For string fields,
+ * the literal value is interpreted as a regular expression using RE2 syntax.
+ * The literal value must match the entire field.
+ *
+ * For example, to filter for instances that do not have a name of
+ * example-instance, you would use filter=name ne example-instance.
+ *
+ * You can filter on nested fields. For example, you could filter on instances
+ * that have set the scheduling.automaticRestart field to true. Use filtering
+ * on nested fields to take advantage of labels to organize and search for
+ * results based on label values.
+ *
+ * To filter on multiple expressions, provide each separate expression within
+ * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq
+ * us-central1-f). Multiple expressions are treated as AND expressions,
+ * meaning that resources must match all expressions to pass the filters.
+ *
+ * [maxResults] - The maximum number of results per page that should be
+ * returned. If the number of available results is larger than maxResults,
+ * Compute Engine returns a nextPageToken that can be used to get the next
+ * page of results in subsequent list requests.
+ * Value must be between "0" and "500".
+ *
+ * [orderBy] - Sorts list results by a certain order. By default, results are
+ * returned in alphanumerical order based on the resource name.
+ *
+ * You can also sort results in descending order based on the creation
+ * timestamp using orderBy="creationTimestamp desc". This sorts results based
+ * on the creationTimestamp field in reverse chronological order (newest
+ * result first). Use this to sort resources like operations so that the
+ * newest operation is returned first.
+ *
+ * Currently, only sorting by name or creationTimestamp desc is supported.
+ *
+ * [pageToken] - Specifies a page token to use. Set pageToken to the
+ * nextPageToken returned by a previous list request to get the next page of
+ * results.
+ *
+ * Completes with a [VpnTunnelList].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<VpnTunnelList> list(core.String project, core.String region, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
+ if (maxResults != null) {
+ _queryParams["maxResults"] = ["${maxResults}"];
+ }
+ if (orderBy != null) {
+ _queryParams["orderBy"] = [orderBy];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/vpnTunnels';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new VpnTunnelList.fromJson(data));
+ }
+
+}
+
+
+class ZoneOperationsResourceApi {
+ final commons.ApiRequester _requester;
+
+ ZoneOperationsResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Deletes the specified zone-specific Operations resource.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [zone] - Name of the zone for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [operation] - Name of the Operations resource to delete.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future delete(core.String project, core.String zone, core.String operation) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (operation == null) {
+ throw new core.ArgumentError("Parameter operation is required.");
+ }
+
+ _downloadOptions = null;
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/operations/' + commons.Escaper.ecapeVariable('$operation');
+
+ var _response = _requester.request(_url,
+ "DELETE",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => null);
+ }
+
+ /**
+ * Retrieves the specified zone-specific Operations resource.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [zone] - Name of the zone for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [operation] - Name of the Operations resource to return.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [Operation].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Operation> get(core.String project, core.String zone, core.String operation) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (operation == null) {
+ throw new core.ArgumentError("Parameter operation is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/operations/' + commons.Escaper.ecapeVariable('$operation');
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Retrieves a list of Operation resources contained within the specified
+ * zone.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [zone] - Name of the zone for request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [filter] - Sets a filter expression for filtering listed resources, in the
+ * form filter={expression}. Your {expression} must be in the format:
+ * field_name comparison_string literal_string.
+ *
+ * The field_name is the name of the field you want to compare. Only atomic
+ * field types are supported (string, number, boolean). The comparison_string
+ * must be either eq (equals) or ne (not equals). The literal_string is the
+ * string value to filter to. The literal value must be valid for the type of
+ * field you are filtering by (string, number, boolean). For string fields,
+ * the literal value is interpreted as a regular expression using RE2 syntax.
+ * The literal value must match the entire field.
+ *
+ * For example, to filter for instances that do not have a name of
+ * example-instance, you would use filter=name ne example-instance.
+ *
+ * You can filter on nested fields. For example, you could filter on instances
+ * that have set the scheduling.automaticRestart field to true. Use filtering
+ * on nested fields to take advantage of labels to organize and search for
+ * results based on label values.
+ *
+ * To filter on multiple expressions, provide each separate expression within
+ * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq
+ * us-central1-f). Multiple expressions are treated as AND expressions,
+ * meaning that resources must match all expressions to pass the filters.
+ *
+ * [maxResults] - The maximum number of results per page that should be
+ * returned. If the number of available results is larger than maxResults,
+ * Compute Engine returns a nextPageToken that can be used to get the next
+ * page of results in subsequent list requests.
+ * Value must be between "0" and "500".
+ *
+ * [orderBy] - Sorts list results by a certain order. By default, results are
+ * returned in alphanumerical order based on the resource name.
+ *
+ * You can also sort results in descending order based on the creation
+ * timestamp using orderBy="creationTimestamp desc". This sorts results based
+ * on the creationTimestamp field in reverse chronological order (newest
+ * result first). Use this to sort resources like operations so that the
+ * newest operation is returned first.
+ *
+ * Currently, only sorting by name or creationTimestamp desc is supported.
+ *
+ * [pageToken] - Specifies a page token to use. Set pageToken to the
+ * nextPageToken returned by a previous list request to get the next page of
+ * results.
+ *
+ * Completes with a [OperationList].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<OperationList> list(core.String project, core.String zone, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
+ if (maxResults != null) {
+ _queryParams["maxResults"] = ["${maxResults}"];
+ }
+ if (orderBy != null) {
+ _queryParams["orderBy"] = [orderBy];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/operations';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new OperationList.fromJson(data));
+ }
+
+}
+
+
+class ZonesResourceApi {
+ final commons.ApiRequester _requester;
+
+ ZonesResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Returns the specified Zone resource. Get a list of available zones by
+ * making a list() request.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [zone] - Name of the zone resource to return.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [Zone].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Zone> get(core.String project, core.String zone) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone');
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Zone.fromJson(data));
+ }
+
+ /**
+ * Retrieves the list of Zone resources available to the specified project.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [filter] - Sets a filter expression for filtering listed resources, in the
+ * form filter={expression}. Your {expression} must be in the format:
+ * field_name comparison_string literal_string.
+ *
+ * The field_name is the name of the field you want to compare. Only atomic
+ * field types are supported (string, number, boolean). The comparison_string
+ * must be either eq (equals) or ne (not equals). The literal_string is the
+ * string value to filter to. The literal value must be valid for the type of
+ * field you are filtering by (string, number, boolean). For string fields,
+ * the literal value is interpreted as a regular expression using RE2 syntax.
+ * The literal value must match the entire field.
+ *
+ * For example, to filter for instances that do not have a name of
+ * example-instance, you would use filter=name ne example-instance.
+ *
+ * You can filter on nested fields. For example, you could filter on instances
+ * that have set the scheduling.automaticRestart field to true. Use filtering
+ * on nested fields to take advantage of labels to organize and search for
+ * results based on label values.
+ *
+ * To filter on multiple expressions, provide each separate expression within
+ * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq
+ * us-central1-f). Multiple expressions are treated as AND expressions,
+ * meaning that resources must match all expressions to pass the filters.
+ *
+ * [maxResults] - The maximum number of results per page that should be
+ * returned. If the number of available results is larger than maxResults,
+ * Compute Engine returns a nextPageToken that can be used to get the next
+ * page of results in subsequent list requests.
+ * Value must be between "0" and "500".
+ *
+ * [orderBy] - Sorts list results by a certain order. By default, results are
+ * returned in alphanumerical order based on the resource name.
+ *
+ * You can also sort results in descending order based on the creation
+ * timestamp using orderBy="creationTimestamp desc". This sorts results based
+ * on the creationTimestamp field in reverse chronological order (newest
+ * result first). Use this to sort resources like operations so that the
+ * newest operation is returned first.
+ *
+ * Currently, only sorting by name or creationTimestamp desc is supported.
+ *
+ * [pageToken] - Specifies a page token to use. Set pageToken to the
+ * nextPageToken returned by a previous list request to get the next page of
+ * results.
+ *
+ * Completes with a [ZoneList].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<ZoneList> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
+ if (maxResults != null) {
+ _queryParams["maxResults"] = ["${maxResults}"];
+ }
+ if (orderBy != null) {
+ _queryParams["orderBy"] = [orderBy];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/zones';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new ZoneList.fromJson(data));
+ }
+
+}
+
+
+
+/**
+ * An access configuration attached to an instance's network interface. Only one
+ * access config per instance is supported.
+ */
+class AccessConfig {
+ /**
+ * [Output Only] Type of the resource. Always compute#accessConfig for access
+ * configs.
+ */
+ core.String kind;
+ /** Name of this access configuration. */
+ core.String name;
+ /**
+ * An external IP address associated with this instance. Specify an unused
+ * static external IP address available to the project or leave this field
+ * undefined to use an IP from a shared ephemeral IP address pool. If you
+ * specify a static external IP address, it must live in the same region as
+ * the zone of the instance.
+ */
+ core.String natIP;
+ /**
+ * The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+ * Possible string values are:
+ * - "ONE_TO_ONE_NAT"
+ */
+ core.String type;
+
+ AccessConfig();
+
+ AccessConfig.fromJson(core.Map _json) {
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ 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 (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (natIP != null) {
+ _json["natIP"] = natIP;
+ }
+ if (type != null) {
+ _json["type"] = type;
+ }
+ return _json;
+ }
+}
+
+/** A reserved address resource. */
+class Address {
+ /** The static external IP address represented by this resource. */
+ core.String address;
+ /** [Output Only] Creation timestamp in RFC3339 text format. */
+ core.String creationTimestamp;
+ /**
+ * An optional description of this resource. Provide this property when you
+ * create the resource.
+ */
+ core.String description;
+ /**
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
+ */
+ core.String id;
+ /**
+ * [Output Only] Type of the resource. Always compute#address for addresses.
+ */
+ core.String kind;
+ /**
+ * Name of the resource. Provided by the client when the resource is created.
+ * The name must be 1-63 characters long, and comply with RFC1035.
+ * Specifically, the name must be 1-63 characters long and match the regular
+ * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
+ * be a lowercase letter, and all following characters must be a dash,
+ * lowercase letter, or digit, except the last character, which cannot be a
+ * dash.
+ */
+ core.String name;
+ /**
+ * [Output Only] URL of the region where the regional address resides. This
+ * field is not applicable to global addresses.
+ */
+ core.String region;
+ /** [Output Only] Server-defined URL for the resource. */
+ core.String selfLink;
+ /**
+ * [Output Only] The status of the address, which can be either IN_USE or
+ * RESERVED. An address that is RESERVED is currently reserved and available
+ * to use. An IN_USE address is currently being used by another resource and
+ * is not available.
+ * Possible string values are:
+ * - "IN_USE"
+ * - "RESERVED"
+ */
+ core.String status;
+ /** [Output Only] The URLs of the resources that are using this address. */
+ core.List<core.String> users;
+
+ Address();
+
+ Address.fromJson(core.Map _json) {
+ if (_json.containsKey("address")) {
+ address = _json["address"];
+ }
+ if (_json.containsKey("creationTimestamp")) {
+ creationTimestamp = _json["creationTimestamp"];
+ }
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("region")) {
+ region = _json["region"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ if (_json.containsKey("status")) {
+ status = _json["status"];
+ }
+ if (_json.containsKey("users")) {
+ users = _json["users"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (address != null) {
+ _json["address"] = address;
+ }
+ if (creationTimestamp != null) {
+ _json["creationTimestamp"] = creationTimestamp;
+ }
+ if (description != null) {
+ _json["description"] = description;
+ }
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (region != null) {
+ _json["region"] = region;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ if (status != null) {
+ _json["status"] = status;
+ }
+ if (users != null) {
+ _json["users"] = users;
+ }
+ return _json;
+ }
+}
+
+class AddressAggregatedList {
+ /**
+ * [Output Only] Unique identifier for the resource; defined by the server.
+ */
+ core.String id;
+ /** [Output Only] A map of scoped address lists. */
+ core.Map<core.String, AddressesScopedList> items;
+ /**
+ * [Output Only] Type of resource. Always compute#addressAggregatedList for
+ * aggregated lists of addresses.
+ */
+ core.String kind;
+ /**
+ * [Output Only] This token allows you to get the next page of results for
+ * list requests. If the number of results is larger than maxResults, use the
+ * nextPageToken as a value for the query parameter pageToken in the next list
+ * request. Subsequent list requests will have their own nextPageToken to
+ * continue paging through the results.
+ */
+ core.String nextPageToken;
+ /** [Output Only] Server-defined URL for this resource. */
+ core.String selfLink;
+
+ AddressAggregatedList();
+
+ AddressAggregatedList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("items")) {
+ items = commons.mapMap(_json["items"], (item) => new AddressesScopedList.fromJson(item));
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (items != null) {
+ _json["items"] = commons.mapMap(items, (item) => (item).toJson());
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ return _json;
+ }
+}
+
+/** Contains a list of addresses. */
+class AddressList {
+ /**
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
+ */
+ core.String id;
+ /** [Output Only] A list of addresses. */
+ core.List<Address> items;
+ /**
+ * [Output Only] Type of resource. Always compute#addressList for lists of
+ * addresses.
+ */
+ core.String kind;
+ /**
+ * [Output Only] This token allows you to get the next page of results for
+ * list requests. If the number of results is larger than maxResults, use the
+ * nextPageToken as a value for the query parameter pageToken in the next list
+ * request. Subsequent list requests will have their own nextPageToken to
+ * continue paging through the results.
+ */
+ core.String nextPageToken;
+ /** [Output Only] Server-defined URL for the resource. */
+ core.String selfLink;
+
+ AddressList();
+
+ AddressList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("items")) {
+ items = _json["items"].map((value) => new Address.fromJson(value)).toList();
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (items != null) {
+ _json["items"] = items.map((value) => (value).toJson()).toList();
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ return _json;
+ }
+}
+
+class AddressesScopedListWarningData {
+ /**
+ * [Output Only] A key that provides more detail on the warning being
+ * returned. For example, for warnings where there are no results in a list
+ * request for a particular zone, this key might be scope and the key value
+ * might be the zone name. Other examples might be a key indicating a
+ * deprecated resource and a suggested replacement, or a warning about invalid
+ * network settings (for example, if an instance attempts to perform IP
+ * forwarding but is not enabled for IP forwarding).
+ */
+ core.String key;
+ /** [Output Only] A warning data value corresponding to the key. */
+ core.String value;
+
+ AddressesScopedListWarningData();
+
+ AddressesScopedListWarningData.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;
+ }
+}
+
+/**
+ * [Output Only] Informational warning which replaces the list of addresses when
+ * the list is empty.
+ */
+class AddressesScopedListWarning {
+ /**
+ * [Output Only] A warning code, if applicable. For example, Compute Engine
+ * returns NO_RESULTS_ON_PAGE if there are no results in the response.
+ * Possible string values are:
+ * - "CLEANUP_FAILED"
+ * - "DEPRECATED_RESOURCE_USED"
+ * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ * - "FIELD_VALUE_OVERRIDEN"
+ * - "INJECTED_KERNELS_DEPRECATED"
+ * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
+ * - "NEXT_HOP_CANNOT_IP_FORWARD"
+ * - "NEXT_HOP_INSTANCE_NOT_FOUND"
+ * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
+ * - "NEXT_HOP_NOT_RUNNING"
+ * - "NOT_CRITICAL_ERROR"
+ * - "NO_RESULTS_ON_PAGE"
+ * - "REQUIRED_TOS_AGREEMENT"
+ * - "RESOURCE_NOT_DELETED"
+ * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
+ * - "UNREACHABLE"
+ */
+ core.String code;
+ /**
+ * [Output Only] Metadata about this warning in key: value format. For
+ * example:
+ * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
+ */
+ core.List<AddressesScopedListWarningData> data;
+ /** [Output Only] A human-readable description of the warning code. */
+ core.String message;
+
+ AddressesScopedListWarning();
+
+ AddressesScopedListWarning.fromJson(core.Map _json) {
+ if (_json.containsKey("code")) {
+ code = _json["code"];
+ }
+ if (_json.containsKey("data")) {
+ data = _json["data"].map((value) => new AddressesScopedListWarningData.fromJson(value)).toList();
+ }
+ if (_json.containsKey("message")) {
+ message = _json["message"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (code != null) {
+ _json["code"] = code;
+ }
+ if (data != null) {
+ _json["data"] = data.map((value) => (value).toJson()).toList();
+ }
+ if (message != null) {
+ _json["message"] = message;
+ }
+ return _json;
+ }
+}
+
+class AddressesScopedList {
+ /** [Output Only] List of addresses contained in this scope. */
+ core.List<Address> addresses;
+ /**
+ * [Output Only] Informational warning which replaces the list of addresses
+ * when the list is empty.
+ */
+ AddressesScopedListWarning warning;
+
+ AddressesScopedList();
+
+ AddressesScopedList.fromJson(core.Map _json) {
+ if (_json.containsKey("addresses")) {
+ addresses = _json["addresses"].map((value) => new Address.fromJson(value)).toList();
+ }
+ if (_json.containsKey("warning")) {
+ warning = new AddressesScopedListWarning.fromJson(_json["warning"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (addresses != null) {
+ _json["addresses"] = addresses.map((value) => (value).toJson()).toList();
+ }
+ if (warning != null) {
+ _json["warning"] = (warning).toJson();
+ }
+ return _json;
+ }
+}
+
+/** An instance-attached disk resource. */
+class AttachedDisk {
+ /**
+ * Specifies whether the disk will be auto-deleted when the instance is
+ * deleted (but not when the disk is detached from the instance).
+ */
+ core.bool autoDelete;
+ /**
+ * Indicates that this is a boot disk. The virtual machine will use the first
+ * partition of the disk for its root filesystem.
+ */
+ core.bool boot;
+ /**
+ * Specifies a unique device name of your choice that is reflected into the
+ * /dev/disk/by-id/google-* tree of a Linux operating system running within
+ * the instance. This name can be used to reference the device for mounting,
+ * resizing, and so on, from within the instance.
+ *
+ * If not specified, the server chooses a default device name to apply to this
+ * disk, in the form persistent-disks-x, where x is a number assigned by
+ * Google Compute Engine. This field is only applicable for persistent disks.
+ */
+ core.String deviceName;
+ /**
+ * Encrypts or decrypts a disk using a customer-supplied encryption key.
+ *
+ * If you are creating a new disk, this field encrypts the new disk using an
+ * encryption key that you provide. If you are attaching an existing disk that
+ * is already encrypted, this field decrypts the disk using the
+ * customer-supplied encryption key.
+ *
+ * If you encrypt a disk using a customer-supplied key, you must provide the
+ * same key again when you attempt to use this resource at a later time. For
+ * example, you must provide the key when you create a snapshot or an image
+ * from the disk or when you attach the disk to a virtual machine instance.
+ *
+ * If you do not provide an encryption key, then the disk will be encrypted
+ * using an automatically generated key and you do not need to provide a key
+ * to use the disk later.
+ *
+ * Instance templates do not store customer-supplied encryption keys, so you
+ * cannot use your own keys to encrypt disks in a managed instance group.
+ */
+ CustomerEncryptionKey diskEncryptionKey;
+ /**
+ * Assigns a zero-based index to this disk, where 0 is reserved for the boot
+ * disk. For example, if you have many disks attached to an instance, each
+ * disk would have a unique index number. If not specified, the server will
+ * choose an appropriate value.
+ */
+ core.int index;
+ /**
+ * [Input Only] Specifies the parameters for a new disk that will be created
+ * alongside the new instance. Use initialization parameters to create boot
+ * disks or local SSDs attached to the new instance.
+ *
+ * This property is mutually exclusive with the source property; you can only
+ * define one or the other, but not both.
+ */
+ AttachedDiskInitializeParams initializeParams;
+ /**
+ * Specifies the disk interface to use for attaching this disk, which is
+ * either SCSI or NVME. The default is SCSI. Persistent disks must always use
+ * SCSI and the request will fail if you attempt to attach a persistent disk
+ * in any other format than SCSI. Local SSDs can use either NVME or SCSI. For
+ * performance characteristics of SCSI over NVMe, see Local SSD performance.
+ * Possible string values are:
+ * - "NVME"
+ * - "SCSI"
+ */
+ core.String interface;
+ /**
+ * [Output Only] Type of the resource. Always compute#attachedDisk for
+ * attached disks.
+ */
+ core.String kind;
+ /** [Output Only] Any valid publicly visible licenses. */
+ core.List<core.String> licenses;
+ /**
+ * The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If
+ * not specified, the default is to attach the disk in READ_WRITE mode.
+ * Possible string values are:
+ * - "READ_ONLY"
+ * - "READ_WRITE"
+ */
+ core.String mode;
+ /**
+ * Specifies a valid partial or full URL to an existing Persistent Disk
+ * resource. When creating a new instance, one of initializeParams.sourceImage
+ * or disks.source is required.
+ *
+ * If desired, you can also attach existing non-root persistent disks using
+ * this property. This field is only applicable for persistent disks.
+ *
+ * Note that for InstanceTemplate, specify the disk name, not the URL for the
+ * disk.
+ */
+ core.String source;
+ /**
+ * Specifies the type of the disk, either SCRATCH or PERSISTENT. If not
+ * specified, the default is PERSISTENT.
+ * Possible string values are:
+ * - "PERSISTENT"
+ * - "SCRATCH"
+ */
+ core.String type;
+
+ AttachedDisk();
+
+ AttachedDisk.fromJson(core.Map _json) {
+ if (_json.containsKey("autoDelete")) {
+ autoDelete = _json["autoDelete"];
+ }
+ if (_json.containsKey("boot")) {
+ boot = _json["boot"];
+ }
+ if (_json.containsKey("deviceName")) {
+ deviceName = _json["deviceName"];
+ }
+ if (_json.containsKey("diskEncryptionKey")) {
+ diskEncryptionKey = new CustomerEncryptionKey.fromJson(_json["diskEncryptionKey"]);
+ }
+ if (_json.containsKey("index")) {
+ index = _json["index"];
+ }
+ if (_json.containsKey("initializeParams")) {
+ initializeParams = new AttachedDiskInitializeParams.fromJson(_json["initializeParams"]);
+ }
+ if (_json.containsKey("interface")) {
+ interface = _json["interface"];
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("licenses")) {
+ licenses = _json["licenses"];
+ }
+ if (_json.containsKey("mode")) {
+ mode = _json["mode"];
+ }
+ if (_json.containsKey("source")) {
+ source = _json["source"];
+ }
+ if (_json.containsKey("type")) {
+ type = _json["type"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (autoDelete != null) {
+ _json["autoDelete"] = autoDelete;
+ }
+ if (boot != null) {
+ _json["boot"] = boot;
+ }
+ if (deviceName != null) {
+ _json["deviceName"] = deviceName;
+ }
+ if (diskEncryptionKey != null) {
+ _json["diskEncryptionKey"] = (diskEncryptionKey).toJson();
+ }
+ if (index != null) {
+ _json["index"] = index;
+ }
+ if (initializeParams != null) {
+ _json["initializeParams"] = (initializeParams).toJson();
+ }
+ if (interface != null) {
+ _json["interface"] = interface;
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (licenses != null) {
+ _json["licenses"] = licenses;
+ }
+ if (mode != null) {
+ _json["mode"] = mode;
+ }
+ if (source != null) {
+ _json["source"] = source;
+ }
+ if (type != null) {
+ _json["type"] = type;
+ }
+ return _json;
+ }
+}
+
+/**
+ * [Input Only] Specifies the parameters for a new disk that will be created
+ * alongside the new instance. Use initialization parameters to create boot
+ * disks or local SSDs attached to the new instance.
+ *
+ * This property is mutually exclusive with the source property; you can only
+ * define one or the other, but not both.
+ */
+class AttachedDiskInitializeParams {
+ /**
+ * Specifies the disk name. If not specified, the default is to use the name
+ * of the instance.
+ */
+ core.String diskName;
+ /** Specifies the size of the disk in base-2 GB. */
+ core.String diskSizeGb;
+ /**
+ * Specifies the disk type to use to create the instance. If not specified,
+ * the default is pd-standard, specified using the full URL. For example:
+ *
+ * https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard
+ *
+ * Other values include pd-ssd and local-ssd. If you define this field, you
+ * can provide either the full or partial URL. For example, the following are
+ * valid values:
+ * -
+ * https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType
+ * - projects/project/zones/zone/diskTypes/diskType
+ * - zones/zone/diskTypes/diskType Note that for InstanceTemplate, this is
+ * the name of the disk type, not URL.
+ */
+ core.String diskType;
+ /**
+ * The source image to create this disk. When creating a new instance, one of
+ * initializeParams.sourceImage or disks.source is required.
+ *
+ * To create a disk with one of the public operating system images, specify
+ * the image by its family name. For example, specify family/debian-8 to use
+ * the latest Debian 8 image:
+ *
+ * projects/debian-cloud/global/images/family/debian-8
+ *
+ * Alternatively, use a specific version of a public operating system image:
+ *
+ * projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD
+ *
+ * To create a disk with a private image that you created, specify the image
+ * name in the following format:
+ *
+ * global/images/my-private-image
+ *
+ * You can also specify a private image by its image family, which returns the
+ * latest version of the image in that family. Replace the image name with
+ * family/family-name:
+ *
+ * global/images/family/my-private-family
+ *
+ * If the source image is deleted later, this field will not be set.
+ */
+ core.String sourceImage;
+ /**
+ * The customer-supplied encryption key of the source image. Required if the
+ * source image is protected by a customer-supplied encryption key.
+ *
+ * Instance templates do not store customer-supplied encryption keys, so you
+ * cannot create disks for instances in a managed instance group if the source
+ * images are encrypted with your own keys.
+ */
+ CustomerEncryptionKey sourceImageEncryptionKey;
+
+ AttachedDiskInitializeParams();
+
+ AttachedDiskInitializeParams.fromJson(core.Map _json) {
+ if (_json.containsKey("diskName")) {
+ diskName = _json["diskName"];
+ }
+ if (_json.containsKey("diskSizeGb")) {
+ diskSizeGb = _json["diskSizeGb"];
+ }
+ if (_json.containsKey("diskType")) {
+ diskType = _json["diskType"];
+ }
+ if (_json.containsKey("sourceImage")) {
+ sourceImage = _json["sourceImage"];
+ }
+ if (_json.containsKey("sourceImageEncryptionKey")) {
+ sourceImageEncryptionKey = new CustomerEncryptionKey.fromJson(_json["sourceImageEncryptionKey"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (diskName != null) {
+ _json["diskName"] = diskName;
+ }
+ if (diskSizeGb != null) {
+ _json["diskSizeGb"] = diskSizeGb;
+ }
+ if (diskType != null) {
+ _json["diskType"] = diskType;
+ }
+ if (sourceImage != null) {
+ _json["sourceImage"] = sourceImage;
+ }
+ if (sourceImageEncryptionKey != null) {
+ _json["sourceImageEncryptionKey"] = (sourceImageEncryptionKey).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * Represents an Autoscaler resource. Autoscalers allow you to automatically
+ * scale virtual machine instances in managed instance groups according to an
+ * autoscaling policy that you define. For more information, read Autoscaling
+ * Groups of Instances.
+ */
+class Autoscaler {
+ /**
+ * The configuration parameters for the autoscaling algorithm. You can define
+ * one or more of the policies for an autoscaler: cpuUtilization,
+ * customMetricUtilizations, and loadBalancingUtilization.
+ *
+ * If none of these are specified, the default will be to autoscale based on
+ * cpuUtilization to 0.6 or 60%.
+ */
+ AutoscalingPolicy autoscalingPolicy;
+ /** [Output Only] Creation timestamp in RFC3339 text format. */
+ core.String creationTimestamp;
+ /**
+ * An optional description of this resource. Provide this property when you
+ * create the resource.
+ */
+ core.String description;
+ /**
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
+ */
+ core.String id;
+ /**
+ * [Output Only] Type of the resource. Always compute#autoscaler for
+ * autoscalers.
+ */
+ core.String kind;
+ /**
+ * Name of the resource. Provided by the client when the resource is created.
+ * The name must be 1-63 characters long, and comply with RFC1035.
+ * Specifically, the name must be 1-63 characters long and match the regular
+ * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
+ * be a lowercase letter, and all following characters must be a dash,
+ * lowercase letter, or digit, except the last character, which cannot be a
+ * dash.
+ */
+ core.String name;
+ /**
+ * [Output Only] URL of the region where the instance group resides (for
+ * autoscalers living in regional scope).
+ */
+ core.String region;
+ /** [Output Only] Server-defined URL for the resource. */
+ core.String selfLink;
+ /** URL of the managed instance group that this autoscaler will scale. */
+ core.String target;
+ /**
+ * [Output Only] URL of the zone where the instance group resides (for
+ * autoscalers living in zonal scope).
+ */
+ core.String zone;
+
+ Autoscaler();
+
+ Autoscaler.fromJson(core.Map _json) {
+ if (_json.containsKey("autoscalingPolicy")) {
+ autoscalingPolicy = new AutoscalingPolicy.fromJson(_json["autoscalingPolicy"]);
+ }
+ if (_json.containsKey("creationTimestamp")) {
+ creationTimestamp = _json["creationTimestamp"];
+ }
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("region")) {
+ region = _json["region"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ if (_json.containsKey("target")) {
+ target = _json["target"];
+ }
+ if (_json.containsKey("zone")) {
+ zone = _json["zone"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (autoscalingPolicy != null) {
+ _json["autoscalingPolicy"] = (autoscalingPolicy).toJson();
+ }
+ if (creationTimestamp != null) {
+ _json["creationTimestamp"] = creationTimestamp;
+ }
+ if (description != null) {
+ _json["description"] = description;
+ }
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (region != null) {
+ _json["region"] = region;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ if (target != null) {
+ _json["target"] = target;
+ }
+ if (zone != null) {
+ _json["zone"] = zone;
+ }
+ return _json;
+ }
+}
+
+class AutoscalerAggregatedList {
+ /**
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
+ */
+ core.String id;
+ /** A map of scoped autoscaler lists. */
+ core.Map<core.String, AutoscalersScopedList> items;
+ /**
+ * [Output Only] Type of resource. Always compute#autoscalerAggregatedList for
+ * aggregated lists of autoscalers.
+ */
+ core.String kind;
+ /**
+ * [Output Only] This token allows you to get the next page of results for
+ * list requests. If the number of results is larger than maxResults, use the
+ * nextPageToken as a value for the query parameter pageToken in the next list
+ * request. Subsequent list requests will have their own nextPageToken to
+ * continue paging through the results.
+ */
+ core.String nextPageToken;
+ /** [Output Only] Server-defined URL for this resource. */
+ core.String selfLink;
+
+ AutoscalerAggregatedList();
+
+ AutoscalerAggregatedList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("items")) {
+ items = commons.mapMap(_json["items"], (item) => new AutoscalersScopedList.fromJson(item));
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (items != null) {
+ _json["items"] = commons.mapMap(items, (item) => (item).toJson());
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ return _json;
+ }
+}
+
+/** Contains a list of Autoscaler resources. */
+class AutoscalerList {
+ /**
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
+ */
+ core.String id;
+ /** A list of Autoscaler resources. */
+ core.List<Autoscaler> items;
+ /**
+ * [Output Only] Type of resource. Always compute#autoscalerList for lists of
+ * autoscalers.
+ */
+ core.String kind;
+ /**
+ * [Output Only] This token allows you to get the next page of results for
+ * list requests. If the number of results is larger than maxResults, use the
+ * nextPageToken as a value for the query parameter pageToken in the next list
+ * request. Subsequent list requests will have their own nextPageToken to
+ * continue paging through the results.
+ */
+ core.String nextPageToken;
+ /** [Output Only] Server-defined URL for this resource. */
+ core.String selfLink;
+
+ AutoscalerList();
+
+ AutoscalerList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("items")) {
+ items = _json["items"].map((value) => new Autoscaler.fromJson(value)).toList();
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (items != null) {
+ _json["items"] = items.map((value) => (value).toJson()).toList();
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ return _json;
+ }
+}
+
+class AutoscalersScopedListWarningData {
+ /**
+ * [Output Only] A key that provides more detail on the warning being
+ * returned. For example, for warnings where there are no results in a list
+ * request for a particular zone, this key might be scope and the key value
+ * might be the zone name. Other examples might be a key indicating a
+ * deprecated resource and a suggested replacement, or a warning about invalid
+ * network settings (for example, if an instance attempts to perform IP
+ * forwarding but is not enabled for IP forwarding).
+ */
+ core.String key;
+ /** [Output Only] A warning data value corresponding to the key. */
+ core.String value;
+
+ AutoscalersScopedListWarningData();
+
+ AutoscalersScopedListWarningData.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;
+ }
+}
+
+/**
+ * [Output Only] Informational warning which replaces the list of autoscalers
+ * when the list is empty.
+ */
+class AutoscalersScopedListWarning {
+ /**
+ * [Output Only] A warning code, if applicable. For example, Compute Engine
+ * returns NO_RESULTS_ON_PAGE if there are no results in the response.
+ * Possible string values are:
+ * - "CLEANUP_FAILED"
+ * - "DEPRECATED_RESOURCE_USED"
+ * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ * - "FIELD_VALUE_OVERRIDEN"
+ * - "INJECTED_KERNELS_DEPRECATED"
+ * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
+ * - "NEXT_HOP_CANNOT_IP_FORWARD"
+ * - "NEXT_HOP_INSTANCE_NOT_FOUND"
+ * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
+ * - "NEXT_HOP_NOT_RUNNING"
+ * - "NOT_CRITICAL_ERROR"
+ * - "NO_RESULTS_ON_PAGE"
+ * - "REQUIRED_TOS_AGREEMENT"
+ * - "RESOURCE_NOT_DELETED"
+ * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
+ * - "UNREACHABLE"
+ */
+ core.String code;
+ /**
+ * [Output Only] Metadata about this warning in key: value format. For
+ * example:
+ * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
+ */
+ core.List<AutoscalersScopedListWarningData> data;
+ /** [Output Only] A human-readable description of the warning code. */
+ core.String message;
+
+ AutoscalersScopedListWarning();
+
+ AutoscalersScopedListWarning.fromJson(core.Map _json) {
+ if (_json.containsKey("code")) {
+ code = _json["code"];
+ }
+ if (_json.containsKey("data")) {
+ data = _json["data"].map((value) => new AutoscalersScopedListWarningData.fromJson(value)).toList();
+ }
+ if (_json.containsKey("message")) {
+ message = _json["message"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (code != null) {
+ _json["code"] = code;
+ }
+ if (data != null) {
+ _json["data"] = data.map((value) => (value).toJson()).toList();
+ }
+ if (message != null) {
+ _json["message"] = message;
+ }
+ return _json;
+ }
+}
+
+class AutoscalersScopedList {
+ /** [Output Only] List of autoscalers contained in this scope. */
+ core.List<Autoscaler> autoscalers;
+ /**
+ * [Output Only] Informational warning which replaces the list of autoscalers
+ * when the list is empty.
+ */
+ AutoscalersScopedListWarning warning;
+
+ AutoscalersScopedList();
+
+ AutoscalersScopedList.fromJson(core.Map _json) {
+ if (_json.containsKey("autoscalers")) {
+ autoscalers = _json["autoscalers"].map((value) => new Autoscaler.fromJson(value)).toList();
+ }
+ if (_json.containsKey("warning")) {
+ warning = new AutoscalersScopedListWarning.fromJson(_json["warning"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (autoscalers != null) {
+ _json["autoscalers"] = autoscalers.map((value) => (value).toJson()).toList();
+ }
+ if (warning != null) {
+ _json["warning"] = (warning).toJson();
+ }
+ return _json;
+ }
+}
+
+/** Cloud Autoscaler policy. */
+class AutoscalingPolicy {
+ /**
+ * The number of seconds that the autoscaler should wait before it starts
+ * collecting information from a new instance. This prevents the autoscaler
+ * from collecting information when the instance is initializing, during which
+ * the collected usage would not be reliable. The default time autoscaler
+ * waits is 60 seconds.
+ *
+ * Virtual machine initialization times might vary because of numerous
+ * factors. We recommend that you test how long an instance may take to
+ * initialize. To do this, create an instance and time the startup process.
+ */
+ core.int coolDownPeriodSec;
+ /**
+ * Defines the CPU utilization policy that allows the autoscaler to scale
+ * based on the average CPU utilization of a managed instance group.
+ */
+ AutoscalingPolicyCpuUtilization cpuUtilization;
+ /** Configuration parameters of autoscaling based on a custom metric. */
+ core.List<AutoscalingPolicyCustomMetricUtilization> customMetricUtilizations;
+ /** Configuration parameters of autoscaling based on load balancer. */
+ AutoscalingPolicyLoadBalancingUtilization loadBalancingUtilization;
+ /**
+ * The maximum number of instances that the autoscaler can scale up to. This
+ * is required when creating or updating an autoscaler. The maximum number of
+ * replicas should not be lower than minimal number of replicas.
+ */
+ core.int maxNumReplicas;
+ /**
+ * The minimum number of replicas that the autoscaler can scale down to. This
+ * cannot be less than 0. If not provided, autoscaler will choose a default
+ * value depending on maximum number of instances allowed.
+ */
+ core.int minNumReplicas;
+
+ AutoscalingPolicy();
+
+ AutoscalingPolicy.fromJson(core.Map _json) {
+ if (_json.containsKey("coolDownPeriodSec")) {
+ coolDownPeriodSec = _json["coolDownPeriodSec"];
+ }
+ if (_json.containsKey("cpuUtilization")) {
+ cpuUtilization = new AutoscalingPolicyCpuUtilization.fromJson(_json["cpuUtilization"]);
+ }
+ if (_json.containsKey("customMetricUtilizations")) {
+ customMetricUtilizations = _json["customMetricUtilizations"].map((value) => new AutoscalingPolicyCustomMetricUtilization.fromJson(value)).toList();
+ }
+ if (_json.containsKey("loadBalancingUtilization")) {
+ loadBalancingUtilization = new AutoscalingPolicyLoadBalancingUtilization.fromJson(_json["loadBalancingUtilization"]);
+ }
+ if (_json.containsKey("maxNumReplicas")) {
+ maxNumReplicas = _json["maxNumReplicas"];
+ }
+ if (_json.containsKey("minNumReplicas")) {
+ minNumReplicas = _json["minNumReplicas"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (coolDownPeriodSec != null) {
+ _json["coolDownPeriodSec"] = coolDownPeriodSec;
+ }
+ if (cpuUtilization != null) {
+ _json["cpuUtilization"] = (cpuUtilization).toJson();
+ }
+ if (customMetricUtilizations != null) {
+ _json["customMetricUtilizations"] = customMetricUtilizations.map((value) => (value).toJson()).toList();
+ }
+ if (loadBalancingUtilization != null) {
+ _json["loadBalancingUtilization"] = (loadBalancingUtilization).toJson();
+ }
+ if (maxNumReplicas != null) {
+ _json["maxNumReplicas"] = maxNumReplicas;
+ }
+ if (minNumReplicas != null) {
+ _json["minNumReplicas"] = minNumReplicas;
+ }
+ return _json;
+ }
+}
+
+/** CPU utilization policy. */
+class AutoscalingPolicyCpuUtilization {
+ /**
+ * The target CPU utilization that the autoscaler should maintain. Must be a
+ * float value in the range (0, 1]. If not specified, the default is 0.6.
+ *
+ * If the CPU level is below the target utilization, the autoscaler scales
+ * down the number of instances until it reaches the minimum number of
+ * instances you specified or until the average CPU of your instances reaches
+ * the target utilization.
+ *
+ * If the average CPU is above the target utilization, the autoscaler scales
+ * up until it reaches the maximum number of instances you specified or until
+ * the average utilization reaches the target utilization.
+ */
+ core.double utilizationTarget;
+
+ AutoscalingPolicyCpuUtilization();
+
+ AutoscalingPolicyCpuUtilization.fromJson(core.Map _json) {
+ if (_json.containsKey("utilizationTarget")) {
+ utilizationTarget = _json["utilizationTarget"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (utilizationTarget != null) {
+ _json["utilizationTarget"] = utilizationTarget;
+ }
+ return _json;
+ }
+}
+
+/** Custom utilization metric policy. */
+class AutoscalingPolicyCustomMetricUtilization {
+ /**
+ * The identifier of the Stackdriver Monitoring metric. The metric cannot have
+ * negative values and should be a utilization metric, which means that the
+ * number of virtual machines handling requests should increase or decrease
+ * proportionally to the metric. The metric must also have a label of
+ * compute.googleapis.com/resource_id with the value of the instance's unique
+ * ID, although this alone does not guarantee that the metric is valid.
+ *
+ * For example, the following is a valid metric:
+ * compute.googleapis.com/instance/network/received_bytes_count
+ * The following is not a valid metric because it does not increase or
+ * decrease based on usage:
+ * compute.googleapis.com/instance/cpu/reserved_cores
+ */
+ core.String metric;
+ /**
+ * Target value of the metric which autoscaler should maintain. Must be a
+ * positive value.
+ */
+ core.double utilizationTarget;
+ /**
+ * Defines how target utilization value is expressed for a Stackdriver
+ * Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. If
+ * not specified, the default is GAUGE.
+ * Possible string values are:
+ * - "DELTA_PER_MINUTE"
+ * - "DELTA_PER_SECOND"
+ * - "GAUGE"
+ */
+ core.String utilizationTargetType;
+
+ AutoscalingPolicyCustomMetricUtilization();
+
+ AutoscalingPolicyCustomMetricUtilization.fromJson(core.Map _json) {
+ if (_json.containsKey("metric")) {
+ metric = _json["metric"];
+ }
+ if (_json.containsKey("utilizationTarget")) {
+ utilizationTarget = _json["utilizationTarget"];
+ }
+ if (_json.containsKey("utilizationTargetType")) {
+ utilizationTargetType = _json["utilizationTargetType"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (metric != null) {
+ _json["metric"] = metric;
+ }
+ if (utilizationTarget != null) {
+ _json["utilizationTarget"] = utilizationTarget;
+ }
+ if (utilizationTargetType != null) {
+ _json["utilizationTargetType"] = utilizationTargetType;
+ }
+ return _json;
+ }
+}
+
+/** Configuration parameters of autoscaling based on load balancing. */
+class AutoscalingPolicyLoadBalancingUtilization {
+ /**
+ * Fraction of backend capacity utilization (set in HTTP(s) load balancing
+ * configuration) that autoscaler should maintain. Must be a positive float
+ * value. If not defined, the default is 0.8.
+ */
+ core.double utilizationTarget;
+
+ AutoscalingPolicyLoadBalancingUtilization();
+
+ AutoscalingPolicyLoadBalancingUtilization.fromJson(core.Map _json) {
+ if (_json.containsKey("utilizationTarget")) {
+ utilizationTarget = _json["utilizationTarget"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (utilizationTarget != null) {
+ _json["utilizationTarget"] = utilizationTarget;
+ }
+ return _json;
+ }
+}
+
+/** Message containing information of one individual backend. */
+class Backend {
+ /**
+ * Specifies the balancing mode for this backend. For global HTTP(S) or
+ * TCP/SSL load balancing, the default is UTILIZATION. Valid values are
+ * UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for TCP/SSL).
+ *
+ * This cannot be used for internal load balancing.
+ * Possible string values are:
+ * - "CONNECTION"
+ * - "RATE"
+ * - "UTILIZATION"
+ */
+ core.String balancingMode;
+ /**
+ * A multiplier applied to the group's maximum servicing capacity (based on
+ * UTILIZATION, RATE or CONNECTION). Default value is 1, which means the group
+ * will serve up to 100% of its configured capacity (depending on
+ * balancingMode). A setting of 0 means the group is completely drained,
+ * offering 0% of its available Capacity. Valid range is [0.0,1.0].
+ *
+ * This cannot be used for internal load balancing.
+ */
+ core.double capacityScaler;
+ /**
+ * An optional description of this resource. Provide this property when you
+ * create the resource.
+ */
+ core.String description;
+ /**
+ * The fully-qualified URL of a zonal Instance Group resource. This instance
+ * group defines the list of instances that serve traffic. Member virtual
+ * machine instances from each instance group must live in the same zone as
+ * the instance group itself. No two backends in a backend service are allowed
+ * to use same Instance Group resource.
+ *
+ * Note that you must specify an Instance Group resource using the
+ * fully-qualified URL, rather than a partial URL.
+ *
+ * When the BackendService has load balancing scheme INTERNAL, the instance
+ * group must be in a zone within the same region as the BackendService.
+ */
+ core.String group;
+ /**
+ * The max number of simultaneous connections for the group. Can be used with
+ * either CONNECTION or UTILIZATION balancing modes. For CONNECTION mode,
+ * either maxConnections or maxConnectionsPerInstance must be set.
+ *
+ * This cannot be used for internal load balancing.
+ */
+ core.int maxConnections;
+ /**
+ * The max number of simultaneous connections that a single backend instance
+ * can handle. This is used to calculate the capacity of the group. Can be
+ * used in either CONNECTION or UTILIZATION balancing modes. For CONNECTION
+ * mode, either maxConnections or maxConnectionsPerInstance must be set.
+ *
+ * This cannot be used for internal load balancing.
+ */
+ core.int maxConnectionsPerInstance;
+ /**
+ * The max requests per second (RPS) of the group. Can be used with either
+ * RATE or UTILIZATION balancing modes, but required if RATE mode. For RATE
+ * mode, either maxRate or maxRatePerInstance must be set.
+ *
+ * This cannot be used for internal load balancing.
+ */
+ core.int maxRate;
+ /**
+ * The max requests per second (RPS) that a single backend instance can
+ * handle.This is used to calculate the capacity of the group. Can be used in
+ * either balancing mode. For RATE mode, either maxRate or maxRatePerInstance
+ * must be set.
+ *
+ * This cannot be used for internal load balancing.
+ */
+ core.double maxRatePerInstance;
+ /**
+ * Used when balancingMode is UTILIZATION. This ratio defines the CPU
+ * utilization target for the group. The default is 0.8. Valid range is [0.0,
+ * 1.0].
+ *
+ * This cannot be used for internal load balancing.
+ */
+ core.double maxUtilization;
+
+ Backend();
+
+ Backend.fromJson(core.Map _json) {
+ if (_json.containsKey("balancingMode")) {
+ balancingMode = _json["balancingMode"];
+ }
+ if (_json.containsKey("capacityScaler")) {
+ capacityScaler = _json["capacityScaler"];
+ }
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
+ if (_json.containsKey("group")) {
+ group = _json["group"];
+ }
+ if (_json.containsKey("maxConnections")) {
+ maxConnections = _json["maxConnections"];
+ }
+ if (_json.containsKey("maxConnectionsPerInstance")) {
+ maxConnectionsPerInstance = _json["maxConnectionsPerInstance"];
+ }
+ if (_json.containsKey("maxRate")) {
+ maxRate = _json["maxRate"];
+ }
+ if (_json.containsKey("maxRatePerInstance")) {
+ maxRatePerInstance = _json["maxRatePerInstance"];
+ }
+ if (_json.containsKey("maxUtilization")) {
+ maxUtilization = _json["maxUtilization"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (balancingMode != null) {
+ _json["balancingMode"] = balancingMode;
+ }
+ if (capacityScaler != null) {
+ _json["capacityScaler"] = capacityScaler;
+ }
+ if (description != null) {
+ _json["description"] = description;
+ }
+ if (group != null) {
+ _json["group"] = group;
+ }
+ if (maxConnections != null) {
+ _json["maxConnections"] = maxConnections;
+ }
+ if (maxConnectionsPerInstance != null) {
+ _json["maxConnectionsPerInstance"] = maxConnectionsPerInstance;
+ }
+ if (maxRate != null) {
+ _json["maxRate"] = maxRate;
+ }
+ if (maxRatePerInstance != null) {
+ _json["maxRatePerInstance"] = maxRatePerInstance;
+ }
+ if (maxUtilization != null) {
+ _json["maxUtilization"] = maxUtilization;
+ }
+ return _json;
+ }
+}
+
+/**
+ * A BackendService resource. This resource defines a group of backend virtual
+ * machines and their serving capacity.
+ */
+class BackendService {
+ /**
+ * Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE. If
+ * set to 0, the cookie is non-persistent and lasts only until the end of the
+ * browser session (or equivalent). The maximum allowed value for TTL is one
+ * day.
+ *
+ * When the load balancing scheme is INTERNAL, this field is not used.
+ */
+ core.int affinityCookieTtlSec;
+ /** The list of backends that serve this BackendService. */
+ core.List<Backend> backends;
+ ConnectionDraining connectionDraining;
+ /** [Output Only] Creation timestamp in RFC3339 text format. */
+ core.String creationTimestamp;
+ /**
+ * An optional description of this resource. Provide this property when you
+ * create the resource.
+ */
+ core.String description;
+ /**
+ * If true, enable Cloud CDN for this BackendService.
+ *
+ * When the load balancing scheme is INTERNAL, this field is not used.
+ */
+ core.bool enableCDN;
+ /**
+ * Fingerprint of this resource. A hash of the contents stored in this object.
+ * This field is used in optimistic locking. This field will be ignored when
+ * inserting a BackendService. An up-to-date fingerprint must be provided in
+ * order to update the BackendService.
+ */
+ core.String fingerprint;
+ core.List<core.int> get fingerprintAsBytes {
+ return convert.BASE64.decode(fingerprint);
+ }
+
+ void set fingerprintAsBytes(core.List<core.int> _bytes) {
+ fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-");
+ }
+ /**
+ * The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for
+ * health checking this BackendService. Currently at most one health check can
+ * be specified, and a health check is required.
+ *
+ * For internal load balancing, a URL to a HealthCheck resource must be
+ * specified instead.
+ */
+ core.List<core.String> healthChecks;
+ /**
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
+ */
+ core.String id;
+ /**
+ * [Output Only] Type of resource. Always compute#backendService for backend
+ * services.
+ */
+ core.String kind;
+ /**
+ *
+ * Possible string values are:
+ * - "EXTERNAL"
+ * - "INTERNAL"
+ * - "INVALID_LOAD_BALANCING_SCHEME"
+ */
+ core.String loadBalancingScheme;
+ /**
+ * Name of the resource. Provided by the client when the resource is created.
+ * The name must be 1-63 characters long, and comply with RFC1035.
+ * Specifically, the name must be 1-63 characters long and match the regular
+ * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
+ * be a lowercase letter, and all following characters must be a dash,
+ * lowercase letter, or digit, except the last character, which cannot be a
+ * dash.
+ */
+ core.String name;
+ /**
+ * Deprecated in favor of portName. The TCP port to connect on the backend.
+ * The default value is 80.
+ *
+ * This cannot be used for internal load balancing.
+ */
+ core.int port;
+ /**
+ * Name of backend port. The same name should appear in the instance groups
+ * referenced by this service. Required when the load balancing scheme is
+ * EXTERNAL.
+ *
+ * When the load balancing scheme is INTERNAL, this field is not used.
+ */
+ core.String portName;
+ /**
+ * The protocol this BackendService uses to communicate with backends.
+ *
+ * Possible values are HTTP, HTTPS, HTTP2, TCP and SSL. The default is HTTP.
+ *
+ * For internal load balancing, the possible values are TCP and UDP, and the
+ * default is TCP.
+ * Possible string values are:
+ * - "HTTP"
+ * - "HTTPS"
+ * - "SSL"
+ * - "TCP"
+ * - "UDP"
+ */
+ core.String protocol;
+ /**
+ * [Output Only] URL of the region where the regional backend service resides.
+ * This field is not applicable to global backend services.
+ */
+ core.String region;
+ /** [Output Only] Server-defined URL for the resource. */
+ core.String selfLink;
+ /**
+ * Type of session affinity to use. The default is NONE.
+ *
+ * When the load balancing scheme is EXTERNAL, can be NONE, CLIENT_IP, or
+ * GENERATED_COOKIE.
+ *
+ * When the load balancing scheme is INTERNAL, can be NONE, CLIENT_IP,
+ * CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
+ *
+ * When the protocol is UDP, this field is not used.
+ * Possible string values are:
+ * - "CLIENT_IP"
+ * - "CLIENT_IP_PORT_PROTO"
+ * - "CLIENT_IP_PROTO"
+ * - "GENERATED_COOKIE"
+ * - "NONE"
+ */
+ core.String sessionAffinity;
+ /**
+ * How many seconds to wait for the backend before considering it a failed
+ * request. Default is 30 seconds.
+ */
+ core.int timeoutSec;
+
+ BackendService();
+
+ BackendService.fromJson(core.Map _json) {
+ if (_json.containsKey("affinityCookieTtlSec")) {
+ affinityCookieTtlSec = _json["affinityCookieTtlSec"];
+ }
+ if (_json.containsKey("backends")) {
+ backends = _json["backends"].map((value) => new Backend.fromJson(value)).toList();
+ }
+ if (_json.containsKey("connectionDraining")) {
+ connectionDraining = new ConnectionDraining.fromJson(_json["connectionDraining"]);
+ }
+ if (_json.containsKey("creationTimestamp")) {
+ creationTimestamp = _json["creationTimestamp"];
+ }
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
+ if (_json.containsKey("enableCDN")) {
+ enableCDN = _json["enableCDN"];
+ }
+ if (_json.containsKey("fingerprint")) {
+ fingerprint = _json["fingerprint"];
+ }
+ if (_json.containsKey("healthChecks")) {
+ healthChecks = _json["healthChecks"];
+ }
+ if (_json.containsKey("id")) {
+ id = _json["id"];
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
}
+ if (_json.containsKey("loadBalancingScheme")) {
+ loadBalancingScheme = _json["loadBalancingScheme"];
+ }
if (_json.containsKey("name")) {
name = _json["name"];
}
+ if (_json.containsKey("port")) {
+ port = _json["port"];
+ }
+ if (_json.containsKey("portName")) {
+ portName = _json["portName"];
+ }
+ if (_json.containsKey("protocol")) {
+ protocol = _json["protocol"];
+ }
if (_json.containsKey("region")) {
region = _json["region"];
}
if (_json.containsKey("selfLink")) {
selfLink = _json["selfLink"];
}
- if (_json.containsKey("status")) {
- status = _json["status"];
+ if (_json.containsKey("sessionAffinity")) {
+ sessionAffinity = _json["sessionAffinity"];
}
- if (_json.containsKey("users")) {
- users = _json["users"];
+ if (_json.containsKey("timeoutSec")) {
+ timeoutSec = _json["timeoutSec"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (address != null) {
- _json["address"] = address;
+ if (affinityCookieTtlSec != null) {
+ _json["affinityCookieTtlSec"] = affinityCookieTtlSec;
+ }
+ if (backends != null) {
+ _json["backends"] = backends.map((value) => (value).toJson()).toList();
+ }
+ if (connectionDraining != null) {
+ _json["connectionDraining"] = (connectionDraining).toJson();
}
if (creationTimestamp != null) {
_json["creationTimestamp"] = creationTimestamp;
@@ -15037,62 +18571,75 @@ class Address {
if (description != null) {
_json["description"] = description;
}
+ if (enableCDN != null) {
+ _json["enableCDN"] = enableCDN;
+ }
+ if (fingerprint != null) {
+ _json["fingerprint"] = fingerprint;
+ }
+ if (healthChecks != null) {
+ _json["healthChecks"] = healthChecks;
+ }
if (id != null) {
_json["id"] = id;
}
if (kind != null) {
_json["kind"] = kind;
}
+ if (loadBalancingScheme != null) {
+ _json["loadBalancingScheme"] = loadBalancingScheme;
+ }
if (name != null) {
_json["name"] = name;
}
+ if (port != null) {
+ _json["port"] = port;
+ }
+ if (portName != null) {
+ _json["portName"] = portName;
+ }
+ if (protocol != null) {
+ _json["protocol"] = protocol;
+ }
if (region != null) {
_json["region"] = region;
}
if (selfLink != null) {
_json["selfLink"] = selfLink;
}
- if (status != null) {
- _json["status"] = status;
+ if (sessionAffinity != null) {
+ _json["sessionAffinity"] = sessionAffinity;
}
- if (users != null) {
- _json["users"] = users;
+ if (timeoutSec != null) {
+ _json["timeoutSec"] = timeoutSec;
}
return _json;
}
}
-class AddressAggregatedList {
+/** Contains a list of BackendServicesScopedList. */
+class BackendServiceAggregatedList {
/**
* [Output Only] Unique identifier for the resource; defined by the server.
*/
core.String id;
- /** [Output Only] A map of scoped address lists. */
- core.Map<core.String, AddressesScopedList> items;
- /**
- * [Output Only] Type of resource. Always compute#addressAggregatedList for
- * aggregated lists of addresses.
- */
+ /** A map of scoped BackendService lists. */
+ core.Map<core.String, BackendServicesScopedList> items;
+ /** Type of resource. */
core.String kind;
- /**
- * [Output Only] This token allows you to get the next page of results for
- * list requests. If the number of results is larger than maxResults, use the
- * nextPageToken as a value for the query parameter pageToken in the next list
- * request. Subsequent list requests will have their own nextPageToken to
- * continue paging through the results.
- */
+ /** [Output Only] A token used to continue a truncated list request. */
core.String nextPageToken;
/** [Output Only] Server-defined URL for this resource. */
core.String selfLink;
- AddressAggregatedList();
+ BackendServiceAggregatedList();
- AddressAggregatedList.fromJson(core.Map _json) {
+ BackendServiceAggregatedList.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
if (_json.containsKey("items")) {
- items = commons.mapMap(_json["items"], (item) => new AddressesScopedList.fromJson(item));
+ items = commons.mapMap(_json["items"], (item) => new BackendServicesScopedList.fromJson(item));
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
@@ -15126,39 +18673,63 @@ class AddressAggregatedList {
}
}
-/** Contains a list of addresses. */
-class AddressList {
+class BackendServiceGroupHealth {
+ core.List<HealthStatus> healthStatus;
/**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
+ * [Output Only] Type of resource. Always compute#backendServiceGroupHealth
+ * for the health of backend services.
+ */
+ core.String kind;
+
+ BackendServiceGroupHealth();
+
+ BackendServiceGroupHealth.fromJson(core.Map _json) {
+ if (_json.containsKey("healthStatus")) {
+ healthStatus = _json["healthStatus"].map((value) => new HealthStatus.fromJson(value)).toList();
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (healthStatus != null) {
+ _json["healthStatus"] = healthStatus.map((value) => (value).toJson()).toList();
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ return _json;
+ }
+}
+
+/** Contains a list of BackendService resources. */
+class BackendServiceList {
+ /**
+ * [Output Only] Unique identifier for the resource; defined by the server.
*/
core.String id;
- /** [Output Only] A list of addresses. */
- core.List<Address> items;
+ /** A list of BackendService resources. */
+ core.List<BackendService> items;
/**
- * [Output Only] Type of resource. Always compute#addressList for lists of
- * addresses.
+ * [Output Only] Type of resource. Always compute#backendServiceList for lists
+ * of backend services.
*/
core.String kind;
- /**
- * [Output Only] This token allows you to get the next page of results for
- * list requests. If the number of results is larger than maxResults, use the
- * nextPageToken as a value for the query parameter pageToken in the next list
- * request. Subsequent list requests will have their own nextPageToken to
- * continue paging through the results.
- */
+ /** [Output Only] A token used to continue a truncated list request. */
core.String nextPageToken;
- /** [Output Only] Server-defined URL for the resource. */
+ /** [Output Only] Server-defined URL for this resource. */
core.String selfLink;
- AddressList();
+ BackendServiceList();
- AddressList.fromJson(core.Map _json) {
+ BackendServiceList.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new Address.fromJson(value)).toList();
+ items = _json["items"].map((value) => new BackendService.fromJson(value)).toList();
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
@@ -15192,7 +18763,7 @@ class AddressList {
}
}
-class AddressesScopedListWarningData {
+class BackendServicesScopedListWarningData {
/**
* [Output Only] A key that provides more detail on the warning being
* returned. For example, for warnings where there are no results in a list
@@ -15206,9 +18777,9 @@ class AddressesScopedListWarningData {
/** [Output Only] A warning data value corresponding to the key. */
core.String value;
- AddressesScopedListWarningData();
+ BackendServicesScopedListWarningData();
- AddressesScopedListWarningData.fromJson(core.Map _json) {
+ BackendServicesScopedListWarningData.fromJson(core.Map _json) {
if (_json.containsKey("key")) {
key = _json["key"];
}
@@ -15230,10 +18801,10 @@ class AddressesScopedListWarningData {
}
/**
- * [Output Only] Informational warning which replaces the list of addresses when
- * the list is empty.
+ * Informational warning which replaces the list of backend services when the
+ * list is empty.
*/
-class AddressesScopedListWarning {
+class BackendServicesScopedListWarning {
/**
* [Output Only] A warning code, if applicable. For example, Compute Engine
* returns NO_RESULTS_ON_PAGE if there are no results in the response.
@@ -15261,18 +18832,18 @@ class AddressesScopedListWarning {
* example:
* "data": [ { "key": "scope", "value": "zones/us-east1-d" }
*/
- core.List<AddressesScopedListWarningData> data;
+ core.List<BackendServicesScopedListWarningData> data;
/** [Output Only] A human-readable description of the warning code. */
core.String message;
- AddressesScopedListWarning();
+ BackendServicesScopedListWarning();
- AddressesScopedListWarning.fromJson(core.Map _json) {
+ BackendServicesScopedListWarning.fromJson(core.Map _json) {
if (_json.containsKey("code")) {
code = _json["code"];
}
if (_json.containsKey("data")) {
- data = _json["data"].map((value) => new AddressesScopedListWarningData.fromJson(value)).toList();
+ data = _json["data"].map((value) => new BackendServicesScopedListWarningData.fromJson(value)).toList();
}
if (_json.containsKey("message")) {
message = _json["message"];
@@ -15294,30 +18865,30 @@ class AddressesScopedListWarning {
}
}
-class AddressesScopedList {
- /** [Output Only] List of addresses contained in this scope. */
- core.List<Address> addresses;
+class BackendServicesScopedList {
+ /** List of BackendServices contained in this scope. */
+ core.List<BackendService> backendServices;
/**
- * [Output Only] Informational warning which replaces the list of addresses
- * when the list is empty.
+ * Informational warning which replaces the list of backend services when the
+ * list is empty.
*/
- AddressesScopedListWarning warning;
+ BackendServicesScopedListWarning warning;
- AddressesScopedList();
+ BackendServicesScopedList();
- AddressesScopedList.fromJson(core.Map _json) {
- if (_json.containsKey("addresses")) {
- addresses = _json["addresses"].map((value) => new Address.fromJson(value)).toList();
+ BackendServicesScopedList.fromJson(core.Map _json) {
+ if (_json.containsKey("backendServices")) {
+ backendServices = _json["backendServices"].map((value) => new BackendService.fromJson(value)).toList();
}
if (_json.containsKey("warning")) {
- warning = new AddressesScopedListWarning.fromJson(_json["warning"]);
+ warning = new BackendServicesScopedListWarning.fromJson(_json["warning"]);
}
}
core.Map toJson() {
var _json = new core.Map();
- if (addresses != null) {
- _json["addresses"] = addresses.map((value) => (value).toJson()).toList();
+ if (backendServices != null) {
+ _json["backendServices"] = backendServices.map((value) => (value).toJson()).toList();
}
if (warning != null) {
_json["warning"] = (warning).toJson();
@@ -15326,1596 +18897,1484 @@ class AddressesScopedList {
}
}
-/** An instance-attached disk resource. */
-class AttachedDisk {
+class CacheInvalidationRule {
+ core.String path;
+
+ CacheInvalidationRule();
+
+ CacheInvalidationRule.fromJson(core.Map _json) {
+ if (_json.containsKey("path")) {
+ path = _json["path"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (path != null) {
+ _json["path"] = path;
+ }
+ return _json;
+ }
+}
+
+/** Message containing connection draining configuration. */
+class ConnectionDraining {
/**
- * Specifies whether the disk will be auto-deleted when the instance is
- * deleted (but not when the disk is detached from the instance).
+ * Time for which instance will be drained (not accept new connections, but
+ * still work to finish started).
*/
- core.bool autoDelete;
+ core.int drainingTimeoutSec;
+
+ ConnectionDraining();
+
+ ConnectionDraining.fromJson(core.Map _json) {
+ if (_json.containsKey("drainingTimeoutSec")) {
+ drainingTimeoutSec = _json["drainingTimeoutSec"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (drainingTimeoutSec != null) {
+ _json["drainingTimeoutSec"] = drainingTimeoutSec;
+ }
+ return _json;
+ }
+}
+
+/** Represents a customer-supplied encryption key */
+class CustomerEncryptionKey {
/**
- * Indicates that this is a boot disk. The virtual machine will use the first
- * partition of the disk for its root filesystem.
+ * Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
+ * base64 to either encrypt or decrypt this resource.
*/
- core.bool boot;
+ core.String rawKey;
/**
- * Specifies a unique device name of your choice that is reflected into the
- * /dev/disk/by-id/google-* tree of a Linux operating system running within
- * the instance. This name can be used to reference the device for mounting,
- * resizing, and so on, from within the instance.
- *
- * If not specified, the server chooses a default device name to apply to this
- * disk, in the form persistent-disks-x, where x is a number assigned by
- * Google Compute Engine. This field is only applicable for persistent disks.
+ * [Output only] The RFC 4648 base64 encoded SHA-256 hash of the
+ * customer-supplied encryption key that protects this resource.
*/
- core.String deviceName;
+ core.String sha256;
+
+ CustomerEncryptionKey();
+
+ CustomerEncryptionKey.fromJson(core.Map _json) {
+ if (_json.containsKey("rawKey")) {
+ rawKey = _json["rawKey"];
+ }
+ if (_json.containsKey("sha256")) {
+ sha256 = _json["sha256"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (rawKey != null) {
+ _json["rawKey"] = rawKey;
+ }
+ if (sha256 != null) {
+ _json["sha256"] = sha256;
+ }
+ return _json;
+ }
+}
+
+class CustomerEncryptionKeyProtectedDisk {
/**
- * Encrypts or decrypts a disk using a customer-supplied encryption key.
- *
- * If you are creating a new disk, this field encrypts the new disk using an
- * encryption key that you provide. If you are attaching an existing disk that
- * is already encrypted, this field decrypts the disk using the
- * customer-supplied encryption key.
- *
- * If you encrypt a disk using a customer-supplied key, you must provide the
- * same key again when you attempt to use this resource at a later time. For
- * example, you must provide the key when you create a snapshot or an image
- * from the disk or when you attach the disk to a virtual machine instance.
- *
- * If you do not provide an encryption key, then the disk will be encrypted
- * using an automatically generated key and you do not need to provide a key
- * to use the disk later.
- *
- * Instance templates do not store customer-supplied encryption keys, so you
- * cannot use your own keys to encrypt disks in a managed instance group.
+ * Decrypts data associated with the disk with a customer-supplied encryption
+ * key.
*/
CustomerEncryptionKey diskEncryptionKey;
/**
- * Assigns a zero-based index to this disk, where 0 is reserved for the boot
- * disk. For example, if you have many disks attached to an instance, each
- * disk would have a unique index number. If not specified, the server will
- * choose an appropriate value.
- */
- core.int index;
- /**
- * [Input Only] Specifies the parameters for a new disk that will be created
- * alongside the new instance. Use initialization parameters to create boot
- * disks or local SSDs attached to the new instance.
- *
- * This property is mutually exclusive with the source property; you can only
- * define one or the other, but not both.
- */
- AttachedDiskInitializeParams initializeParams;
- /**
- * Specifies the disk interface to use for attaching this disk, which is
- * either SCSI or NVME. The default is SCSI. Persistent disks must always use
- * SCSI and the request will fail if you attempt to attach a persistent disk
- * in any other format than SCSI. Local SSDs can use either NVME or SCSI. For
- * performance characteristics of SCSI over NVMe, see Local SSD performance.
- * Possible string values are:
- * - "NVME"
- * - "SCSI"
- */
- core.String interface;
- /**
- * [Output Only] Type of the resource. Always compute#attachedDisk for
- * attached disks.
- */
- core.String kind;
- /** [Output Only] Any valid publicly visible licenses. */
- core.List<core.String> licenses;
- /**
- * The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If
- * not specified, the default is to attach the disk in READ_WRITE mode.
- * Possible string values are:
- * - "READ_ONLY"
- * - "READ_WRITE"
- */
- core.String mode;
- /**
* Specifies a valid partial or full URL to an existing Persistent Disk
- * resource. When creating a new instance, one of initializeParams.sourceImage
- * or disks.source is required.
- *
- * If desired, you can also attach existing non-root persistent disks using
- * this property. This field is only applicable for persistent disks.
- *
- * Note that for InstanceTemplate, specify the disk name, not the URL for the
- * disk.
+ * resource. This field is only applicable for persistent disks.
*/
core.String source;
- /**
- * Specifies the type of the disk, either SCRATCH or PERSISTENT. If not
- * specified, the default is PERSISTENT.
- * Possible string values are:
- * - "PERSISTENT"
- * - "SCRATCH"
- */
- core.String type;
-
- AttachedDisk();
-
- AttachedDisk.fromJson(core.Map _json) {
- if (_json.containsKey("autoDelete")) {
- autoDelete = _json["autoDelete"];
- }
- if (_json.containsKey("boot")) {
- boot = _json["boot"];
- }
- if (_json.containsKey("deviceName")) {
- deviceName = _json["deviceName"];
- }
- if (_json.containsKey("diskEncryptionKey")) {
- diskEncryptionKey = new CustomerEncryptionKey.fromJson(_json["diskEncryptionKey"]);
- }
- if (_json.containsKey("index")) {
- index = _json["index"];
- }
- if (_json.containsKey("initializeParams")) {
- initializeParams = new AttachedDiskInitializeParams.fromJson(_json["initializeParams"]);
- }
- if (_json.containsKey("interface")) {
- interface = _json["interface"];
- }
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
- }
- if (_json.containsKey("licenses")) {
- licenses = _json["licenses"];
- }
- if (_json.containsKey("mode")) {
- mode = _json["mode"];
+
+ CustomerEncryptionKeyProtectedDisk();
+
+ CustomerEncryptionKeyProtectedDisk.fromJson(core.Map _json) {
+ if (_json.containsKey("diskEncryptionKey")) {
+ diskEncryptionKey = new CustomerEncryptionKey.fromJson(_json["diskEncryptionKey"]);
}
if (_json.containsKey("source")) {
source = _json["source"];
}
- if (_json.containsKey("type")) {
- type = _json["type"];
- }
}
core.Map toJson() {
var _json = new core.Map();
- if (autoDelete != null) {
- _json["autoDelete"] = autoDelete;
- }
- if (boot != null) {
- _json["boot"] = boot;
- }
- if (deviceName != null) {
- _json["deviceName"] = deviceName;
- }
if (diskEncryptionKey != null) {
_json["diskEncryptionKey"] = (diskEncryptionKey).toJson();
}
- if (index != null) {
- _json["index"] = index;
- }
- if (initializeParams != null) {
- _json["initializeParams"] = (initializeParams).toJson();
- }
- if (interface != null) {
- _json["interface"] = interface;
- }
- if (kind != null) {
- _json["kind"] = kind;
- }
- if (licenses != null) {
- _json["licenses"] = licenses;
- }
- if (mode != null) {
- _json["mode"] = mode;
- }
if (source != null) {
_json["source"] = source;
}
- if (type != null) {
- _json["type"] = type;
- }
return _json;
}
}
-/**
- * [Input Only] Specifies the parameters for a new disk that will be created
- * alongside the new instance. Use initialization parameters to create boot
- * disks or local SSDs attached to the new instance.
- *
- * This property is mutually exclusive with the source property; you can only
- * define one or the other, but not both.
- */
-class AttachedDiskInitializeParams {
+/** Deprecation status for a public resource. */
+class DeprecationStatus {
/**
- * Specifies the disk name. If not specified, the default is to use the name
- * of the instance.
+ * An optional RFC3339 timestamp on or after which the state of this resource
+ * is intended to change to DELETED. This is only informational and the status
+ * will not change unless the client explicitly changes it.
*/
- core.String diskName;
- /** Specifies the size of the disk in base-2 GB. */
- core.String diskSizeGb;
+ core.String deleted;
/**
- * Specifies the disk type to use to create the instance. If not specified,
- * the default is pd-standard, specified using the full URL. For example:
- *
- * https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard
- *
- * Other values include pd-ssd and local-ssd. If you define this field, you
- * can provide either the full or partial URL. For example, the following are
- * valid values:
- * -
- * https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType
- * - projects/project/zones/zone/diskTypes/diskType
- * - zones/zone/diskTypes/diskType Note that for InstanceTemplate, this is
- * the name of the disk type, not URL.
+ * An optional RFC3339 timestamp on or after which the state of this resource
+ * is intended to change to DEPRECATED. This is only informational and the
+ * status will not change unless the client explicitly changes it.
*/
- core.String diskType;
+ core.String deprecated;
/**
- * The source image to create this disk. When creating a new instance, one of
- * initializeParams.sourceImage or disks.source is required.
- *
- * To create a disk with one of the public operating system images, specify
- * the image by its family name. For example, specify family/debian-8 to use
- * the latest Debian 8 image:
- *
- * projects/debian-cloud/global/images/family/debian-8
- *
- * Alternatively, use a specific version of a public operating system image:
- *
- * projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD
- *
- * To create a disk with a private image that you created, specify the image
- * name in the following format:
- *
- * global/images/my-private-image
- *
- * You can also specify a private image by its image family, which returns the
- * latest version of the image in that family. Replace the image name with
- * family/family-name:
- *
- * global/images/family/my-private-family
- *
- * If the source image is deleted later, this field will not be set.
+ * An optional RFC3339 timestamp on or after which the state of this resource
+ * is intended to change to OBSOLETE. This is only informational and the
+ * status will not change unless the client explicitly changes it.
*/
- core.String sourceImage;
+ core.String obsolete;
/**
- * The customer-supplied encryption key of the source image. Required if the
- * source image is protected by a customer-supplied encryption key.
- *
- * Instance templates do not store customer-supplied encryption keys, so you
- * cannot create disks for instances in a managed instance group if the source
- * images are encrypted with your own keys.
+ * The URL of the suggested replacement for a deprecated resource. The
+ * suggested replacement resource must be the same kind of resource as the
+ * deprecated resource.
*/
- CustomerEncryptionKey sourceImageEncryptionKey;
+ core.String replacement;
+ /**
+ * The deprecation state of this resource. This can be DEPRECATED, OBSOLETE,
+ * or DELETED. Operations which create a new resource using a DEPRECATED
+ * resource will return successfully, but with a warning indicating the
+ * deprecated resource and recommending its replacement. Operations which use
+ * OBSOLETE or DELETED resources will be rejected and result in an error.
+ * Possible string values are:
+ * - "DELETED"
+ * - "DEPRECATED"
+ * - "OBSOLETE"
+ */
+ core.String state;
- AttachedDiskInitializeParams();
+ DeprecationStatus();
- AttachedDiskInitializeParams.fromJson(core.Map _json) {
- if (_json.containsKey("diskName")) {
- diskName = _json["diskName"];
+ DeprecationStatus.fromJson(core.Map _json) {
+ if (_json.containsKey("deleted")) {
+ deleted = _json["deleted"];
}
- if (_json.containsKey("diskSizeGb")) {
- diskSizeGb = _json["diskSizeGb"];
+ if (_json.containsKey("deprecated")) {
+ deprecated = _json["deprecated"];
}
- if (_json.containsKey("diskType")) {
- diskType = _json["diskType"];
+ if (_json.containsKey("obsolete")) {
+ obsolete = _json["obsolete"];
}
- if (_json.containsKey("sourceImage")) {
- sourceImage = _json["sourceImage"];
+ if (_json.containsKey("replacement")) {
+ replacement = _json["replacement"];
}
- if (_json.containsKey("sourceImageEncryptionKey")) {
- sourceImageEncryptionKey = new CustomerEncryptionKey.fromJson(_json["sourceImageEncryptionKey"]);
+ if (_json.containsKey("state")) {
+ state = _json["state"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (diskName != null) {
- _json["diskName"] = diskName;
+ if (deleted != null) {
+ _json["deleted"] = deleted;
}
- if (diskSizeGb != null) {
- _json["diskSizeGb"] = diskSizeGb;
+ if (deprecated != null) {
+ _json["deprecated"] = deprecated;
}
- if (diskType != null) {
- _json["diskType"] = diskType;
+ if (obsolete != null) {
+ _json["obsolete"] = obsolete;
}
- if (sourceImage != null) {
- _json["sourceImage"] = sourceImage;
+ if (replacement != null) {
+ _json["replacement"] = replacement;
}
- if (sourceImageEncryptionKey != null) {
- _json["sourceImageEncryptionKey"] = (sourceImageEncryptionKey).toJson();
+ if (state != null) {
+ _json["state"] = state;
}
return _json;
}
}
-/**
- * Represents an Autoscaler resource. Autoscalers allow you to automatically
- * scale virtual machine instances in managed instance groups according to an
- * autoscaling policy that you define. For more information, read Autoscaling
- * Groups of Instances.
- */
-class Autoscaler {
+/** A Disk resource. */
+class Disk {
+ /** [Output Only] Creation timestamp in RFC3339 text format. */
+ core.String creationTimestamp;
/**
- * The configuration parameters for the autoscaling algorithm. You can define
- * one or more of the policies for an autoscaler: cpuUtilization,
- * customMetricUtilizations, and loadBalancingUtilization.
+ * An optional description of this resource. Provide this property when you
+ * create the resource.
+ */
+ core.String description;
+ /**
+ * Encrypts the disk using a customer-supplied encryption key.
+ *
+ * After you encrypt a disk with a customer-supplied key, you must provide the
+ * same key if you use the disk later (e.g. to create a disk snapshot or an
+ * image, or to attach the disk to a virtual machine).
+ *
+ * Customer-supplied encryption keys do not protect access to metadata of the
+ * disk.
+ *
+ * If you do not provide an encryption key when creating the disk, then the
+ * disk will be encrypted using an automatically generated key and you do not
+ * need to provide a key to use the disk later.
+ */
+ CustomerEncryptionKey diskEncryptionKey;
+ /**
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
+ */
+ core.String id;
+ /** [Output Only] Type of the resource. Always compute#disk for disks. */
+ core.String kind;
+ /** [Output Only] Last attach timestamp in RFC3339 text format. */
+ core.String lastAttachTimestamp;
+ /** [Output Only] Last detach timestamp in RFC3339 text format. */
+ core.String lastDetachTimestamp;
+ /** Any applicable publicly visible licenses. */
+ core.List<core.String> licenses;
+ /**
+ * Name of the resource. Provided by the client when the resource is created.
+ * The name must be 1-63 characters long, and comply with RFC1035.
+ * Specifically, the name must be 1-63 characters long and match the regular
+ * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
+ * be a lowercase letter, and all following characters must be a dash,
+ * lowercase letter, or digit, except the last character, which cannot be a
+ * dash.
+ */
+ core.String name;
+ /** Internal use only. */
+ core.String options;
+ /** [Output Only] Server-defined fully-qualified URL for this resource. */
+ core.String selfLink;
+ /**
+ * Size of the persistent disk, specified in GB. You can specify this field
+ * when creating a persistent disk using the sourceImage or sourceSnapshot
+ * parameter, or specify it alone to create an empty persistent disk.
+ *
+ * If you specify this field along with sourceImage or sourceSnapshot, the
+ * value of sizeGb must not be less than the size of the sourceImage or the
+ * size of the snapshot.
+ */
+ core.String sizeGb;
+ /**
+ * The source image used to create this disk. If the source image is deleted,
+ * this field will not be set.
+ *
+ * To create a disk with one of the public operating system images, specify
+ * the image by its family name. For example, specify family/debian-8 to use
+ * the latest Debian 8 image:
+ *
+ * projects/debian-cloud/global/images/family/debian-8
+ *
+ * Alternatively, use a specific version of a public operating system image:
+ *
+ * projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD
*
- * If none of these are specified, the default will be to autoscale based on
- * cpuUtilization to 0.6 or 60%.
+ * To create a disk with a private image that you created, specify the image
+ * name in the following format:
+ *
+ * global/images/my-private-image
+ *
+ * You can also specify a private image by its image family, which returns the
+ * latest version of the image in that family. Replace the image name with
+ * family/family-name:
+ *
+ * global/images/family/my-private-family
*/
- AutoscalingPolicy autoscalingPolicy;
- /** [Output Only] Creation timestamp in RFC3339 text format. */
- core.String creationTimestamp;
+ core.String sourceImage;
/**
- * An optional description of this resource. Provide this property when you
- * create the resource.
+ * The customer-supplied encryption key of the source image. Required if the
+ * source image is protected by a customer-supplied encryption key.
*/
- core.String description;
+ CustomerEncryptionKey sourceImageEncryptionKey;
/**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
+ * [Output Only] The ID value of the image used to create this disk. This
+ * value identifies the exact image that was used to create this persistent
+ * disk. For example, if you created the persistent disk from an image that
+ * was later deleted and recreated under the same name, the source image ID
+ * would identify the exact version of the image that was used.
*/
- core.String id;
+ core.String sourceImageId;
/**
- * [Output Only] Type of the resource. Always compute#autoscaler for
- * autoscalers.
+ * The source snapshot used to create this disk. You can provide this as a
+ * partial or full URL to the resource. For example, the following are valid
+ * values:
+ * -
+ * https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot
+ * - projects/project/global/snapshots/snapshot
+ * - global/snapshots/snapshot
*/
- core.String kind;
+ core.String sourceSnapshot;
/**
- * Name of the resource. Provided by the client when the resource is created.
- * The name must be 1-63 characters long, and comply with RFC1035.
- * Specifically, the name must be 1-63 characters long and match the regular
- * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
- * be a lowercase letter, and all following characters must be a dash,
- * lowercase letter, or digit, except the last character, which cannot be a
- * dash.
+ * The customer-supplied encryption key of the source snapshot. Required if
+ * the source snapshot is protected by a customer-supplied encryption key.
*/
- core.String name;
+ CustomerEncryptionKey sourceSnapshotEncryptionKey;
/**
- * [Output Only] URL of the region where the instance group resides (for
- * autoscalers living in regional scope).
+ * [Output Only] The unique ID of the snapshot used to create this disk. This
+ * value identifies the exact snapshot that was used to create this persistent
+ * disk. For example, if you created the persistent disk from a snapshot that
+ * was later deleted and recreated under the same name, the source snapshot ID
+ * would identify the exact version of the snapshot that was used.
*/
- core.String region;
- /** [Output Only] Server-defined URL for the resource. */
- core.String selfLink;
- /** URL of the managed instance group that this autoscaler will scale. */
- core.String target;
+ core.String sourceSnapshotId;
/**
- * [Output Only] URL of the zone where the instance group resides (for
- * autoscalers living in zonal scope).
+ * [Output Only] The status of disk creation.
+ * Possible string values are:
+ * - "CREATING"
+ * - "FAILED"
+ * - "READY"
+ * - "RESTORING"
+ */
+ core.String status;
+ /**
+ * URL of the disk type resource describing which disk type to use to create
+ * the disk. Provide this when creating the disk.
*/
+ core.String type;
+ /**
+ * [Output Only] Links to the users of the disk (attached instances) in form:
+ * project/zones/zone/instances/instance
+ */
+ core.List<core.String> users;
+ /** [Output Only] URL of the zone where the disk resides. */
core.String zone;
- Autoscaler();
+ Disk();
- Autoscaler.fromJson(core.Map _json) {
- if (_json.containsKey("autoscalingPolicy")) {
- autoscalingPolicy = new AutoscalingPolicy.fromJson(_json["autoscalingPolicy"]);
- }
+ Disk.fromJson(core.Map _json) {
if (_json.containsKey("creationTimestamp")) {
creationTimestamp = _json["creationTimestamp"];
}
if (_json.containsKey("description")) {
description = _json["description"];
}
+ if (_json.containsKey("diskEncryptionKey")) {
+ diskEncryptionKey = new CustomerEncryptionKey.fromJson(_json["diskEncryptionKey"]);
+ }
if (_json.containsKey("id")) {
id = _json["id"];
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
}
- if (_json.containsKey("name")) {
- name = _json["name"];
- }
- if (_json.containsKey("region")) {
- region = _json["region"];
- }
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
- }
- if (_json.containsKey("target")) {
- target = _json["target"];
- }
- if (_json.containsKey("zone")) {
- zone = _json["zone"];
- }
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (autoscalingPolicy != null) {
- _json["autoscalingPolicy"] = (autoscalingPolicy).toJson();
- }
- if (creationTimestamp != null) {
- _json["creationTimestamp"] = creationTimestamp;
- }
- if (description != null) {
- _json["description"] = description;
- }
- if (id != null) {
- _json["id"] = id;
- }
- if (kind != null) {
- _json["kind"] = kind;
- }
- if (name != null) {
- _json["name"] = name;
- }
- if (region != null) {
- _json["region"] = region;
- }
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
- }
- if (target != null) {
- _json["target"] = target;
- }
- if (zone != null) {
- _json["zone"] = zone;
+ if (_json.containsKey("lastAttachTimestamp")) {
+ lastAttachTimestamp = _json["lastAttachTimestamp"];
}
- return _json;
- }
-}
-
-class AutoscalerAggregatedList {
- /**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
- */
- core.String id;
- /** A map of scoped autoscaler lists. */
- core.Map<core.String, AutoscalersScopedList> items;
- /**
- * [Output Only] Type of resource. Always compute#autoscalerAggregatedList for
- * aggregated lists of autoscalers.
- */
- core.String kind;
- /**
- * [Output Only] This token allows you to get the next page of results for
- * list requests. If the number of results is larger than maxResults, use the
- * nextPageToken as a value for the query parameter pageToken in the next list
- * request. Subsequent list requests will have their own nextPageToken to
- * continue paging through the results.
- */
- core.String nextPageToken;
- /** [Output Only] Server-defined URL for this resource. */
- core.String selfLink;
-
- AutoscalerAggregatedList();
-
- AutoscalerAggregatedList.fromJson(core.Map _json) {
- if (_json.containsKey("id")) {
- id = _json["id"];
+ if (_json.containsKey("lastDetachTimestamp")) {
+ lastDetachTimestamp = _json["lastDetachTimestamp"];
}
- if (_json.containsKey("items")) {
- items = commons.mapMap(_json["items"], (item) => new AutoscalersScopedList.fromJson(item));
+ if (_json.containsKey("licenses")) {
+ licenses = _json["licenses"];
}
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
+ if (_json.containsKey("name")) {
+ name = _json["name"];
}
- if (_json.containsKey("nextPageToken")) {
- nextPageToken = _json["nextPageToken"];
+ if (_json.containsKey("options")) {
+ options = _json["options"];
}
if (_json.containsKey("selfLink")) {
selfLink = _json["selfLink"];
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (id != null) {
- _json["id"] = id;
+ if (_json.containsKey("sizeGb")) {
+ sizeGb = _json["sizeGb"];
}
- if (items != null) {
- _json["items"] = commons.mapMap(items, (item) => (item).toJson());
+ if (_json.containsKey("sourceImage")) {
+ sourceImage = _json["sourceImage"];
}
- if (kind != null) {
- _json["kind"] = kind;
+ if (_json.containsKey("sourceImageEncryptionKey")) {
+ sourceImageEncryptionKey = new CustomerEncryptionKey.fromJson(_json["sourceImageEncryptionKey"]);
}
- if (nextPageToken != null) {
- _json["nextPageToken"] = nextPageToken;
+ if (_json.containsKey("sourceImageId")) {
+ sourceImageId = _json["sourceImageId"];
}
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
+ if (_json.containsKey("sourceSnapshot")) {
+ sourceSnapshot = _json["sourceSnapshot"];
}
- return _json;
- }
-}
-
-/** Contains a list of Autoscaler resources. */
-class AutoscalerList {
- /**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
- */
- core.String id;
- /** A list of Autoscaler resources. */
- core.List<Autoscaler> items;
- /**
- * [Output Only] Type of resource. Always compute#autoscalerList for lists of
- * autoscalers.
- */
- core.String kind;
- /**
- * [Output Only] This token allows you to get the next page of results for
- * list requests. If the number of results is larger than maxResults, use the
- * nextPageToken as a value for the query parameter pageToken in the next list
- * request. Subsequent list requests will have their own nextPageToken to
- * continue paging through the results.
- */
- core.String nextPageToken;
- /** [Output Only] Server-defined URL for this resource. */
- core.String selfLink;
-
- AutoscalerList();
-
- AutoscalerList.fromJson(core.Map _json) {
- if (_json.containsKey("id")) {
- id = _json["id"];
+ if (_json.containsKey("sourceSnapshotEncryptionKey")) {
+ sourceSnapshotEncryptionKey = new CustomerEncryptionKey.fromJson(_json["sourceSnapshotEncryptionKey"]);
+ }
+ if (_json.containsKey("sourceSnapshotId")) {
+ sourceSnapshotId = _json["sourceSnapshotId"];
}
- if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new Autoscaler.fromJson(value)).toList();
+ if (_json.containsKey("status")) {
+ status = _json["status"];
}
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
+ if (_json.containsKey("type")) {
+ type = _json["type"];
}
- if (_json.containsKey("nextPageToken")) {
- nextPageToken = _json["nextPageToken"];
+ if (_json.containsKey("users")) {
+ users = _json["users"];
}
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
+ if (_json.containsKey("zone")) {
+ zone = _json["zone"];
}
}
core.Map toJson() {
var _json = new core.Map();
+ if (creationTimestamp != null) {
+ _json["creationTimestamp"] = creationTimestamp;
+ }
+ if (description != null) {
+ _json["description"] = description;
+ }
+ if (diskEncryptionKey != null) {
+ _json["diskEncryptionKey"] = (diskEncryptionKey).toJson();
+ }
if (id != null) {
_json["id"] = id;
}
- if (items != null) {
- _json["items"] = items.map((value) => (value).toJson()).toList();
- }
if (kind != null) {
_json["kind"] = kind;
}
- if (nextPageToken != null) {
- _json["nextPageToken"] = nextPageToken;
+ if (lastAttachTimestamp != null) {
+ _json["lastAttachTimestamp"] = lastAttachTimestamp;
}
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
+ if (lastDetachTimestamp != null) {
+ _json["lastDetachTimestamp"] = lastDetachTimestamp;
}
- return _json;
- }
-}
-
-class AutoscalersScopedListWarningData {
- /**
- * [Output Only] A key that provides more detail on the warning being
- * returned. For example, for warnings where there are no results in a list
- * request for a particular zone, this key might be scope and the key value
- * might be the zone name. Other examples might be a key indicating a
- * deprecated resource and a suggested replacement, or a warning about invalid
- * network settings (for example, if an instance attempts to perform IP
- * forwarding but is not enabled for IP forwarding).
- */
- core.String key;
- /** [Output Only] A warning data value corresponding to the key. */
- core.String value;
-
- AutoscalersScopedListWarningData();
-
- AutoscalersScopedListWarningData.fromJson(core.Map _json) {
- if (_json.containsKey("key")) {
- key = _json["key"];
+ if (licenses != null) {
+ _json["licenses"] = licenses;
}
- if (_json.containsKey("value")) {
- value = _json["value"];
+ if (name != null) {
+ _json["name"] = name;
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (key != null) {
- _json["key"] = key;
+ if (options != null) {
+ _json["options"] = options;
}
- if (value != null) {
- _json["value"] = value;
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
- return _json;
- }
-}
-
-/**
- * [Output Only] Informational warning which replaces the list of autoscalers
- * when the list is empty.
- */
-class AutoscalersScopedListWarning {
- /**
- * [Output Only] A warning code, if applicable. For example, Compute Engine
- * returns NO_RESULTS_ON_PAGE if there are no results in the response.
- * Possible string values are:
- * - "CLEANUP_FAILED"
- * - "DEPRECATED_RESOURCE_USED"
- * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
- * - "FIELD_VALUE_OVERRIDEN"
- * - "INJECTED_KERNELS_DEPRECATED"
- * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
- * - "NEXT_HOP_CANNOT_IP_FORWARD"
- * - "NEXT_HOP_INSTANCE_NOT_FOUND"
- * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
- * - "NEXT_HOP_NOT_RUNNING"
- * - "NOT_CRITICAL_ERROR"
- * - "NO_RESULTS_ON_PAGE"
- * - "REQUIRED_TOS_AGREEMENT"
- * - "RESOURCE_NOT_DELETED"
- * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
- * - "UNREACHABLE"
- */
- core.String code;
- /**
- * [Output Only] Metadata about this warning in key: value format. For
- * example:
- * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
- */
- core.List<AutoscalersScopedListWarningData> data;
- /** [Output Only] A human-readable description of the warning code. */
- core.String message;
-
- AutoscalersScopedListWarning();
-
- AutoscalersScopedListWarning.fromJson(core.Map _json) {
- if (_json.containsKey("code")) {
- code = _json["code"];
+ if (sizeGb != null) {
+ _json["sizeGb"] = sizeGb;
}
- if (_json.containsKey("data")) {
- data = _json["data"].map((value) => new AutoscalersScopedListWarningData.fromJson(value)).toList();
+ if (sourceImage != null) {
+ _json["sourceImage"] = sourceImage;
}
- if (_json.containsKey("message")) {
- message = _json["message"];
+ if (sourceImageEncryptionKey != null) {
+ _json["sourceImageEncryptionKey"] = (sourceImageEncryptionKey).toJson();
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (code != null) {
- _json["code"] = code;
+ if (sourceImageId != null) {
+ _json["sourceImageId"] = sourceImageId;
}
- if (data != null) {
- _json["data"] = data.map((value) => (value).toJson()).toList();
+ if (sourceSnapshot != null) {
+ _json["sourceSnapshot"] = sourceSnapshot;
}
- if (message != null) {
- _json["message"] = message;
+ if (sourceSnapshotEncryptionKey != null) {
+ _json["sourceSnapshotEncryptionKey"] = (sourceSnapshotEncryptionKey).toJson();
}
- return _json;
- }
-}
-
-class AutoscalersScopedList {
- /** [Output Only] List of autoscalers contained in this scope. */
- core.List<Autoscaler> autoscalers;
- /**
- * [Output Only] Informational warning which replaces the list of autoscalers
- * when the list is empty.
- */
- AutoscalersScopedListWarning warning;
-
- AutoscalersScopedList();
-
- AutoscalersScopedList.fromJson(core.Map _json) {
- if (_json.containsKey("autoscalers")) {
- autoscalers = _json["autoscalers"].map((value) => new Autoscaler.fromJson(value)).toList();
+ if (sourceSnapshotId != null) {
+ _json["sourceSnapshotId"] = sourceSnapshotId;
}
- if (_json.containsKey("warning")) {
- warning = new AutoscalersScopedListWarning.fromJson(_json["warning"]);
+ if (status != null) {
+ _json["status"] = status;
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (autoscalers != null) {
- _json["autoscalers"] = autoscalers.map((value) => (value).toJson()).toList();
+ if (type != null) {
+ _json["type"] = type;
}
- if (warning != null) {
- _json["warning"] = (warning).toJson();
+ if (users != null) {
+ _json["users"] = users;
+ }
+ if (zone != null) {
+ _json["zone"] = zone;
}
return _json;
}
}
-/** Cloud Autoscaler policy. */
-class AutoscalingPolicy {
- /**
- * The number of seconds that the autoscaler should wait before it starts
- * collecting information from a new instance. This prevents the autoscaler
- * from collecting information when the instance is initializing, during which
- * the collected usage would not be reliable. The default time autoscaler
- * waits is 60 seconds.
- *
- * Virtual machine initialization times might vary because of numerous
- * factors. We recommend that you test how long an instance may take to
- * initialize. To do this, create an instance and time the startup process.
- */
- core.int coolDownPeriodSec;
+class DiskAggregatedList {
/**
- * Defines the CPU utilization policy that allows the autoscaler to scale
- * based on the average CPU utilization of a managed instance group.
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
*/
- AutoscalingPolicyCpuUtilization cpuUtilization;
- /** Configuration parameters of autoscaling based on a custom metric. */
- core.List<AutoscalingPolicyCustomMetricUtilization> customMetricUtilizations;
- /** Configuration parameters of autoscaling based on load balancer. */
- AutoscalingPolicyLoadBalancingUtilization loadBalancingUtilization;
+ core.String id;
+ /** [Output Only] A map of scoped disk lists. */
+ core.Map<core.String, DisksScopedList> items;
/**
- * The maximum number of instances that the autoscaler can scale up to. This
- * is required when creating or updating an autoscaler. The maximum number of
- * replicas should not be lower than minimal number of replicas.
+ * [Output Only] Type of resource. Always compute#diskAggregatedList for
+ * aggregated lists of persistent disks.
*/
- core.int maxNumReplicas;
+ core.String kind;
/**
- * The minimum number of replicas that the autoscaler can scale down to. This
- * cannot be less than 0. If not provided, autoscaler will choose a default
- * value depending on maximum number of instances allowed.
+ * [Output Only] This token allows you to get the next page of results for
+ * list requests. If the number of results is larger than maxResults, use the
+ * nextPageToken as a value for the query parameter pageToken in the next list
+ * request. Subsequent list requests will have their own nextPageToken to
+ * continue paging through the results.
*/
- core.int minNumReplicas;
+ core.String nextPageToken;
+ /** [Output Only] Server-defined URL for this resource. */
+ core.String selfLink;
- AutoscalingPolicy();
+ DiskAggregatedList();
- AutoscalingPolicy.fromJson(core.Map _json) {
- if (_json.containsKey("coolDownPeriodSec")) {
- coolDownPeriodSec = _json["coolDownPeriodSec"];
- }
- if (_json.containsKey("cpuUtilization")) {
- cpuUtilization = new AutoscalingPolicyCpuUtilization.fromJson(_json["cpuUtilization"]);
- }
- if (_json.containsKey("customMetricUtilizations")) {
- customMetricUtilizations = _json["customMetricUtilizations"].map((value) => new AutoscalingPolicyCustomMetricUtilization.fromJson(value)).toList();
+ DiskAggregatedList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
}
- if (_json.containsKey("loadBalancingUtilization")) {
- loadBalancingUtilization = new AutoscalingPolicyLoadBalancingUtilization.fromJson(_json["loadBalancingUtilization"]);
+ if (_json.containsKey("items")) {
+ items = commons.mapMap(_json["items"], (item) => new DisksScopedList.fromJson(item));
}
- if (_json.containsKey("maxNumReplicas")) {
- maxNumReplicas = _json["maxNumReplicas"];
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
}
- if (_json.containsKey("minNumReplicas")) {
- minNumReplicas = _json["minNumReplicas"];
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (coolDownPeriodSec != null) {
- _json["coolDownPeriodSec"] = coolDownPeriodSec;
- }
- if (cpuUtilization != null) {
- _json["cpuUtilization"] = (cpuUtilization).toJson();
- }
- if (customMetricUtilizations != null) {
- _json["customMetricUtilizations"] = customMetricUtilizations.map((value) => (value).toJson()).toList();
- }
- if (loadBalancingUtilization != null) {
- _json["loadBalancingUtilization"] = (loadBalancingUtilization).toJson();
+ if (id != null) {
+ _json["id"] = id;
}
- if (maxNumReplicas != null) {
- _json["maxNumReplicas"] = maxNumReplicas;
+ if (items != null) {
+ _json["items"] = commons.mapMap(items, (item) => (item).toJson());
}
- if (minNumReplicas != null) {
- _json["minNumReplicas"] = minNumReplicas;
+ if (kind != null) {
+ _json["kind"] = kind;
}
- return _json;
- }
-}
-
-/** CPU utilization policy. */
-class AutoscalingPolicyCpuUtilization {
- /**
- * The target CPU utilization that the autoscaler should maintain. Must be a
- * float value in the range (0, 1]. If not specified, the default is 0.6.
- *
- * If the CPU level is below the target utilization, the autoscaler scales
- * down the number of instances until it reaches the minimum number of
- * instances you specified or until the average CPU of your instances reaches
- * the target utilization.
- *
- * If the average CPU is above the target utilization, the autoscaler scales
- * up until it reaches the maximum number of instances you specified or until
- * the average utilization reaches the target utilization.
- */
- core.double utilizationTarget;
-
- AutoscalingPolicyCpuUtilization();
-
- AutoscalingPolicyCpuUtilization.fromJson(core.Map _json) {
- if (_json.containsKey("utilizationTarget")) {
- utilizationTarget = _json["utilizationTarget"];
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (utilizationTarget != null) {
- _json["utilizationTarget"] = utilizationTarget;
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
return _json;
}
}
-/** Custom utilization metric policy. */
-class AutoscalingPolicyCustomMetricUtilization {
+/** A list of Disk resources. */
+class DiskList {
/**
- * The identifier of the Stackdriver Monitoring metric. The metric cannot have
- * negative values and should be a utilization metric, which means that the
- * number of virtual machines handling requests should increase or decrease
- * proportionally to the metric. The metric must also have a label of
- * compute.googleapis.com/resource_id with the value of the instance's unique
- * ID, although this alone does not guarantee that the metric is valid.
- *
- * For example, the following is a valid metric:
- * compute.googleapis.com/instance/network/received_bytes_count
- * The following is not a valid metric because it does not increase or
- * decrease based on usage:
- * compute.googleapis.com/instance/cpu/reserved_cores
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
*/
- core.String metric;
+ core.String id;
+ /** [Output Only] A list of persistent disks. */
+ core.List<Disk> items;
/**
- * Target value of the metric which autoscaler should maintain. Must be a
- * positive value.
+ * [Output Only] Type of resource. Always compute#diskList for lists of disks.
*/
- core.double utilizationTarget;
+ core.String kind;
/**
- * Defines how target utilization value is expressed for a Stackdriver
- * Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. If
- * not specified, the default is GAUGE.
- * Possible string values are:
- * - "DELTA_PER_MINUTE"
- * - "DELTA_PER_SECOND"
- * - "GAUGE"
+ * [Output Only] This token allows you to get the next page of results for
+ * list requests. If the number of results is larger than maxResults, use the
+ * nextPageToken as a value for the query parameter pageToken in the next list
+ * request. Subsequent list requests will have their own nextPageToken to
+ * continue paging through the results.
*/
- core.String utilizationTargetType;
+ core.String nextPageToken;
+ /** [Output Only] Server-defined URL for this resource. */
+ core.String selfLink;
- AutoscalingPolicyCustomMetricUtilization();
+ DiskList();
- AutoscalingPolicyCustomMetricUtilization.fromJson(core.Map _json) {
- if (_json.containsKey("metric")) {
- metric = _json["metric"];
+ DiskList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
}
- if (_json.containsKey("utilizationTarget")) {
- utilizationTarget = _json["utilizationTarget"];
+ if (_json.containsKey("items")) {
+ items = _json["items"].map((value) => new Disk.fromJson(value)).toList();
}
- if (_json.containsKey("utilizationTargetType")) {
- utilizationTargetType = _json["utilizationTargetType"];
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (metric != null) {
- _json["metric"] = metric;
+ if (id != null) {
+ _json["id"] = id;
}
- if (utilizationTarget != null) {
- _json["utilizationTarget"] = utilizationTarget;
+ if (items != null) {
+ _json["items"] = items.map((value) => (value).toJson()).toList();
}
- if (utilizationTargetType != null) {
- _json["utilizationTargetType"] = utilizationTargetType;
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
return _json;
}
}
-/** Configuration parameters of autoscaling based on load balancing. */
-class AutoscalingPolicyLoadBalancingUtilization {
+class DiskMoveRequest {
/**
- * Fraction of backend capacity utilization (set in HTTP(s) load balancing
- * configuration) that autoscaler should maintain. Must be a positive float
- * value. If not defined, the default is 0.8.
+ * The URL of the destination zone to move the disk. This can be a full or
+ * partial URL. For example, the following are all valid URLs to a zone:
+ * - https://www.googleapis.com/compute/v1/projects/project/zones/zone
+ * - projects/project/zones/zone
+ * - zones/zone
*/
- core.double utilizationTarget;
+ core.String destinationZone;
+ /**
+ * The URL of the target disk to move. This can be a full or partial URL. For
+ * example, the following are all valid URLs to a disk:
+ * -
+ * https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
+ * - projects/project/zones/zone/disks/disk
+ * - zones/zone/disks/disk
+ */
+ core.String targetDisk;
- AutoscalingPolicyLoadBalancingUtilization();
+ DiskMoveRequest();
- AutoscalingPolicyLoadBalancingUtilization.fromJson(core.Map _json) {
- if (_json.containsKey("utilizationTarget")) {
- utilizationTarget = _json["utilizationTarget"];
+ DiskMoveRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("destinationZone")) {
+ destinationZone = _json["destinationZone"];
+ }
+ if (_json.containsKey("targetDisk")) {
+ targetDisk = _json["targetDisk"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (utilizationTarget != null) {
- _json["utilizationTarget"] = utilizationTarget;
+ if (destinationZone != null) {
+ _json["destinationZone"] = destinationZone;
+ }
+ if (targetDisk != null) {
+ _json["targetDisk"] = targetDisk;
}
return _json;
}
}
-/** Message containing information of one individual backend. */
-class Backend {
- /**
- * Specifies the balancing mode for this backend. For global HTTP(S) or
- * TCP/SSL load balancing, the default is UTILIZATION. Valid values are
- * UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for TCP/SSL).
- *
- * This cannot be used for internal load balancing.
- * Possible string values are:
- * - "CONNECTION"
- * - "RATE"
- * - "UTILIZATION"
- */
- core.String balancingMode;
- /**
- * A multiplier applied to the group's maximum servicing capacity (based on
- * UTILIZATION, RATE or CONNECTION). Default value is 1, which means the group
- * will serve up to 100% of its configured capacity (depending on
- * balancingMode). A setting of 0 means the group is completely drained,
- * offering 0% of its available Capacity. Valid range is [0.0,1.0].
- *
- * This cannot be used for internal load balancing.
- */
- core.double capacityScaler;
- /**
- * An optional description of this resource. Provide this property when you
- * create the resource.
- */
- core.String description;
- /**
- * The fully-qualified URL of a zonal Instance Group resource. This instance
- * group defines the list of instances that serve traffic. Member virtual
- * machine instances from each instance group must live in the same zone as
- * the instance group itself. No two backends in a backend service are allowed
- * to use same Instance Group resource.
- *
- * Note that you must specify an Instance Group resource using the
- * fully-qualified URL, rather than a partial URL.
- *
- * When the BackendService has load balancing scheme INTERNAL, the instance
- * group must be in a zone within the same region as the BackendService.
- */
- core.String group;
- /**
- * The max number of simultaneous connections for the group. Can be used with
- * either CONNECTION or UTILIZATION balancing modes. For CONNECTION mode,
- * either maxConnections or maxConnectionsPerInstance must be set.
- *
- * This cannot be used for internal load balancing.
- */
- core.int maxConnections;
- /**
- * The max number of simultaneous connections that a single backend instance
- * can handle. This is used to calculate the capacity of the group. Can be
- * used in either CONNECTION or UTILIZATION balancing modes. For CONNECTION
- * mode, either maxConnections or maxConnectionsPerInstance must be set.
- *
- * This cannot be used for internal load balancing.
- */
- core.int maxConnectionsPerInstance;
+/** A DiskType resource. */
+class DiskType {
+ /** [Output Only] Creation timestamp in RFC3339 text format. */
+ core.String creationTimestamp;
+ /** [Output Only] Server-defined default disk size in GB. */
+ core.String defaultDiskSizeGb;
+ /** [Output Only] The deprecation status associated with this disk type. */
+ DeprecationStatus deprecated;
+ /** [Output Only] An optional description of this resource. */
+ core.String description;
/**
- * The max requests per second (RPS) of the group. Can be used with either
- * RATE or UTILIZATION balancing modes, but required if RATE mode. For RATE
- * mode, either maxRate or maxRatePerInstance must be set.
- *
- * This cannot be used for internal load balancing.
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
*/
- core.int maxRate;
+ core.String id;
/**
- * The max requests per second (RPS) that a single backend instance can
- * handle.This is used to calculate the capacity of the group. Can be used in
- * either balancing mode. For RATE mode, either maxRate or maxRatePerInstance
- * must be set.
- *
- * This cannot be used for internal load balancing.
+ * [Output Only] Type of the resource. Always compute#diskType for disk types.
*/
- core.double maxRatePerInstance;
+ core.String kind;
+ /** [Output Only] Name of the resource. */
+ core.String name;
+ /** [Output Only] Server-defined URL for the resource. */
+ core.String selfLink;
/**
- * Used when balancingMode is UTILIZATION. This ratio defines the CPU
- * utilization target for the group. The default is 0.8. Valid range is [0.0,
- * 1.0].
- *
- * This cannot be used for internal load balancing.
+ * [Output Only] An optional textual description of the valid disk size, such
+ * as "10GB-10TB".
*/
- core.double maxUtilization;
+ core.String validDiskSize;
+ /** [Output Only] URL of the zone where the disk type resides. */
+ core.String zone;
- Backend();
+ DiskType();
- Backend.fromJson(core.Map _json) {
- if (_json.containsKey("balancingMode")) {
- balancingMode = _json["balancingMode"];
+ DiskType.fromJson(core.Map _json) {
+ if (_json.containsKey("creationTimestamp")) {
+ creationTimestamp = _json["creationTimestamp"];
}
- if (_json.containsKey("capacityScaler")) {
- capacityScaler = _json["capacityScaler"];
+ if (_json.containsKey("defaultDiskSizeGb")) {
+ defaultDiskSizeGb = _json["defaultDiskSizeGb"];
+ }
+ if (_json.containsKey("deprecated")) {
+ deprecated = new DeprecationStatus.fromJson(_json["deprecated"]);
}
if (_json.containsKey("description")) {
description = _json["description"];
}
- if (_json.containsKey("group")) {
- group = _json["group"];
+ if (_json.containsKey("id")) {
+ id = _json["id"];
}
- if (_json.containsKey("maxConnections")) {
- maxConnections = _json["maxConnections"];
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
}
- if (_json.containsKey("maxConnectionsPerInstance")) {
- maxConnectionsPerInstance = _json["maxConnectionsPerInstance"];
+ if (_json.containsKey("name")) {
+ name = _json["name"];
}
- if (_json.containsKey("maxRate")) {
- maxRate = _json["maxRate"];
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
}
- if (_json.containsKey("maxRatePerInstance")) {
- maxRatePerInstance = _json["maxRatePerInstance"];
+ if (_json.containsKey("validDiskSize")) {
+ validDiskSize = _json["validDiskSize"];
}
- if (_json.containsKey("maxUtilization")) {
- maxUtilization = _json["maxUtilization"];
+ if (_json.containsKey("zone")) {
+ zone = _json["zone"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (balancingMode != null) {
- _json["balancingMode"] = balancingMode;
+ if (creationTimestamp != null) {
+ _json["creationTimestamp"] = creationTimestamp;
}
- if (capacityScaler != null) {
- _json["capacityScaler"] = capacityScaler;
+ if (defaultDiskSizeGb != null) {
+ _json["defaultDiskSizeGb"] = defaultDiskSizeGb;
+ }
+ if (deprecated != null) {
+ _json["deprecated"] = (deprecated).toJson();
}
if (description != null) {
_json["description"] = description;
}
- if (group != null) {
- _json["group"] = group;
+ if (id != null) {
+ _json["id"] = id;
}
- if (maxConnections != null) {
- _json["maxConnections"] = maxConnections;
+ if (kind != null) {
+ _json["kind"] = kind;
}
- if (maxConnectionsPerInstance != null) {
- _json["maxConnectionsPerInstance"] = maxConnectionsPerInstance;
+ if (name != null) {
+ _json["name"] = name;
}
- if (maxRate != null) {
- _json["maxRate"] = maxRate;
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
- if (maxRatePerInstance != null) {
- _json["maxRatePerInstance"] = maxRatePerInstance;
+ if (validDiskSize != null) {
+ _json["validDiskSize"] = validDiskSize;
}
- if (maxUtilization != null) {
- _json["maxUtilization"] = maxUtilization;
+ if (zone != null) {
+ _json["zone"] = zone;
}
return _json;
}
}
-/**
- * A BackendService resource. This resource defines a group of backend virtual
- * machines and their serving capacity.
- */
-class BackendService {
- /**
- * Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE. If
- * set to 0, the cookie is non-persistent and lasts only until the end of the
- * browser session (or equivalent). The maximum allowed value for TTL is one
- * day.
- *
- * When the load balancing scheme is INTERNAL, this field is not used.
- */
- core.int affinityCookieTtlSec;
- /** The list of backends that serve this BackendService. */
- core.List<Backend> backends;
- ConnectionDraining connectionDraining;
- /** [Output Only] Creation timestamp in RFC3339 text format. */
- core.String creationTimestamp;
- /**
- * An optional description of this resource. Provide this property when you
- * create the resource.
- */
- core.String description;
+class DiskTypeAggregatedList {
/**
- * If true, enable Cloud CDN for this BackendService.
- *
- * When the load balancing scheme is INTERNAL, this field is not used.
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
*/
- core.bool enableCDN;
+ core.String id;
+ /** [Output Only] A map of scoped disk type lists. */
+ core.Map<core.String, DiskTypesScopedList> items;
+ /** [Output Only] Type of resource. Always compute#diskTypeAggregatedList. */
+ core.String kind;
/**
- * Fingerprint of this resource. A hash of the contents stored in this object.
- * This field is used in optimistic locking. This field will be ignored when
- * inserting a BackendService. An up-to-date fingerprint must be provided in
- * order to update the BackendService.
+ * [Output Only] This token allows you to get the next page of results for
+ * list requests. If the number of results is larger than maxResults, use the
+ * nextPageToken as a value for the query parameter pageToken in the next list
+ * request. Subsequent list requests will have their own nextPageToken to
+ * continue paging through the results.
*/
- core.String fingerprint;
- core.List<core.int> get fingerprintAsBytes {
- return convert.BASE64.decode(fingerprint);
+ core.String nextPageToken;
+ /** [Output Only] Server-defined URL for this resource. */
+ core.String selfLink;
+
+ DiskTypeAggregatedList();
+
+ DiskTypeAggregatedList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("items")) {
+ items = commons.mapMap(_json["items"], (item) => new DiskTypesScopedList.fromJson(item));
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
}
- void set fingerprintAsBytes(core.List<core.int> _bytes) {
- fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-");
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (items != null) {
+ _json["items"] = commons.mapMap(items, (item) => (item).toJson());
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ return _json;
}
- /**
- * The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for
- * health checking this BackendService. Currently at most one health check can
- * be specified, and a health check is required.
- *
- * For internal load balancing, a URL to a HealthCheck resource must be
- * specified instead.
- */
- core.List<core.String> healthChecks;
+}
+
+/** Contains a list of disk types. */
+class DiskTypeList {
/**
* [Output Only] The unique identifier for the resource. This identifier is
* defined by the server.
*/
core.String id;
+ /** [Output Only] A list of Disk Type resources. */
+ core.List<DiskType> items;
/**
- * [Output Only] Type of resource. Always compute#backendService for backend
- * services.
- */
- core.String kind;
- /**
- * Name of the resource. Provided by the client when the resource is created.
- * The name must be 1-63 characters long, and comply with RFC1035.
- * Specifically, the name must be 1-63 characters long and match the regular
- * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
- * be a lowercase letter, and all following characters must be a dash,
- * lowercase letter, or digit, except the last character, which cannot be a
- * dash.
- */
- core.String name;
- /**
- * Deprecated in favor of portName. The TCP port to connect on the backend.
- * The default value is 80.
- *
- * This cannot be used for internal load balancing.
- */
- core.int port;
- /**
- * Name of backend port. The same name should appear in the instance groups
- * referenced by this service. Required when the load balancing scheme is
- * EXTERNAL.
- *
- * When the load balancing scheme is INTERNAL, this field is not used.
- */
- core.String portName;
- /**
- * The protocol this BackendService uses to communicate with backends.
- *
- * Possible values are HTTP, HTTPS, HTTP2, TCP and SSL. The default is HTTP.
- *
- * For internal load balancing, the possible values are TCP and UDP, and the
- * default is TCP.
- * Possible string values are:
- * - "HTTP"
- * - "HTTPS"
- * - "SSL"
- * - "TCP"
- */
- core.String protocol;
- /**
- * [Output Only] URL of the region where the regional backend service resides.
- * This field is not applicable to global backend services.
+ * [Output Only] Type of resource. Always compute#diskTypeList for disk types.
*/
- core.String region;
- /** [Output Only] Server-defined URL for the resource. */
- core.String selfLink;
+ core.String kind;
/**
- * Type of session affinity to use. The default is NONE.
- *
- * When the load balancing scheme is EXTERNAL, can be NONE, CLIENT_IP, or
- * GENERATED_COOKIE.
- *
- * When the load balancing scheme is INTERNAL, can be NONE, CLIENT_IP,
- * CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
- *
- * When the protocol is UDP, this field is not used.
- * Possible string values are:
- * - "CLIENT_IP"
- * - "CLIENT_IP_PROTO"
- * - "GENERATED_COOKIE"
- * - "NONE"
+ * [Output Only] This token allows you to get the next page of results for
+ * list requests. If the number of results is larger than maxResults, use the
+ * nextPageToken as a value for the query parameter pageToken in the next list
+ * request. Subsequent list requests will have their own nextPageToken to
+ * continue paging through the results.
*/
- core.String sessionAffinity;
+ core.String nextPageToken;
+ /** [Output Only] Server-defined URL for this resource. */
+ core.String selfLink;
+
+ DiskTypeList();
+
+ DiskTypeList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("items")) {
+ items = _json["items"].map((value) => new DiskType.fromJson(value)).toList();
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (items != null) {
+ _json["items"] = items.map((value) => (value).toJson()).toList();
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ return _json;
+ }
+}
+
+class DiskTypesScopedListWarningData {
/**
- * How many seconds to wait for the backend before considering it a failed
- * request. Default is 30 seconds.
+ * [Output Only] A key that provides more detail on the warning being
+ * returned. For example, for warnings where there are no results in a list
+ * request for a particular zone, this key might be scope and the key value
+ * might be the zone name. Other examples might be a key indicating a
+ * deprecated resource and a suggested replacement, or a warning about invalid
+ * network settings (for example, if an instance attempts to perform IP
+ * forwarding but is not enabled for IP forwarding).
*/
- core.int timeoutSec;
+ core.String key;
+ /** [Output Only] A warning data value corresponding to the key. */
+ core.String value;
- BackendService();
+ DiskTypesScopedListWarningData();
- BackendService.fromJson(core.Map _json) {
- if (_json.containsKey("affinityCookieTtlSec")) {
- affinityCookieTtlSec = _json["affinityCookieTtlSec"];
+ DiskTypesScopedListWarningData.fromJson(core.Map _json) {
+ if (_json.containsKey("key")) {
+ key = _json["key"];
}
- if (_json.containsKey("backends")) {
- backends = _json["backends"].map((value) => new Backend.fromJson(value)).toList();
+ if (_json.containsKey("value")) {
+ value = _json["value"];
}
- if (_json.containsKey("connectionDraining")) {
- connectionDraining = new ConnectionDraining.fromJson(_json["connectionDraining"]);
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (key != null) {
+ _json["key"] = key;
}
- if (_json.containsKey("creationTimestamp")) {
- creationTimestamp = _json["creationTimestamp"];
+ if (value != null) {
+ _json["value"] = value;
}
- if (_json.containsKey("description")) {
- description = _json["description"];
+ return _json;
+ }
+}
+
+/**
+ * [Output Only] Informational warning which replaces the list of disk types
+ * when the list is empty.
+ */
+class DiskTypesScopedListWarning {
+ /**
+ * [Output Only] A warning code, if applicable. For example, Compute Engine
+ * returns NO_RESULTS_ON_PAGE if there are no results in the response.
+ * Possible string values are:
+ * - "CLEANUP_FAILED"
+ * - "DEPRECATED_RESOURCE_USED"
+ * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ * - "FIELD_VALUE_OVERRIDEN"
+ * - "INJECTED_KERNELS_DEPRECATED"
+ * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
+ * - "NEXT_HOP_CANNOT_IP_FORWARD"
+ * - "NEXT_HOP_INSTANCE_NOT_FOUND"
+ * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
+ * - "NEXT_HOP_NOT_RUNNING"
+ * - "NOT_CRITICAL_ERROR"
+ * - "NO_RESULTS_ON_PAGE"
+ * - "REQUIRED_TOS_AGREEMENT"
+ * - "RESOURCE_NOT_DELETED"
+ * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
+ * - "UNREACHABLE"
+ */
+ core.String code;
+ /**
+ * [Output Only] Metadata about this warning in key: value format. For
+ * example:
+ * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
+ */
+ core.List<DiskTypesScopedListWarningData> data;
+ /** [Output Only] A human-readable description of the warning code. */
+ core.String message;
+
+ DiskTypesScopedListWarning();
+
+ DiskTypesScopedListWarning.fromJson(core.Map _json) {
+ if (_json.containsKey("code")) {
+ code = _json["code"];
}
- if (_json.containsKey("enableCDN")) {
- enableCDN = _json["enableCDN"];
+ if (_json.containsKey("data")) {
+ data = _json["data"].map((value) => new DiskTypesScopedListWarningData.fromJson(value)).toList();
}
- if (_json.containsKey("fingerprint")) {
- fingerprint = _json["fingerprint"];
+ if (_json.containsKey("message")) {
+ message = _json["message"];
}
- if (_json.containsKey("healthChecks")) {
- healthChecks = _json["healthChecks"];
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (code != null) {
+ _json["code"] = code;
}
- if (_json.containsKey("id")) {
- id = _json["id"];
+ if (data != null) {
+ _json["data"] = data.map((value) => (value).toJson()).toList();
}
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
+ if (message != null) {
+ _json["message"] = message;
}
- if (_json.containsKey("name")) {
- name = _json["name"];
+ return _json;
+ }
+}
+
+class DiskTypesScopedList {
+ /** [Output Only] List of disk types contained in this scope. */
+ core.List<DiskType> diskTypes;
+ /**
+ * [Output Only] Informational warning which replaces the list of disk types
+ * when the list is empty.
+ */
+ DiskTypesScopedListWarning warning;
+
+ DiskTypesScopedList();
+
+ DiskTypesScopedList.fromJson(core.Map _json) {
+ if (_json.containsKey("diskTypes")) {
+ diskTypes = _json["diskTypes"].map((value) => new DiskType.fromJson(value)).toList();
}
- if (_json.containsKey("port")) {
- port = _json["port"];
+ if (_json.containsKey("warning")) {
+ warning = new DiskTypesScopedListWarning.fromJson(_json["warning"]);
}
- if (_json.containsKey("portName")) {
- portName = _json["portName"];
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (diskTypes != null) {
+ _json["diskTypes"] = diskTypes.map((value) => (value).toJson()).toList();
}
- if (_json.containsKey("protocol")) {
- protocol = _json["protocol"];
+ if (warning != null) {
+ _json["warning"] = (warning).toJson();
}
- if (_json.containsKey("region")) {
- region = _json["region"];
+ return _json;
+ }
+}
+
+class DisksResizeRequest {
+ /** The new size of the persistent disk, which is specified in GB. */
+ core.String sizeGb;
+
+ DisksResizeRequest();
+
+ DisksResizeRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("sizeGb")) {
+ sizeGb = _json["sizeGb"];
}
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (sizeGb != null) {
+ _json["sizeGb"] = sizeGb;
}
- if (_json.containsKey("sessionAffinity")) {
- sessionAffinity = _json["sessionAffinity"];
+ return _json;
+ }
+}
+
+class DisksScopedListWarningData {
+ /**
+ * [Output Only] A key that provides more detail on the warning being
+ * returned. For example, for warnings where there are no results in a list
+ * request for a particular zone, this key might be scope and the key value
+ * might be the zone name. Other examples might be a key indicating a
+ * deprecated resource and a suggested replacement, or a warning about invalid
+ * network settings (for example, if an instance attempts to perform IP
+ * forwarding but is not enabled for IP forwarding).
+ */
+ core.String key;
+ /** [Output Only] A warning data value corresponding to the key. */
+ core.String value;
+
+ DisksScopedListWarningData();
+
+ DisksScopedListWarningData.fromJson(core.Map _json) {
+ if (_json.containsKey("key")) {
+ key = _json["key"];
}
- if (_json.containsKey("timeoutSec")) {
- timeoutSec = _json["timeoutSec"];
+ if (_json.containsKey("value")) {
+ value = _json["value"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (affinityCookieTtlSec != null) {
- _json["affinityCookieTtlSec"] = affinityCookieTtlSec;
- }
- if (backends != null) {
- _json["backends"] = backends.map((value) => (value).toJson()).toList();
- }
- if (connectionDraining != null) {
- _json["connectionDraining"] = (connectionDraining).toJson();
- }
- if (creationTimestamp != null) {
- _json["creationTimestamp"] = creationTimestamp;
- }
- if (description != null) {
- _json["description"] = description;
- }
- if (enableCDN != null) {
- _json["enableCDN"] = enableCDN;
- }
- if (fingerprint != null) {
- _json["fingerprint"] = fingerprint;
+ if (key != null) {
+ _json["key"] = key;
}
- if (healthChecks != null) {
- _json["healthChecks"] = healthChecks;
+ if (value != null) {
+ _json["value"] = value;
}
- if (id != null) {
- _json["id"] = id;
+ return _json;
+ }
+}
+
+/**
+ * [Output Only] Informational warning which replaces the list of disks when the
+ * list is empty.
+ */
+class DisksScopedListWarning {
+ /**
+ * [Output Only] A warning code, if applicable. For example, Compute Engine
+ * returns NO_RESULTS_ON_PAGE if there are no results in the response.
+ * Possible string values are:
+ * - "CLEANUP_FAILED"
+ * - "DEPRECATED_RESOURCE_USED"
+ * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ * - "FIELD_VALUE_OVERRIDEN"
+ * - "INJECTED_KERNELS_DEPRECATED"
+ * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
+ * - "NEXT_HOP_CANNOT_IP_FORWARD"
+ * - "NEXT_HOP_INSTANCE_NOT_FOUND"
+ * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
+ * - "NEXT_HOP_NOT_RUNNING"
+ * - "NOT_CRITICAL_ERROR"
+ * - "NO_RESULTS_ON_PAGE"
+ * - "REQUIRED_TOS_AGREEMENT"
+ * - "RESOURCE_NOT_DELETED"
+ * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
+ * - "UNREACHABLE"
+ */
+ core.String code;
+ /**
+ * [Output Only] Metadata about this warning in key: value format. For
+ * example:
+ * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
+ */
+ core.List<DisksScopedListWarningData> data;
+ /** [Output Only] A human-readable description of the warning code. */
+ core.String message;
+
+ DisksScopedListWarning();
+
+ DisksScopedListWarning.fromJson(core.Map _json) {
+ if (_json.containsKey("code")) {
+ code = _json["code"];
}
- if (kind != null) {
- _json["kind"] = kind;
+ if (_json.containsKey("data")) {
+ data = _json["data"].map((value) => new DisksScopedListWarningData.fromJson(value)).toList();
}
- if (name != null) {
- _json["name"] = name;
+ if (_json.containsKey("message")) {
+ message = _json["message"];
}
- if (port != null) {
- _json["port"] = port;
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (code != null) {
+ _json["code"] = code;
}
- if (portName != null) {
- _json["portName"] = portName;
+ if (data != null) {
+ _json["data"] = data.map((value) => (value).toJson()).toList();
}
- if (protocol != null) {
- _json["protocol"] = protocol;
+ if (message != null) {
+ _json["message"] = message;
}
- if (region != null) {
- _json["region"] = region;
+ return _json;
+ }
+}
+
+class DisksScopedList {
+ /** [Output Only] List of disks contained in this scope. */
+ core.List<Disk> disks;
+ /**
+ * [Output Only] Informational warning which replaces the list of disks when
+ * the list is empty.
+ */
+ DisksScopedListWarning warning;
+
+ DisksScopedList();
+
+ DisksScopedList.fromJson(core.Map _json) {
+ if (_json.containsKey("disks")) {
+ disks = _json["disks"].map((value) => new Disk.fromJson(value)).toList();
}
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
+ if (_json.containsKey("warning")) {
+ warning = new DisksScopedListWarning.fromJson(_json["warning"]);
}
- if (sessionAffinity != null) {
- _json["sessionAffinity"] = sessionAffinity;
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (disks != null) {
+ _json["disks"] = disks.map((value) => (value).toJson()).toList();
}
- if (timeoutSec != null) {
- _json["timeoutSec"] = timeoutSec;
+ if (warning != null) {
+ _json["warning"] = (warning).toJson();
}
return _json;
}
}
-class BackendServiceGroupHealth {
- core.List<HealthStatus> healthStatus;
+class FirewallAllowed {
/**
- * [Output Only] Type of resource. Always compute#backendServiceGroupHealth
- * for the health of backend services.
+ * The IP protocol to which this rule applies. The protocol type is required
+ * when creating a firewall rule. This value can either be one of the
+ * following well known protocol strings (tcp, udp, icmp, esp, ah, sctp), or
+ * the IP protocol number.
*/
- core.String kind;
+ core.String IPProtocol;
+ /**
+ * An optional list of ports to which this rule applies. This field is only
+ * applicable for UDP or TCP protocol. Each entry must be either an integer or
+ * a range. If not specified, this rule applies to connections through any
+ * port.
+ *
+ * Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
+ */
+ core.List<core.String> ports;
- BackendServiceGroupHealth();
+ FirewallAllowed();
- BackendServiceGroupHealth.fromJson(core.Map _json) {
- if (_json.containsKey("healthStatus")) {
- healthStatus = _json["healthStatus"].map((value) => new HealthStatus.fromJson(value)).toList();
+ FirewallAllowed.fromJson(core.Map _json) {
+ if (_json.containsKey("IPProtocol")) {
+ IPProtocol = _json["IPProtocol"];
}
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
+ if (_json.containsKey("ports")) {
+ ports = _json["ports"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (healthStatus != null) {
- _json["healthStatus"] = healthStatus.map((value) => (value).toJson()).toList();
+ if (IPProtocol != null) {
+ _json["IPProtocol"] = IPProtocol;
}
- if (kind != null) {
- _json["kind"] = kind;
+ if (ports != null) {
+ _json["ports"] = ports;
}
return _json;
}
}
-/** Contains a list of BackendService resources. */
-class BackendServiceList {
+/** Represents a Firewall resource. */
+class Firewall {
/**
- * [Output Only] Unique identifier for the resource; defined by the server.
+ * The list of ALLOW rules specified by this firewall. Each rule specifies a
+ * protocol and port-range tuple that describes a permitted connection.
+ */
+ core.List<FirewallAllowed> allowed;
+ /** [Output Only] Creation timestamp in RFC3339 text format. */
+ core.String creationTimestamp;
+ /**
+ * An optional description of this resource. Provide this property when you
+ * create the resource.
+ */
+ core.String description;
+ /**
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
*/
core.String id;
- /** A list of BackendService resources. */
- core.List<BackendService> items;
/**
- * [Output Only] Type of resource. Always compute#backendServiceList for lists
- * of backend services.
+ * [Output Ony] Type of the resource. Always compute#firewall for firewall
+ * rules.
+ */
+ core.String kind;
+ /**
+ * Name of the resource; provided by the client when the resource is created.
+ * The name must be 1-63 characters long, and comply with RFC1035.
+ * Specifically, the name must be 1-63 characters long and match the regular
+ * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
+ * be a lowercase letter, and all following characters must be a dash,
+ * lowercase letter, or digit, except the last character, which cannot be a
+ * dash.
+ */
+ core.String name;
+ /**
+ * URL of the network resource for this firewall rule. If not specified when
+ * creating a firewall rule, the default network is used:
+ * global/networks/default
+ * If you choose to specify this property, you can specify the network as a
+ * full or partial URL. For example, the following are all valid URLs:
+ * -
+ * https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my-network
+ * - projects/myproject/global/networks/my-network
+ * - global/networks/default
+ */
+ core.String network;
+ /** [Output Only] Server-defined URL for the resource. */
+ core.String selfLink;
+ /**
+ * If source ranges are specified, the firewall will apply only to traffic
+ * that has source IP address in these ranges. These ranges must be expressed
+ * in CIDR format. One or both of sourceRanges and sourceTags may be set. If
+ * both properties are set, the firewall will apply to traffic that has source
+ * IP address within sourceRanges OR the source IP that belongs to a tag
+ * listed in the sourceTags property. The connection does not need to match
+ * both properties for the firewall to apply.
+ */
+ core.List<core.String> sourceRanges;
+ /**
+ * If source tags are specified, the firewall will apply only to traffic with
+ * source IP that belongs to a tag listed in source tags. Source tags cannot
+ * be used to control traffic to an instance's external IP address. Because
+ * tags are associated with an instance, not an IP address. One or both of
+ * sourceRanges and sourceTags may be set. If both properties are set, the
+ * firewall will apply to traffic that has source IP address within
+ * sourceRanges OR the source IP that belongs to a tag listed in the
+ * sourceTags property. The connection does not need to match both properties
+ * for the firewall to apply.
+ */
+ core.List<core.String> sourceTags;
+ /**
+ * A list of instance tags indicating sets of instances located in the network
+ * that may make network connections as specified in allowed[]. If no
+ * targetTags are specified, the firewall rule applies to all instances on the
+ * specified network.
*/
- core.String kind;
- /** [Output Only] A token used to continue a truncated list request. */
- core.String nextPageToken;
- /** [Output Only] Server-defined URL for this resource. */
- core.String selfLink;
+ core.List<core.String> targetTags;
- BackendServiceList();
+ Firewall();
- BackendServiceList.fromJson(core.Map _json) {
+ Firewall.fromJson(core.Map _json) {
+ if (_json.containsKey("allowed")) {
+ allowed = _json["allowed"].map((value) => new FirewallAllowed.fromJson(value)).toList();
+ }
+ if (_json.containsKey("creationTimestamp")) {
+ creationTimestamp = _json["creationTimestamp"];
+ }
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
if (_json.containsKey("id")) {
id = _json["id"];
}
- if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new BackendService.fromJson(value)).toList();
- }
if (_json.containsKey("kind")) {
kind = _json["kind"];
}
- if (_json.containsKey("nextPageToken")) {
- nextPageToken = _json["nextPageToken"];
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("network")) {
+ network = _json["network"];
}
if (_json.containsKey("selfLink")) {
selfLink = _json["selfLink"];
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (id != null) {
- _json["id"] = id;
- }
- if (items != null) {
- _json["items"] = items.map((value) => (value).toJson()).toList();
- }
- if (kind != null) {
- _json["kind"] = kind;
- }
- if (nextPageToken != null) {
- _json["nextPageToken"] = nextPageToken;
+ if (_json.containsKey("sourceRanges")) {
+ sourceRanges = _json["sourceRanges"];
}
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
+ if (_json.containsKey("sourceTags")) {
+ sourceTags = _json["sourceTags"];
}
- return _json;
- }
-}
-
-class CacheInvalidationRule {
- core.String path;
-
- CacheInvalidationRule();
-
- CacheInvalidationRule.fromJson(core.Map _json) {
- if (_json.containsKey("path")) {
- path = _json["path"];
+ if (_json.containsKey("targetTags")) {
+ targetTags = _json["targetTags"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (path != null) {
- _json["path"] = path;
+ if (allowed != null) {
+ _json["allowed"] = allowed.map((value) => (value).toJson()).toList();
}
- return _json;
- }
-}
-
-/** Message containing connection draining configuration. */
-class ConnectionDraining {
- /**
- * Time for which instance will be drained (not accept new connections, but
- * still work to finish started).
- */
- core.int drainingTimeoutSec;
-
- ConnectionDraining();
-
- ConnectionDraining.fromJson(core.Map _json) {
- if (_json.containsKey("drainingTimeoutSec")) {
- drainingTimeoutSec = _json["drainingTimeoutSec"];
+ if (creationTimestamp != null) {
+ _json["creationTimestamp"] = creationTimestamp;
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (drainingTimeoutSec != null) {
- _json["drainingTimeoutSec"] = drainingTimeoutSec;
+ if (description != null) {
+ _json["description"] = description;
}
- return _json;
- }
-}
-
-/** Represents a customer-supplied encryption key */
-class CustomerEncryptionKey {
- /**
- * Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
- * base64 to either encrypt or decrypt this resource.
- */
- core.String rawKey;
- /**
- * [Output only] The RFC 4648 base64 encoded SHA-256 hash of the
- * customer-supplied encryption key that protects this resource.
- */
- core.String sha256;
-
- CustomerEncryptionKey();
-
- CustomerEncryptionKey.fromJson(core.Map _json) {
- if (_json.containsKey("rawKey")) {
- rawKey = _json["rawKey"];
+ if (id != null) {
+ _json["id"] = id;
}
- if (_json.containsKey("sha256")) {
- sha256 = _json["sha256"];
+ if (kind != null) {
+ _json["kind"] = kind;
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (rawKey != null) {
- _json["rawKey"] = rawKey;
+ if (name != null) {
+ _json["name"] = name;
}
- if (sha256 != null) {
- _json["sha256"] = sha256;
+ if (network != null) {
+ _json["network"] = network;
}
- return _json;
- }
-}
-
-class CustomerEncryptionKeyProtectedDisk {
- /**
- * Decrypts data associated with the disk with a customer-supplied encryption
- * key.
- */
- CustomerEncryptionKey diskEncryptionKey;
- /**
- * Specifies a valid partial or full URL to an existing Persistent Disk
- * resource. This field is only applicable for persistent disks.
- */
- core.String source;
-
- CustomerEncryptionKeyProtectedDisk();
-
- CustomerEncryptionKeyProtectedDisk.fromJson(core.Map _json) {
- if (_json.containsKey("diskEncryptionKey")) {
- diskEncryptionKey = new CustomerEncryptionKey.fromJson(_json["diskEncryptionKey"]);
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
- if (_json.containsKey("source")) {
- source = _json["source"];
+ if (sourceRanges != null) {
+ _json["sourceRanges"] = sourceRanges;
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (diskEncryptionKey != null) {
- _json["diskEncryptionKey"] = (diskEncryptionKey).toJson();
+ if (sourceTags != null) {
+ _json["sourceTags"] = sourceTags;
}
- if (source != null) {
- _json["source"] = source;
+ if (targetTags != null) {
+ _json["targetTags"] = targetTags;
}
return _json;
}
}
-/** Deprecation status for a public resource. */
-class DeprecationStatus {
- /**
- * An optional RFC3339 timestamp on or after which the state of this resource
- * is intended to change to DELETED. This is only informational and the status
- * will not change unless the client explicitly changes it.
- */
- core.String deleted;
- /**
- * An optional RFC3339 timestamp on or after which the state of this resource
- * is intended to change to DEPRECATED. This is only informational and the
- * status will not change unless the client explicitly changes it.
- */
- core.String deprecated;
+/** Contains a list of firewalls. */
+class FirewallList {
/**
- * An optional RFC3339 timestamp on or after which the state of this resource
- * is intended to change to OBSOLETE. This is only informational and the
- * status will not change unless the client explicitly changes it.
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
*/
- core.String obsolete;
+ core.String id;
+ /** [Output Only] A list of Firewall resources. */
+ core.List<Firewall> items;
/**
- * The URL of the suggested replacement for a deprecated resource. The
- * suggested replacement resource must be the same kind of resource as the
- * deprecated resource.
+ * [Output Only] Type of resource. Always compute#firewallList for lists of
+ * firewalls.
*/
- core.String replacement;
+ core.String kind;
/**
- * The deprecation state of this resource. This can be DEPRECATED, OBSOLETE,
- * or DELETED. Operations which create a new resource using a DEPRECATED
- * resource will return successfully, but with a warning indicating the
- * deprecated resource and recommending its replacement. Operations which use
- * OBSOLETE or DELETED resources will be rejected and result in an error.
- * Possible string values are:
- * - "DELETED"
- * - "DEPRECATED"
- * - "OBSOLETE"
+ * [Output Only] This token allows you to get the next page of results for
+ * list requests. If the number of results is larger than maxResults, use the
+ * nextPageToken as a value for the query parameter pageToken in the next list
+ * request. Subsequent list requests will have their own nextPageToken to
+ * continue paging through the results.
*/
- core.String state;
+ core.String nextPageToken;
+ /** [Output Only] Server-defined URL for this resource. */
+ core.String selfLink;
- DeprecationStatus();
+ FirewallList();
- DeprecationStatus.fromJson(core.Map _json) {
- if (_json.containsKey("deleted")) {
- deleted = _json["deleted"];
- }
- if (_json.containsKey("deprecated")) {
- deprecated = _json["deprecated"];
+ FirewallList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
}
- if (_json.containsKey("obsolete")) {
- obsolete = _json["obsolete"];
+ if (_json.containsKey("items")) {
+ items = _json["items"].map((value) => new Firewall.fromJson(value)).toList();
}
- if (_json.containsKey("replacement")) {
- replacement = _json["replacement"];
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
}
- if (_json.containsKey("state")) {
- state = _json["state"];
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (deleted != null) {
- _json["deleted"] = deleted;
+ if (id != null) {
+ _json["id"] = id;
}
- if (deprecated != null) {
- _json["deprecated"] = deprecated;
+ if (items != null) {
+ _json["items"] = items.map((value) => (value).toJson()).toList();
}
- if (obsolete != null) {
- _json["obsolete"] = obsolete;
+ if (kind != null) {
+ _json["kind"] = kind;
}
- if (replacement != null) {
- _json["replacement"] = replacement;
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
}
- if (state != null) {
- _json["state"] = state;
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
return _json;
}
}
-/** A Disk resource. */
-class Disk {
+/**
+ * A ForwardingRule resource. A ForwardingRule resource specifies which pool of
+ * target virtual machines to forward a packet to if it matches the given
+ * [IPAddress, IPProtocol, portRange] tuple.
+ */
+class ForwardingRule {
+ /**
+ * The IP address that this forwarding rule is serving on behalf of.
+ *
+ * For global forwarding rules, the address must be a global IP; for regional
+ * forwarding rules, the address must live in the same region as the
+ * forwarding rule. By default, this field is empty and an ephemeral IP from
+ * the same scope (global or regional) will be assigned.
+ *
+ * When the load balancing scheme is INTERNAL, this can only be an RFC 1918 IP
+ * address belonging to the network/subnetwork configured for the forwarding
+ * rule. A reserved address cannot be used. If the field is empty, the IP
+ * address will be automatically allocated from the internal IP range of the
+ * subnetwork or network configured for this forwarding rule.
+ */
+ core.String IPAddress;
+ /**
+ * The IP protocol to which this rule applies. Valid options are TCP, UDP,
+ * ESP, AH, SCTP or ICMP.
+ *
+ * When the load balancing scheme is INTERNAL</code, only TCP and UDP are
+ * valid.
+ * Possible string values are:
+ * - "AH"
+ * - "ESP"
+ * - "SCTP"
+ * - "TCP"
+ * - "UDP"
+ */
+ core.String IPProtocol;
+ /**
+ * This field is not used for external load balancing.
+ *
+ * For internal load balancing, this field identifies the BackendService
+ * resource to receive the matched traffic.
+ */
+ core.String backendService;
/** [Output Only] Creation timestamp in RFC3339 text format. */
core.String creationTimestamp;
/**
@@ -16924,35 +20383,29 @@ class Disk {
*/
core.String description;
/**
- * Encrypts the disk using a customer-supplied encryption key.
- *
- * After you encrypt a disk with a customer-supplied key, you must provide the
- * same key if you use the disk later (e.g. to create a disk snapshot or an
- * image, or to attach the disk to a virtual machine).
- *
- * Customer-supplied encryption keys do not protect access to metadata of the
- * disk.
- *
- * If you do not provide an encryption key when creating the disk, then the
- * disk will be encrypted using an automatically generated key and you do not
- * need to provide a key to use the disk later.
- */
- CustomerEncryptionKey diskEncryptionKey;
- /**
* [Output Only] The unique identifier for the resource. This identifier is
* defined by the server.
*/
core.String id;
- /** [Output Only] Type of the resource. Always compute#disk for disks. */
+ /**
+ * [Output Only] Type of the resource. Always compute#forwardingRule for
+ * Forwarding Rule resources.
+ */
core.String kind;
- /** [Output Only] Last attach timestamp in RFC3339 text format. */
- core.String lastAttachTimestamp;
- /** [Output Only] Last detach timestamp in RFC3339 text format. */
- core.String lastDetachTimestamp;
- /** Any applicable publicly visible licenses. */
- core.List<core.String> licenses;
/**
- * Name of the resource. Provided by the client when the resource is created.
+ * This signifies what the ForwardingRule will be used for and can only take
+ * the following values: INTERNAL EXTERNAL The value of INTERNAL means that
+ * this will be used for Internal Network Load Balancing (TCP, UDP). The value
+ * of EXTERNAL means that this will be used for External Load Balancing
+ * (HTTP(S) LB, External TCP/UDP LB, SSL Proxy)
+ * Possible string values are:
+ * - "EXTERNAL"
+ * - "INTERNAL"
+ * - "INVALID"
+ */
+ core.String loadBalancingScheme;
+ /**
+ * Name of the resource; provided by the client when the resource is created.
* The name must be 1-63 characters long, and comply with RFC1035.
* Specifically, the name must be 1-63 characters long and match the regular
* expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
@@ -16961,258 +20414,183 @@ class Disk {
* dash.
*/
core.String name;
- /** Internal use only. */
- core.String options;
- /** [Output Only] Server-defined fully-qualified URL for this resource. */
- core.String selfLink;
/**
- * Size of the persistent disk, specified in GB. You can specify this field
- * when creating a persistent disk using the sourceImage or sourceSnapshot
- * parameter, or specify it alone to create an empty persistent disk.
+ * This field is not used for external load balancing.
*
- * If you specify this field along with sourceImage or sourceSnapshot, the
- * value of sizeGb must not be less than the size of the sourceImage or the
- * size of the snapshot.
+ * For internal load balancing, this field identifies the network that the
+ * load balanced IP should belong to for this Forwarding Rule. If this field
+ * is not specified, the default network will be used.
*/
- core.String sizeGb;
+ core.String network;
/**
- * The source image used to create this disk. If the source image is deleted,
- * this field will not be set.
- *
- * To create a disk with one of the public operating system images, specify
- * the image by its family name. For example, specify family/debian-8 to use
- * the latest Debian 8 image:
- *
- * projects/debian-cloud/global/images/family/debian-8
- *
- * Alternatively, use a specific version of a public operating system image:
- *
- * projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD
- *
- * To create a disk with a private image that you created, specify the image
- * name in the following format:
- *
- * global/images/my-private-image
- *
- * You can also specify a private image by its image family, which returns the
- * latest version of the image in that family. Replace the image name with
- * family/family-name:
+ * Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets
+ * addressed to ports in the specified range will be forwarded to target.
+ * Forwarding rules with the same [IPAddress, IPProtocol] pair must have
+ * disjoint port ranges.
*
- * global/images/family/my-private-family
- */
- core.String sourceImage;
- /**
- * The customer-supplied encryption key of the source image. Required if the
- * source image is protected by a customer-supplied encryption key.
- */
- CustomerEncryptionKey sourceImageEncryptionKey;
- /**
- * [Output Only] The ID value of the image used to create this disk. This
- * value identifies the exact image that was used to create this persistent
- * disk. For example, if you created the persistent disk from an image that
- * was later deleted and recreated under the same name, the source image ID
- * would identify the exact version of the image that was used.
- */
- core.String sourceImageId;
- /**
- * The source snapshot used to create this disk. You can provide this as a
- * partial or full URL to the resource. For example, the following are valid
- * values:
- * -
- * https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot
- * - projects/project/global/snapshots/snapshot
- * - global/snapshots/snapshot
- */
- core.String sourceSnapshot;
- /**
- * The customer-supplied encryption key of the source snapshot. Required if
- * the source snapshot is protected by a customer-supplied encryption key.
+ * This field is not used for internal load balancing.
*/
- CustomerEncryptionKey sourceSnapshotEncryptionKey;
+ core.String portRange;
/**
- * [Output Only] The unique ID of the snapshot used to create this disk. This
- * value identifies the exact snapshot that was used to create this persistent
- * disk. For example, if you created the persistent disk from a snapshot that
- * was later deleted and recreated under the same name, the source snapshot ID
- * would identify the exact version of the snapshot that was used.
+ * This field is not used for external load balancing.
+ *
+ * When the load balancing scheme is INTERNAL, a single port or a comma
+ * separated list of ports can be configured. Only packets addressed to these
+ * ports will be forwarded to the backends configured with this forwarding
+ * rule. If the port list is not provided then all ports are allowed to pass
+ * through.
+ *
+ * You may specify a maximum of up to 5 ports.
*/
- core.String sourceSnapshotId;
+ core.List<core.String> ports;
/**
- * [Output Only] The status of disk creation.
- * Possible string values are:
- * - "CREATING"
- * - "FAILED"
- * - "READY"
- * - "RESTORING"
+ * [Output Only] URL of the region where the regional forwarding rule resides.
+ * This field is not applicable to global forwarding rules.
*/
- core.String status;
+ core.String region;
+ /** [Output Only] Server-defined URL for the resource. */
+ core.String selfLink;
/**
- * URL of the disk type resource describing which disk type to use to create
- * the disk. Provide this when creating the disk.
+ * This field is not used for external load balancing.
+ *
+ * For internal load balancing, this field identifies the subnetwork that the
+ * load balanced IP should belong to for this Forwarding Rule.
+ *
+ * If the network specified is in auto subnet mode, this field is optional.
+ * However, if the network is in custom subnet mode, a subnetwork must be
+ * specified.
*/
- core.String type;
+ core.String subnetwork;
/**
- * [Output Only] Links to the users of the disk (attached instances) in form:
- * project/zones/zone/instances/instance
+ * The URL of the target resource to receive the matched traffic. For regional
+ * forwarding rules, this target must live in the same region as the
+ * forwarding rule. For global forwarding rules, this target must be a global
+ * TargetHttpProxy or TargetHttpsProxy resource. The forwarded traffic must be
+ * of a type appropriate to the target object. For example, TargetHttpProxy
+ * requires HTTP traffic, and TargetHttpsProxy requires HTTPS traffic.
+ *
+ * This field is not used for internal load balancing.
*/
- core.List<core.String> users;
- /** [Output Only] URL of the zone where the disk resides. */
- core.String zone;
+ core.String target;
- Disk();
+ ForwardingRule();
- Disk.fromJson(core.Map _json) {
+ ForwardingRule.fromJson(core.Map _json) {
+ if (_json.containsKey("IPAddress")) {
+ IPAddress = _json["IPAddress"];
+ }
+ if (_json.containsKey("IPProtocol")) {
+ IPProtocol = _json["IPProtocol"];
+ }
+ if (_json.containsKey("backendService")) {
+ backendService = _json["backendService"];
+ }
if (_json.containsKey("creationTimestamp")) {
creationTimestamp = _json["creationTimestamp"];
}
if (_json.containsKey("description")) {
description = _json["description"];
}
- if (_json.containsKey("diskEncryptionKey")) {
- diskEncryptionKey = new CustomerEncryptionKey.fromJson(_json["diskEncryptionKey"]);
- }
if (_json.containsKey("id")) {
id = _json["id"];
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
}
- if (_json.containsKey("lastAttachTimestamp")) {
- lastAttachTimestamp = _json["lastAttachTimestamp"];
- }
- if (_json.containsKey("lastDetachTimestamp")) {
- lastDetachTimestamp = _json["lastDetachTimestamp"];
- }
- if (_json.containsKey("licenses")) {
- licenses = _json["licenses"];
+ if (_json.containsKey("loadBalancingScheme")) {
+ loadBalancingScheme = _json["loadBalancingScheme"];
}
if (_json.containsKey("name")) {
name = _json["name"];
}
- if (_json.containsKey("options")) {
- options = _json["options"];
- }
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
- }
- if (_json.containsKey("sizeGb")) {
- sizeGb = _json["sizeGb"];
- }
- if (_json.containsKey("sourceImage")) {
- sourceImage = _json["sourceImage"];
- }
- if (_json.containsKey("sourceImageEncryptionKey")) {
- sourceImageEncryptionKey = new CustomerEncryptionKey.fromJson(_json["sourceImageEncryptionKey"]);
- }
- if (_json.containsKey("sourceImageId")) {
- sourceImageId = _json["sourceImageId"];
- }
- if (_json.containsKey("sourceSnapshot")) {
- sourceSnapshot = _json["sourceSnapshot"];
+ if (_json.containsKey("network")) {
+ network = _json["network"];
}
- if (_json.containsKey("sourceSnapshotEncryptionKey")) {
- sourceSnapshotEncryptionKey = new CustomerEncryptionKey.fromJson(_json["sourceSnapshotEncryptionKey"]);
+ if (_json.containsKey("portRange")) {
+ portRange = _json["portRange"];
}
- if (_json.containsKey("sourceSnapshotId")) {
- sourceSnapshotId = _json["sourceSnapshotId"];
+ if (_json.containsKey("ports")) {
+ ports = _json["ports"];
}
- if (_json.containsKey("status")) {
- status = _json["status"];
+ if (_json.containsKey("region")) {
+ region = _json["region"];
}
- if (_json.containsKey("type")) {
- type = _json["type"];
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
}
- if (_json.containsKey("users")) {
- users = _json["users"];
+ if (_json.containsKey("subnetwork")) {
+ subnetwork = _json["subnetwork"];
}
- if (_json.containsKey("zone")) {
- zone = _json["zone"];
+ if (_json.containsKey("target")) {
+ target = _json["target"];
}
}
core.Map toJson() {
var _json = new core.Map();
+ if (IPAddress != null) {
+ _json["IPAddress"] = IPAddress;
+ }
+ if (IPProtocol != null) {
+ _json["IPProtocol"] = IPProtocol;
+ }
+ if (backendService != null) {
+ _json["backendService"] = backendService;
+ }
if (creationTimestamp != null) {
_json["creationTimestamp"] = creationTimestamp;
}
if (description != null) {
_json["description"] = description;
}
- if (diskEncryptionKey != null) {
- _json["diskEncryptionKey"] = (diskEncryptionKey).toJson();
- }
if (id != null) {
_json["id"] = id;
}
if (kind != null) {
_json["kind"] = kind;
}
- if (lastAttachTimestamp != null) {
- _json["lastAttachTimestamp"] = lastAttachTimestamp;
- }
- if (lastDetachTimestamp != null) {
- _json["lastDetachTimestamp"] = lastDetachTimestamp;
- }
- if (licenses != null) {
- _json["licenses"] = licenses;
+ if (loadBalancingScheme != null) {
+ _json["loadBalancingScheme"] = loadBalancingScheme;
}
if (name != null) {
_json["name"] = name;
}
- if (options != null) {
- _json["options"] = options;
- }
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
- }
- if (sizeGb != null) {
- _json["sizeGb"] = sizeGb;
- }
- if (sourceImage != null) {
- _json["sourceImage"] = sourceImage;
- }
- if (sourceImageEncryptionKey != null) {
- _json["sourceImageEncryptionKey"] = (sourceImageEncryptionKey).toJson();
- }
- if (sourceImageId != null) {
- _json["sourceImageId"] = sourceImageId;
- }
- if (sourceSnapshot != null) {
- _json["sourceSnapshot"] = sourceSnapshot;
+ if (network != null) {
+ _json["network"] = network;
}
- if (sourceSnapshotEncryptionKey != null) {
- _json["sourceSnapshotEncryptionKey"] = (sourceSnapshotEncryptionKey).toJson();
+ if (portRange != null) {
+ _json["portRange"] = portRange;
}
- if (sourceSnapshotId != null) {
- _json["sourceSnapshotId"] = sourceSnapshotId;
+ if (ports != null) {
+ _json["ports"] = ports;
}
- if (status != null) {
- _json["status"] = status;
+ if (region != null) {
+ _json["region"] = region;
}
- if (type != null) {
- _json["type"] = type;
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
- if (users != null) {
- _json["users"] = users;
+ if (subnetwork != null) {
+ _json["subnetwork"] = subnetwork;
}
- if (zone != null) {
- _json["zone"] = zone;
+ if (target != null) {
+ _json["target"] = target;
}
return _json;
}
}
-class DiskAggregatedList {
+class ForwardingRuleAggregatedList {
/**
* [Output Only] The unique identifier for the resource. This identifier is
* defined by the server.
*/
core.String id;
- /** [Output Only] A map of scoped disk lists. */
- core.Map<core.String, DisksScopedList> items;
+ /** A map of scoped forwarding rule lists. */
+ core.Map<core.String, ForwardingRulesScopedList> items;
/**
- * [Output Only] Type of resource. Always compute#diskAggregatedList for
- * aggregated lists of persistent disks.
+ * [Output Only] Type of resource. Always compute#forwardingRuleAggregatedList
+ * for lists of forwarding rules.
*/
core.String kind;
/**
@@ -17226,14 +20604,14 @@ class DiskAggregatedList {
/** [Output Only] Server-defined URL for this resource. */
core.String selfLink;
- DiskAggregatedList();
+ ForwardingRuleAggregatedList();
- DiskAggregatedList.fromJson(core.Map _json) {
+ ForwardingRuleAggregatedList.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
if (_json.containsKey("items")) {
- items = commons.mapMap(_json["items"], (item) => new DisksScopedList.fromJson(item));
+ items = commons.mapMap(_json["items"], (item) => new ForwardingRulesScopedList.fromJson(item));
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
@@ -17267,18 +20645,13 @@ class DiskAggregatedList {
}
}
-/** A list of Disk resources. */
-class DiskList {
- /**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
- */
+/** Contains a list of ForwardingRule resources. */
+class ForwardingRuleList {
+ /** [Output Only] Unique identifier for the resource. Set by the server. */
core.String id;
- /** [Output Only] A list of persistent disks. */
- core.List<Disk> items;
- /**
- * [Output Only] Type of resource. Always compute#diskList for lists of disks.
- */
+ /** A list of ForwardingRule resources. */
+ core.List<ForwardingRule> items;
+ /** Type of resource. */
core.String kind;
/**
* [Output Only] This token allows you to get the next page of results for
@@ -17291,14 +20664,14 @@ class DiskList {
/** [Output Only] Server-defined URL for this resource. */
core.String selfLink;
- DiskList();
+ ForwardingRuleList();
- DiskList.fromJson(core.Map _json) {
+ ForwardingRuleList.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new Disk.fromJson(value)).toList();
+ items = _json["items"].map((value) => new ForwardingRule.fromJson(value)).toList();
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
@@ -17332,614 +20705,685 @@ class DiskList {
}
}
-class DiskMoveRequest {
+class ForwardingRulesScopedListWarningData {
/**
- * The URL of the destination zone to move the disk. This can be a full or
- * partial URL. For example, the following are all valid URLs to a zone:
- * - https://www.googleapis.com/compute/v1/projects/project/zones/zone
- * - projects/project/zones/zone
- * - zones/zone
+ * [Output Only] A key that provides more detail on the warning being
+ * returned. For example, for warnings where there are no results in a list
+ * request for a particular zone, this key might be scope and the key value
+ * might be the zone name. Other examples might be a key indicating a
+ * deprecated resource and a suggested replacement, or a warning about invalid
+ * network settings (for example, if an instance attempts to perform IP
+ * forwarding but is not enabled for IP forwarding).
*/
- core.String destinationZone;
+ core.String key;
+ /** [Output Only] A warning data value corresponding to the key. */
+ core.String value;
+
+ ForwardingRulesScopedListWarningData();
+
+ ForwardingRulesScopedListWarningData.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;
+ }
+}
+
+/**
+ * Informational warning which replaces the list of forwarding rules when the
+ * list is empty.
+ */
+class ForwardingRulesScopedListWarning {
+ /**
+ * [Output Only] A warning code, if applicable. For example, Compute Engine
+ * returns NO_RESULTS_ON_PAGE if there are no results in the response.
+ * Possible string values are:
+ * - "CLEANUP_FAILED"
+ * - "DEPRECATED_RESOURCE_USED"
+ * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ * - "FIELD_VALUE_OVERRIDEN"
+ * - "INJECTED_KERNELS_DEPRECATED"
+ * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
+ * - "NEXT_HOP_CANNOT_IP_FORWARD"
+ * - "NEXT_HOP_INSTANCE_NOT_FOUND"
+ * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
+ * - "NEXT_HOP_NOT_RUNNING"
+ * - "NOT_CRITICAL_ERROR"
+ * - "NO_RESULTS_ON_PAGE"
+ * - "REQUIRED_TOS_AGREEMENT"
+ * - "RESOURCE_NOT_DELETED"
+ * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
+ * - "UNREACHABLE"
+ */
+ core.String code;
+ /**
+ * [Output Only] Metadata about this warning in key: value format. For
+ * example:
+ * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
+ */
+ core.List<ForwardingRulesScopedListWarningData> data;
+ /** [Output Only] A human-readable description of the warning code. */
+ core.String message;
+
+ ForwardingRulesScopedListWarning();
+
+ ForwardingRulesScopedListWarning.fromJson(core.Map _json) {
+ if (_json.containsKey("code")) {
+ code = _json["code"];
+ }
+ if (_json.containsKey("data")) {
+ data = _json["data"].map((value) => new ForwardingRulesScopedListWarningData.fromJson(value)).toList();
+ }
+ if (_json.containsKey("message")) {
+ message = _json["message"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (code != null) {
+ _json["code"] = code;
+ }
+ if (data != null) {
+ _json["data"] = data.map((value) => (value).toJson()).toList();
+ }
+ if (message != null) {
+ _json["message"] = message;
+ }
+ return _json;
+ }
+}
+
+class ForwardingRulesScopedList {
+ /** List of forwarding rules contained in this scope. */
+ core.List<ForwardingRule> forwardingRules;
+ /**
+ * Informational warning which replaces the list of forwarding rules when the
+ * list is empty.
+ */
+ ForwardingRulesScopedListWarning warning;
+
+ ForwardingRulesScopedList();
+
+ ForwardingRulesScopedList.fromJson(core.Map _json) {
+ if (_json.containsKey("forwardingRules")) {
+ forwardingRules = _json["forwardingRules"].map((value) => new ForwardingRule.fromJson(value)).toList();
+ }
+ if (_json.containsKey("warning")) {
+ warning = new ForwardingRulesScopedListWarning.fromJson(_json["warning"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (forwardingRules != null) {
+ _json["forwardingRules"] = forwardingRules.map((value) => (value).toJson()).toList();
+ }
+ if (warning != null) {
+ _json["warning"] = (warning).toJson();
+ }
+ return _json;
+ }
+}
+
+/** Guest OS features. */
+class GuestOsFeature {
/**
- * The URL of the target disk to move. This can be a full or partial URL. For
- * example, the following are all valid URLs to a disk:
- * -
- * https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
- * - projects/project/zones/zone/disks/disk
- * - zones/zone/disks/disk
+ * The type of supported feature. Currenty only VIRTIO_SCSI_MULTIQUEUE is
+ * supported. For newer Windows images, the server might also populate this
+ * property with the value WINDOWS to indicate that this is a Windows image.
+ * This value is purely informational and does not enable or disable any
+ * features.
+ * Possible string values are:
+ * - "FEATURE_TYPE_UNSPECIFIED"
+ * - "VIRTIO_SCSI_MULTIQUEUE"
+ * - "WINDOWS"
*/
- core.String targetDisk;
+ core.String type;
- DiskMoveRequest();
+ GuestOsFeature();
- DiskMoveRequest.fromJson(core.Map _json) {
- if (_json.containsKey("destinationZone")) {
- destinationZone = _json["destinationZone"];
- }
- if (_json.containsKey("targetDisk")) {
- targetDisk = _json["targetDisk"];
+ GuestOsFeature.fromJson(core.Map _json) {
+ if (_json.containsKey("type")) {
+ type = _json["type"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (destinationZone != null) {
- _json["destinationZone"] = destinationZone;
- }
- if (targetDisk != null) {
- _json["targetDisk"] = targetDisk;
+ if (type != null) {
+ _json["type"] = type;
}
return _json;
}
}
-/** A DiskType resource. */
-class DiskType {
- /** [Output Only] Creation timestamp in RFC3339 text format. */
- core.String creationTimestamp;
- /** [Output Only] Server-defined default disk size in GB. */
- core.String defaultDiskSizeGb;
- /** [Output Only] The deprecation status associated with this disk type. */
- DeprecationStatus deprecated;
- /** [Output Only] An optional description of this resource. */
- core.String description;
+class HTTPHealthCheck {
/**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
+ * The value of the host header in the HTTP health check request. If left
+ * empty (default value), the IP on behalf of which this health check is
+ * performed will be used.
*/
- core.String id;
+ core.String host;
/**
- * [Output Only] Type of the resource. Always compute#diskType for disk types.
+ * The TCP port number for the health check request. The default value is 80.
*/
- core.String kind;
- /** [Output Only] Name of the resource. */
- core.String name;
- /** [Output Only] Server-defined URL for the resource. */
- core.String selfLink;
+ core.int port;
/**
- * [Output Only] An optional textual description of the valid disk size, such
- * as "10GB-10TB".
+ * Port name as defined in InstanceGroup#NamedPort#name. If both port and
+ * port_name are defined, port takes precedence.
*/
- core.String validDiskSize;
- /** [Output Only] URL of the zone where the disk type resides. */
- core.String zone;
+ core.String portName;
+ /**
+ * Specifies the type of proxy header to append before sending data to the
+ * backend, either NONE or PROXY_V1. The default is NONE.
+ * Possible string values are:
+ * - "NONE"
+ * - "PROXY_V1"
+ */
+ core.String proxyHeader;
+ /**
+ * The request path of the HTTP health check request. The default value is /.
+ */
+ core.String requestPath;
- DiskType();
+ HTTPHealthCheck();
- DiskType.fromJson(core.Map _json) {
- if (_json.containsKey("creationTimestamp")) {
- creationTimestamp = _json["creationTimestamp"];
- }
- if (_json.containsKey("defaultDiskSizeGb")) {
- defaultDiskSizeGb = _json["defaultDiskSizeGb"];
- }
- if (_json.containsKey("deprecated")) {
- deprecated = new DeprecationStatus.fromJson(_json["deprecated"]);
- }
- if (_json.containsKey("description")) {
- description = _json["description"];
- }
- if (_json.containsKey("id")) {
- id = _json["id"];
- }
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
+ HTTPHealthCheck.fromJson(core.Map _json) {
+ if (_json.containsKey("host")) {
+ host = _json["host"];
}
- if (_json.containsKey("name")) {
- name = _json["name"];
+ if (_json.containsKey("port")) {
+ port = _json["port"];
}
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
+ if (_json.containsKey("portName")) {
+ portName = _json["portName"];
}
- if (_json.containsKey("validDiskSize")) {
- validDiskSize = _json["validDiskSize"];
+ if (_json.containsKey("proxyHeader")) {
+ proxyHeader = _json["proxyHeader"];
}
- if (_json.containsKey("zone")) {
- zone = _json["zone"];
+ if (_json.containsKey("requestPath")) {
+ requestPath = _json["requestPath"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (creationTimestamp != null) {
- _json["creationTimestamp"] = creationTimestamp;
- }
- if (defaultDiskSizeGb != null) {
- _json["defaultDiskSizeGb"] = defaultDiskSizeGb;
- }
- if (deprecated != null) {
- _json["deprecated"] = (deprecated).toJson();
- }
- if (description != null) {
- _json["description"] = description;
- }
- if (id != null) {
- _json["id"] = id;
- }
- if (kind != null) {
- _json["kind"] = kind;
+ if (host != null) {
+ _json["host"] = host;
}
- if (name != null) {
- _json["name"] = name;
+ if (port != null) {
+ _json["port"] = port;
}
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
+ if (portName != null) {
+ _json["portName"] = portName;
}
- if (validDiskSize != null) {
- _json["validDiskSize"] = validDiskSize;
+ if (proxyHeader != null) {
+ _json["proxyHeader"] = proxyHeader;
}
- if (zone != null) {
- _json["zone"] = zone;
+ if (requestPath != null) {
+ _json["requestPath"] = requestPath;
}
return _json;
}
}
-class DiskTypeAggregatedList {
+class HTTPSHealthCheck {
/**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
+ * The value of the host header in the HTTPS health check request. If left
+ * empty (default value), the IP on behalf of which this health check is
+ * performed will be used.
*/
- core.String id;
- /** [Output Only] A map of scoped disk type lists. */
- core.Map<core.String, DiskTypesScopedList> items;
- /** [Output Only] Type of resource. Always compute#diskTypeAggregatedList. */
- core.String kind;
+ core.String host;
/**
- * [Output Only] This token allows you to get the next page of results for
- * list requests. If the number of results is larger than maxResults, use the
- * nextPageToken as a value for the query parameter pageToken in the next list
- * request. Subsequent list requests will have their own nextPageToken to
- * continue paging through the results.
+ * The TCP port number for the health check request. The default value is 443.
*/
- core.String nextPageToken;
- /** [Output Only] Server-defined URL for this resource. */
- core.String selfLink;
+ core.int port;
+ /**
+ * Port name as defined in InstanceGroup#NamedPort#name. If both port and
+ * port_name are defined, port takes precedence.
+ */
+ core.String portName;
+ /**
+ * Specifies the type of proxy header to append before sending data to the
+ * backend, either NONE or PROXY_V1. The default is NONE.
+ * Possible string values are:
+ * - "NONE"
+ * - "PROXY_V1"
+ */
+ core.String proxyHeader;
+ /**
+ * The request path of the HTTPS health check request. The default value is /.
+ */
+ core.String requestPath;
- DiskTypeAggregatedList();
+ HTTPSHealthCheck();
- DiskTypeAggregatedList.fromJson(core.Map _json) {
- if (_json.containsKey("id")) {
- id = _json["id"];
+ HTTPSHealthCheck.fromJson(core.Map _json) {
+ if (_json.containsKey("host")) {
+ host = _json["host"];
}
- if (_json.containsKey("items")) {
- items = commons.mapMap(_json["items"], (item) => new DiskTypesScopedList.fromJson(item));
+ if (_json.containsKey("port")) {
+ port = _json["port"];
}
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
+ if (_json.containsKey("portName")) {
+ portName = _json["portName"];
}
- if (_json.containsKey("nextPageToken")) {
- nextPageToken = _json["nextPageToken"];
+ if (_json.containsKey("proxyHeader")) {
+ proxyHeader = _json["proxyHeader"];
}
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
+ if (_json.containsKey("requestPath")) {
+ requestPath = _json["requestPath"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (id != null) {
- _json["id"] = id;
+ if (host != null) {
+ _json["host"] = host;
}
- if (items != null) {
- _json["items"] = commons.mapMap(items, (item) => (item).toJson());
+ if (port != null) {
+ _json["port"] = port;
}
- if (kind != null) {
- _json["kind"] = kind;
+ if (portName != null) {
+ _json["portName"] = portName;
}
- if (nextPageToken != null) {
- _json["nextPageToken"] = nextPageToken;
+ if (proxyHeader != null) {
+ _json["proxyHeader"] = proxyHeader;
}
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
+ if (requestPath != null) {
+ _json["requestPath"] = requestPath;
}
return _json;
}
}
-/** Contains a list of disk types. */
-class DiskTypeList {
+/**
+ * An HealthCheck resource. This resource defines a template for how individual
+ * virtual machines should be checked for health, via one of the supported
+ * protocols.
+ */
+class HealthCheck {
+ /**
+ * How often (in seconds) to send a health check. The default value is 5
+ * seconds.
+ */
+ core.int checkIntervalSec;
+ /** [Output Only] Creation timestamp in 3339 text format. */
+ core.String creationTimestamp;
+ /**
+ * An optional description of this resource. Provide this property when you
+ * create the resource.
+ */
+ core.String description;
+ /**
+ * A so-far unhealthy instance will be marked healthy after this many
+ * consecutive successes. The default value is 2.
+ */
+ core.int healthyThreshold;
+ HTTPHealthCheck httpHealthCheck;
+ HTTPSHealthCheck httpsHealthCheck;
/**
* [Output Only] The unique identifier for the resource. This identifier is
* defined by the server.
*/
core.String id;
- /** [Output Only] A list of Disk Type resources. */
- core.List<DiskType> items;
- /**
- * [Output Only] Type of resource. Always compute#diskTypeList for disk types.
- */
+ /** Type of the resource. */
core.String kind;
/**
- * [Output Only] This token allows you to get the next page of results for
- * list requests. If the number of results is larger than maxResults, use the
- * nextPageToken as a value for the query parameter pageToken in the next list
- * request. Subsequent list requests will have their own nextPageToken to
- * continue paging through the results.
+ * Name of the resource. Provided by the client when the resource is created.
+ * The name must be 1-63 characters long, and comply with RFC1035.
+ * Specifically, the name must be 1-63 characters long and match the regular
+ * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
+ * be a lowercase letter, and all following characters must be a dash,
+ * lowercase letter, or digit, except the last character, which cannot be a
+ * dash.
*/
- core.String nextPageToken;
- /** [Output Only] Server-defined URL for this resource. */
+ core.String name;
+ /** [Output Only] Server-defined URL for the resource. */
core.String selfLink;
+ SSLHealthCheck sslHealthCheck;
+ TCPHealthCheck tcpHealthCheck;
+ /**
+ * How long (in seconds) to wait before claiming failure. The default value is
+ * 5 seconds. It is invalid for timeoutSec to have greater value than
+ * checkIntervalSec.
+ */
+ core.int timeoutSec;
+ /**
+ * Specifies the type of the healthCheck, either TCP, SSL, HTTP or HTTPS. If
+ * not specified, the default is TCP. Exactly one of the protocol-specific
+ * health check field must be specified, which must match type field.
+ * Possible string values are:
+ * - "HTTP"
+ * - "HTTPS"
+ * - "INVALID"
+ * - "SSL"
+ * - "TCP"
+ */
+ core.String type;
+ /**
+ * A so-far healthy instance will be marked unhealthy after this many
+ * consecutive failures. The default value is 2.
+ */
+ core.int unhealthyThreshold;
- DiskTypeList();
+ HealthCheck();
- DiskTypeList.fromJson(core.Map _json) {
+ HealthCheck.fromJson(core.Map _json) {
+ if (_json.containsKey("checkIntervalSec")) {
+ checkIntervalSec = _json["checkIntervalSec"];
+ }
+ if (_json.containsKey("creationTimestamp")) {
+ creationTimestamp = _json["creationTimestamp"];
+ }
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
+ if (_json.containsKey("healthyThreshold")) {
+ healthyThreshold = _json["healthyThreshold"];
+ }
+ if (_json.containsKey("httpHealthCheck")) {
+ httpHealthCheck = new HTTPHealthCheck.fromJson(_json["httpHealthCheck"]);
+ }
+ if (_json.containsKey("httpsHealthCheck")) {
+ httpsHealthCheck = new HTTPSHealthCheck.fromJson(_json["httpsHealthCheck"]);
+ }
if (_json.containsKey("id")) {
id = _json["id"];
}
- if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new DiskType.fromJson(value)).toList();
- }
if (_json.containsKey("kind")) {
kind = _json["kind"];
}
- if (_json.containsKey("nextPageToken")) {
- nextPageToken = _json["nextPageToken"];
+ if (_json.containsKey("name")) {
+ name = _json["name"];
}
if (_json.containsKey("selfLink")) {
selfLink = _json["selfLink"];
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (id != null) {
- _json["id"] = id;
- }
- if (items != null) {
- _json["items"] = items.map((value) => (value).toJson()).toList();
- }
- if (kind != null) {
- _json["kind"] = kind;
+ if (_json.containsKey("sslHealthCheck")) {
+ sslHealthCheck = new SSLHealthCheck.fromJson(_json["sslHealthCheck"]);
}
- if (nextPageToken != null) {
- _json["nextPageToken"] = nextPageToken;
+ if (_json.containsKey("tcpHealthCheck")) {
+ tcpHealthCheck = new TCPHealthCheck.fromJson(_json["tcpHealthCheck"]);
}
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
+ if (_json.containsKey("timeoutSec")) {
+ timeoutSec = _json["timeoutSec"];
}
- return _json;
- }
-}
-
-class DiskTypesScopedListWarningData {
- /**
- * [Output Only] A key that provides more detail on the warning being
- * returned. For example, for warnings where there are no results in a list
- * request for a particular zone, this key might be scope and the key value
- * might be the zone name. Other examples might be a key indicating a
- * deprecated resource and a suggested replacement, or a warning about invalid
- * network settings (for example, if an instance attempts to perform IP
- * forwarding but is not enabled for IP forwarding).
- */
- core.String key;
- /** [Output Only] A warning data value corresponding to the key. */
- core.String value;
-
- DiskTypesScopedListWarningData();
-
- DiskTypesScopedListWarningData.fromJson(core.Map _json) {
- if (_json.containsKey("key")) {
- key = _json["key"];
+ if (_json.containsKey("type")) {
+ type = _json["type"];
}
- if (_json.containsKey("value")) {
- value = _json["value"];
+ if (_json.containsKey("unhealthyThreshold")) {
+ unhealthyThreshold = _json["unhealthyThreshold"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (key != null) {
- _json["key"] = key;
- }
- if (value != null) {
- _json["value"] = value;
+ if (checkIntervalSec != null) {
+ _json["checkIntervalSec"] = checkIntervalSec;
}
- return _json;
- }
-}
-
-/**
- * [Output Only] Informational warning which replaces the list of disk types
- * when the list is empty.
- */
-class DiskTypesScopedListWarning {
- /**
- * [Output Only] A warning code, if applicable. For example, Compute Engine
- * returns NO_RESULTS_ON_PAGE if there are no results in the response.
- * Possible string values are:
- * - "CLEANUP_FAILED"
- * - "DEPRECATED_RESOURCE_USED"
- * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
- * - "FIELD_VALUE_OVERRIDEN"
- * - "INJECTED_KERNELS_DEPRECATED"
- * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
- * - "NEXT_HOP_CANNOT_IP_FORWARD"
- * - "NEXT_HOP_INSTANCE_NOT_FOUND"
- * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
- * - "NEXT_HOP_NOT_RUNNING"
- * - "NOT_CRITICAL_ERROR"
- * - "NO_RESULTS_ON_PAGE"
- * - "REQUIRED_TOS_AGREEMENT"
- * - "RESOURCE_NOT_DELETED"
- * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
- * - "UNREACHABLE"
- */
- core.String code;
- /**
- * [Output Only] Metadata about this warning in key: value format. For
- * example:
- * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
- */
- core.List<DiskTypesScopedListWarningData> data;
- /** [Output Only] A human-readable description of the warning code. */
- core.String message;
-
- DiskTypesScopedListWarning();
-
- DiskTypesScopedListWarning.fromJson(core.Map _json) {
- if (_json.containsKey("code")) {
- code = _json["code"];
+ if (creationTimestamp != null) {
+ _json["creationTimestamp"] = creationTimestamp;
}
- if (_json.containsKey("data")) {
- data = _json["data"].map((value) => new DiskTypesScopedListWarningData.fromJson(value)).toList();
+ if (description != null) {
+ _json["description"] = description;
}
- if (_json.containsKey("message")) {
- message = _json["message"];
+ if (healthyThreshold != null) {
+ _json["healthyThreshold"] = healthyThreshold;
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (code != null) {
- _json["code"] = code;
+ if (httpHealthCheck != null) {
+ _json["httpHealthCheck"] = (httpHealthCheck).toJson();
}
- if (data != null) {
- _json["data"] = data.map((value) => (value).toJson()).toList();
+ if (httpsHealthCheck != null) {
+ _json["httpsHealthCheck"] = (httpsHealthCheck).toJson();
}
- if (message != null) {
- _json["message"] = message;
+ if (id != null) {
+ _json["id"] = id;
}
- return _json;
- }
-}
-
-class DiskTypesScopedList {
- /** [Output Only] List of disk types contained in this scope. */
- core.List<DiskType> diskTypes;
- /**
- * [Output Only] Informational warning which replaces the list of disk types
- * when the list is empty.
- */
- DiskTypesScopedListWarning warning;
-
- DiskTypesScopedList();
-
- DiskTypesScopedList.fromJson(core.Map _json) {
- if (_json.containsKey("diskTypes")) {
- diskTypes = _json["diskTypes"].map((value) => new DiskType.fromJson(value)).toList();
+ if (kind != null) {
+ _json["kind"] = kind;
}
- if (_json.containsKey("warning")) {
- warning = new DiskTypesScopedListWarning.fromJson(_json["warning"]);
+ if (name != null) {
+ _json["name"] = name;
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (diskTypes != null) {
- _json["diskTypes"] = diskTypes.map((value) => (value).toJson()).toList();
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
- if (warning != null) {
- _json["warning"] = (warning).toJson();
+ if (sslHealthCheck != null) {
+ _json["sslHealthCheck"] = (sslHealthCheck).toJson();
}
- return _json;
- }
-}
-
-class DisksResizeRequest {
- /** The new size of the persistent disk, which is specified in GB. */
- core.String sizeGb;
-
- DisksResizeRequest();
-
- DisksResizeRequest.fromJson(core.Map _json) {
- if (_json.containsKey("sizeGb")) {
- sizeGb = _json["sizeGb"];
+ if (tcpHealthCheck != null) {
+ _json["tcpHealthCheck"] = (tcpHealthCheck).toJson();
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (sizeGb != null) {
- _json["sizeGb"] = sizeGb;
+ if (timeoutSec != null) {
+ _json["timeoutSec"] = timeoutSec;
+ }
+ if (type != null) {
+ _json["type"] = type;
+ }
+ if (unhealthyThreshold != null) {
+ _json["unhealthyThreshold"] = unhealthyThreshold;
}
return _json;
}
}
-class DisksScopedListWarningData {
+/** Contains a list of HealthCheck resources. */
+class HealthCheckList {
/**
- * [Output Only] A key that provides more detail on the warning being
- * returned. For example, for warnings where there are no results in a list
- * request for a particular zone, this key might be scope and the key value
- * might be the zone name. Other examples might be a key indicating a
- * deprecated resource and a suggested replacement, or a warning about invalid
- * network settings (for example, if an instance attempts to perform IP
- * forwarding but is not enabled for IP forwarding).
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
*/
- core.String key;
- /** [Output Only] A warning data value corresponding to the key. */
- core.String value;
+ core.String id;
+ /** A list of HealthCheck resources. */
+ core.List<HealthCheck> items;
+ /** Type of resource. */
+ core.String kind;
+ /**
+ * [Output Only] This token allows you to get the next page of results for
+ * list requests. If the number of results is larger than maxResults, use the
+ * nextPageToken as a value for the query parameter pageToken in the next list
+ * request. Subsequent list requests will have their own nextPageToken to
+ * continue paging through the results.
+ */
+ core.String nextPageToken;
+ /** [Output Only] Server-defined URL for this resource. */
+ core.String selfLink;
- DisksScopedListWarningData();
+ HealthCheckList();
- DisksScopedListWarningData.fromJson(core.Map _json) {
- if (_json.containsKey("key")) {
- key = _json["key"];
+ HealthCheckList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
}
- if (_json.containsKey("value")) {
- value = _json["value"];
+ if (_json.containsKey("items")) {
+ items = _json["items"].map((value) => new HealthCheck.fromJson(value)).toList();
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (key != null) {
- _json["key"] = key;
+ if (id != null) {
+ _json["id"] = id;
}
- if (value != null) {
- _json["value"] = value;
+ if (items != null) {
+ _json["items"] = items.map((value) => (value).toJson()).toList();
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
return _json;
}
}
/**
- * [Output Only] Informational warning which replaces the list of disks when the
- * list is empty.
+ * A full or valid partial URL to a health check. For example, the following are
+ * valid URLs:
+ * -
+ * https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealthChecks/health-check
+ * - projects/project-id/global/httpHealthChecks/health-check
+ * - global/httpHealthChecks/health-check
*/
-class DisksScopedListWarning {
- /**
- * [Output Only] A warning code, if applicable. For example, Compute Engine
- * returns NO_RESULTS_ON_PAGE if there are no results in the response.
- * Possible string values are:
- * - "CLEANUP_FAILED"
- * - "DEPRECATED_RESOURCE_USED"
- * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
- * - "FIELD_VALUE_OVERRIDEN"
- * - "INJECTED_KERNELS_DEPRECATED"
- * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
- * - "NEXT_HOP_CANNOT_IP_FORWARD"
- * - "NEXT_HOP_INSTANCE_NOT_FOUND"
- * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
- * - "NEXT_HOP_NOT_RUNNING"
- * - "NOT_CRITICAL_ERROR"
- * - "NO_RESULTS_ON_PAGE"
- * - "REQUIRED_TOS_AGREEMENT"
- * - "RESOURCE_NOT_DELETED"
- * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
- * - "UNREACHABLE"
- */
- core.String code;
- /**
- * [Output Only] Metadata about this warning in key: value format. For
- * example:
- * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
- */
- core.List<DisksScopedListWarningData> data;
- /** [Output Only] A human-readable description of the warning code. */
- core.String message;
+class HealthCheckReference {
+ core.String healthCheck;
- DisksScopedListWarning();
+ HealthCheckReference();
- DisksScopedListWarning.fromJson(core.Map _json) {
- if (_json.containsKey("code")) {
- code = _json["code"];
- }
- if (_json.containsKey("data")) {
- data = _json["data"].map((value) => new DisksScopedListWarningData.fromJson(value)).toList();
- }
- if (_json.containsKey("message")) {
- message = _json["message"];
+ HealthCheckReference.fromJson(core.Map _json) {
+ if (_json.containsKey("healthCheck")) {
+ healthCheck = _json["healthCheck"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (code != null) {
- _json["code"] = code;
- }
- if (data != null) {
- _json["data"] = data.map((value) => (value).toJson()).toList();
- }
- if (message != null) {
- _json["message"] = message;
+ if (healthCheck != null) {
+ _json["healthCheck"] = healthCheck;
}
return _json;
}
}
-class DisksScopedList {
- /** [Output Only] List of disks contained in this scope. */
- core.List<Disk> disks;
+class HealthStatus {
/**
- * [Output Only] Informational warning which replaces the list of disks when
- * the list is empty.
+ * Health state of the instance.
+ * Possible string values are:
+ * - "HEALTHY"
+ * - "UNHEALTHY"
*/
- DisksScopedListWarning warning;
+ core.String healthState;
+ /** URL of the instance resource. */
+ core.String instance;
+ /** The IP address represented by this resource. */
+ core.String ipAddress;
+ /** The port on the instance. */
+ core.int port;
- DisksScopedList();
+ HealthStatus();
- DisksScopedList.fromJson(core.Map _json) {
- if (_json.containsKey("disks")) {
- disks = _json["disks"].map((value) => new Disk.fromJson(value)).toList();
+ HealthStatus.fromJson(core.Map _json) {
+ if (_json.containsKey("healthState")) {
+ healthState = _json["healthState"];
}
- if (_json.containsKey("warning")) {
- warning = new DisksScopedListWarning.fromJson(_json["warning"]);
+ if (_json.containsKey("instance")) {
+ instance = _json["instance"];
+ }
+ if (_json.containsKey("ipAddress")) {
+ ipAddress = _json["ipAddress"];
+ }
+ if (_json.containsKey("port")) {
+ port = _json["port"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (disks != null) {
- _json["disks"] = disks.map((value) => (value).toJson()).toList();
+ if (healthState != null) {
+ _json["healthState"] = healthState;
}
- if (warning != null) {
- _json["warning"] = (warning).toJson();
+ if (instance != null) {
+ _json["instance"] = instance;
+ }
+ if (ipAddress != null) {
+ _json["ipAddress"] = ipAddress;
+ }
+ if (port != null) {
+ _json["port"] = port;
}
return _json;
}
}
-class FirewallAllowed {
+/**
+ * UrlMaps A host-matching rule for a URL. If matched, will use the named
+ * PathMatcher to select the BackendService.
+ */
+class HostRule {
/**
- * The IP protocol to which this rule applies. The protocol type is required
- * when creating a firewall rule. This value can either be one of the
- * following well known protocol strings (tcp, udp, icmp, esp, ah, sctp), or
- * the IP protocol number.
+ * An optional description of this resource. Provide this property when you
+ * create the resource.
*/
- core.String IPProtocol;
+ core.String description;
/**
- * An optional list of ports to which this rule applies. This field is only
- * applicable for UDP or TCP protocol. Each entry must be either an integer or
- * a range. If not specified, this rule applies to connections through any
- * port.
- *
- * Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
+ * The list of host patterns to match. They must be valid hostnames, except *
+ * will match any string of ([a-z0-9-.]*). In that case, * must be the first
+ * character and must be followed in the pattern by either - or ..
*/
- core.List<core.String> ports;
+ core.List<core.String> hosts;
+ /**
+ * The name of the PathMatcher to use to match the path portion of the URL if
+ * the hostRule matches the URL's host portion.
+ */
+ core.String pathMatcher;
- FirewallAllowed();
+ HostRule();
- FirewallAllowed.fromJson(core.Map _json) {
- if (_json.containsKey("IPProtocol")) {
- IPProtocol = _json["IPProtocol"];
+ HostRule.fromJson(core.Map _json) {
+ if (_json.containsKey("description")) {
+ description = _json["description"];
}
- if (_json.containsKey("ports")) {
- ports = _json["ports"];
+ if (_json.containsKey("hosts")) {
+ hosts = _json["hosts"];
+ }
+ if (_json.containsKey("pathMatcher")) {
+ pathMatcher = _json["pathMatcher"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (IPProtocol != null) {
- _json["IPProtocol"] = IPProtocol;
+ if (description != null) {
+ _json["description"] = description;
}
- if (ports != null) {
- _json["ports"] = ports;
+ if (hosts != null) {
+ _json["hosts"] = hosts;
+ }
+ if (pathMatcher != null) {
+ _json["pathMatcher"] = pathMatcher;
}
return _json;
}
}
-/** Represents a Firewall resource. */
-class Firewall {
+/**
+ * An HttpHealthCheck resource. This resource defines a template for how
+ * individual instances should be checked for health, via HTTP.
+ */
+class HttpHealthCheck {
/**
- * The list of ALLOW rules specified by this firewall. Each rule specifies a
- * protocol and port-range tuple that describes a permitted connection.
+ * How often (in seconds) to send a health check. The default value is 5
+ * seconds.
*/
- core.List<FirewallAllowed> allowed;
+ core.int checkIntervalSec;
/** [Output Only] Creation timestamp in RFC3339 text format. */
core.String creationTimestamp;
/**
@@ -17948,17 +21392,28 @@ class Firewall {
*/
core.String description;
/**
+ * A so-far unhealthy instance will be marked healthy after this many
+ * consecutive successes. 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 public IP on behalf of which this health check
+ * is performed will be used.
+ */
+ core.String host;
+ /**
* [Output Only] The unique identifier for the resource. This identifier is
* defined by the server.
*/
core.String id;
/**
- * [Output Ony] Type of the resource. Always compute#firewall for firewall
- * rules.
+ * [Output Only] Type of the resource. Always compute#httpHealthCheck for HTTP
+ * health checks.
*/
core.String kind;
/**
- * Name of the resource; provided by the client when the resource is created.
+ * Name of the resource. Provided by the client when the resource is created.
* The name must be 1-63 characters long, and comply with RFC1035.
* Specifically, the name must be 1-63 characters long and match the regular
* expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
@@ -17968,54 +21423,33 @@ class Firewall {
*/
core.String name;
/**
- * URL of the network resource for this firewall rule. If not specified when
- * creating a firewall rule, the default network is used:
- * global/networks/default
- * If you choose to specify this property, you can specify the network as a
- * full or partial URL. For example, the following are all valid URLs:
- * -
- * https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my-network
- * - projects/myproject/global/networks/my-network
- * - global/networks/default
+ * The TCP port number for the HTTP health check request. The default value is
+ * 80.
*/
- core.String network;
- /** [Output Only] Server-defined URL for the resource. */
- core.String selfLink;
+ core.int port;
/**
- * If source ranges are specified, the firewall will apply only to traffic
- * that has source IP address in these ranges. These ranges must be expressed
- * in CIDR format. One or both of sourceRanges and sourceTags may be set. If
- * both properties are set, the firewall will apply to traffic that has source
- * IP address within sourceRanges OR the source IP that belongs to a tag
- * listed in the sourceTags property. The connection does not need to match
- * both properties for the firewall to apply.
+ * The request path of the HTTP health check request. The default value is /.
*/
- core.List<core.String> sourceRanges;
+ core.String requestPath;
+ /** [Output Only] Server-defined URL for the resource. */
+ core.String selfLink;
/**
- * If source tags are specified, the firewall will apply only to traffic with
- * source IP that belongs to a tag listed in source tags. Source tags cannot
- * be used to control traffic to an instance's external IP address. Because
- * tags are associated with an instance, not an IP address. One or both of
- * sourceRanges and sourceTags may be set. If both properties are set, the
- * firewall will apply to traffic that has source IP address within
- * sourceRanges OR the source IP that belongs to a tag listed in the
- * sourceTags property. The connection does not need to match both properties
- * for the firewall to apply.
+ * How long (in seconds) to wait before claiming failure. The default value is
+ * 5 seconds. It is invalid for timeoutSec to have greater value than
+ * checkIntervalSec.
*/
- core.List<core.String> sourceTags;
+ core.int timeoutSec;
/**
- * A list of instance tags indicating sets of instances located in the network
- * that may make network connections as specified in allowed[]. If no
- * targetTags are specified, the firewall rule applies to all instances on the
- * specified network.
+ * A so-far healthy instance will be marked unhealthy after this many
+ * consecutive failures. The default value is 2.
*/
- core.List<core.String> targetTags;
+ core.int unhealthyThreshold;
- Firewall();
+ HttpHealthCheck();
- Firewall.fromJson(core.Map _json) {
- if (_json.containsKey("allowed")) {
- allowed = _json["allowed"].map((value) => new FirewallAllowed.fromJson(value)).toList();
+ HttpHealthCheck.fromJson(core.Map _json) {
+ if (_json.containsKey("checkIntervalSec")) {
+ checkIntervalSec = _json["checkIntervalSec"];
}
if (_json.containsKey("creationTimestamp")) {
creationTimestamp = _json["creationTimestamp"];
@@ -18023,6 +21457,12 @@ class Firewall {
if (_json.containsKey("description")) {
description = _json["description"];
}
+ if (_json.containsKey("healthyThreshold")) {
+ healthyThreshold = _json["healthyThreshold"];
+ }
+ if (_json.containsKey("host")) {
+ host = _json["host"];
+ }
if (_json.containsKey("id")) {
id = _json["id"];
}
@@ -18032,27 +21472,27 @@ class Firewall {
if (_json.containsKey("name")) {
name = _json["name"];
}
- if (_json.containsKey("network")) {
- network = _json["network"];
+ if (_json.containsKey("port")) {
+ port = _json["port"];
+ }
+ if (_json.containsKey("requestPath")) {
+ requestPath = _json["requestPath"];
}
if (_json.containsKey("selfLink")) {
selfLink = _json["selfLink"];
}
- if (_json.containsKey("sourceRanges")) {
- sourceRanges = _json["sourceRanges"];
- }
- if (_json.containsKey("sourceTags")) {
- sourceTags = _json["sourceTags"];
+ if (_json.containsKey("timeoutSec")) {
+ timeoutSec = _json["timeoutSec"];
}
- if (_json.containsKey("targetTags")) {
- targetTags = _json["targetTags"];
+ if (_json.containsKey("unhealthyThreshold")) {
+ unhealthyThreshold = _json["unhealthyThreshold"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (allowed != null) {
- _json["allowed"] = allowed.map((value) => (value).toJson()).toList();
+ if (checkIntervalSec != null) {
+ _json["checkIntervalSec"] = checkIntervalSec;
}
if (creationTimestamp != null) {
_json["creationTimestamp"] = creationTimestamp;
@@ -18060,6 +21500,12 @@ class Firewall {
if (description != null) {
_json["description"] = description;
}
+ if (healthyThreshold != null) {
+ _json["healthyThreshold"] = healthyThreshold;
+ }
+ if (host != null) {
+ _json["host"] = host;
+ }
if (id != null) {
_json["id"] = id;
}
@@ -18069,38 +21515,34 @@ class Firewall {
if (name != null) {
_json["name"] = name;
}
- if (network != null) {
- _json["network"] = network;
+ if (port != null) {
+ _json["port"] = port;
+ }
+ if (requestPath != null) {
+ _json["requestPath"] = requestPath;
}
if (selfLink != null) {
_json["selfLink"] = selfLink;
}
- if (sourceRanges != null) {
- _json["sourceRanges"] = sourceRanges;
- }
- if (sourceTags != null) {
- _json["sourceTags"] = sourceTags;
+ if (timeoutSec != null) {
+ _json["timeoutSec"] = timeoutSec;
}
- if (targetTags != null) {
- _json["targetTags"] = targetTags;
+ if (unhealthyThreshold != null) {
+ _json["unhealthyThreshold"] = unhealthyThreshold;
}
return _json;
}
}
-/** Contains a list of firewalls. */
-class FirewallList {
+/** Contains a list of HttpHealthCheck resources. */
+class HttpHealthCheckList {
/**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
+ * [Output Only] Unique identifier for the resource. Defined by the server.
*/
core.String id;
- /** [Output Only] A list of Firewall resources. */
- core.List<Firewall> items;
- /**
- * [Output Only] Type of resource. Always compute#firewallList for lists of
- * firewalls.
- */
+ /** A list of HttpHealthCheck resources. */
+ core.List<HttpHealthCheck> items;
+ /** Type of resource. */
core.String kind;
/**
* [Output Only] This token allows you to get the next page of results for
@@ -18113,14 +21555,14 @@ class FirewallList {
/** [Output Only] Server-defined URL for this resource. */
core.String selfLink;
- FirewallList();
+ HttpHealthCheckList();
- FirewallList.fromJson(core.Map _json) {
+ HttpHealthCheckList.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new Firewall.fromJson(value)).toList();
+ items = _json["items"].map((value) => new HttpHealthCheck.fromJson(value)).toList();
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
@@ -18155,40 +21597,15 @@ class FirewallList {
}
/**
- * A ForwardingRule resource. A ForwardingRule resource specifies which pool of
- * target virtual machines to forward a packet to if it matches the given
- * [IPAddress, IPProtocol, portRange] tuple.
+ * An HttpsHealthCheck resource. This resource defines a template for how
+ * individual instances should be checked for health, via HTTPS.
*/
-class ForwardingRule {
- /**
- * The IP address that this forwarding rule is serving on behalf of.
- *
- * For global forwarding rules, the address must be a global IP; for regional
- * forwarding rules, the address must live in the same region as the
- * forwarding rule. By default, this field is empty and an ephemeral IP from
- * the same scope (global or regional) will be assigned.
- *
- * When the load balancing scheme is INTERNAL, this can only be an RFC 1918 IP
- * address belonging to the network/subnetwork configured for the forwarding
- * rule. A reserved address cannot be used. If the field is empty, the IP
- * address will be automatically allocated from the internal IP range of the
- * subnetwork or network configured for this forwarding rule.
- */
- core.String IPAddress;
+class HttpsHealthCheck {
/**
- * The IP protocol to which this rule applies. Valid options are TCP, UDP,
- * ESP, AH, SCTP or ICMP.
- *
- * When the load balancing scheme is INTERNAL</code, only TCP and UDP are
- * valid.
- * Possible string values are:
- * - "AH"
- * - "ESP"
- * - "SCTP"
- * - "TCP"
- * - "UDP"
+ * How often (in seconds) to send a health check. The default value is 5
+ * seconds.
*/
- core.String IPProtocol;
+ core.int checkIntervalSec;
/** [Output Only] Creation timestamp in RFC3339 text format. */
core.String creationTimestamp;
/**
@@ -18197,17 +21614,25 @@ class ForwardingRule {
*/
core.String description;
/**
+ * A so-far unhealthy instance will be marked healthy after this many
+ * consecutive successes. The default value is 2.
+ */
+ core.int healthyThreshold;
+ /**
+ * The value of the host header in the HTTPS health check request. If left
+ * empty (default value), the public IP on behalf of which this health check
+ * is performed will be used.
+ */
+ core.String host;
+ /**
* [Output Only] The unique identifier for the resource. This identifier is
* defined by the server.
*/
core.String id;
- /**
- * [Output Only] Type of the resource. Always compute#forwardingRule for
- * Forwarding Rule resources.
- */
+ /** Type of the resource. */
core.String kind;
/**
- * Name of the resource; provided by the client when the resource is created.
+ * Name of the resource. Provided by the client when the resource is created.
* The name must be 1-63 characters long, and comply with RFC1035.
* Specifically, the name must be 1-63 characters long and match the regular
* expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
@@ -18217,41 +21642,34 @@ class ForwardingRule {
*/
core.String name;
/**
- * Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets
- * addressed to ports in the specified range will be forwarded to target.
- * Forwarding rules with the same [IPAddress, IPProtocol] pair must have
- * disjoint port ranges.
- *
- * This field is not used for internal load balancing.
+ * The TCP port number for the HTTPS health check request. The default value
+ * is 443.
*/
- core.String portRange;
+ core.int port;
/**
- * [Output Only] URL of the region where the regional forwarding rule resides.
- * This field is not applicable to global forwarding rules.
+ * The request path of the HTTPS health check request. The default value is
+ * "/".
*/
- core.String region;
+ core.String requestPath;
/** [Output Only] Server-defined URL for the resource. */
core.String selfLink;
/**
- * The URL of the target resource to receive the matched traffic. For regional
- * forwarding rules, this target must live in the same region as the
- * forwarding rule. For global forwarding rules, this target must be a global
- * TargetHttpProxy or TargetHttpsProxy resource. The forwarded traffic must be
- * of a type appropriate to the target object. For example, TargetHttpProxy
- * requires HTTP traffic, and TargetHttpsProxy requires HTTPS traffic.
- *
- * This field is not used for internal load balancing.
+ * How long (in seconds) to wait before claiming failure. The default value is
+ * 5 seconds. It is invalid for timeoutSec to have a greater value than
+ * checkIntervalSec.
*/
- core.String target;
-
- ForwardingRule();
+ core.int timeoutSec;
+ /**
+ * A so-far healthy instance will be marked unhealthy after this many
+ * consecutive failures. The default value is 2.
+ */
+ core.int unhealthyThreshold;
- ForwardingRule.fromJson(core.Map _json) {
- if (_json.containsKey("IPAddress")) {
- IPAddress = _json["IPAddress"];
- }
- if (_json.containsKey("IPProtocol")) {
- IPProtocol = _json["IPProtocol"];
+ HttpsHealthCheck();
+
+ HttpsHealthCheck.fromJson(core.Map _json) {
+ if (_json.containsKey("checkIntervalSec")) {
+ checkIntervalSec = _json["checkIntervalSec"];
}
if (_json.containsKey("creationTimestamp")) {
creationTimestamp = _json["creationTimestamp"];
@@ -18259,6 +21677,12 @@ class ForwardingRule {
if (_json.containsKey("description")) {
description = _json["description"];
}
+ if (_json.containsKey("healthyThreshold")) {
+ healthyThreshold = _json["healthyThreshold"];
+ }
+ if (_json.containsKey("host")) {
+ host = _json["host"];
+ }
if (_json.containsKey("id")) {
id = _json["id"];
}
@@ -18268,27 +21692,27 @@ class ForwardingRule {
if (_json.containsKey("name")) {
name = _json["name"];
}
- if (_json.containsKey("portRange")) {
- portRange = _json["portRange"];
+ if (_json.containsKey("port")) {
+ port = _json["port"];
}
- if (_json.containsKey("region")) {
- region = _json["region"];
+ if (_json.containsKey("requestPath")) {
+ requestPath = _json["requestPath"];
}
if (_json.containsKey("selfLink")) {
selfLink = _json["selfLink"];
}
- if (_json.containsKey("target")) {
- target = _json["target"];
+ if (_json.containsKey("timeoutSec")) {
+ timeoutSec = _json["timeoutSec"];
+ }
+ if (_json.containsKey("unhealthyThreshold")) {
+ unhealthyThreshold = _json["unhealthyThreshold"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (IPAddress != null) {
- _json["IPAddress"] = IPAddress;
- }
- if (IPProtocol != null) {
- _json["IPProtocol"] = IPProtocol;
+ if (checkIntervalSec != null) {
+ _json["checkIntervalSec"] = checkIntervalSec;
}
if (creationTimestamp != null) {
_json["creationTimestamp"] = creationTimestamp;
@@ -18296,6 +21720,12 @@ class ForwardingRule {
if (description != null) {
_json["description"] = description;
}
+ if (healthyThreshold != null) {
+ _json["healthyThreshold"] = healthyThreshold;
+ }
+ if (host != null) {
+ _json["host"] = host;
+ }
if (id != null) {
_json["id"] = id;
}
@@ -18305,93 +21735,33 @@ class ForwardingRule {
if (name != null) {
_json["name"] = name;
}
- if (portRange != null) {
- _json["portRange"] = portRange;
+ if (port != null) {
+ _json["port"] = port;
}
- if (region != null) {
- _json["region"] = region;
+ if (requestPath != null) {
+ _json["requestPath"] = requestPath;
}
if (selfLink != null) {
_json["selfLink"] = selfLink;
}
- if (target != null) {
- _json["target"] = target;
+ if (timeoutSec != null) {
+ _json["timeoutSec"] = timeoutSec;
+ }
+ if (unhealthyThreshold != null) {
+ _json["unhealthyThreshold"] = unhealthyThreshold;
}
return _json;
}
}
-class ForwardingRuleAggregatedList {
- /**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
- */
- core.String id;
- /** A map of scoped forwarding rule lists. */
- core.Map<core.String, ForwardingRulesScopedList> items;
- /**
- * [Output Only] Type of resource. Always compute#forwardingRuleAggregatedList
- * for lists of forwarding rules.
- */
- core.String kind;
+/** Contains a list of HttpsHealthCheck resources. */
+class HttpsHealthCheckList {
/**
- * [Output Only] This token allows you to get the next page of results for
- * list requests. If the number of results is larger than maxResults, use the
- * nextPageToken as a value for the query parameter pageToken in the next list
- * request. Subsequent list requests will have their own nextPageToken to
- * continue paging through the results.
+ * [Output Only] Unique identifier for the resource; defined by the server.
*/
- core.String nextPageToken;
- /** [Output Only] Server-defined URL for this resource. */
- core.String selfLink;
-
- ForwardingRuleAggregatedList();
-
- ForwardingRuleAggregatedList.fromJson(core.Map _json) {
- if (_json.containsKey("id")) {
- id = _json["id"];
- }
- if (_json.containsKey("items")) {
- items = commons.mapMap(_json["items"], (item) => new ForwardingRulesScopedList.fromJson(item));
- }
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
- }
- if (_json.containsKey("nextPageToken")) {
- nextPageToken = _json["nextPageToken"];
- }
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
- }
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (id != null) {
- _json["id"] = id;
- }
- if (items != null) {
- _json["items"] = commons.mapMap(items, (item) => (item).toJson());
- }
- if (kind != null) {
- _json["kind"] = kind;
- }
- if (nextPageToken != null) {
- _json["nextPageToken"] = nextPageToken;
- }
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
- }
- return _json;
- }
-}
-
-/** Contains a list of ForwardingRule resources. */
-class ForwardingRuleList {
- /** [Output Only] Unique identifier for the resource. Set by the server. */
core.String id;
- /** A list of ForwardingRule resources. */
- core.List<ForwardingRule> items;
+ /** A list of HttpsHealthCheck resources. */
+ core.List<HttpsHealthCheck> items;
/** Type of resource. */
core.String kind;
/**
@@ -18405,14 +21775,14 @@ class ForwardingRuleList {
/** [Output Only] Server-defined URL for this resource. */
core.String selfLink;
- ForwardingRuleList();
+ HttpsHealthCheckList();
- ForwardingRuleList.fromJson(core.Map _json) {
+ HttpsHealthCheckList.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new ForwardingRule.fromJson(value)).toList();
+ items = _json["items"].map((value) => new HttpsHealthCheck.fromJson(value)).toList();
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
@@ -18446,363 +21816,372 @@ class ForwardingRuleList {
}
}
-class ForwardingRulesScopedListWarningData {
- /**
- * [Output Only] A key that provides more detail on the warning being
- * returned. For example, for warnings where there are no results in a list
- * request for a particular zone, this key might be scope and the key value
- * might be the zone name. Other examples might be a key indicating a
- * deprecated resource and a suggested replacement, or a warning about invalid
- * network settings (for example, if an instance attempts to perform IP
- * forwarding but is not enabled for IP forwarding).
- */
- core.String key;
- /** [Output Only] A warning data value corresponding to the key. */
- core.String value;
-
- ForwardingRulesScopedListWarningData();
-
- ForwardingRulesScopedListWarningData.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;
- }
-}
-
-/**
- * Informational warning which replaces the list of forwarding rules when the
- * list is empty.
- */
-class ForwardingRulesScopedListWarning {
+/** The parameters of the raw disk image. */
+class ImageRawDisk {
/**
- * [Output Only] A warning code, if applicable. For example, Compute Engine
- * returns NO_RESULTS_ON_PAGE if there are no results in the response.
+ * The format used to encode and transmit the block device, which should be
+ * TAR. This is just a container and transmission format and not a runtime
+ * format. Provided by the client when the disk image is created.
* Possible string values are:
- * - "CLEANUP_FAILED"
- * - "DEPRECATED_RESOURCE_USED"
- * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
- * - "FIELD_VALUE_OVERRIDEN"
- * - "INJECTED_KERNELS_DEPRECATED"
- * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
- * - "NEXT_HOP_CANNOT_IP_FORWARD"
- * - "NEXT_HOP_INSTANCE_NOT_FOUND"
- * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
- * - "NEXT_HOP_NOT_RUNNING"
- * - "NOT_CRITICAL_ERROR"
- * - "NO_RESULTS_ON_PAGE"
- * - "REQUIRED_TOS_AGREEMENT"
- * - "RESOURCE_NOT_DELETED"
- * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
- * - "UNREACHABLE"
+ * - "TAR"
*/
- core.String code;
+ core.String containerType;
/**
- * [Output Only] Metadata about this warning in key: value format. For
- * example:
- * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
+ * An optional SHA1 checksum of the disk image before unpackaging; provided by
+ * the client when the disk image is created.
*/
- core.List<ForwardingRulesScopedListWarningData> data;
- /** [Output Only] A human-readable description of the warning code. */
- core.String message;
-
- ForwardingRulesScopedListWarning();
-
- ForwardingRulesScopedListWarning.fromJson(core.Map _json) {
- if (_json.containsKey("code")) {
- code = _json["code"];
- }
- if (_json.containsKey("data")) {
- data = _json["data"].map((value) => new ForwardingRulesScopedListWarningData.fromJson(value)).toList();
- }
- if (_json.containsKey("message")) {
- message = _json["message"];
- }
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (code != null) {
- _json["code"] = code;
- }
- if (data != null) {
- _json["data"] = data.map((value) => (value).toJson()).toList();
- }
- if (message != null) {
- _json["message"] = message;
- }
- return _json;
- }
-}
-
-class ForwardingRulesScopedList {
- /** List of forwarding rules contained in this scope. */
- core.List<ForwardingRule> forwardingRules;
+ core.String sha1Checksum;
/**
- * Informational warning which replaces the list of forwarding rules when the
- * list is empty.
+ * The full Google Cloud Storage URL where the disk image is stored. You must
+ * provide either this property or the sourceDisk property but not both.
*/
- ForwardingRulesScopedListWarning warning;
+ core.String source;
- ForwardingRulesScopedList();
+ ImageRawDisk();
- ForwardingRulesScopedList.fromJson(core.Map _json) {
- if (_json.containsKey("forwardingRules")) {
- forwardingRules = _json["forwardingRules"].map((value) => new ForwardingRule.fromJson(value)).toList();
+ ImageRawDisk.fromJson(core.Map _json) {
+ if (_json.containsKey("containerType")) {
+ containerType = _json["containerType"];
}
- if (_json.containsKey("warning")) {
- warning = new ForwardingRulesScopedListWarning.fromJson(_json["warning"]);
+ if (_json.containsKey("sha1Checksum")) {
+ sha1Checksum = _json["sha1Checksum"];
+ }
+ if (_json.containsKey("source")) {
+ source = _json["source"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (forwardingRules != null) {
- _json["forwardingRules"] = forwardingRules.map((value) => (value).toJson()).toList();
+ if (containerType != null) {
+ _json["containerType"] = containerType;
}
- if (warning != null) {
- _json["warning"] = (warning).toJson();
+ if (sha1Checksum != null) {
+ _json["sha1Checksum"] = sha1Checksum;
+ }
+ if (source != null) {
+ _json["source"] = source;
}
return _json;
}
}
-class HTTP2HealthCheck {
+/** An Image resource. */
+class Image {
/**
- * The value of the host header in the HTTP/2 health check request. If left
- * empty (default value), the IP on behalf of which this health check is
- * performed will be used.
+ * Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).
*/
- core.String host;
+ core.String archiveSizeBytes;
+ /** [Output Only] Creation timestamp in RFC3339 text format. */
+ core.String creationTimestamp;
+ /** The deprecation status associated with this image. */
+ DeprecationStatus deprecated;
/**
- * The TCP port number for the health check request. The default value is 443.
+ * An optional description of this resource. Provide this property when you
+ * create the resource.
*/
- core.int port;
+ core.String description;
+ /** Size of the image when restored onto a persistent disk (in GB). */
+ core.String diskSizeGb;
/**
- * Port name as defined in InstanceGroup#NamedPort#name. If both port and
- * port_name are defined, port takes precedence.
+ * The name of the image family to which this image belongs. You can create
+ * disks by specifying an image family instead of a specific image name. The
+ * image family always returns its latest image that is not deprecated. The
+ * name of the image family must comply with RFC1035.
*/
- core.String portName;
+ core.String family;
/**
- * Specifies the type of proxy header to append before sending data to the
- * backend, either NONE or PROXY_V1. The default is NONE.
+ * A list of features to enable on the guest OS. Applicable for bootable
+ * images only. Currently, only one feature can be enabled,
+ * VIRTIO_SCSCI_MULTIQUEUE, which allows each virtual CPU to have its own
+ * queue. For Windows images, you can only enable VIRTIO_SCSCI_MULTIQUEUE on
+ * images with driver version 1.2.0.1621 or higher. Linux images with kernel
+ * versions 3.17 and higher will support VIRTIO_SCSCI_MULTIQUEUE.
+ *
+ * For new Windows images, the server might also populate this field with the
+ * value WINDOWS, to indicate that this is a Windows image. This value is
+ * purely informational and does not enable or disable any features.
+ */
+ core.List<GuestOsFeature> guestOsFeatures;
+ /**
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
+ */
+ core.String id;
+ /**
+ * Encrypts the image using a customer-supplied encryption key.
+ *
+ * After you encrypt an image with a customer-supplied key, you must provide
+ * the same key if you use the image later (e.g. to create a disk from the
+ * image).
+ *
+ * Customer-supplied encryption keys do not protect access to metadata of the
+ * disk.
+ *
+ * If you do not provide an encryption key when creating the image, then the
+ * disk will be encrypted using an automatically generated key and you do not
+ * need to provide a key to use the image later.
+ */
+ CustomerEncryptionKey imageEncryptionKey;
+ /** [Output Only] Type of the resource. Always compute#image for images. */
+ core.String kind;
+ /** Any applicable license URI. */
+ core.List<core.String> licenses;
+ /**
+ * Name of the resource; provided by the client when the resource is created.
+ * The name must be 1-63 characters long, and comply with RFC1035.
+ * Specifically, the name must be 1-63 characters long and match the regular
+ * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
+ * be a lowercase letter, and all following characters must be a dash,
+ * lowercase letter, or digit, except the last character, which cannot be a
+ * dash.
+ */
+ core.String name;
+ /** The parameters of the raw disk image. */
+ ImageRawDisk rawDisk;
+ /** [Output Only] Server-defined URL for the resource. */
+ core.String selfLink;
+ /**
+ * URL of the source disk used to create this image. This can be a full or
+ * valid partial URL. You must provide either this property or the
+ * rawDisk.source property but not both to create an image. For example, the
+ * following are valid values:
+ * -
+ * https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
+ * - projects/project/zones/zone/disks/disk
+ * - zones/zone/disks/disk
+ */
+ core.String sourceDisk;
+ /**
+ * The customer-supplied encryption key of the source disk. Required if the
+ * source disk is protected by a customer-supplied encryption key.
+ */
+ CustomerEncryptionKey sourceDiskEncryptionKey;
+ /**
+ * The ID value of the disk used to create this image. This value may be used
+ * to determine whether the image was taken from the current or a previous
+ * instance of a given disk name.
+ */
+ core.String sourceDiskId;
+ /**
+ * The type of the image used to create this disk. The default and only value
+ * is RAW
* Possible string values are:
- * - "NONE"
- * - "PROXY_V1"
+ * - "RAW"
*/
- core.String proxyHeader;
+ core.String sourceType;
/**
- * The request path of the HTTP/2 health check request. The default value is
- * /.
+ * [Output Only] The status of the image. An image can be used to create other
+ * resources, such as instances, only after the image has been successfully
+ * created and the status is set to READY. Possible values are FAILED,
+ * PENDING, or READY.
+ * Possible string values are:
+ * - "FAILED"
+ * - "PENDING"
+ * - "READY"
*/
- core.String requestPath;
+ core.String status;
- HTTP2HealthCheck();
+ Image();
- HTTP2HealthCheck.fromJson(core.Map _json) {
- if (_json.containsKey("host")) {
- host = _json["host"];
+ Image.fromJson(core.Map _json) {
+ if (_json.containsKey("archiveSizeBytes")) {
+ archiveSizeBytes = _json["archiveSizeBytes"];
}
- if (_json.containsKey("port")) {
- port = _json["port"];
+ if (_json.containsKey("creationTimestamp")) {
+ creationTimestamp = _json["creationTimestamp"];
}
- if (_json.containsKey("portName")) {
- portName = _json["portName"];
+ if (_json.containsKey("deprecated")) {
+ deprecated = new DeprecationStatus.fromJson(_json["deprecated"]);
}
- if (_json.containsKey("proxyHeader")) {
- proxyHeader = _json["proxyHeader"];
+ if (_json.containsKey("description")) {
+ description = _json["description"];
}
- if (_json.containsKey("requestPath")) {
- requestPath = _json["requestPath"];
+ if (_json.containsKey("diskSizeGb")) {
+ diskSizeGb = _json["diskSizeGb"];
+ }
+ if (_json.containsKey("family")) {
+ family = _json["family"];
+ }
+ if (_json.containsKey("guestOsFeatures")) {
+ guestOsFeatures = _json["guestOsFeatures"].map((value) => new GuestOsFeature.fromJson(value)).toList();
+ }
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("imageEncryptionKey")) {
+ imageEncryptionKey = new CustomerEncryptionKey.fromJson(_json["imageEncryptionKey"]);
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("licenses")) {
+ licenses = _json["licenses"];
+ }
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("rawDisk")) {
+ rawDisk = new ImageRawDisk.fromJson(_json["rawDisk"]);
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ if (_json.containsKey("sourceDisk")) {
+ sourceDisk = _json["sourceDisk"];
+ }
+ if (_json.containsKey("sourceDiskEncryptionKey")) {
+ sourceDiskEncryptionKey = new CustomerEncryptionKey.fromJson(_json["sourceDiskEncryptionKey"]);
+ }
+ if (_json.containsKey("sourceDiskId")) {
+ sourceDiskId = _json["sourceDiskId"];
+ }
+ if (_json.containsKey("sourceType")) {
+ sourceType = _json["sourceType"];
+ }
+ if (_json.containsKey("status")) {
+ status = _json["status"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (host != null) {
- _json["host"] = host;
+ if (archiveSizeBytes != null) {
+ _json["archiveSizeBytes"] = archiveSizeBytes;
}
- if (port != null) {
- _json["port"] = port;
+ if (creationTimestamp != null) {
+ _json["creationTimestamp"] = creationTimestamp;
}
- if (portName != null) {
- _json["portName"] = portName;
+ if (deprecated != null) {
+ _json["deprecated"] = (deprecated).toJson();
}
- if (proxyHeader != null) {
- _json["proxyHeader"] = proxyHeader;
+ if (description != null) {
+ _json["description"] = description;
}
- if (requestPath != null) {
- _json["requestPath"] = requestPath;
+ if (diskSizeGb != null) {
+ _json["diskSizeGb"] = diskSizeGb;
}
- return _json;
- }
-}
-
-class HTTPHealthCheck {
- /**
- * The value of the host header in the HTTP health check request. If left
- * empty (default value), the IP on behalf of which this health check is
- * performed will be used.
- */
- core.String host;
- /**
- * The TCP port number for the health check request. The default value is 80.
- */
- core.int port;
- /**
- * Port name as defined in InstanceGroup#NamedPort#name. If both port and
- * port_name are defined, port takes precedence.
- */
- core.String portName;
- /**
- * Specifies the type of proxy header to append before sending data to the
- * backend, either NONE or PROXY_V1. The default is NONE.
- * Possible string values are:
- * - "NONE"
- * - "PROXY_V1"
- */
- core.String proxyHeader;
- /**
- * The request path of the HTTP health check request. The default value is /.
- */
- core.String requestPath;
-
- HTTPHealthCheck();
-
- HTTPHealthCheck.fromJson(core.Map _json) {
- if (_json.containsKey("host")) {
- host = _json["host"];
+ if (family != null) {
+ _json["family"] = family;
+ }
+ if (guestOsFeatures != null) {
+ _json["guestOsFeatures"] = guestOsFeatures.map((value) => (value).toJson()).toList();
+ }
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (imageEncryptionKey != null) {
+ _json["imageEncryptionKey"] = (imageEncryptionKey).toJson();
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
}
- if (_json.containsKey("port")) {
- port = _json["port"];
+ if (licenses != null) {
+ _json["licenses"] = licenses;
}
- if (_json.containsKey("portName")) {
- portName = _json["portName"];
+ if (name != null) {
+ _json["name"] = name;
}
- if (_json.containsKey("proxyHeader")) {
- proxyHeader = _json["proxyHeader"];
+ if (rawDisk != null) {
+ _json["rawDisk"] = (rawDisk).toJson();
}
- if (_json.containsKey("requestPath")) {
- requestPath = _json["requestPath"];
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (host != null) {
- _json["host"] = host;
+ if (sourceDisk != null) {
+ _json["sourceDisk"] = sourceDisk;
}
- if (port != null) {
- _json["port"] = port;
+ if (sourceDiskEncryptionKey != null) {
+ _json["sourceDiskEncryptionKey"] = (sourceDiskEncryptionKey).toJson();
}
- if (portName != null) {
- _json["portName"] = portName;
+ if (sourceDiskId != null) {
+ _json["sourceDiskId"] = sourceDiskId;
}
- if (proxyHeader != null) {
- _json["proxyHeader"] = proxyHeader;
+ if (sourceType != null) {
+ _json["sourceType"] = sourceType;
}
- if (requestPath != null) {
- _json["requestPath"] = requestPath;
+ if (status != null) {
+ _json["status"] = status;
}
return _json;
}
}
-class HTTPSHealthCheck {
- /**
- * The value of the host header in the HTTPS health check request. If left
- * empty (default value), the IP on behalf of which this health check is
- * performed will be used.
- */
- core.String host;
- /**
- * The TCP port number for the health check request. The default value is 443.
- */
- core.int port;
- /**
- * Port name as defined in InstanceGroup#NamedPort#name. If both port and
- * port_name are defined, port takes precedence.
- */
- core.String portName;
+/** Contains a list of images. */
+class ImageList {
/**
- * Specifies the type of proxy header to append before sending data to the
- * backend, either NONE or PROXY_V1. The default is NONE.
- * Possible string values are:
- * - "NONE"
- * - "PROXY_V1"
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
*/
- core.String proxyHeader;
+ core.String id;
+ /** [Output Only] A list of Image resources. */
+ core.List<Image> items;
+ /** Type of resource. */
+ core.String kind;
/**
- * The request path of the HTTPS health check request. The default value is /.
+ * [Output Only] This token allows you to get the next page of results for
+ * list requests. If the number of results is larger than maxResults, use the
+ * nextPageToken as a value for the query parameter pageToken in the next list
+ * request. Subsequent list requests will have their own nextPageToken to
+ * continue paging through the results.
*/
- core.String requestPath;
+ core.String nextPageToken;
+ /** [Output Only] Server-defined URL for this resource. */
+ core.String selfLink;
- HTTPSHealthCheck();
+ ImageList();
- HTTPSHealthCheck.fromJson(core.Map _json) {
- if (_json.containsKey("host")) {
- host = _json["host"];
+ ImageList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
}
- if (_json.containsKey("port")) {
- port = _json["port"];
+ if (_json.containsKey("items")) {
+ items = _json["items"].map((value) => new Image.fromJson(value)).toList();
}
- if (_json.containsKey("portName")) {
- portName = _json["portName"];
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
}
- if (_json.containsKey("proxyHeader")) {
- proxyHeader = _json["proxyHeader"];
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
}
- if (_json.containsKey("requestPath")) {
- requestPath = _json["requestPath"];
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (host != null) {
- _json["host"] = host;
+ if (id != null) {
+ _json["id"] = id;
}
- if (port != null) {
- _json["port"] = port;
+ if (items != null) {
+ _json["items"] = items.map((value) => (value).toJson()).toList();
}
- if (portName != null) {
- _json["portName"] = portName;
+ if (kind != null) {
+ _json["kind"] = kind;
}
- if (proxyHeader != null) {
- _json["proxyHeader"] = proxyHeader;
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
}
- if (requestPath != null) {
- _json["requestPath"] = requestPath;
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
return _json;
}
}
-/**
- * An HealthCheck resource. This resource defines a template for how individual
- * virtual machines should be checked for health, via one of the supported
- * protocols.
- */
-class HealthCheck {
+/** An Instance resource. */
+class Instance {
/**
- * How often (in seconds) to send a health check. The default value is 5
- * seconds.
+ * Allows this instance to send and receive packets with non-matching
+ * destination or source IPs. This is required if you plan to use this
+ * instance to forward routes. For more information, see Enabling IP
+ * Forwarding.
*/
- core.int checkIntervalSec;
- /** [Output Only] Creation timestamp in 3339 text format. */
+ core.bool canIpForward;
+ /** [Output Only] The CPU platform used by this instance. */
+ core.String cpuPlatform;
+ /** [Output Only] Creation timestamp in RFC3339 text format. */
core.String creationTimestamp;
/**
* An optional description of this resource. Provide this property when you
@@ -18810,65 +22189,108 @@ class HealthCheck {
*/
core.String description;
/**
- * A so-far unhealthy instance will be marked healthy after this many
- * consecutive successes. The default value is 2.
+ * Array of disks associated with this instance. Persistent disks must be
+ * created before you can assign them.
*/
- core.int healthyThreshold;
- HTTP2HealthCheck http2HealthCheck;
- HTTPHealthCheck httpHealthCheck;
- HTTPSHealthCheck httpsHealthCheck;
+ core.List<AttachedDisk> disks;
/**
* [Output Only] The unique identifier for the resource. This identifier is
* defined by the server.
*/
core.String id;
- /** Type of the resource. */
+ /**
+ * [Output Only] Type of the resource. Always compute#instance for instances.
+ */
core.String kind;
/**
- * Name of the resource. Provided by the client when the resource is created.
- * The name must be 1-63 characters long, and comply with RFC1035.
- * Specifically, the name must be 1-63 characters long and match the regular
- * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
- * be a lowercase letter, and all following characters must be a dash,
- * lowercase letter, or digit, except the last character, which cannot be a
- * dash.
+ * Full or partial URL of the machine type resource to use for this instance,
+ * in the format: zones/zone/machineTypes/machine-type. This is provided by
+ * the client when the instance is created. For example, the following is a
+ * valid partial url to a predefined machine type:
+ *
+ * zones/us-central1-f/machineTypes/n1-standard-1
+ *
+ * To create a custom machine type, provide a URL to a machine type in the
+ * following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ...
+ * 24, etc), and MEMORY is the total memory for this instance. Memory must be
+ * a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is
+ * 5120 MB):
+ *
+ * zones/zone/machineTypes/custom-CPUS-MEMORY
+ *
+ * For example: zones/us-central1-f/machineTypes/custom-4-5120
+ *
+ * For a full list of restrictions, read the Specifications for custom machine
+ * types.
+ */
+ core.String machineType;
+ /**
+ * The metadata key/value pairs assigned to this instance. This includes
+ * custom metadata and predefined keys.
+ */
+ Metadata metadata;
+ /**
+ * The name of the resource, provided by the client when initially creating
+ * the resource. The resource name must be 1-63 characters long, and comply
+ * with RFC1035. Specifically, the name must be 1-63 characters long and match
+ * the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first
+ * character must be a lowercase letter, and all following characters must be
+ * a dash, lowercase letter, or digit, except the last character, which cannot
+ * be a dash.
*/
core.String name;
- /** [Output Only] Server-defined URL for the resource. */
+ /**
+ * An array of configurations for this interface. This specifies how this
+ * interface is configured to interact with other network services, such as
+ * connecting to the internet. Only one interface is supported per instance.
+ */
+ core.List<NetworkInterface> networkInterfaces;
+ /** Scheduling options for this instance. */
+ Scheduling scheduling;
+ /** [Output Only] Server-defined URL for this resource. */
core.String selfLink;
- SSLHealthCheck sslHealthCheck;
- TCPHealthCheck tcpHealthCheck;
/**
- * How long (in seconds) to wait before claiming failure. The default value is
- * 5 seconds. It is invalid for timeoutSec to have greater value than
- * checkIntervalSec.
+ * A list of service accounts, with their specified scopes, authorized for
+ * this instance. Service accounts generate access tokens that can be accessed
+ * through the metadata server and used to authenticate applications on the
+ * instance. See Service Accounts for more information.
*/
- core.int timeoutSec;
+ core.List<ServiceAccount> serviceAccounts;
/**
- * Specifies the type of the healthCheck, either TCP, UDP, SSL, HTTP, HTTPS or
- * HTTP2. If not specified, the default is TCP. Exactly one of the
- * protocol-specific health check field must be specified, which must match
- * type field.
+ * [Output Only] The status of the instance. One of the following values:
+ * PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, and
+ * TERMINATED.
* Possible string values are:
- * - "HTTP"
- * - "HTTP2"
- * - "HTTPS"
- * - "INVALID"
- * - "SSL"
- * - "TCP"
+ * - "PROVISIONING"
+ * - "RUNNING"
+ * - "STAGING"
+ * - "STOPPED"
+ * - "STOPPING"
+ * - "SUSPENDED"
+ * - "SUSPENDING"
+ * - "TERMINATED"
*/
- core.String type;
+ core.String status;
+ /** [Output Only] An optional, human-readable explanation of the status. */
+ core.String statusMessage;
/**
- * A so-far healthy instance will be marked unhealthy after this many
- * consecutive failures. The default value is 2.
+ * A list of tags to apply to this instance. Tags are used to identify valid
+ * sources or targets for network firewalls and are specified by the client
+ * during instance creation. The tags can be later modified by the setTags
+ * method. Each tag within the list must comply with RFC1035.
*/
- core.int unhealthyThreshold;
-
- HealthCheck();
+ Tags tags;
+ /** [Output Only] URL of the zone where the instance resides. */
+ core.String zone;
- HealthCheck.fromJson(core.Map _json) {
- if (_json.containsKey("checkIntervalSec")) {
- checkIntervalSec = _json["checkIntervalSec"];
+ Instance();
+
+ Instance.fromJson(core.Map _json) {
+ if (_json.containsKey("canIpForward")) {
+ canIpForward = _json["canIpForward"];
+ }
+ if (_json.containsKey("cpuPlatform")) {
+ cpuPlatform = _json["cpuPlatform"];
}
if (_json.containsKey("creationTimestamp")) {
creationTimestamp = _json["creationTimestamp"];
@@ -18876,17 +22298,8 @@ class HealthCheck {
if (_json.containsKey("description")) {
description = _json["description"];
}
- if (_json.containsKey("healthyThreshold")) {
- healthyThreshold = _json["healthyThreshold"];
- }
- if (_json.containsKey("http2HealthCheck")) {
- http2HealthCheck = new HTTP2HealthCheck.fromJson(_json["http2HealthCheck"]);
- }
- if (_json.containsKey("httpHealthCheck")) {
- httpHealthCheck = new HTTPHealthCheck.fromJson(_json["httpHealthCheck"]);
- }
- if (_json.containsKey("httpsHealthCheck")) {
- httpsHealthCheck = new HTTPSHealthCheck.fromJson(_json["httpsHealthCheck"]);
+ if (_json.containsKey("disks")) {
+ disks = _json["disks"].map((value) => new AttachedDisk.fromJson(value)).toList();
}
if (_json.containsKey("id")) {
id = _json["id"];
@@ -18894,33 +22307,48 @@ class HealthCheck {
if (_json.containsKey("kind")) {
kind = _json["kind"];
}
+ if (_json.containsKey("machineType")) {
+ machineType = _json["machineType"];
+ }
+ if (_json.containsKey("metadata")) {
+ metadata = new Metadata.fromJson(_json["metadata"]);
+ }
if (_json.containsKey("name")) {
name = _json["name"];
}
+ if (_json.containsKey("networkInterfaces")) {
+ networkInterfaces = _json["networkInterfaces"].map((value) => new NetworkInterface.fromJson(value)).toList();
+ }
+ if (_json.containsKey("scheduling")) {
+ scheduling = new Scheduling.fromJson(_json["scheduling"]);
+ }
if (_json.containsKey("selfLink")) {
selfLink = _json["selfLink"];
}
- if (_json.containsKey("sslHealthCheck")) {
- sslHealthCheck = new SSLHealthCheck.fromJson(_json["sslHealthCheck"]);
+ if (_json.containsKey("serviceAccounts")) {
+ serviceAccounts = _json["serviceAccounts"].map((value) => new ServiceAccount.fromJson(value)).toList();
}
- if (_json.containsKey("tcpHealthCheck")) {
- tcpHealthCheck = new TCPHealthCheck.fromJson(_json["tcpHealthCheck"]);
+ if (_json.containsKey("status")) {
+ status = _json["status"];
}
- if (_json.containsKey("timeoutSec")) {
- timeoutSec = _json["timeoutSec"];
+ if (_json.containsKey("statusMessage")) {
+ statusMessage = _json["statusMessage"];
}
- if (_json.containsKey("type")) {
- type = _json["type"];
+ if (_json.containsKey("tags")) {
+ tags = new Tags.fromJson(_json["tags"]);
}
- if (_json.containsKey("unhealthyThreshold")) {
- unhealthyThreshold = _json["unhealthyThreshold"];
+ if (_json.containsKey("zone")) {
+ zone = _json["zone"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (checkIntervalSec != null) {
- _json["checkIntervalSec"] = checkIntervalSec;
+ if (canIpForward != null) {
+ _json["canIpForward"] = canIpForward;
+ }
+ if (cpuPlatform != null) {
+ _json["cpuPlatform"] = cpuPlatform;
}
if (creationTimestamp != null) {
_json["creationTimestamp"] = creationTimestamp;
@@ -18928,17 +22356,8 @@ class HealthCheck {
if (description != null) {
_json["description"] = description;
}
- if (healthyThreshold != null) {
- _json["healthyThreshold"] = healthyThreshold;
- }
- if (http2HealthCheck != null) {
- _json["http2HealthCheck"] = (http2HealthCheck).toJson();
- }
- if (httpHealthCheck != null) {
- _json["httpHealthCheck"] = (httpHealthCheck).toJson();
- }
- if (httpsHealthCheck != null) {
- _json["httpsHealthCheck"] = (httpsHealthCheck).toJson();
+ if (disks != null) {
+ _json["disks"] = disks.map((value) => (value).toJson()).toList();
}
if (id != null) {
_json["id"] = id;
@@ -18946,41 +22365,55 @@ class HealthCheck {
if (kind != null) {
_json["kind"] = kind;
}
+ if (machineType != null) {
+ _json["machineType"] = machineType;
+ }
+ if (metadata != null) {
+ _json["metadata"] = (metadata).toJson();
+ }
if (name != null) {
_json["name"] = name;
}
+ if (networkInterfaces != null) {
+ _json["networkInterfaces"] = networkInterfaces.map((value) => (value).toJson()).toList();
+ }
+ if (scheduling != null) {
+ _json["scheduling"] = (scheduling).toJson();
+ }
if (selfLink != null) {
_json["selfLink"] = selfLink;
}
- if (sslHealthCheck != null) {
- _json["sslHealthCheck"] = (sslHealthCheck).toJson();
+ if (serviceAccounts != null) {
+ _json["serviceAccounts"] = serviceAccounts.map((value) => (value).toJson()).toList();
}
- if (tcpHealthCheck != null) {
- _json["tcpHealthCheck"] = (tcpHealthCheck).toJson();
+ if (status != null) {
+ _json["status"] = status;
}
- if (timeoutSec != null) {
- _json["timeoutSec"] = timeoutSec;
+ if (statusMessage != null) {
+ _json["statusMessage"] = statusMessage;
}
- if (type != null) {
- _json["type"] = type;
+ if (tags != null) {
+ _json["tags"] = (tags).toJson();
}
- if (unhealthyThreshold != null) {
- _json["unhealthyThreshold"] = unhealthyThreshold;
+ if (zone != null) {
+ _json["zone"] = zone;
}
return _json;
}
}
-/** Contains a list of HealthCheck resources. */
-class HealthCheckList {
+class InstanceAggregatedList {
/**
* [Output Only] The unique identifier for the resource. This identifier is
* defined by the server.
*/
core.String id;
- /** A list of HealthCheck resources. */
- core.List<HealthCheck> items;
- /** Type of resource. */
+ /** [Output Only] A map of scoped instance lists. */
+ core.Map<core.String, InstancesScopedList> items;
+ /**
+ * [Output Only] Type of resource. Always compute#instanceAggregatedList for
+ * aggregated lists of Instance resources.
+ */
core.String kind;
/**
* [Output Only] This token allows you to get the next page of results for
@@ -18993,187 +22426,52 @@ class HealthCheckList {
/** [Output Only] Server-defined URL for this resource. */
core.String selfLink;
- HealthCheckList();
+ InstanceAggregatedList();
- HealthCheckList.fromJson(core.Map _json) {
+ InstanceAggregatedList.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
- if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new HealthCheck.fromJson(value)).toList();
- }
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
- }
- if (_json.containsKey("nextPageToken")) {
- nextPageToken = _json["nextPageToken"];
- }
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
- }
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (id != null) {
- _json["id"] = id;
- }
- if (items != null) {
- _json["items"] = items.map((value) => (value).toJson()).toList();
- }
- if (kind != null) {
- _json["kind"] = kind;
- }
- if (nextPageToken != null) {
- _json["nextPageToken"] = nextPageToken;
- }
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
- }
- return _json;
- }
-}
-
-/**
- * A full or valid partial URL to a health check. For example, the following are
- * valid URLs:
- * -
- * https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealthChecks/health-check
- * - projects/project-id/global/httpHealthChecks/health-check
- * - global/httpHealthChecks/health-check
- */
-class HealthCheckReference {
- core.String healthCheck;
-
- HealthCheckReference();
-
- HealthCheckReference.fromJson(core.Map _json) {
- if (_json.containsKey("healthCheck")) {
- healthCheck = _json["healthCheck"];
- }
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (healthCheck != null) {
- _json["healthCheck"] = healthCheck;
- }
- return _json;
- }
-}
-
-class HealthStatus {
- /**
- * Health state of the instance.
- * Possible string values are:
- * - "HEALTHY"
- * - "UNHEALTHY"
- */
- core.String healthState;
- /** URL of the instance resource. */
- core.String instance;
- /** The IP address represented by this resource. */
- core.String ipAddress;
- /** The port on the instance. */
- core.int port;
-
- HealthStatus();
-
- HealthStatus.fromJson(core.Map _json) {
- if (_json.containsKey("healthState")) {
- healthState = _json["healthState"];
- }
- if (_json.containsKey("instance")) {
- instance = _json["instance"];
- }
- if (_json.containsKey("ipAddress")) {
- ipAddress = _json["ipAddress"];
- }
- if (_json.containsKey("port")) {
- port = _json["port"];
- }
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (healthState != null) {
- _json["healthState"] = healthState;
- }
- if (instance != null) {
- _json["instance"] = instance;
- }
- if (ipAddress != null) {
- _json["ipAddress"] = ipAddress;
- }
- if (port != null) {
- _json["port"] = port;
- }
- return _json;
- }
-}
-
-/**
- * UrlMaps A host-matching rule for a URL. If matched, will use the named
- * PathMatcher to select the BackendService.
- */
-class HostRule {
- /**
- * An optional description of this resource. Provide this property when you
- * create the resource.
- */
- core.String description;
- /**
- * The list of host patterns to match. They must be valid hostnames, except *
- * will match any string of ([a-z0-9-.]*). In that case, * must be the first
- * character and must be followed in the pattern by either - or ..
- */
- core.List<core.String> hosts;
- /**
- * The name of the PathMatcher to use to match the path portion of the URL if
- * the hostRule matches the URL's host portion.
- */
- core.String pathMatcher;
-
- HostRule();
-
- HostRule.fromJson(core.Map _json) {
- if (_json.containsKey("description")) {
- description = _json["description"];
+ if (_json.containsKey("items")) {
+ items = commons.mapMap(_json["items"], (item) => new InstancesScopedList.fromJson(item));
}
- if (_json.containsKey("hosts")) {
- hosts = _json["hosts"];
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
}
- if (_json.containsKey("pathMatcher")) {
- pathMatcher = _json["pathMatcher"];
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (description != null) {
- _json["description"] = description;
+ if (id != null) {
+ _json["id"] = id;
}
- if (hosts != null) {
- _json["hosts"] = hosts;
+ if (items != null) {
+ _json["items"] = commons.mapMap(items, (item) => (item).toJson());
}
- if (pathMatcher != null) {
- _json["pathMatcher"] = pathMatcher;
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
return _json;
}
}
-/**
- * An HttpHealthCheck resource. This resource defines a template for how
- * individual instances should be checked for health, via HTTP.
- */
-class HttpHealthCheck {
+class InstanceGroup {
/**
- * How often (in seconds) to send a health check. The default value is 5
- * seconds.
+ * [Output Only] The creation timestamp for this instance group in RFC3339
+ * text format.
*/
- core.int checkIntervalSec;
- /** [Output Only] Creation timestamp in RFC3339 text format. */
core.String creationTimestamp;
/**
* An optional description of this resource. Provide this property when you
@@ -19181,76 +22479,81 @@ class HttpHealthCheck {
*/
core.String description;
/**
- * A so-far unhealthy instance will be marked healthy after this many
- * consecutive successes. 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 public IP on behalf of which this health check
- * is performed will be used.
+ * [Output Only] The fingerprint of the named ports. The system uses this
+ * fingerprint to detect conflicts when multiple users change the named ports
+ * concurrently.
*/
- core.String host;
+ core.String fingerprint;
+ core.List<core.int> get fingerprintAsBytes {
+ return convert.BASE64.decode(fingerprint);
+ }
+
+ void set fingerprintAsBytes(core.List<core.int> _bytes) {
+ fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-");
+ }
/**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
+ * [Output Only] A unique identifier for this instance group, generated by the
+ * server.
*/
core.String id;
/**
- * [Output Only] Type of the resource. Always compute#httpHealthCheck for HTTP
- * health checks.
+ * [Output Only] The resource type, which is always compute#instanceGroup for
+ * instance groups.
*/
core.String kind;
/**
- * Name of the resource. Provided by the client when the resource is created.
- * The name must be 1-63 characters long, and comply with RFC1035.
- * Specifically, the name must be 1-63 characters long and match the regular
- * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
- * be a lowercase letter, and all following characters must be a dash,
- * lowercase letter, or digit, except the last character, which cannot be a
- * dash.
+ * The name of the instance group. The name must be 1-63 characters long, and
+ * comply with RFC1035.
*/
core.String name;
/**
- * The TCP port number for the HTTP health check request. The default value is
- * 80.
+ * Assigns a name to a port number. For example: {name: "http", port: 80}
+ *
+ * This allows the system to reference ports by the assigned name instead of a
+ * port number. Named ports can also contain multiple ports. For example:
+ * [{name: "http", port: 80},{name: "http", port: 8080}]
+ *
+ * Named ports apply to all instances in this instance group.
*/
- core.int port;
+ core.List<NamedPort> namedPorts;
/**
- * The request path of the HTTP health check request. The default value is /.
+ * The URL of the network to which all instances in the instance group belong.
+ */
+ core.String network;
+ /**
+ * The URL of the region where the instance group is located (for regional
+ * resources).
+ */
+ core.String region;
+ /**
+ * [Output Only] The URL for this instance group. The server generates this
+ * URL.
*/
- core.String requestPath;
- /** [Output Only] Server-defined URL for the resource. */
core.String selfLink;
+ /** [Output Only] The total number of instances in the instance group. */
+ core.int size;
/**
- * How long (in seconds) to wait before claiming failure. The default value is
- * 5 seconds. It is invalid for timeoutSec to have greater value than
- * checkIntervalSec.
+ * The URL of the subnetwork to which all instances in the instance group
+ * belong.
*/
- core.int timeoutSec;
+ core.String subnetwork;
/**
- * A so-far healthy instance will be marked unhealthy after this many
- * consecutive failures. The default value is 2.
+ * [Output Only] The URL of the zone where the instance group is located (for
+ * zonal resources).
*/
- core.int unhealthyThreshold;
+ core.String zone;
- HttpHealthCheck();
+ InstanceGroup();
- HttpHealthCheck.fromJson(core.Map _json) {
- if (_json.containsKey("checkIntervalSec")) {
- checkIntervalSec = _json["checkIntervalSec"];
- }
+ InstanceGroup.fromJson(core.Map _json) {
if (_json.containsKey("creationTimestamp")) {
creationTimestamp = _json["creationTimestamp"];
}
if (_json.containsKey("description")) {
description = _json["description"];
}
- if (_json.containsKey("healthyThreshold")) {
- healthyThreshold = _json["healthyThreshold"];
- }
- if (_json.containsKey("host")) {
- host = _json["host"];
+ if (_json.containsKey("fingerprint")) {
+ fingerprint = _json["fingerprint"];
}
if (_json.containsKey("id")) {
id = _json["id"];
@@ -19261,39 +22564,39 @@ class HttpHealthCheck {
if (_json.containsKey("name")) {
name = _json["name"];
}
- if (_json.containsKey("port")) {
- port = _json["port"];
+ if (_json.containsKey("namedPorts")) {
+ namedPorts = _json["namedPorts"].map((value) => new NamedPort.fromJson(value)).toList();
}
- if (_json.containsKey("requestPath")) {
- requestPath = _json["requestPath"];
+ if (_json.containsKey("network")) {
+ network = _json["network"];
+ }
+ if (_json.containsKey("region")) {
+ region = _json["region"];
}
if (_json.containsKey("selfLink")) {
selfLink = _json["selfLink"];
}
- if (_json.containsKey("timeoutSec")) {
- timeoutSec = _json["timeoutSec"];
+ if (_json.containsKey("size")) {
+ size = _json["size"];
}
- if (_json.containsKey("unhealthyThreshold")) {
- unhealthyThreshold = _json["unhealthyThreshold"];
+ if (_json.containsKey("subnetwork")) {
+ subnetwork = _json["subnetwork"];
+ }
+ if (_json.containsKey("zone")) {
+ zone = _json["zone"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (checkIntervalSec != null) {
- _json["checkIntervalSec"] = checkIntervalSec;
- }
if (creationTimestamp != null) {
_json["creationTimestamp"] = creationTimestamp;
}
if (description != null) {
_json["description"] = description;
}
- if (healthyThreshold != null) {
- _json["healthyThreshold"] = healthyThreshold;
- }
- if (host != null) {
- _json["host"] = host;
+ if (fingerprint != null) {
+ _json["fingerprint"] = fingerprint;
}
if (id != null) {
_json["id"] = id;
@@ -19304,34 +22607,113 @@ class HttpHealthCheck {
if (name != null) {
_json["name"] = name;
}
- if (port != null) {
- _json["port"] = port;
+ if (namedPorts != null) {
+ _json["namedPorts"] = namedPorts.map((value) => (value).toJson()).toList();
}
- if (requestPath != null) {
- _json["requestPath"] = requestPath;
+ if (network != null) {
+ _json["network"] = network;
+ }
+ if (region != null) {
+ _json["region"] = region;
}
if (selfLink != null) {
_json["selfLink"] = selfLink;
}
- if (timeoutSec != null) {
- _json["timeoutSec"] = timeoutSec;
+ if (size != null) {
+ _json["size"] = size;
}
- if (unhealthyThreshold != null) {
- _json["unhealthyThreshold"] = unhealthyThreshold;
+ if (subnetwork != null) {
+ _json["subnetwork"] = subnetwork;
+ }
+ if (zone != null) {
+ _json["zone"] = zone;
+ }
+ return _json;
+ }
+}
+
+class InstanceGroupAggregatedList {
+ /**
+ * [Output Only] A unique identifier for this aggregated list of instance
+ * groups. The server generates this identifier.
+ */
+ core.String id;
+ /** A map of scoped instance group lists. */
+ core.Map<core.String, InstanceGroupsScopedList> items;
+ /**
+ * [Output Only] The resource type, which is always
+ * compute#instanceGroupAggregatedList for aggregated lists of instance
+ * groups.
+ */
+ core.String kind;
+ /**
+ * [Output Only] This token allows you to get the next page of results for
+ * list requests. If the number of results is larger than maxResults, use the
+ * nextPageToken as a value for the query parameter pageToken in the next list
+ * request. Subsequent list requests will have their own nextPageToken to
+ * continue paging through the results.
+ */
+ core.String nextPageToken;
+ /**
+ * [Output Only] The URL for this resource type. The server generates this
+ * URL.
+ */
+ core.String selfLink;
+
+ InstanceGroupAggregatedList();
+
+ InstanceGroupAggregatedList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("items")) {
+ items = commons.mapMap(_json["items"], (item) => new InstanceGroupsScopedList.fromJson(item));
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (items != null) {
+ _json["items"] = commons.mapMap(items, (item) => (item).toJson());
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
return _json;
}
}
-/** Contains a list of HttpHealthCheck resources. */
-class HttpHealthCheckList {
+/** A list of InstanceGroup resources. */
+class InstanceGroupList {
/**
- * [Output Only] Unique identifier for the resource. Defined by the server.
+ * [Output Only] A unique identifier for this list of instance groups. The
+ * server generates this identifier.
*/
core.String id;
- /** A list of HttpHealthCheck resources. */
- core.List<HttpHealthCheck> items;
- /** Type of resource. */
+ /** A list of instance groups. */
+ core.List<InstanceGroup> items;
+ /**
+ * [Output Only] The resource type, which is always compute#instanceGroupList
+ * for instance group lists.
+ */
core.String kind;
/**
* [Output Only] This token allows you to get the next page of results for
@@ -19341,17 +22723,20 @@ class HttpHealthCheckList {
* continue paging through the results.
*/
core.String nextPageToken;
- /** [Output Only] Server-defined URL for this resource. */
+ /**
+ * [Output Only] The URL for this resource type. The server generates this
+ * URL.
+ */
core.String selfLink;
- HttpHealthCheckList();
+ InstanceGroupList();
- HttpHealthCheckList.fromJson(core.Map _json) {
+ InstanceGroupList.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new HttpHealthCheck.fromJson(value)).toList();
+ items = _json["items"].map((value) => new InstanceGroup.fromJson(value)).toList();
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
@@ -19385,508 +22770,331 @@ class HttpHealthCheckList {
}
}
-/**
- * An HttpsHealthCheck resource. This resource defines a template for how
- * individual instances should be checked for health, via HTTPS.
- */
-class HttpsHealthCheck {
+/** An Instance Group Manager resource. */
+class InstanceGroupManager {
/**
- * How often (in seconds) to send a health check. The default value is 5
- * seconds.
+ * The base instance name to use for instances in this group. The value must
+ * be 1-58 characters long. Instances are named by appending a hyphen and a
+ * random four-character string to the base instance name. The base instance
+ * name must comply with RFC1035.
+ */
+ core.String baseInstanceName;
+ /**
+ * [Output Only] The creation timestamp for this managed instance group in
+ * RFC3339 text format.
*/
- core.int checkIntervalSec;
- /** [Output Only] Creation timestamp in RFC3339 text format. */
core.String creationTimestamp;
/**
+ * [Output Only] The list of instance actions and the number of instances in
+ * this managed instance group that are scheduled for each of those actions.
+ */
+ InstanceGroupManagerActionsSummary currentActions;
+ /**
* An optional description of this resource. Provide this property when you
* create the resource.
*/
core.String description;
/**
- * A so-far unhealthy instance will be marked healthy after this many
- * consecutive successes. The default value is 2.
+ * [Output Only] The fingerprint of the resource data. You can use this
+ * optional field for optimistic locking when you update the resource.
*/
- core.int healthyThreshold;
+ core.String fingerprint;
+ core.List<core.int> get fingerprintAsBytes {
+ return convert.BASE64.decode(fingerprint);
+ }
+
+ void set fingerprintAsBytes(core.List<core.int> _bytes) {
+ fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-");
+ }
/**
- * The value of the host header in the HTTPS health check request. If left
- * empty (default value), the public IP on behalf of which this health check
- * is performed will be used.
+ * [Output Only] A unique identifier for this resource type. The server
+ * generates this identifier.
*/
- core.String host;
+ core.String id;
+ /** [Output Only] The URL of the Instance Group resource. */
+ core.String instanceGroup;
/**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
+ * The URL of the instance template that is specified for this managed
+ * instance group. The group uses this template to create all new instances in
+ * the managed instance group.
+ */
+ core.String instanceTemplate;
+ /**
+ * [Output Only] The resource type, which is always
+ * compute#instanceGroupManager for managed instance groups.
*/
- core.String id;
- /** Type of the resource. */
core.String kind;
/**
- * Name of the resource. Provided by the client when the resource is created.
- * The name must be 1-63 characters long, and comply with RFC1035.
- * Specifically, the name must be 1-63 characters long and match the regular
- * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
- * be a lowercase letter, and all following characters must be a dash,
- * lowercase letter, or digit, except the last character, which cannot be a
- * dash.
+ * The name of the managed instance group. The name must be 1-63 characters
+ * long, and comply with RFC1035.
*/
core.String name;
/**
- * The TCP port number for the HTTPS health check request. The default value
- * is 443.
+ * Named ports configured for the Instance Groups complementary to this
+ * Instance Group Manager.
*/
- core.int port;
+ core.List<NamedPort> namedPorts;
/**
- * The request path of the HTTPS health check request. The default value is
- * "/".
+ * [Output Only] The URL of the region where the managed instance group
+ * resides (for regional resources).
+ */
+ core.String region;
+ /**
+ * [Output Only] The URL for this managed instance group. The server defines
+ * this URL.
*/
- core.String requestPath;
- /** [Output Only] Server-defined URL for the resource. */
core.String selfLink;
/**
- * How long (in seconds) to wait before claiming failure. The default value is
- * 5 seconds. It is invalid for timeoutSec to have a greater value than
- * checkIntervalSec.
+ * The URLs for all TargetPool resources to which instances in the
+ * instanceGroup field are added. The target pools automatically apply to all
+ * of the instances in the managed instance group.
*/
- core.int timeoutSec;
+ core.List<core.String> targetPools;
/**
- * A so-far healthy instance will be marked unhealthy after this many
- * consecutive failures. The default value is 2.
+ * The target number of running instances for this managed instance group.
+ * Deleting or abandoning instances reduces this number. Resizing the group
+ * changes this number.
*/
- core.int unhealthyThreshold;
+ core.int targetSize;
+ /**
+ * [Output Only] The URL of the zone where the managed instance group is
+ * located (for zonal resources).
+ */
+ core.String zone;
- HttpsHealthCheck();
+ InstanceGroupManager();
- HttpsHealthCheck.fromJson(core.Map _json) {
- if (_json.containsKey("checkIntervalSec")) {
- checkIntervalSec = _json["checkIntervalSec"];
+ InstanceGroupManager.fromJson(core.Map _json) {
+ if (_json.containsKey("baseInstanceName")) {
+ baseInstanceName = _json["baseInstanceName"];
}
if (_json.containsKey("creationTimestamp")) {
creationTimestamp = _json["creationTimestamp"];
}
+ if (_json.containsKey("currentActions")) {
+ currentActions = new InstanceGroupManagerActionsSummary.fromJson(_json["currentActions"]);
+ }
if (_json.containsKey("description")) {
description = _json["description"];
}
- if (_json.containsKey("healthyThreshold")) {
- healthyThreshold = _json["healthyThreshold"];
- }
- if (_json.containsKey("host")) {
- host = _json["host"];
+ if (_json.containsKey("fingerprint")) {
+ fingerprint = _json["fingerprint"];
}
if (_json.containsKey("id")) {
id = _json["id"];
}
+ if (_json.containsKey("instanceGroup")) {
+ instanceGroup = _json["instanceGroup"];
+ }
+ if (_json.containsKey("instanceTemplate")) {
+ instanceTemplate = _json["instanceTemplate"];
+ }
if (_json.containsKey("kind")) {
kind = _json["kind"];
}
if (_json.containsKey("name")) {
name = _json["name"];
}
- if (_json.containsKey("port")) {
- port = _json["port"];
- }
- if (_json.containsKey("requestPath")) {
- requestPath = _json["requestPath"];
- }
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
- }
- 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 (creationTimestamp != null) {
- _json["creationTimestamp"] = creationTimestamp;
- }
- if (description != null) {
- _json["description"] = description;
- }
- if (healthyThreshold != null) {
- _json["healthyThreshold"] = healthyThreshold;
- }
- if (host != null) {
- _json["host"] = host;
- }
- if (id != null) {
- _json["id"] = id;
- }
- if (kind != null) {
- _json["kind"] = kind;
- }
- if (name != null) {
- _json["name"] = name;
- }
- if (port != null) {
- _json["port"] = port;
- }
- if (requestPath != null) {
- _json["requestPath"] = requestPath;
- }
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
- }
- if (timeoutSec != null) {
- _json["timeoutSec"] = timeoutSec;
- }
- if (unhealthyThreshold != null) {
- _json["unhealthyThreshold"] = unhealthyThreshold;
- }
- return _json;
- }
-}
-
-/** Contains a list of HttpsHealthCheck resources. */
-class HttpsHealthCheckList {
- /**
- * [Output Only] Unique identifier for the resource; defined by the server.
- */
- core.String id;
- /** A list of HttpsHealthCheck resources. */
- core.List<HttpsHealthCheck> items;
- /** Type of resource. */
- core.String kind;
- /**
- * [Output Only] This token allows you to get the next page of results for
- * list requests. If the number of results is larger than maxResults, use the
- * nextPageToken as a value for the query parameter pageToken in the next list
- * request. Subsequent list requests will have their own nextPageToken to
- * continue paging through the results.
- */
- core.String nextPageToken;
- /** [Output Only] Server-defined URL for this resource. */
- core.String selfLink;
-
- HttpsHealthCheckList();
-
- HttpsHealthCheckList.fromJson(core.Map _json) {
- if (_json.containsKey("id")) {
- id = _json["id"];
- }
- if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new HttpsHealthCheck.fromJson(value)).toList();
- }
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
+ if (_json.containsKey("namedPorts")) {
+ namedPorts = _json["namedPorts"].map((value) => new NamedPort.fromJson(value)).toList();
}
- if (_json.containsKey("nextPageToken")) {
- nextPageToken = _json["nextPageToken"];
+ if (_json.containsKey("region")) {
+ region = _json["region"];
}
if (_json.containsKey("selfLink")) {
selfLink = _json["selfLink"];
}
+ if (_json.containsKey("targetPools")) {
+ targetPools = _json["targetPools"];
+ }
+ if (_json.containsKey("targetSize")) {
+ targetSize = _json["targetSize"];
+ }
+ if (_json.containsKey("zone")) {
+ zone = _json["zone"];
+ }
}
core.Map toJson() {
var _json = new core.Map();
+ if (baseInstanceName != null) {
+ _json["baseInstanceName"] = baseInstanceName;
+ }
+ if (creationTimestamp != null) {
+ _json["creationTimestamp"] = creationTimestamp;
+ }
+ if (currentActions != null) {
+ _json["currentActions"] = (currentActions).toJson();
+ }
+ if (description != null) {
+ _json["description"] = description;
+ }
+ if (fingerprint != null) {
+ _json["fingerprint"] = fingerprint;
+ }
if (id != null) {
_json["id"] = id;
}
- if (items != null) {
- _json["items"] = items.map((value) => (value).toJson()).toList();
+ if (instanceGroup != null) {
+ _json["instanceGroup"] = instanceGroup;
+ }
+ if (instanceTemplate != null) {
+ _json["instanceTemplate"] = instanceTemplate;
}
if (kind != null) {
_json["kind"] = kind;
}
- if (nextPageToken != null) {
- _json["nextPageToken"] = nextPageToken;
- }
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
+ if (name != null) {
+ _json["name"] = name;
}
- return _json;
- }
-}
-
-/** The parameters of the raw disk image. */
-class ImageRawDisk {
- /**
- * The format used to encode and transmit the block device, which should be
- * TAR. This is just a container and transmission format and not a runtime
- * format. Provided by the client when the disk image is created.
- * Possible string values are:
- * - "TAR"
- */
- core.String containerType;
- /**
- * An optional SHA1 checksum of the disk image before unpackaging; provided by
- * the client when the disk image is created.
- */
- core.String sha1Checksum;
- /**
- * The full Google Cloud Storage URL where the disk image is stored. You must
- * provide either this property or the sourceDisk property but not both.
- */
- core.String source;
-
- ImageRawDisk();
-
- ImageRawDisk.fromJson(core.Map _json) {
- if (_json.containsKey("containerType")) {
- containerType = _json["containerType"];
+ if (namedPorts != null) {
+ _json["namedPorts"] = namedPorts.map((value) => (value).toJson()).toList();
}
- if (_json.containsKey("sha1Checksum")) {
- sha1Checksum = _json["sha1Checksum"];
+ if (region != null) {
+ _json["region"] = region;
}
- if (_json.containsKey("source")) {
- source = _json["source"];
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (containerType != null) {
- _json["containerType"] = containerType;
+ if (targetPools != null) {
+ _json["targetPools"] = targetPools;
}
- if (sha1Checksum != null) {
- _json["sha1Checksum"] = sha1Checksum;
+ if (targetSize != null) {
+ _json["targetSize"] = targetSize;
}
- if (source != null) {
- _json["source"] = source;
+ if (zone != null) {
+ _json["zone"] = zone;
}
return _json;
}
}
-/** An Image resource. */
-class Image {
- /**
- * Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).
- */
- core.String archiveSizeBytes;
- /** [Output Only] Creation timestamp in RFC3339 text format. */
- core.String creationTimestamp;
- /** The deprecation status associated with this image. */
- DeprecationStatus deprecated;
- /**
- * An optional description of this resource. Provide this property when you
- * create the resource.
- */
- core.String description;
- /** Size of the image when restored onto a persistent disk (in GB). */
- core.String diskSizeGb;
- /**
- * The name of the image family to which this image belongs. You can create
- * disks by specifying an image family instead of a specific image name. The
- * image family always returns its latest image that is not deprecated. The
- * name of the image family must comply with RFC1035.
- */
- core.String family;
+class InstanceGroupManagerActionsSummary {
/**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
+ * [Output Only] The total number of instances in the managed instance group
+ * that are scheduled to be abandoned. Abandoning an instance removes it from
+ * the managed instance group without deleting it.
*/
- core.String id;
+ core.int abandoning;
/**
- * Encrypts the image using a customer-supplied encryption key.
- *
- * After you encrypt an image with a customer-supplied key, you must provide
- * the same key if you use the image later (e.g. to create a disk from the
- * image).
- *
- * Customer-supplied encryption keys do not protect access to metadata of the
- * disk.
+ * [Output Only] The number of instances in the managed instance group that
+ * are scheduled to be created or are currently being created. If the group
+ * fails to create any of these instances, it tries again until it creates the
+ * instance successfully.
*
- * If you do not provide an encryption key when creating the image, then the
- * disk will be encrypted using an automatically generated key and you do not
- * need to provide a key to use the image later.
+ * If you have disabled creation retries, this field will not be populated;
+ * instead, the creatingWithoutRetries field will be populated.
*/
- CustomerEncryptionKey imageEncryptionKey;
- /** [Output Only] Type of the resource. Always compute#image for images. */
- core.String kind;
- /** Any applicable license URI. */
- core.List<core.String> licenses;
+ core.int creating;
/**
- * Name of the resource; provided by the client when the resource is created.
- * The name must be 1-63 characters long, and comply with RFC1035.
- * Specifically, the name must be 1-63 characters long and match the regular
- * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
- * be a lowercase letter, and all following characters must be a dash,
- * lowercase letter, or digit, except the last character, which cannot be a
- * dash.
+ * [Output Only] The number of instances that the managed instance group will
+ * attempt to create. The group attempts to create each instance only once. If
+ * the group fails to create any of these instances, it decreases the group's
+ * targetSize value accordingly.
*/
- core.String name;
- /** The parameters of the raw disk image. */
- ImageRawDisk rawDisk;
- /** [Output Only] Server-defined URL for the resource. */
- core.String selfLink;
+ core.int creatingWithoutRetries;
/**
- * URL of the The source disk used to create this image. This can be a full or
- * valid partial URL. You must provide either this property or the
- * rawDisk.source property but not both to create an image. For example, the
- * following are valid values:
- * -
- * https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
- * - projects/project/zones/zone/disks/disk
- * - zones/zone/disks/disk
+ * [Output Only] The number of instances in the managed instance group that
+ * are scheduled to be deleted or are currently being deleted.
*/
- core.String sourceDisk;
+ core.int deleting;
/**
- * The customer-supplied encryption key of the source disk. Required if the
- * source disk is protected by a customer-supplied encryption key.
+ * [Output Only] The number of instances in the managed instance group that
+ * are running and have no scheduled actions.
*/
- CustomerEncryptionKey sourceDiskEncryptionKey;
+ core.int none;
/**
- * The ID value of the disk used to create this image. This value may be used
- * to determine whether the image was taken from the current or a previous
- * instance of a given disk name.
+ * [Output Only] The number of instances in the managed instance group that
+ * are scheduled to be recreated or are currently being being recreated.
+ * Recreating an instance deletes the existing root persistent disk and
+ * creates a new disk from the image that is defined in the instance template.
*/
- core.String sourceDiskId;
+ core.int recreating;
/**
- * The type of the image used to create this disk. The default and only value
- * is RAW
- * Possible string values are:
- * - "RAW"
+ * [Output Only] The number of instances in the managed instance group that
+ * are being reconfigured with properties that do not require a restart or a
+ * recreate action. For example, setting or removing target pools for the
+ * instance.
*/
- core.String sourceType;
+ core.int refreshing;
/**
- * [Output Only] The status of the image. An image can be used to create other
- * resources, such as instances, only after the image has been successfully
- * created and the status is set to READY. Possible values are FAILED,
- * PENDING, or READY.
- * Possible string values are:
- * - "FAILED"
- * - "PENDING"
- * - "READY"
+ * [Output Only] The number of instances in the managed instance group that
+ * are scheduled to be restarted or are currently being restarted.
*/
- core.String status;
+ core.int restarting;
- Image();
+ InstanceGroupManagerActionsSummary();
- Image.fromJson(core.Map _json) {
- if (_json.containsKey("archiveSizeBytes")) {
- archiveSizeBytes = _json["archiveSizeBytes"];
- }
- if (_json.containsKey("creationTimestamp")) {
- creationTimestamp = _json["creationTimestamp"];
- }
- if (_json.containsKey("deprecated")) {
- deprecated = new DeprecationStatus.fromJson(_json["deprecated"]);
- }
- if (_json.containsKey("description")) {
- description = _json["description"];
- }
- if (_json.containsKey("diskSizeGb")) {
- diskSizeGb = _json["diskSizeGb"];
- }
- if (_json.containsKey("family")) {
- family = _json["family"];
- }
- if (_json.containsKey("id")) {
- id = _json["id"];
- }
- if (_json.containsKey("imageEncryptionKey")) {
- imageEncryptionKey = new CustomerEncryptionKey.fromJson(_json["imageEncryptionKey"]);
- }
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
- }
- if (_json.containsKey("licenses")) {
- licenses = _json["licenses"];
- }
- if (_json.containsKey("name")) {
- name = _json["name"];
- }
- if (_json.containsKey("rawDisk")) {
- rawDisk = new ImageRawDisk.fromJson(_json["rawDisk"]);
+ InstanceGroupManagerActionsSummary.fromJson(core.Map _json) {
+ if (_json.containsKey("abandoning")) {
+ abandoning = _json["abandoning"];
}
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
+ if (_json.containsKey("creating")) {
+ creating = _json["creating"];
}
- if (_json.containsKey("sourceDisk")) {
- sourceDisk = _json["sourceDisk"];
+ if (_json.containsKey("creatingWithoutRetries")) {
+ creatingWithoutRetries = _json["creatingWithoutRetries"];
}
- if (_json.containsKey("sourceDiskEncryptionKey")) {
- sourceDiskEncryptionKey = new CustomerEncryptionKey.fromJson(_json["sourceDiskEncryptionKey"]);
+ if (_json.containsKey("deleting")) {
+ deleting = _json["deleting"];
}
- if (_json.containsKey("sourceDiskId")) {
- sourceDiskId = _json["sourceDiskId"];
+ if (_json.containsKey("none")) {
+ none = _json["none"];
}
- if (_json.containsKey("sourceType")) {
- sourceType = _json["sourceType"];
+ if (_json.containsKey("recreating")) {
+ recreating = _json["recreating"];
}
- if (_json.containsKey("status")) {
- status = _json["status"];
+ if (_json.containsKey("refreshing")) {
+ refreshing = _json["refreshing"];
+ }
+ if (_json.containsKey("restarting")) {
+ restarting = _json["restarting"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (archiveSizeBytes != null) {
- _json["archiveSizeBytes"] = archiveSizeBytes;
- }
- if (creationTimestamp != null) {
- _json["creationTimestamp"] = creationTimestamp;
- }
- if (deprecated != null) {
- _json["deprecated"] = (deprecated).toJson();
- }
- if (description != null) {
- _json["description"] = description;
- }
- if (diskSizeGb != null) {
- _json["diskSizeGb"] = diskSizeGb;
- }
- if (family != null) {
- _json["family"] = family;
- }
- if (id != null) {
- _json["id"] = id;
- }
- if (imageEncryptionKey != null) {
- _json["imageEncryptionKey"] = (imageEncryptionKey).toJson();
- }
- if (kind != null) {
- _json["kind"] = kind;
- }
- if (licenses != null) {
- _json["licenses"] = licenses;
- }
- if (name != null) {
- _json["name"] = name;
+ if (abandoning != null) {
+ _json["abandoning"] = abandoning;
}
- if (rawDisk != null) {
- _json["rawDisk"] = (rawDisk).toJson();
+ if (creating != null) {
+ _json["creating"] = creating;
}
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
+ if (creatingWithoutRetries != null) {
+ _json["creatingWithoutRetries"] = creatingWithoutRetries;
}
- if (sourceDisk != null) {
- _json["sourceDisk"] = sourceDisk;
+ if (deleting != null) {
+ _json["deleting"] = deleting;
}
- if (sourceDiskEncryptionKey != null) {
- _json["sourceDiskEncryptionKey"] = (sourceDiskEncryptionKey).toJson();
+ if (none != null) {
+ _json["none"] = none;
}
- if (sourceDiskId != null) {
- _json["sourceDiskId"] = sourceDiskId;
+ if (recreating != null) {
+ _json["recreating"] = recreating;
}
- if (sourceType != null) {
- _json["sourceType"] = sourceType;
+ if (refreshing != null) {
+ _json["refreshing"] = refreshing;
}
- if (status != null) {
- _json["status"] = status;
+ if (restarting != null) {
+ _json["restarting"] = restarting;
}
return _json;
}
}
-/** Contains a list of images. */
-class ImageList {
+class InstanceGroupManagerAggregatedList {
/**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
+ * [Output Only] A unique identifier for this aggregated list of managed
+ * instance groups. The server generates this identifier.
*/
core.String id;
- /** [Output Only] A list of Image resources. */
- core.List<Image> items;
- /** Type of resource. */
+ /** [Output Only] A map of filtered managed instance group lists. */
+ core.Map<core.String, InstanceGroupManagersScopedList> items;
+ /**
+ * [Output Only] The resource type, which is always
+ * compute#instanceGroupManagerAggregatedList for an aggregated list of
+ * managed instance groups.
+ */
core.String kind;
/**
* [Output Only] This token allows you to get the next page of results for
@@ -19896,17 +23104,20 @@ class ImageList {
* continue paging through the results.
*/
core.String nextPageToken;
- /** [Output Only] Server-defined URL for this resource. */
+ /**
+ * [Output Only] The URL for this resource type. The server generates this
+ * URL.
+ */
core.String selfLink;
- ImageList();
+ InstanceGroupManagerAggregatedList();
- ImageList.fromJson(core.Map _json) {
+ InstanceGroupManagerAggregatedList.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new Image.fromJson(value)).toList();
+ items = commons.mapMap(_json["items"], (item) => new InstanceGroupManagersScopedList.fromJson(item));
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
@@ -19925,7 +23136,7 @@ class ImageList {
_json["id"] = id;
}
if (items != null) {
- _json["items"] = items.map((value) => (value).toJson()).toList();
+ _json["items"] = commons.mapMap(items, (item) => (item).toJson());
}
if (kind != null) {
_json["kind"] = kind;
@@ -19940,318 +23151,331 @@ class ImageList {
}
}
-/** An Instance resource. */
-class Instance {
- /**
- * Allows this instance to send and receive packets with non-matching
- * destination or source IPs. This is required if you plan to use this
- * instance to forward routes. For more information, see Enabling IP
- * Forwarding.
- */
- core.bool canIpForward;
- /** [Output Only] The CPU platform used by this instance. */
- core.String cpuPlatform;
- /** [Output Only] Creation timestamp in RFC3339 text format. */
- core.String creationTimestamp;
- /**
- * An optional description of this resource. Provide this property when you
- * create the resource.
- */
- core.String description;
- /**
- * Array of disks associated with this instance. Persistent disks must be
- * created before you can assign them.
- */
- core.List<AttachedDisk> disks;
+/** [Output Only] A list of managed instance groups. */
+class InstanceGroupManagerList {
/**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
+ * [Output Only] A unique identifier for this resource type. The server
+ * generates this identifier.
*/
core.String id;
+ /** [Output Only] A list of managed instance groups. */
+ core.List<InstanceGroupManager> items;
/**
- * [Output Only] Type of the resource. Always compute#instance for instances.
+ * [Output Only] The resource type, which is always
+ * compute#instanceGroupManagerList for a list of managed instance groups.
*/
core.String kind;
/**
- * Full or partial URL of the machine type resource to use for this instance,
- * in the format: zones/zone/machineTypes/machine-type. This is provided by
- * the client when the instance is created. For example, the following is a
- * valid partial url to a predefined machine type:
- *
- * zones/us-central1-f/machineTypes/n1-standard-1
- *
- * To create a custom machine type, provide a URL to a machine type in the
- * following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ...
- * 24, etc), and MEMORY is the total memory for this instance. Memory must be
- * a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is
- * 5120 MB):
- *
- * zones/zone/machineTypes/custom-CPUS-MEMORY
- *
- * For example: zones/us-central1-f/machineTypes/custom-4-5120
- *
- * For a full list of restrictions, read the Specifications for custom machine
- * types.
- */
- core.String machineType;
- /**
- * The metadata key/value pairs assigned to this instance. This includes
- * custom metadata and predefined keys.
- */
- Metadata metadata;
- /**
- * The name of the resource, provided by the client when initially creating
- * the resource. The resource name must be 1-63 characters long, and comply
- * with RFC1035. Specifically, the name must be 1-63 characters long and match
- * the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first
- * character must be a lowercase letter, and all following characters must be
- * a dash, lowercase letter, or digit, except the last character, which cannot
- * be a dash.
- */
- core.String name;
- /**
- * An array of configurations for this interface. This specifies how this
- * interface is configured to interact with other network services, such as
- * connecting to the internet. Only one interface is supported per instance.
- */
- core.List<NetworkInterface> networkInterfaces;
- /** Scheduling options for this instance. */
- Scheduling scheduling;
- /** [Output Only] Server-defined URL for this resource. */
- core.String selfLink;
- /**
- * A list of service accounts, with their specified scopes, authorized for
- * this instance. Service accounts generate access tokens that can be accessed
- * through the metadata server and used to authenticate applications on the
- * instance. See Service Accounts for more information.
- */
- core.List<ServiceAccount> serviceAccounts;
- /**
- * [Output Only] The status of the instance. One of the following values:
- * PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, and
- * TERMINATED.
- * Possible string values are:
- * - "PROVISIONING"
- * - "RUNNING"
- * - "STAGING"
- * - "STOPPED"
- * - "STOPPING"
- * - "SUSPENDED"
- * - "SUSPENDING"
- * - "TERMINATED"
- */
- core.String status;
- /** [Output Only] An optional, human-readable explanation of the status. */
- core.String statusMessage;
- /**
- * A list of tags to apply to this instance. Tags are used to identify valid
- * sources or targets for network firewalls and are specified by the client
- * during instance creation. The tags can be later modified by the setTags
- * method. Each tag within the list must comply with RFC1035.
+ * [Output Only] This token allows you to get the next page of results for
+ * list requests. If the number of results is larger than maxResults, use the
+ * nextPageToken as a value for the query parameter pageToken in the next list
+ * request. Subsequent list requests will have their own nextPageToken to
+ * continue paging through the results.
*/
- Tags tags;
- /** [Output Only] URL of the zone where the instance resides. */
- core.String zone;
-
- Instance();
-
- Instance.fromJson(core.Map _json) {
- if (_json.containsKey("canIpForward")) {
- canIpForward = _json["canIpForward"];
- }
- if (_json.containsKey("cpuPlatform")) {
- cpuPlatform = _json["cpuPlatform"];
- }
- if (_json.containsKey("creationTimestamp")) {
- creationTimestamp = _json["creationTimestamp"];
- }
- if (_json.containsKey("description")) {
- description = _json["description"];
- }
- if (_json.containsKey("disks")) {
- disks = _json["disks"].map((value) => new AttachedDisk.fromJson(value)).toList();
- }
+ core.String nextPageToken;
+ /** [Output Only] Server-defined URL for this resource. */
+ core.String selfLink;
+
+ InstanceGroupManagerList();
+
+ InstanceGroupManagerList.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
+ if (_json.containsKey("items")) {
+ items = _json["items"].map((value) => new InstanceGroupManager.fromJson(value)).toList();
+ }
if (_json.containsKey("kind")) {
kind = _json["kind"];
}
- if (_json.containsKey("machineType")) {
- machineType = _json["machineType"];
- }
- if (_json.containsKey("metadata")) {
- metadata = new Metadata.fromJson(_json["metadata"]);
- }
- if (_json.containsKey("name")) {
- name = _json["name"];
- }
- if (_json.containsKey("networkInterfaces")) {
- networkInterfaces = _json["networkInterfaces"].map((value) => new NetworkInterface.fromJson(value)).toList();
- }
- if (_json.containsKey("scheduling")) {
- scheduling = new Scheduling.fromJson(_json["scheduling"]);
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
}
if (_json.containsKey("selfLink")) {
selfLink = _json["selfLink"];
}
- if (_json.containsKey("serviceAccounts")) {
- serviceAccounts = _json["serviceAccounts"].map((value) => new ServiceAccount.fromJson(value)).toList();
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (id != null) {
+ _json["id"] = id;
}
- if (_json.containsKey("status")) {
- status = _json["status"];
+ if (items != null) {
+ _json["items"] = items.map((value) => (value).toJson()).toList();
}
- if (_json.containsKey("statusMessage")) {
- statusMessage = _json["statusMessage"];
+ if (kind != null) {
+ _json["kind"] = kind;
}
- if (_json.containsKey("tags")) {
- tags = new Tags.fromJson(_json["tags"]);
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
}
- if (_json.containsKey("zone")) {
- zone = _json["zone"];
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ return _json;
+ }
+}
+
+class InstanceGroupManagersAbandonInstancesRequest {
+ /**
+ * The URL for one or more instances to abandon from the managed instance
+ * group.
+ */
+ core.List<core.String> instances;
+
+ InstanceGroupManagersAbandonInstancesRequest();
+
+ InstanceGroupManagersAbandonInstancesRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("instances")) {
+ instances = _json["instances"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (canIpForward != null) {
- _json["canIpForward"] = canIpForward;
- }
- if (cpuPlatform != null) {
- _json["cpuPlatform"] = cpuPlatform;
- }
- if (creationTimestamp != null) {
- _json["creationTimestamp"] = creationTimestamp;
+ if (instances != null) {
+ _json["instances"] = instances;
}
- if (description != null) {
- _json["description"] = description;
+ return _json;
+ }
+}
+
+class InstanceGroupManagersDeleteInstancesRequest {
+ /**
+ * The list of instances to delete from this managed instance group. Specify
+ * one or more instance URLs.
+ */
+ core.List<core.String> instances;
+
+ InstanceGroupManagersDeleteInstancesRequest();
+
+ InstanceGroupManagersDeleteInstancesRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("instances")) {
+ instances = _json["instances"];
}
- if (disks != null) {
- _json["disks"] = disks.map((value) => (value).toJson()).toList();
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (instances != null) {
+ _json["instances"] = instances;
}
- if (id != null) {
- _json["id"] = id;
+ return _json;
+ }
+}
+
+class InstanceGroupManagersListManagedInstancesResponse {
+ /** [Output Only] The list of instances in the managed instance group. */
+ core.List<ManagedInstance> managedInstances;
+
+ InstanceGroupManagersListManagedInstancesResponse();
+
+ InstanceGroupManagersListManagedInstancesResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("managedInstances")) {
+ managedInstances = _json["managedInstances"].map((value) => new ManagedInstance.fromJson(value)).toList();
}
- if (kind != null) {
- _json["kind"] = kind;
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (managedInstances != null) {
+ _json["managedInstances"] = managedInstances.map((value) => (value).toJson()).toList();
}
- if (machineType != null) {
- _json["machineType"] = machineType;
+ return _json;
+ }
+}
+
+class InstanceGroupManagersRecreateInstancesRequest {
+ /** The URL for one or more instances to recreate. */
+ core.List<core.String> instances;
+
+ InstanceGroupManagersRecreateInstancesRequest();
+
+ InstanceGroupManagersRecreateInstancesRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("instances")) {
+ instances = _json["instances"];
}
- if (metadata != null) {
- _json["metadata"] = (metadata).toJson();
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (instances != null) {
+ _json["instances"] = instances;
}
- if (name != null) {
- _json["name"] = name;
+ return _json;
+ }
+}
+
+class InstanceGroupManagersScopedListWarningData {
+ /**
+ * [Output Only] A key that provides more detail on the warning being
+ * returned. For example, for warnings where there are no results in a list
+ * request for a particular zone, this key might be scope and the key value
+ * might be the zone name. Other examples might be a key indicating a
+ * deprecated resource and a suggested replacement, or a warning about invalid
+ * network settings (for example, if an instance attempts to perform IP
+ * forwarding but is not enabled for IP forwarding).
+ */
+ core.String key;
+ /** [Output Only] A warning data value corresponding to the key. */
+ core.String value;
+
+ InstanceGroupManagersScopedListWarningData();
+
+ InstanceGroupManagersScopedListWarningData.fromJson(core.Map _json) {
+ if (_json.containsKey("key")) {
+ key = _json["key"];
}
- if (networkInterfaces != null) {
- _json["networkInterfaces"] = networkInterfaces.map((value) => (value).toJson()).toList();
+ if (_json.containsKey("value")) {
+ value = _json["value"];
}
- if (scheduling != null) {
- _json["scheduling"] = (scheduling).toJson();
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (key != null) {
+ _json["key"] = key;
}
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
+ if (value != null) {
+ _json["value"] = value;
}
- if (serviceAccounts != null) {
- _json["serviceAccounts"] = serviceAccounts.map((value) => (value).toJson()).toList();
+ return _json;
+ }
+}
+
+/**
+ * [Output Only] The warning that replaces the list of managed instance groups
+ * when the list is empty.
+ */
+class InstanceGroupManagersScopedListWarning {
+ /**
+ * [Output Only] A warning code, if applicable. For example, Compute Engine
+ * returns NO_RESULTS_ON_PAGE if there are no results in the response.
+ * Possible string values are:
+ * - "CLEANUP_FAILED"
+ * - "DEPRECATED_RESOURCE_USED"
+ * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ * - "FIELD_VALUE_OVERRIDEN"
+ * - "INJECTED_KERNELS_DEPRECATED"
+ * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
+ * - "NEXT_HOP_CANNOT_IP_FORWARD"
+ * - "NEXT_HOP_INSTANCE_NOT_FOUND"
+ * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
+ * - "NEXT_HOP_NOT_RUNNING"
+ * - "NOT_CRITICAL_ERROR"
+ * - "NO_RESULTS_ON_PAGE"
+ * - "REQUIRED_TOS_AGREEMENT"
+ * - "RESOURCE_NOT_DELETED"
+ * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
+ * - "UNREACHABLE"
+ */
+ core.String code;
+ /**
+ * [Output Only] Metadata about this warning in key: value format. For
+ * example:
+ * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
+ */
+ core.List<InstanceGroupManagersScopedListWarningData> data;
+ /** [Output Only] A human-readable description of the warning code. */
+ core.String message;
+
+ InstanceGroupManagersScopedListWarning();
+
+ InstanceGroupManagersScopedListWarning.fromJson(core.Map _json) {
+ if (_json.containsKey("code")) {
+ code = _json["code"];
}
- if (status != null) {
- _json["status"] = status;
+ if (_json.containsKey("data")) {
+ data = _json["data"].map((value) => new InstanceGroupManagersScopedListWarningData.fromJson(value)).toList();
}
- if (statusMessage != null) {
- _json["statusMessage"] = statusMessage;
+ if (_json.containsKey("message")) {
+ message = _json["message"];
}
- if (tags != null) {
- _json["tags"] = (tags).toJson();
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (code != null) {
+ _json["code"] = code;
}
- if (zone != null) {
- _json["zone"] = zone;
+ if (data != null) {
+ _json["data"] = data.map((value) => (value).toJson()).toList();
+ }
+ if (message != null) {
+ _json["message"] = message;
}
return _json;
}
}
-class InstanceAggregatedList {
- /**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
- */
- core.String id;
- /** [Output Only] A map of scoped instance lists. */
- core.Map<core.String, InstancesScopedList> items;
+class InstanceGroupManagersScopedList {
/**
- * [Output Only] Type of resource. Always compute#instanceAggregatedList for
- * aggregated lists of Instance resources.
+ * [Output Only] The list of managed instance groups that are contained in the
+ * specified project and zone.
*/
- core.String kind;
+ core.List<InstanceGroupManager> instanceGroupManagers;
/**
- * [Output Only] This token allows you to get the next page of results for
- * list requests. If the number of results is larger than maxResults, use the
- * nextPageToken as a value for the query parameter pageToken in the next list
- * request. Subsequent list requests will have their own nextPageToken to
- * continue paging through the results.
+ * [Output Only] The warning that replaces the list of managed instance groups
+ * when the list is empty.
*/
- core.String nextPageToken;
- /** [Output Only] Server-defined URL for this resource. */
- core.String selfLink;
+ InstanceGroupManagersScopedListWarning warning;
- InstanceAggregatedList();
+ InstanceGroupManagersScopedList();
- InstanceAggregatedList.fromJson(core.Map _json) {
- if (_json.containsKey("id")) {
- id = _json["id"];
- }
- if (_json.containsKey("items")) {
- items = commons.mapMap(_json["items"], (item) => new InstancesScopedList.fromJson(item));
- }
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
- }
- if (_json.containsKey("nextPageToken")) {
- nextPageToken = _json["nextPageToken"];
+ InstanceGroupManagersScopedList.fromJson(core.Map _json) {
+ if (_json.containsKey("instanceGroupManagers")) {
+ instanceGroupManagers = _json["instanceGroupManagers"].map((value) => new InstanceGroupManager.fromJson(value)).toList();
}
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
+ if (_json.containsKey("warning")) {
+ warning = new InstanceGroupManagersScopedListWarning.fromJson(_json["warning"]);
}
}
core.Map toJson() {
var _json = new core.Map();
- if (id != null) {
- _json["id"] = id;
- }
- if (items != null) {
- _json["items"] = commons.mapMap(items, (item) => (item).toJson());
- }
- if (kind != null) {
- _json["kind"] = kind;
- }
- if (nextPageToken != null) {
- _json["nextPageToken"] = nextPageToken;
+ if (instanceGroupManagers != null) {
+ _json["instanceGroupManagers"] = instanceGroupManagers.map((value) => (value).toJson()).toList();
}
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
+ if (warning != null) {
+ _json["warning"] = (warning).toJson();
}
return _json;
}
}
-class InstanceGroup {
- /**
- * [Output Only] The creation timestamp for this instance group in RFC3339
- * text format.
- */
- core.String creationTimestamp;
+class InstanceGroupManagersSetInstanceTemplateRequest {
/**
- * An optional description of this resource. Provide this property when you
- * create the resource.
+ * The URL of the instance template that is specified for this managed
+ * instance group. The group uses this template to create all new instances in
+ * the managed instance group.
*/
- core.String description;
+ core.String instanceTemplate;
+
+ InstanceGroupManagersSetInstanceTemplateRequest();
+
+ InstanceGroupManagersSetInstanceTemplateRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("instanceTemplate")) {
+ instanceTemplate = _json["instanceTemplate"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (instanceTemplate != null) {
+ _json["instanceTemplate"] = instanceTemplate;
+ }
+ return _json;
+ }
+}
+
+class InstanceGroupManagersSetTargetPoolsRequest {
/**
- * [Output Only] The fingerprint of the named ports. The system uses this
- * fingerprint to detect conflicts when multiple users change the named ports
- * concurrently.
+ * The fingerprint of the target pools information. Use this optional property
+ * to prevent conflicts when multiple users change the target pools settings
+ * concurrently. Obtain the fingerprint with the instanceGroupManagers.get
+ * method. Then, include the fingerprint in your request to ensure that you do
+ * not overwrite changes that were applied from another concurrent request.
*/
core.String fingerprint;
core.List<core.int> get fingerprintAsBytes {
@@ -20262,158 +23486,72 @@ class InstanceGroup {
fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-");
}
/**
- * [Output Only] A unique identifier for this instance group, generated by the
- * server.
- */
- core.String id;
- /**
- * [Output Only] The resource type, which is always compute#instanceGroup for
- * instance groups.
- */
- core.String kind;
- /**
- * The name of the instance group. The name must be 1-63 characters long, and
- * comply with RFC1035.
- */
- core.String name;
- /**
- * Assigns a name to a port number. For example: {name: "http", port: 80}
- *
- * This allows the system to reference ports by the assigned name instead of a
- * port number. Named ports can also contain multiple ports. For example:
- * [{name: "http", port: 80},{name: "http", port: 8080}]
- *
- * Named ports apply to all instances in this instance group.
- */
- core.List<NamedPort> namedPorts;
- /**
- * The URL of the network to which all instances in the instance group belong.
- */
- core.String network;
- /**
- * The URL of the region where the instance group is located (for regional
- * resources).
- */
- core.String region;
- /**
- * [Output Only] The URL for this instance group. The server generates this
- * URL.
- */
- core.String selfLink;
- /** [Output Only] The total number of instances in the instance group. */
- core.int size;
- /**
- * The URL of the subnetwork to which all instances in the instance group
- * belong.
- */
- core.String subnetwork;
- /**
- * [Output Only] The URL of the zone where the instance group is located (for
- * zonal resources).
+ * The list of target pool URLs that instances in this managed instance group
+ * belong to. The managed instance group applies these target pools to all of
+ * the instances in the group. Existing instances and new instances in the
+ * group all receive these target pool settings.
*/
- core.String zone;
+ core.List<core.String> targetPools;
- InstanceGroup();
+ InstanceGroupManagersSetTargetPoolsRequest();
- InstanceGroup.fromJson(core.Map _json) {
- if (_json.containsKey("creationTimestamp")) {
- creationTimestamp = _json["creationTimestamp"];
- }
- if (_json.containsKey("description")) {
- description = _json["description"];
- }
+ InstanceGroupManagersSetTargetPoolsRequest.fromJson(core.Map _json) {
if (_json.containsKey("fingerprint")) {
fingerprint = _json["fingerprint"];
}
- if (_json.containsKey("id")) {
- id = _json["id"];
- }
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
- }
- if (_json.containsKey("name")) {
- name = _json["name"];
- }
- if (_json.containsKey("namedPorts")) {
- namedPorts = _json["namedPorts"].map((value) => new NamedPort.fromJson(value)).toList();
- }
- if (_json.containsKey("network")) {
- network = _json["network"];
- }
- if (_json.containsKey("region")) {
- region = _json["region"];
- }
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
- }
- if (_json.containsKey("size")) {
- size = _json["size"];
- }
- if (_json.containsKey("subnetwork")) {
- subnetwork = _json["subnetwork"];
- }
- if (_json.containsKey("zone")) {
- zone = _json["zone"];
+ if (_json.containsKey("targetPools")) {
+ targetPools = _json["targetPools"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (creationTimestamp != null) {
- _json["creationTimestamp"] = creationTimestamp;
- }
- if (description != null) {
- _json["description"] = description;
- }
if (fingerprint != null) {
_json["fingerprint"] = fingerprint;
}
- if (id != null) {
- _json["id"] = id;
- }
- if (kind != null) {
- _json["kind"] = kind;
- }
- if (name != null) {
- _json["name"] = name;
- }
- if (namedPorts != null) {
- _json["namedPorts"] = namedPorts.map((value) => (value).toJson()).toList();
- }
- if (network != null) {
- _json["network"] = network;
- }
- if (region != null) {
- _json["region"] = region;
- }
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
- }
- if (size != null) {
- _json["size"] = size;
+ if (targetPools != null) {
+ _json["targetPools"] = targetPools;
}
- if (subnetwork != null) {
- _json["subnetwork"] = subnetwork;
+ return _json;
+ }
+}
+
+class InstanceGroupsAddInstancesRequest {
+ /** The list of instances to add to the instance group. */
+ core.List<InstanceReference> instances;
+
+ InstanceGroupsAddInstancesRequest();
+
+ InstanceGroupsAddInstancesRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("instances")) {
+ instances = _json["instances"].map((value) => new InstanceReference.fromJson(value)).toList();
}
- if (zone != null) {
- _json["zone"] = zone;
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (instances != null) {
+ _json["instances"] = instances.map((value) => (value).toJson()).toList();
}
return _json;
}
}
-class InstanceGroupAggregatedList {
+class InstanceGroupsListInstances {
/**
- * [Output Only] A unique identifier for this aggregated list of instance
- * groups. The server generates this identifier.
+ * [Output Only] A unique identifier for this list of instances in the
+ * specified instance group. The server generates this identifier.
*/
core.String id;
- /** A map of scoped instance group lists. */
- core.Map<core.String, InstanceGroupsScopedList> items;
+ /**
+ * [Output Only] A list of instances and any named ports that are assigned to
+ * those instances.
+ */
+ core.List<InstanceWithNamedPorts> items;
/**
* [Output Only] The resource type, which is always
- * compute#instanceGroupAggregatedList for aggregated lists of instance
- * groups.
+ * compute#instanceGroupsListInstances for the list of instances in the
+ * specified instance group.
*/
core.String kind;
/**
@@ -20425,19 +23563,19 @@ class InstanceGroupAggregatedList {
*/
core.String nextPageToken;
/**
- * [Output Only] The URL for this resource type. The server generates this
- * URL.
+ * [Output Only] The URL for this list of instances in the specified instance
+ * groups. The server generates this URL.
*/
core.String selfLink;
- InstanceGroupAggregatedList();
+ InstanceGroupsListInstances();
- InstanceGroupAggregatedList.fromJson(core.Map _json) {
+ InstanceGroupsListInstances.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
if (_json.containsKey("items")) {
- items = commons.mapMap(_json["items"], (item) => new InstanceGroupsScopedList.fromJson(item));
+ items = _json["items"].map((value) => new InstanceWithNamedPorts.fromJson(value)).toList();
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
@@ -20456,7 +23594,7 @@ class InstanceGroupAggregatedList {
_json["id"] = id;
}
if (items != null) {
- _json["items"] = commons.mapMap(items, (item) => (item).toJson());
+ _json["items"] = items.map((value) => (value).toJson()).toList();
}
if (kind != null) {
_json["kind"] = kind;
@@ -20464,25 +23602,253 @@ class InstanceGroupAggregatedList {
if (nextPageToken != null) {
_json["nextPageToken"] = nextPageToken;
}
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ return _json;
+ }
+}
+
+class InstanceGroupsListInstancesRequest {
+ /**
+ * A filter for the state of the instances in the instance group. Valid
+ * options are ALL or RUNNING. If you do not specify this parameter the list
+ * includes all instances regardless of their state.
+ * Possible string values are:
+ * - "ALL"
+ * - "RUNNING"
+ */
+ core.String instanceState;
+
+ InstanceGroupsListInstancesRequest();
+
+ InstanceGroupsListInstancesRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("instanceState")) {
+ instanceState = _json["instanceState"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (instanceState != null) {
+ _json["instanceState"] = instanceState;
+ }
+ return _json;
+ }
+}
+
+class InstanceGroupsRemoveInstancesRequest {
+ /** The list of instances to remove from the instance group. */
+ core.List<InstanceReference> instances;
+
+ InstanceGroupsRemoveInstancesRequest();
+
+ InstanceGroupsRemoveInstancesRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("instances")) {
+ instances = _json["instances"].map((value) => new InstanceReference.fromJson(value)).toList();
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (instances != null) {
+ _json["instances"] = instances.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+class InstanceGroupsScopedListWarningData {
+ /**
+ * [Output Only] A key that provides more detail on the warning being
+ * returned. For example, for warnings where there are no results in a list
+ * request for a particular zone, this key might be scope and the key value
+ * might be the zone name. Other examples might be a key indicating a
+ * deprecated resource and a suggested replacement, or a warning about invalid
+ * network settings (for example, if an instance attempts to perform IP
+ * forwarding but is not enabled for IP forwarding).
+ */
+ core.String key;
+ /** [Output Only] A warning data value corresponding to the key. */
+ core.String value;
+
+ InstanceGroupsScopedListWarningData();
+
+ InstanceGroupsScopedListWarningData.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;
+ }
+}
+
+/**
+ * [Output Only] An informational warning that replaces the list of instance
+ * groups when the list is empty.
+ */
+class InstanceGroupsScopedListWarning {
+ /**
+ * [Output Only] A warning code, if applicable. For example, Compute Engine
+ * returns NO_RESULTS_ON_PAGE if there are no results in the response.
+ * Possible string values are:
+ * - "CLEANUP_FAILED"
+ * - "DEPRECATED_RESOURCE_USED"
+ * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ * - "FIELD_VALUE_OVERRIDEN"
+ * - "INJECTED_KERNELS_DEPRECATED"
+ * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
+ * - "NEXT_HOP_CANNOT_IP_FORWARD"
+ * - "NEXT_HOP_INSTANCE_NOT_FOUND"
+ * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
+ * - "NEXT_HOP_NOT_RUNNING"
+ * - "NOT_CRITICAL_ERROR"
+ * - "NO_RESULTS_ON_PAGE"
+ * - "REQUIRED_TOS_AGREEMENT"
+ * - "RESOURCE_NOT_DELETED"
+ * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
+ * - "UNREACHABLE"
+ */
+ core.String code;
+ /**
+ * [Output Only] Metadata about this warning in key: value format. For
+ * example:
+ * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
+ */
+ core.List<InstanceGroupsScopedListWarningData> data;
+ /** [Output Only] A human-readable description of the warning code. */
+ core.String message;
+
+ InstanceGroupsScopedListWarning();
+
+ InstanceGroupsScopedListWarning.fromJson(core.Map _json) {
+ if (_json.containsKey("code")) {
+ code = _json["code"];
+ }
+ if (_json.containsKey("data")) {
+ data = _json["data"].map((value) => new InstanceGroupsScopedListWarningData.fromJson(value)).toList();
+ }
+ if (_json.containsKey("message")) {
+ message = _json["message"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (code != null) {
+ _json["code"] = code;
+ }
+ if (data != null) {
+ _json["data"] = data.map((value) => (value).toJson()).toList();
+ }
+ if (message != null) {
+ _json["message"] = message;
+ }
+ return _json;
+ }
+}
+
+class InstanceGroupsScopedList {
+ /**
+ * [Output Only] The list of instance groups that are contained in this scope.
+ */
+ core.List<InstanceGroup> instanceGroups;
+ /**
+ * [Output Only] An informational warning that replaces the list of instance
+ * groups when the list is empty.
+ */
+ InstanceGroupsScopedListWarning warning;
+
+ InstanceGroupsScopedList();
+
+ InstanceGroupsScopedList.fromJson(core.Map _json) {
+ if (_json.containsKey("instanceGroups")) {
+ instanceGroups = _json["instanceGroups"].map((value) => new InstanceGroup.fromJson(value)).toList();
+ }
+ if (_json.containsKey("warning")) {
+ warning = new InstanceGroupsScopedListWarning.fromJson(_json["warning"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (instanceGroups != null) {
+ _json["instanceGroups"] = instanceGroups.map((value) => (value).toJson()).toList();
+ }
+ if (warning != null) {
+ _json["warning"] = (warning).toJson();
+ }
+ return _json;
+ }
+}
+
+class InstanceGroupsSetNamedPortsRequest {
+ /**
+ * The fingerprint of the named ports information for this instance group. Use
+ * this optional property to prevent conflicts when multiple users change the
+ * named ports settings concurrently. Obtain the fingerprint with the
+ * instanceGroups.get method. Then, include the fingerprint in your request to
+ * ensure that you do not overwrite changes that were applied from another
+ * concurrent request.
+ */
+ core.String fingerprint;
+ core.List<core.int> get fingerprintAsBytes {
+ return convert.BASE64.decode(fingerprint);
+ }
+
+ void set fingerprintAsBytes(core.List<core.int> _bytes) {
+ fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-");
+ }
+ /** The list of named ports to set for this instance group. */
+ core.List<NamedPort> namedPorts;
+
+ InstanceGroupsSetNamedPortsRequest();
+
+ InstanceGroupsSetNamedPortsRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("fingerprint")) {
+ fingerprint = _json["fingerprint"];
+ }
+ if (_json.containsKey("namedPorts")) {
+ namedPorts = _json["namedPorts"].map((value) => new NamedPort.fromJson(value)).toList();
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (fingerprint != null) {
+ _json["fingerprint"] = fingerprint;
+ }
+ if (namedPorts != null) {
+ _json["namedPorts"] = namedPorts.map((value) => (value).toJson()).toList();
}
return _json;
}
}
-/** A list of InstanceGroup resources. */
-class InstanceGroupList {
+/** Contains a list of instances. */
+class InstanceList {
/**
- * [Output Only] A unique identifier for this list of instance groups. The
- * server generates this identifier.
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
*/
core.String id;
- /** A list of instance groups. */
- core.List<InstanceGroup> items;
+ /** [Output Only] A list of instances. */
+ core.List<Instance> items;
/**
- * [Output Only] The resource type, which is always compute#instanceGroupList
- * for instance group lists.
+ * [Output Only] Type of resource. Always compute#instanceList for lists of
+ * Instance resources.
*/
core.String kind;
/**
@@ -20493,20 +23859,17 @@ class InstanceGroupList {
* continue paging through the results.
*/
core.String nextPageToken;
- /**
- * [Output Only] The URL for this resource type. The server generates this
- * URL.
- */
+ /** [Output Only] Server-defined URL for this resource. */
core.String selfLink;
- InstanceGroupList();
+ InstanceList();
- InstanceGroupList.fromJson(core.Map _json) {
+ InstanceList.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new InstanceGroup.fromJson(value)).toList();
+ items = _json["items"].map((value) => new Instance.fromJson(value)).toList();
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
@@ -20540,360 +23903,246 @@ class InstanceGroupList {
}
}
-/** An Instance Group Manager resource. */
-class InstanceGroupManager {
- /**
- * The base instance name to use for instances in this group. The value must
- * be 1-58 characters long. Instances are named by appending a hyphen and a
- * random four-character string to the base instance name. The base instance
- * name must comply with RFC1035.
- */
- core.String baseInstanceName;
- /**
- * [Output Only] The creation timestamp for this managed instance group in
- * RFC3339 text format.
- */
- core.String creationTimestamp;
- /**
- * [Output Only] The list of instance actions and the number of instances in
- * this managed instance group that are scheduled for each of those actions.
- */
- InstanceGroupManagerActionsSummary currentActions;
- /**
- * An optional description of this resource. Provide this property when you
- * create the resource.
- */
- core.String description;
- /**
- * [Output Only] The fingerprint of the resource data. You can use this
- * optional field for optimistic locking when you update the resource.
- */
- core.String fingerprint;
- core.List<core.int> get fingerprintAsBytes {
- return convert.BASE64.decode(fingerprint);
- }
-
- void set fingerprintAsBytes(core.List<core.int> _bytes) {
- fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-");
- }
- /**
- * [Output Only] A unique identifier for this resource type. The server
- * generates this identifier.
- */
- core.String id;
- /** [Output Only] The URL of the Instance Group resource. */
- core.String instanceGroup;
- /**
- * The URL of the instance template that is specified for this managed
- * instance group. The group uses this template to create all new instances in
- * the managed instance group.
- */
- core.String instanceTemplate;
- /**
- * [Output Only] The resource type, which is always
- * compute#instanceGroupManager for managed instance groups.
- */
- core.String kind;
- /**
- * The name of the managed instance group. The name must be 1-63 characters
- * long, and comply with RFC1035.
- */
- core.String name;
- /**
- * Named ports configured for the Instance Groups complementary to this
- * Instance Group Manager.
- */
- core.List<NamedPort> namedPorts;
- /**
- * [Output Only] The URL of the region where the managed instance group
- * resides (for regional resources).
- */
- core.String region;
- /**
- * [Output Only] The URL for this managed instance group. The server defines
- * this URL.
- */
- core.String selfLink;
- /**
- * The URLs for all TargetPool resources to which instances in the
- * instanceGroup field are added. The target pools automatically apply to all
- * of the instances in the managed instance group.
- */
- core.List<core.String> targetPools;
+class InstanceMoveRequest {
/**
- * The target number of running instances for this managed instance group.
- * Deleting or abandoning instances reduces this number. Resizing the group
- * changes this number.
+ * The URL of the destination zone to move the instance. This can be a full or
+ * partial URL. For example, the following are all valid URLs to a zone:
+ * - https://www.googleapis.com/compute/v1/projects/project/zones/zone
+ * - projects/project/zones/zone
+ * - zones/zone
*/
- core.int targetSize;
+ core.String destinationZone;
/**
- * [Output Only] The URL of the zone where the managed instance group is
- * located (for zonal resources).
+ * The URL of the target instance to move. This can be a full or partial URL.
+ * For example, the following are all valid URLs to an instance:
+ * -
+ * https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance
+ * - projects/project/zones/zone/instances/instance
+ * - zones/zone/instances/instance
*/
- core.String zone;
+ core.String targetInstance;
- InstanceGroupManager();
+ InstanceMoveRequest();
- InstanceGroupManager.fromJson(core.Map _json) {
- if (_json.containsKey("baseInstanceName")) {
- baseInstanceName = _json["baseInstanceName"];
- }
- if (_json.containsKey("creationTimestamp")) {
- creationTimestamp = _json["creationTimestamp"];
- }
- if (_json.containsKey("currentActions")) {
- currentActions = new InstanceGroupManagerActionsSummary.fromJson(_json["currentActions"]);
- }
- if (_json.containsKey("description")) {
- description = _json["description"];
- }
- if (_json.containsKey("fingerprint")) {
- fingerprint = _json["fingerprint"];
- }
- if (_json.containsKey("id")) {
- id = _json["id"];
- }
- if (_json.containsKey("instanceGroup")) {
- instanceGroup = _json["instanceGroup"];
- }
- if (_json.containsKey("instanceTemplate")) {
- instanceTemplate = _json["instanceTemplate"];
- }
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
- }
- if (_json.containsKey("name")) {
- name = _json["name"];
- }
- if (_json.containsKey("namedPorts")) {
- namedPorts = _json["namedPorts"].map((value) => new NamedPort.fromJson(value)).toList();
- }
- if (_json.containsKey("region")) {
- region = _json["region"];
- }
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
- }
- if (_json.containsKey("targetPools")) {
- targetPools = _json["targetPools"];
- }
- if (_json.containsKey("targetSize")) {
- targetSize = _json["targetSize"];
+ InstanceMoveRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("destinationZone")) {
+ destinationZone = _json["destinationZone"];
}
- if (_json.containsKey("zone")) {
- zone = _json["zone"];
+ if (_json.containsKey("targetInstance")) {
+ targetInstance = _json["targetInstance"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (baseInstanceName != null) {
- _json["baseInstanceName"] = baseInstanceName;
- }
- if (creationTimestamp != null) {
- _json["creationTimestamp"] = creationTimestamp;
- }
- if (currentActions != null) {
- _json["currentActions"] = (currentActions).toJson();
- }
- if (description != null) {
- _json["description"] = description;
- }
- if (fingerprint != null) {
- _json["fingerprint"] = fingerprint;
- }
- if (id != null) {
- _json["id"] = id;
- }
- if (instanceGroup != null) {
- _json["instanceGroup"] = instanceGroup;
- }
- if (instanceTemplate != null) {
- _json["instanceTemplate"] = instanceTemplate;
- }
- if (kind != null) {
- _json["kind"] = kind;
- }
- if (name != null) {
- _json["name"] = name;
- }
- if (namedPorts != null) {
- _json["namedPorts"] = namedPorts.map((value) => (value).toJson()).toList();
- }
- if (region != null) {
- _json["region"] = region;
- }
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
- }
- if (targetPools != null) {
- _json["targetPools"] = targetPools;
- }
- if (targetSize != null) {
- _json["targetSize"] = targetSize;
+ if (destinationZone != null) {
+ _json["destinationZone"] = destinationZone;
}
- if (zone != null) {
- _json["zone"] = zone;
+ if (targetInstance != null) {
+ _json["targetInstance"] = targetInstance;
}
return _json;
}
}
-class InstanceGroupManagerActionsSummary {
- /**
- * [Output Only] The total number of instances in the managed instance group
- * that are scheduled to be abandoned. Abandoning an instance removes it from
- * the managed instance group without deleting it.
- */
- core.int abandoning;
+class InstanceProperties {
/**
- * [Output Only] The number of instances in the managed instance group that
- * are scheduled to be created or are currently being created. If the group
- * fails to create any of these instances, it tries again until it creates the
- * instance successfully.
- *
- * If you have disabled creation retries, this field will not be populated;
- * instead, the creatingWithoutRetries field will be populated.
+ * Enables instances created based on this template to send packets with
+ * source IP addresses other than their own and receive packets with
+ * destination IP addresses other than their own. If these instances will be
+ * used as an IP gateway or it will be set as the next-hop in a Route
+ * resource, specify true. If unsure, leave this set to false. See the Enable
+ * IP forwarding for instances documentation for more information.
*/
- core.int creating;
+ core.bool canIpForward;
/**
- * [Output Only] The number of instances that the managed instance group will
- * attempt to create. The group attempts to create each instance only once. If
- * the group fails to create any of these instances, it decreases the group's
- * targetSize value accordingly.
+ * An optional text description for the instances that are created from this
+ * instance template.
*/
- core.int creatingWithoutRetries;
+ core.String description;
/**
- * [Output Only] The number of instances in the managed instance group that
- * are scheduled to be deleted or are currently being deleted.
+ * An array of disks that are associated with the instances that are created
+ * from this template.
*/
- core.int deleting;
+ core.List<AttachedDisk> disks;
/**
- * [Output Only] The number of instances in the managed instance group that
- * are running and have no scheduled actions.
+ * The machine type to use for instances that are created from this template.
*/
- core.int none;
+ core.String machineType;
/**
- * [Output Only] The number of instances in the managed instance group that
- * are scheduled to be recreated or are currently being being recreated.
- * Recreating an instance deletes the existing root persistent disk and
- * creates a new disk from the image that is defined in the instance template.
+ * The metadata key/value pairs to assign to instances that are created from
+ * this template. These pairs can consist of custom metadata or predefined
+ * keys. See Project and instance metadata for more information.
*/
- core.int recreating;
+ Metadata metadata;
+ /** An array of network access configurations for this interface. */
+ core.List<NetworkInterface> networkInterfaces;
/**
- * [Output Only] The number of instances in the managed instance group that
- * are being reconfigured with properties that do not require a restart or a
- * recreate action. For example, setting or removing target pools for the
- * instance.
+ * Specifies the scheduling options for the instances that are created from
+ * this template.
*/
- core.int refreshing;
+ Scheduling scheduling;
/**
- * [Output Only] The number of instances in the managed instance group that
- * are scheduled to be restarted or are currently being restarted.
+ * A list of service accounts with specified scopes. Access tokens for these
+ * service accounts are available to the instances that are created from this
+ * template. Use metadata queries to obtain the access tokens for these
+ * instances.
*/
- core.int restarting;
+ core.List<ServiceAccount> serviceAccounts;
+ /**
+ * A list of tags to apply to the instances that are created from this
+ * template. The tags identify valid sources or targets for network firewalls.
+ * The setTags method can modify this list of tags. Each tag within the list
+ * must comply with RFC1035.
+ */
+ Tags tags;
- InstanceGroupManagerActionsSummary();
+ InstanceProperties();
- InstanceGroupManagerActionsSummary.fromJson(core.Map _json) {
- if (_json.containsKey("abandoning")) {
- abandoning = _json["abandoning"];
+ InstanceProperties.fromJson(core.Map _json) {
+ if (_json.containsKey("canIpForward")) {
+ canIpForward = _json["canIpForward"];
}
- if (_json.containsKey("creating")) {
- creating = _json["creating"];
+ if (_json.containsKey("description")) {
+ description = _json["description"];
}
- if (_json.containsKey("creatingWithoutRetries")) {
- creatingWithoutRetries = _json["creatingWithoutRetries"];
+ if (_json.containsKey("disks")) {
+ disks = _json["disks"].map((value) => new AttachedDisk.fromJson(value)).toList();
}
- if (_json.containsKey("deleting")) {
- deleting = _json["deleting"];
+ if (_json.containsKey("machineType")) {
+ machineType = _json["machineType"];
}
- if (_json.containsKey("none")) {
- none = _json["none"];
+ if (_json.containsKey("metadata")) {
+ metadata = new Metadata.fromJson(_json["metadata"]);
}
- if (_json.containsKey("recreating")) {
- recreating = _json["recreating"];
+ if (_json.containsKey("networkInterfaces")) {
+ networkInterfaces = _json["networkInterfaces"].map((value) => new NetworkInterface.fromJson(value)).toList();
}
- if (_json.containsKey("refreshing")) {
- refreshing = _json["refreshing"];
+ if (_json.containsKey("scheduling")) {
+ scheduling = new Scheduling.fromJson(_json["scheduling"]);
}
- if (_json.containsKey("restarting")) {
- restarting = _json["restarting"];
+ if (_json.containsKey("serviceAccounts")) {
+ serviceAccounts = _json["serviceAccounts"].map((value) => new ServiceAccount.fromJson(value)).toList();
+ }
+ if (_json.containsKey("tags")) {
+ tags = new Tags.fromJson(_json["tags"]);
}
}
core.Map toJson() {
var _json = new core.Map();
- if (abandoning != null) {
- _json["abandoning"] = abandoning;
+ if (canIpForward != null) {
+ _json["canIpForward"] = canIpForward;
}
- if (creating != null) {
- _json["creating"] = creating;
+ if (description != null) {
+ _json["description"] = description;
}
- if (creatingWithoutRetries != null) {
- _json["creatingWithoutRetries"] = creatingWithoutRetries;
+ if (disks != null) {
+ _json["disks"] = disks.map((value) => (value).toJson()).toList();
}
- if (deleting != null) {
- _json["deleting"] = deleting;
+ if (machineType != null) {
+ _json["machineType"] = machineType;
}
- if (none != null) {
- _json["none"] = none;
+ if (metadata != null) {
+ _json["metadata"] = (metadata).toJson();
}
- if (recreating != null) {
- _json["recreating"] = recreating;
+ if (networkInterfaces != null) {
+ _json["networkInterfaces"] = networkInterfaces.map((value) => (value).toJson()).toList();
}
- if (refreshing != null) {
- _json["refreshing"] = refreshing;
+ if (scheduling != null) {
+ _json["scheduling"] = (scheduling).toJson();
}
- if (restarting != null) {
- _json["restarting"] = restarting;
+ if (serviceAccounts != null) {
+ _json["serviceAccounts"] = serviceAccounts.map((value) => (value).toJson()).toList();
+ }
+ if (tags != null) {
+ _json["tags"] = (tags).toJson();
}
return _json;
}
}
-class InstanceGroupManagerAggregatedList {
+class InstanceReference {
+ /** The URL for a specific instance. */
+ core.String instance;
+
+ InstanceReference();
+
+ InstanceReference.fromJson(core.Map _json) {
+ if (_json.containsKey("instance")) {
+ instance = _json["instance"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (instance != null) {
+ _json["instance"] = instance;
+ }
+ return _json;
+ }
+}
+
+/** An Instance Template resource. */
+class InstanceTemplate {
/**
- * [Output Only] A unique identifier for this aggregated list of managed
- * instance groups. The server generates this identifier.
+ * [Output Only] The creation timestamp for this instance template in RFC3339
+ * text format.
+ */
+ core.String creationTimestamp;
+ /**
+ * An optional description of this resource. Provide this property when you
+ * create the resource.
+ */
+ core.String description;
+ /**
+ * [Output Only] A unique identifier for this instance template. The server
+ * defines this identifier.
*/
core.String id;
- /** [Output Only] A map of filtered managed instance group lists. */
- core.Map<core.String, InstanceGroupManagersScopedList> items;
/**
- * [Output Only] The resource type, which is always
- * compute#instanceGroupManagerAggregatedList for an aggregated list of
- * managed instance groups.
+ * [Output Only] The resource type, which is always compute#instanceTemplate
+ * for instance templates.
*/
core.String kind;
/**
- * [Output Only] This token allows you to get the next page of results for
- * list requests. If the number of results is larger than maxResults, use the
- * nextPageToken as a value for the query parameter pageToken in the next list
- * request. Subsequent list requests will have their own nextPageToken to
- * continue paging through the results.
+ * Name of the resource; provided by the client when the resource is created.
+ * The name must be 1-63 characters long, and comply with RFC1035.
+ * Specifically, the name must be 1-63 characters long and match the regular
+ * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
+ * be a lowercase letter, and all following characters must be a dash,
+ * lowercase letter, or digit, except the last character, which cannot be a
+ * dash.
*/
- core.String nextPageToken;
+ core.String name;
+ /** The instance properties for this instance template. */
+ InstanceProperties properties;
/**
- * [Output Only] The URL for this resource type. The server generates this
+ * [Output Only] The URL for this instance template. The server defines this
* URL.
*/
core.String selfLink;
- InstanceGroupManagerAggregatedList();
+ InstanceTemplate();
- InstanceGroupManagerAggregatedList.fromJson(core.Map _json) {
+ InstanceTemplate.fromJson(core.Map _json) {
+ if (_json.containsKey("creationTimestamp")) {
+ creationTimestamp = _json["creationTimestamp"];
+ }
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
if (_json.containsKey("id")) {
id = _json["id"];
}
- if (_json.containsKey("items")) {
- items = commons.mapMap(_json["items"], (item) => new InstanceGroupManagersScopedList.fromJson(item));
- }
if (_json.containsKey("kind")) {
kind = _json["kind"];
}
- if (_json.containsKey("nextPageToken")) {
- nextPageToken = _json["nextPageToken"];
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("properties")) {
+ properties = new InstanceProperties.fromJson(_json["properties"]);
}
if (_json.containsKey("selfLink")) {
selfLink = _json["selfLink"];
@@ -20902,17 +24151,23 @@ class InstanceGroupManagerAggregatedList {
core.Map toJson() {
var _json = new core.Map();
+ if (creationTimestamp != null) {
+ _json["creationTimestamp"] = creationTimestamp;
+ }
+ if (description != null) {
+ _json["description"] = description;
+ }
if (id != null) {
_json["id"] = id;
}
- if (items != null) {
- _json["items"] = commons.mapMap(items, (item) => (item).toJson());
- }
if (kind != null) {
_json["kind"] = kind;
}
- if (nextPageToken != null) {
- _json["nextPageToken"] = nextPageToken;
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (properties != null) {
+ _json["properties"] = (properties).toJson();
}
if (selfLink != null) {
_json["selfLink"] = selfLink;
@@ -20921,18 +24176,18 @@ class InstanceGroupManagerAggregatedList {
}
}
-/** [Output Only] A list of managed instance groups. */
-class InstanceGroupManagerList {
+/** A list of instance templates. */
+class InstanceTemplateList {
/**
- * [Output Only] A unique identifier for this resource type. The server
- * generates this identifier.
+ * [Output Only] A unique identifier for this instance template. The server
+ * defines this identifier.
*/
core.String id;
- /** [Output Only] A list of managed instance groups. */
- core.List<InstanceGroupManager> items;
+ /** [Output Only] list of InstanceTemplate resources. */
+ core.List<InstanceTemplate> items;
/**
* [Output Only] The resource type, which is always
- * compute#instanceGroupManagerList for a list of managed instance groups.
+ * compute#instanceTemplatesListResponse for instance template lists.
*/
core.String kind;
/**
@@ -20943,17 +24198,20 @@ class InstanceGroupManagerList {
* continue paging through the results.
*/
core.String nextPageToken;
- /** [Output Only] Server-defined URL for this resource. */
+ /**
+ * [Output Only] The URL for this instance template list. The server defines
+ * this URL.
+ */
core.String selfLink;
- InstanceGroupManagerList();
+ InstanceTemplateList();
- InstanceGroupManagerList.fromJson(core.Map _json) {
+ InstanceTemplateList.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new InstanceGroupManager.fromJson(value)).toList();
+ items = _json["items"].map((value) => new InstanceTemplate.fromJson(value)).toList();
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
@@ -20987,97 +24245,55 @@ class InstanceGroupManagerList {
}
}
-class InstanceGroupManagersAbandonInstancesRequest {
- /**
- * The URL for one or more instances to abandon from the managed instance
- * group.
- */
- core.List<core.String> instances;
-
- InstanceGroupManagersAbandonInstancesRequest();
-
- InstanceGroupManagersAbandonInstancesRequest.fromJson(core.Map _json) {
- if (_json.containsKey("instances")) {
- instances = _json["instances"];
- }
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (instances != null) {
- _json["instances"] = instances;
- }
- return _json;
- }
-}
-
-class InstanceGroupManagersDeleteInstancesRequest {
+class InstanceWithNamedPorts {
+ /** [Output Only] The URL of the instance. */
+ core.String instance;
+ /** [Output Only] The named ports that belong to this instance group. */
+ core.List<NamedPort> namedPorts;
/**
- * The list of instances to delete from this managed instance group. Specify
- * one or more instance URLs.
+ * [Output Only] The status of the instance.
+ * Possible string values are:
+ * - "PROVISIONING"
+ * - "RUNNING"
+ * - "STAGING"
+ * - "STOPPED"
+ * - "STOPPING"
+ * - "SUSPENDED"
+ * - "SUSPENDING"
+ * - "TERMINATED"
*/
- core.List<core.String> instances;
+ core.String status;
- InstanceGroupManagersDeleteInstancesRequest();
+ InstanceWithNamedPorts();
- InstanceGroupManagersDeleteInstancesRequest.fromJson(core.Map _json) {
- if (_json.containsKey("instances")) {
- instances = _json["instances"];
+ InstanceWithNamedPorts.fromJson(core.Map _json) {
+ if (_json.containsKey("instance")) {
+ instance = _json["instance"];
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (instances != null) {
- _json["instances"] = instances;
+ if (_json.containsKey("namedPorts")) {
+ namedPorts = _json["namedPorts"].map((value) => new NamedPort.fromJson(value)).toList();
}
- return _json;
- }
-}
-
-class InstanceGroupManagersListManagedInstancesResponse {
- /** [Output Only] The list of instances in the managed instance group. */
- core.List<ManagedInstance> managedInstances;
-
- InstanceGroupManagersListManagedInstancesResponse();
-
- InstanceGroupManagersListManagedInstancesResponse.fromJson(core.Map _json) {
- if (_json.containsKey("managedInstances")) {
- managedInstances = _json["managedInstances"].map((value) => new ManagedInstance.fromJson(value)).toList();
+ if (_json.containsKey("status")) {
+ status = _json["status"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (managedInstances != null) {
- _json["managedInstances"] = managedInstances.map((value) => (value).toJson()).toList();
+ if (instance != null) {
+ _json["instance"] = instance;
}
- return _json;
- }
-}
-
-class InstanceGroupManagersRecreateInstancesRequest {
- /** The URL for one or more instances to recreate. */
- core.List<core.String> instances;
-
- InstanceGroupManagersRecreateInstancesRequest();
-
- InstanceGroupManagersRecreateInstancesRequest.fromJson(core.Map _json) {
- if (_json.containsKey("instances")) {
- instances = _json["instances"];
+ if (namedPorts != null) {
+ _json["namedPorts"] = namedPorts.map((value) => (value).toJson()).toList();
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (instances != null) {
- _json["instances"] = instances;
+ if (status != null) {
+ _json["status"] = status;
}
return _json;
}
}
-class InstanceGroupManagersScopedListWarningData {
+class InstancesScopedListWarningData {
/**
* [Output Only] A key that provides more detail on the warning being
* returned. For example, for warnings where there are no results in a list
@@ -21091,9 +24307,9 @@ class InstanceGroupManagersScopedListWarningData {
/** [Output Only] A warning data value corresponding to the key. */
core.String value;
- InstanceGroupManagersScopedListWarningData();
+ InstancesScopedListWarningData();
- InstanceGroupManagersScopedListWarningData.fromJson(core.Map _json) {
+ InstancesScopedListWarningData.fromJson(core.Map _json) {
if (_json.containsKey("key")) {
key = _json["key"];
}
@@ -21115,10 +24331,10 @@ class InstanceGroupManagersScopedListWarningData {
}
/**
- * [Output Only] The warning that replaces the list of managed instance groups
- * when the list is empty.
+ * [Output Only] Informational warning which replaces the list of instances when
+ * the list is empty.
*/
-class InstanceGroupManagersScopedListWarning {
+class InstancesScopedListWarning {
/**
* [Output Only] A warning code, if applicable. For example, Compute Engine
* returns NO_RESULTS_ON_PAGE if there are no results in the response.
@@ -21146,18 +24362,18 @@ class InstanceGroupManagersScopedListWarning {
* example:
* "data": [ { "key": "scope", "value": "zones/us-east1-d" }
*/
- core.List<InstanceGroupManagersScopedListWarningData> data;
+ core.List<InstancesScopedListWarningData> data;
/** [Output Only] A human-readable description of the warning code. */
core.String message;
- InstanceGroupManagersScopedListWarning();
+ InstancesScopedListWarning();
- InstanceGroupManagersScopedListWarning.fromJson(core.Map _json) {
+ InstancesScopedListWarning.fromJson(core.Map _json) {
if (_json.containsKey("code")) {
code = _json["code"];
}
if (_json.containsKey("data")) {
- data = _json["data"].map((value) => new InstanceGroupManagersScopedListWarningData.fromJson(value)).toList();
+ data = _json["data"].map((value) => new InstancesScopedListWarningData.fromJson(value)).toList();
}
if (_json.containsKey("message")) {
message = _json["message"];
@@ -21179,149 +24395,400 @@ class InstanceGroupManagersScopedListWarning {
}
}
-class InstanceGroupManagersScopedList {
- /**
- * [Output Only] The list of managed instance groups that are contained in the
- * specified project and zone.
- */
- core.List<InstanceGroupManager> instanceGroupManagers;
+class InstancesScopedList {
+ /** [Output Only] List of instances contained in this scope. */
+ core.List<Instance> instances;
/**
- * [Output Only] The warning that replaces the list of managed instance groups
+ * [Output Only] Informational warning which replaces the list of instances
* when the list is empty.
*/
- InstanceGroupManagersScopedListWarning warning;
+ InstancesScopedListWarning warning;
- InstanceGroupManagersScopedList();
+ InstancesScopedList();
- InstanceGroupManagersScopedList.fromJson(core.Map _json) {
- if (_json.containsKey("instanceGroupManagers")) {
- instanceGroupManagers = _json["instanceGroupManagers"].map((value) => new InstanceGroupManager.fromJson(value)).toList();
+ InstancesScopedList.fromJson(core.Map _json) {
+ if (_json.containsKey("instances")) {
+ instances = _json["instances"].map((value) => new Instance.fromJson(value)).toList();
}
if (_json.containsKey("warning")) {
- warning = new InstanceGroupManagersScopedListWarning.fromJson(_json["warning"]);
+ warning = new InstancesScopedListWarning.fromJson(_json["warning"]);
}
}
core.Map toJson() {
var _json = new core.Map();
- if (instanceGroupManagers != null) {
- _json["instanceGroupManagers"] = instanceGroupManagers.map((value) => (value).toJson()).toList();
+ if (instances != null) {
+ _json["instances"] = instances.map((value) => (value).toJson()).toList();
+ }
+ if (warning != null) {
+ _json["warning"] = (warning).toJson();
+ }
+ return _json;
+ }
+}
+
+class InstancesSetMachineTypeRequest {
+ /**
+ * Full or partial URL of the machine type resource. See Machine Types for a
+ * full list of machine types. For example:
+ * zones/us-central1-f/machineTypes/n1-standard-1
+ */
+ core.String machineType;
+
+ InstancesSetMachineTypeRequest();
+
+ InstancesSetMachineTypeRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("machineType")) {
+ machineType = _json["machineType"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (machineType != null) {
+ _json["machineType"] = machineType;
+ }
+ return _json;
+ }
+}
+
+class InstancesStartWithEncryptionKeyRequest {
+ /**
+ * Array of disks associated with this instance that are protected with a
+ * customer-supplied encryption key.
+ *
+ * In order to start the instance, the disk url and its corresponding key must
+ * be provided.
+ *
+ * If the disk is not protected with a customer-supplied encryption key it
+ * should not be specified.
+ */
+ core.List<CustomerEncryptionKeyProtectedDisk> disks;
+
+ InstancesStartWithEncryptionKeyRequest();
+
+ InstancesStartWithEncryptionKeyRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("disks")) {
+ disks = _json["disks"].map((value) => new CustomerEncryptionKeyProtectedDisk.fromJson(value)).toList();
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (disks != null) {
+ _json["disks"] = disks.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/** A license resource. */
+class License {
+ /**
+ * [Output Only] If true, the customer will be charged license fee for running
+ * software that contains this license on an instance.
+ */
+ core.bool chargesUseFee;
+ /** [Output Only] Type of resource. Always compute#license for licenses. */
+ core.String kind;
+ /**
+ * [Output Only] Name of the resource. The name is 1-63 characters long and
+ * complies with RFC1035.
+ */
+ core.String name;
+ /** [Output Only] Server-defined URL for the resource. */
+ core.String selfLink;
+
+ License();
+
+ License.fromJson(core.Map _json) {
+ if (_json.containsKey("chargesUseFee")) {
+ chargesUseFee = _json["chargesUseFee"];
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (chargesUseFee != null) {
+ _json["chargesUseFee"] = chargesUseFee;
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (name != null) {
+ _json["name"] = name;
}
- if (warning != null) {
- _json["warning"] = (warning).toJson();
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
return _json;
}
}
-class InstanceGroupManagersSetInstanceTemplateRequest {
- /**
- * The URL of the instance template that is specified for this managed
- * instance group. The group uses this template to create all new instances in
- * the managed instance group.
- */
- core.String instanceTemplate;
+class MachineTypeScratchDisks {
+ /** Size of the scratch disk, defined in GB. */
+ core.int diskGb;
- InstanceGroupManagersSetInstanceTemplateRequest();
+ MachineTypeScratchDisks();
- InstanceGroupManagersSetInstanceTemplateRequest.fromJson(core.Map _json) {
- if (_json.containsKey("instanceTemplate")) {
- instanceTemplate = _json["instanceTemplate"];
+ MachineTypeScratchDisks.fromJson(core.Map _json) {
+ if (_json.containsKey("diskGb")) {
+ diskGb = _json["diskGb"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (instanceTemplate != null) {
- _json["instanceTemplate"] = instanceTemplate;
+ if (diskGb != null) {
+ _json["diskGb"] = diskGb;
}
return _json;
}
}
-class InstanceGroupManagersSetTargetPoolsRequest {
+/** A Machine Type resource. */
+class MachineType {
+ /** [Output Only] Creation timestamp in RFC3339 text format. */
+ core.String creationTimestamp;
/**
- * The fingerprint of the target pools information. Use this optional property
- * to prevent conflicts when multiple users change the target pools settings
- * concurrently. Obtain the fingerprint with the instanceGroupManagers.get
- * method. Then, include the fingerprint in your request to ensure that you do
- * not overwrite changes that were applied from another concurrent request.
+ * [Output Only] The deprecation status associated with this machine type.
*/
- core.String fingerprint;
- core.List<core.int> get fingerprintAsBytes {
- return convert.BASE64.decode(fingerprint);
- }
-
- void set fingerprintAsBytes(core.List<core.int> _bytes) {
- fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-");
- }
+ DeprecationStatus deprecated;
+ /** [Output Only] An optional textual description of the resource. */
+ core.String description;
/**
- * The list of target pool URLs that instances in this managed instance group
- * belong to. The managed instance group applies these target pools to all of
- * the instances in the group. Existing instances and new instances in the
- * group all receive these target pool settings.
+ * [Output Only] The number of virtual CPUs that are available to the
+ * instance.
*/
- core.List<core.String> targetPools;
+ core.int guestCpus;
+ /**
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
+ */
+ core.String id;
+ /**
+ * [Deprecated] This property is deprecated and will never be populated with
+ * any relevant values.
+ */
+ core.int imageSpaceGb;
+ /**
+ * [Output Only] Whether this machine type has a shared CPU. See Shared-core
+ * machine types for more information.
+ */
+ core.bool isSharedCpu;
+ /**
+ * [Output Only] The type of the resource. Always compute#machineType for
+ * machine types.
+ */
+ core.String kind;
+ /** [Output Only] Maximum persistent disks allowed. */
+ core.int maximumPersistentDisks;
+ /** [Output Only] Maximum total persistent disks size (GB) allowed. */
+ core.String maximumPersistentDisksSizeGb;
+ /**
+ * [Output Only] The amount of physical memory available to the instance,
+ * defined in MB.
+ */
+ core.int memoryMb;
+ /** [Output Only] Name of the resource. */
+ core.String name;
+ /** [Output Only] List of extended scratch disks assigned to the instance. */
+ core.List<MachineTypeScratchDisks> scratchDisks;
+ /** [Output Only] Server-defined URL for the resource. */
+ core.String selfLink;
+ /**
+ * [Output Only] The name of the zone where the machine type resides, such as
+ * us-central1-a.
+ */
+ core.String zone;
- InstanceGroupManagersSetTargetPoolsRequest();
+ MachineType();
- InstanceGroupManagersSetTargetPoolsRequest.fromJson(core.Map _json) {
- if (_json.containsKey("fingerprint")) {
- fingerprint = _json["fingerprint"];
+ MachineType.fromJson(core.Map _json) {
+ if (_json.containsKey("creationTimestamp")) {
+ creationTimestamp = _json["creationTimestamp"];
}
- if (_json.containsKey("targetPools")) {
- targetPools = _json["targetPools"];
+ if (_json.containsKey("deprecated")) {
+ deprecated = new DeprecationStatus.fromJson(_json["deprecated"]);
+ }
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
+ if (_json.containsKey("guestCpus")) {
+ guestCpus = _json["guestCpus"];
+ }
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("imageSpaceGb")) {
+ imageSpaceGb = _json["imageSpaceGb"];
+ }
+ if (_json.containsKey("isSharedCpu")) {
+ isSharedCpu = _json["isSharedCpu"];
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("maximumPersistentDisks")) {
+ maximumPersistentDisks = _json["maximumPersistentDisks"];
+ }
+ if (_json.containsKey("maximumPersistentDisksSizeGb")) {
+ maximumPersistentDisksSizeGb = _json["maximumPersistentDisksSizeGb"];
+ }
+ if (_json.containsKey("memoryMb")) {
+ memoryMb = _json["memoryMb"];
+ }
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("scratchDisks")) {
+ scratchDisks = _json["scratchDisks"].map((value) => new MachineTypeScratchDisks.fromJson(value)).toList();
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ if (_json.containsKey("zone")) {
+ zone = _json["zone"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (fingerprint != null) {
- _json["fingerprint"] = fingerprint;
+ if (creationTimestamp != null) {
+ _json["creationTimestamp"] = creationTimestamp;
}
- if (targetPools != null) {
- _json["targetPools"] = targetPools;
+ if (deprecated != null) {
+ _json["deprecated"] = (deprecated).toJson();
+ }
+ if (description != null) {
+ _json["description"] = description;
+ }
+ if (guestCpus != null) {
+ _json["guestCpus"] = guestCpus;
+ }
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (imageSpaceGb != null) {
+ _json["imageSpaceGb"] = imageSpaceGb;
+ }
+ if (isSharedCpu != null) {
+ _json["isSharedCpu"] = isSharedCpu;
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (maximumPersistentDisks != null) {
+ _json["maximumPersistentDisks"] = maximumPersistentDisks;
+ }
+ if (maximumPersistentDisksSizeGb != null) {
+ _json["maximumPersistentDisksSizeGb"] = maximumPersistentDisksSizeGb;
+ }
+ if (memoryMb != null) {
+ _json["memoryMb"] = memoryMb;
+ }
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (scratchDisks != null) {
+ _json["scratchDisks"] = scratchDisks.map((value) => (value).toJson()).toList();
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ if (zone != null) {
+ _json["zone"] = zone;
}
return _json;
}
}
-class InstanceGroupsAddInstancesRequest {
- /** The list of instances to add to the instance group. */
- core.List<InstanceReference> instances;
+class MachineTypeAggregatedList {
+ /**
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
+ */
+ core.String id;
+ /** [Output Only] A map of scoped machine type lists. */
+ core.Map<core.String, MachineTypesScopedList> items;
+ /**
+ * [Output Only] Type of resource. Always compute#machineTypeAggregatedList
+ * for aggregated lists of machine types.
+ */
+ core.String kind;
+ /**
+ * [Output Only] This token allows you to get the next page of results for
+ * list requests. If the number of results is larger than maxResults, use the
+ * nextPageToken as a value for the query parameter pageToken in the next list
+ * request. Subsequent list requests will have their own nextPageToken to
+ * continue paging through the results.
+ */
+ core.String nextPageToken;
+ /** [Output Only] Server-defined URL for this resource. */
+ core.String selfLink;
- InstanceGroupsAddInstancesRequest();
+ MachineTypeAggregatedList();
- InstanceGroupsAddInstancesRequest.fromJson(core.Map _json) {
- if (_json.containsKey("instances")) {
- instances = _json["instances"].map((value) => new InstanceReference.fromJson(value)).toList();
+ MachineTypeAggregatedList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("items")) {
+ items = commons.mapMap(_json["items"], (item) => new MachineTypesScopedList.fromJson(item));
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (instances != null) {
- _json["instances"] = instances.map((value) => (value).toJson()).toList();
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (items != null) {
+ _json["items"] = commons.mapMap(items, (item) => (item).toJson());
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
return _json;
}
}
-class InstanceGroupsListInstances {
+/** Contains a list of machine types. */
+class MachineTypeList {
/**
- * [Output Only] A unique identifier for this list of instances in the
- * specified instance group. The server generates this identifier.
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
*/
core.String id;
+ /** [Output Only] A list of Machine Type resources. */
+ core.List<MachineType> items;
/**
- * [Output Only] A list of instances and any named ports that are assigned to
- * those instances.
- */
- core.List<InstanceWithNamedPorts> items;
- /**
- * [Output Only] The resource type, which is always
- * compute#instanceGroupsListInstances for the list of instances in the
- * specified instance group.
+ * [Output Only] Type of resource. Always compute#machineTypeList for lists of
+ * machine types.
*/
core.String kind;
/**
@@ -21332,20 +24799,17 @@ class InstanceGroupsListInstances {
* continue paging through the results.
*/
core.String nextPageToken;
- /**
- * [Output Only] The URL for this list of instances in the specified instance
- * groups. The server generates this URL.
- */
+ /** [Output Only] Server-defined URL for this resource. */
core.String selfLink;
- InstanceGroupsListInstances();
+ MachineTypeList();
- InstanceGroupsListInstances.fromJson(core.Map _json) {
+ MachineTypeList.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new InstanceWithNamedPorts.fromJson(value)).toList();
+ items = _json["items"].map((value) => new MachineType.fromJson(value)).toList();
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
@@ -21379,56 +24843,7 @@ class InstanceGroupsListInstances {
}
}
-class InstanceGroupsListInstancesRequest {
- /**
- * A filter for the state of the instances in the instance group. Valid
- * options are ALL or RUNNING. If you do not specify this parameter the list
- * includes all instances regardless of their state.
- * Possible string values are:
- * - "ALL"
- * - "RUNNING"
- */
- core.String instanceState;
-
- InstanceGroupsListInstancesRequest();
-
- InstanceGroupsListInstancesRequest.fromJson(core.Map _json) {
- if (_json.containsKey("instanceState")) {
- instanceState = _json["instanceState"];
- }
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (instanceState != null) {
- _json["instanceState"] = instanceState;
- }
- return _json;
- }
-}
-
-class InstanceGroupsRemoveInstancesRequest {
- /** The list of instances to remove from the instance group. */
- core.List<InstanceReference> instances;
-
- InstanceGroupsRemoveInstancesRequest();
-
- InstanceGroupsRemoveInstancesRequest.fromJson(core.Map _json) {
- if (_json.containsKey("instances")) {
- instances = _json["instances"].map((value) => new InstanceReference.fromJson(value)).toList();
- }
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (instances != null) {
- _json["instances"] = instances.map((value) => (value).toJson()).toList();
- }
- return _json;
- }
-}
-
-class InstanceGroupsScopedListWarningData {
+class MachineTypesScopedListWarningData {
/**
* [Output Only] A key that provides more detail on the warning being
* returned. For example, for warnings where there are no results in a list
@@ -21442,9 +24857,9 @@ class InstanceGroupsScopedListWarningData {
/** [Output Only] A warning data value corresponding to the key. */
core.String value;
- InstanceGroupsScopedListWarningData();
+ MachineTypesScopedListWarningData();
- InstanceGroupsScopedListWarningData.fromJson(core.Map _json) {
+ MachineTypesScopedListWarningData.fromJson(core.Map _json) {
if (_json.containsKey("key")) {
key = _json["key"];
}
@@ -21466,10 +24881,10 @@ class InstanceGroupsScopedListWarningData {
}
/**
- * [Output Only] An informational warning that replaces the list of instance
- * groups when the list is empty.
+ * [Output Only] An informational warning that appears when the machine types
+ * list is empty.
*/
-class InstanceGroupsScopedListWarning {
+class MachineTypesScopedListWarning {
/**
* [Output Only] A warning code, if applicable. For example, Compute Engine
* returns NO_RESULTS_ON_PAGE if there are no results in the response.
@@ -21497,18 +24912,18 @@ class InstanceGroupsScopedListWarning {
* example:
* "data": [ { "key": "scope", "value": "zones/us-east1-d" }
*/
- core.List<InstanceGroupsScopedListWarningData> data;
+ core.List<MachineTypesScopedListWarningData> data;
/** [Output Only] A human-readable description of the warning code. */
core.String message;
- InstanceGroupsScopedListWarning();
+ MachineTypesScopedListWarning();
- InstanceGroupsScopedListWarning.fromJson(core.Map _json) {
+ MachineTypesScopedListWarning.fromJson(core.Map _json) {
if (_json.containsKey("code")) {
code = _json["code"];
}
if (_json.containsKey("data")) {
- data = _json["data"].map((value) => new InstanceGroupsScopedListWarningData.fromJson(value)).toList();
+ data = _json["data"].map((value) => new MachineTypesScopedListWarningData.fromJson(value)).toList();
}
if (_json.containsKey("message")) {
message = _json["message"];
@@ -21530,335 +24945,383 @@ class InstanceGroupsScopedListWarning {
}
}
-class InstanceGroupsScopedList {
+class MachineTypesScopedList {
+ /** [Output Only] List of machine types contained in this scope. */
+ core.List<MachineType> machineTypes;
/**
- * [Output Only] The list of instance groups that are contained in this scope.
+ * [Output Only] An informational warning that appears when the machine types
+ * list is empty.
*/
- core.List<InstanceGroup> instanceGroups;
+ MachineTypesScopedListWarning warning;
+
+ MachineTypesScopedList();
+
+ MachineTypesScopedList.fromJson(core.Map _json) {
+ if (_json.containsKey("machineTypes")) {
+ machineTypes = _json["machineTypes"].map((value) => new MachineType.fromJson(value)).toList();
+ }
+ if (_json.containsKey("warning")) {
+ warning = new MachineTypesScopedListWarning.fromJson(_json["warning"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (machineTypes != null) {
+ _json["machineTypes"] = machineTypes.map((value) => (value).toJson()).toList();
+ }
+ if (warning != null) {
+ _json["warning"] = (warning).toJson();
+ }
+ return _json;
+ }
+}
+
+class ManagedInstance {
/**
- * [Output Only] An informational warning that replaces the list of instance
- * groups when the list is empty.
+ * [Output Only] The current action that the managed instance group has
+ * scheduled for the instance. Possible values:
+ * - NONE The instance is running, and the managed instance group does not
+ * have any scheduled actions for this instance.
+ * - CREATING The managed instance group is creating this instance. If the
+ * group fails to create this instance, it will try again until it is
+ * successful.
+ * - CREATING_WITHOUT_RETRIES The managed instance group is attempting to
+ * create this instance only once. If the group fails to create this instance,
+ * it does not try again and the group's targetSize value is decreased
+ * instead.
+ * - RECREATING The managed instance group is recreating this instance.
+ * - DELETING The managed instance group is permanently deleting this
+ * instance.
+ * - ABANDONING The managed instance group is abandoning this instance. The
+ * instance will be removed from the instance group and from any target pools
+ * that are associated with this group.
+ * - RESTARTING The managed instance group is restarting the instance.
+ * - REFRESHING The managed instance group is applying configuration changes
+ * to the instance without stopping it. For example, the group can update the
+ * target pool list for an instance without stopping that instance.
+ * Possible string values are:
+ * - "ABANDONING"
+ * - "CREATING"
+ * - "CREATING_WITHOUT_RETRIES"
+ * - "DELETING"
+ * - "NONE"
+ * - "RECREATING"
+ * - "REFRESHING"
+ * - "RESTARTING"
*/
- InstanceGroupsScopedListWarning warning;
+ core.String currentAction;
+ /**
+ * [Output only] The unique identifier for this resource. This field is empty
+ * when instance does not exist.
+ */
+ core.String id;
+ /**
+ * [Output Only] The URL of the instance. The URL can exist even if the
+ * instance has not yet been created.
+ */
+ core.String instance;
+ /**
+ * [Output Only] The status of the instance. This field is empty when the
+ * instance does not exist.
+ * Possible string values are:
+ * - "PROVISIONING"
+ * - "RUNNING"
+ * - "STAGING"
+ * - "STOPPED"
+ * - "STOPPING"
+ * - "SUSPENDED"
+ * - "SUSPENDING"
+ * - "TERMINATED"
+ */
+ core.String instanceStatus;
+ /**
+ * [Output Only] Information about the last attempt to create or delete the
+ * instance.
+ */
+ ManagedInstanceLastAttempt lastAttempt;
- InstanceGroupsScopedList();
+ ManagedInstance();
- InstanceGroupsScopedList.fromJson(core.Map _json) {
- if (_json.containsKey("instanceGroups")) {
- instanceGroups = _json["instanceGroups"].map((value) => new InstanceGroup.fromJson(value)).toList();
+ ManagedInstance.fromJson(core.Map _json) {
+ if (_json.containsKey("currentAction")) {
+ currentAction = _json["currentAction"];
+ }
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("instance")) {
+ instance = _json["instance"];
+ }
+ if (_json.containsKey("instanceStatus")) {
+ instanceStatus = _json["instanceStatus"];
+ }
+ if (_json.containsKey("lastAttempt")) {
+ lastAttempt = new ManagedInstanceLastAttempt.fromJson(_json["lastAttempt"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (currentAction != null) {
+ _json["currentAction"] = currentAction;
+ }
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (instance != null) {
+ _json["instance"] = instance;
+ }
+ if (instanceStatus != null) {
+ _json["instanceStatus"] = instanceStatus;
+ }
+ if (lastAttempt != null) {
+ _json["lastAttempt"] = (lastAttempt).toJson();
+ }
+ return _json;
+ }
+}
+
+class ManagedInstanceLastAttemptErrorsErrors {
+ /** [Output Only] The error type identifier for this error. */
+ core.String code;
+ /**
+ * [Output Only] Indicates the field in the request that caused the error.
+ * This property is optional.
+ */
+ core.String location;
+ /** [Output Only] An optional, human-readable error message. */
+ core.String message;
+
+ ManagedInstanceLastAttemptErrorsErrors();
+
+ ManagedInstanceLastAttemptErrorsErrors.fromJson(core.Map _json) {
+ if (_json.containsKey("code")) {
+ code = _json["code"];
}
- if (_json.containsKey("warning")) {
- warning = new InstanceGroupsScopedListWarning.fromJson(_json["warning"]);
+ if (_json.containsKey("location")) {
+ location = _json["location"];
+ }
+ if (_json.containsKey("message")) {
+ message = _json["message"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (instanceGroups != null) {
- _json["instanceGroups"] = instanceGroups.map((value) => (value).toJson()).toList();
+ if (code != null) {
+ _json["code"] = code;
}
- if (warning != null) {
- _json["warning"] = (warning).toJson();
+ if (location != null) {
+ _json["location"] = location;
+ }
+ if (message != null) {
+ _json["message"] = message;
}
return _json;
}
}
-class InstanceGroupsSetNamedPortsRequest {
+/**
+ * [Output Only] Encountered errors during the last attempt to create or delete
+ * the instance.
+ */
+class ManagedInstanceLastAttemptErrors {
/**
- * The fingerprint of the named ports information for this instance group. Use
- * this optional property to prevent conflicts when multiple users change the
- * named ports settings concurrently. Obtain the fingerprint with the
- * instanceGroups.get method. Then, include the fingerprint in your request to
- * ensure that you do not overwrite changes that were applied from another
- * concurrent request.
+ * [Output Only] The array of errors encountered while processing this
+ * operation.
*/
- core.String fingerprint;
- core.List<core.int> get fingerprintAsBytes {
- return convert.BASE64.decode(fingerprint);
- }
-
- void set fingerprintAsBytes(core.List<core.int> _bytes) {
- fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-");
- }
- /** The list of named ports to set for this instance group. */
- core.List<NamedPort> namedPorts;
+ core.List<ManagedInstanceLastAttemptErrorsErrors> errors;
- InstanceGroupsSetNamedPortsRequest();
+ ManagedInstanceLastAttemptErrors();
- InstanceGroupsSetNamedPortsRequest.fromJson(core.Map _json) {
- if (_json.containsKey("fingerprint")) {
- fingerprint = _json["fingerprint"];
- }
- if (_json.containsKey("namedPorts")) {
- namedPorts = _json["namedPorts"].map((value) => new NamedPort.fromJson(value)).toList();
+ ManagedInstanceLastAttemptErrors.fromJson(core.Map _json) {
+ if (_json.containsKey("errors")) {
+ errors = _json["errors"].map((value) => new ManagedInstanceLastAttemptErrorsErrors.fromJson(value)).toList();
}
}
core.Map toJson() {
var _json = new core.Map();
- if (fingerprint != null) {
- _json["fingerprint"] = fingerprint;
- }
- if (namedPorts != null) {
- _json["namedPorts"] = namedPorts.map((value) => (value).toJson()).toList();
+ if (errors != null) {
+ _json["errors"] = errors.map((value) => (value).toJson()).toList();
}
return _json;
}
}
-/** Contains a list of instances. */
-class InstanceList {
- /**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
- */
- core.String id;
- /** [Output Only] A list of instances. */
- core.List<Instance> items;
- /**
- * [Output Only] Type of resource. Always compute#instanceList for lists of
- * Instance resources.
- */
- core.String kind;
+class ManagedInstanceLastAttempt {
/**
- * [Output Only] This token allows you to get the next page of results for
- * list requests. If the number of results is larger than maxResults, use the
- * nextPageToken as a value for the query parameter pageToken in the next list
- * request. Subsequent list requests will have their own nextPageToken to
- * continue paging through the results.
+ * [Output Only] Encountered errors during the last attempt to create or
+ * delete the instance.
*/
- core.String nextPageToken;
- /** [Output Only] Server-defined URL for this resource. */
- core.String selfLink;
+ ManagedInstanceLastAttemptErrors errors;
- InstanceList();
+ ManagedInstanceLastAttempt();
- InstanceList.fromJson(core.Map _json) {
- if (_json.containsKey("id")) {
- id = _json["id"];
- }
- if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new Instance.fromJson(value)).toList();
- }
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
- }
- if (_json.containsKey("nextPageToken")) {
- nextPageToken = _json["nextPageToken"];
- }
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
+ ManagedInstanceLastAttempt.fromJson(core.Map _json) {
+ if (_json.containsKey("errors")) {
+ errors = new ManagedInstanceLastAttemptErrors.fromJson(_json["errors"]);
}
}
core.Map toJson() {
var _json = new core.Map();
- if (id != null) {
- _json["id"] = id;
- }
- if (items != null) {
- _json["items"] = items.map((value) => (value).toJson()).toList();
- }
- if (kind != null) {
- _json["kind"] = kind;
- }
- if (nextPageToken != null) {
- _json["nextPageToken"] = nextPageToken;
- }
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
+ if (errors != null) {
+ _json["errors"] = (errors).toJson();
}
return _json;
}
}
-class InstanceMoveRequest {
+class MetadataItems {
/**
- * The URL of the destination zone to move the instance. This can be a full or
- * partial URL. For example, the following are all valid URLs to a zone:
- * - https://www.googleapis.com/compute/v1/projects/project/zones/zone
- * - projects/project/zones/zone
- * - zones/zone
+ * Key for the metadata entry. Keys must conform to the following regexp:
+ * [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as
+ * part of a URL in the metadata server. Additionally, to avoid ambiguity,
+ * keys must not conflict with any other metadata keys for the project.
*/
- core.String destinationZone;
+ core.String key;
/**
- * The URL of the target instance to move. This can be a full or partial URL.
- * For example, the following are all valid URLs to an instance:
- * -
- * https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance
- * - projects/project/zones/zone/instances/instance
- * - zones/zone/instances/instance
+ * Value for the metadata entry. These are free-form strings, and only have
+ * meaning as interpreted by the image running in the instance. The only
+ * restriction placed on values is that their size must be less than or equal
+ * to 32768 bytes.
*/
- core.String targetInstance;
+ core.String value;
- InstanceMoveRequest();
+ MetadataItems();
- InstanceMoveRequest.fromJson(core.Map _json) {
- if (_json.containsKey("destinationZone")) {
- destinationZone = _json["destinationZone"];
+ MetadataItems.fromJson(core.Map _json) {
+ if (_json.containsKey("key")) {
+ key = _json["key"];
}
- if (_json.containsKey("targetInstance")) {
- targetInstance = _json["targetInstance"];
+ if (_json.containsKey("value")) {
+ value = _json["value"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (destinationZone != null) {
- _json["destinationZone"] = destinationZone;
+ if (key != null) {
+ _json["key"] = key;
}
- if (targetInstance != null) {
- _json["targetInstance"] = targetInstance;
+ if (value != null) {
+ _json["value"] = value;
}
return _json;
}
}
-class InstanceProperties {
- /**
- * Enables instances created based on this template to send packets with
- * source IP addresses other than their own and receive packets with
- * destination IP addresses other than their own. If these instances will be
- * used as an IP gateway or it will be set as the next-hop in a Route
- * resource, specify true. If unsure, leave this set to false. See the Enable
- * IP forwarding for instances documentation for more information.
- */
- core.bool canIpForward;
- /**
- * An optional text description for the instances that are created from this
- * instance template.
- */
- core.String description;
- /**
- * An array of disks that are associated with the instances that are created
- * from this template.
- */
- core.List<AttachedDisk> disks;
- /**
- * The machine type to use for instances that are created from this template.
- */
- core.String machineType;
- /**
- * The metadata key/value pairs to assign to instances that are created from
- * this template. These pairs can consist of custom metadata or predefined
- * keys. See Project and instance metadata for more information.
- */
- Metadata metadata;
- /** An array of network access configurations for this interface. */
- core.List<NetworkInterface> networkInterfaces;
- /**
- * Specifies the scheduling options for the instances that are created from
- * this template.
- */
- Scheduling scheduling;
- /**
- * A list of service accounts with specified scopes. Access tokens for these
- * service accounts are available to the instances that are created from this
- * template. Use metadata queries to obtain the access tokens for these
- * instances.
- */
- core.List<ServiceAccount> serviceAccounts;
+/** A metadata key/value entry. */
+class Metadata {
/**
- * A list of tags to apply to the instances that are created from this
- * template. The tags identify valid sources or targets for network firewalls.
- * The setTags method can modify this list of tags. Each tag within the list
- * must comply with RFC1035.
+ * Specifies a fingerprint for this request, which is essentially a hash of
+ * the metadata's contents and used for optimistic locking. The fingerprint is
+ * initially generated by Compute Engine and changes after every request to
+ * modify or update metadata. You must always provide an up-to-date
+ * fingerprint hash in order to update or change metadata.
*/
- Tags tags;
-
- InstanceProperties();
+ core.String fingerprint;
+ core.List<core.int> get fingerprintAsBytes {
+ return convert.BASE64.decode(fingerprint);
+ }
- InstanceProperties.fromJson(core.Map _json) {
- if (_json.containsKey("canIpForward")) {
- canIpForward = _json["canIpForward"];
- }
- if (_json.containsKey("description")) {
- description = _json["description"];
- }
- if (_json.containsKey("disks")) {
- disks = _json["disks"].map((value) => new AttachedDisk.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("scheduling")) {
- scheduling = new Scheduling.fromJson(_json["scheduling"]);
+ void set fingerprintAsBytes(core.List<core.int> _bytes) {
+ fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-");
+ }
+ /**
+ * Array of key/value pairs. The total size of all keys and values must be
+ * less than 512 KB.
+ */
+ core.List<MetadataItems> items;
+ /**
+ * [Output Only] Type of the resource. Always compute#metadata for metadata.
+ */
+ core.String kind;
+
+ Metadata();
+
+ Metadata.fromJson(core.Map _json) {
+ if (_json.containsKey("fingerprint")) {
+ fingerprint = _json["fingerprint"];
}
- if (_json.containsKey("serviceAccounts")) {
- serviceAccounts = _json["serviceAccounts"].map((value) => new ServiceAccount.fromJson(value)).toList();
+ if (_json.containsKey("items")) {
+ items = _json["items"].map((value) => new MetadataItems.fromJson(value)).toList();
}
- if (_json.containsKey("tags")) {
- tags = new Tags.fromJson(_json["tags"]);
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (canIpForward != null) {
- _json["canIpForward"] = canIpForward;
- }
- if (description != null) {
- _json["description"] = description;
- }
- if (disks != null) {
- _json["disks"] = disks.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 (scheduling != null) {
- _json["scheduling"] = (scheduling).toJson();
+ if (fingerprint != null) {
+ _json["fingerprint"] = fingerprint;
}
- if (serviceAccounts != null) {
- _json["serviceAccounts"] = serviceAccounts.map((value) => (value).toJson()).toList();
+ if (items != null) {
+ _json["items"] = items.map((value) => (value).toJson()).toList();
}
- if (tags != null) {
- _json["tags"] = (tags).toJson();
+ if (kind != null) {
+ _json["kind"] = kind;
}
return _json;
}
}
-class InstanceReference {
- /** The URL for a specific instance. */
- core.String instance;
+/** The named port. For example: . */
+class NamedPort {
+ /**
+ * The name for this named port. The name must be 1-63 characters long, and
+ * comply with RFC1035.
+ */
+ core.String name;
+ /** The port number, which can be a value between 1 and 65535. */
+ core.int port;
- InstanceReference();
+ NamedPort();
- InstanceReference.fromJson(core.Map _json) {
- if (_json.containsKey("instance")) {
- instance = _json["instance"];
+ NamedPort.fromJson(core.Map _json) {
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("port")) {
+ port = _json["port"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (instance != null) {
- _json["instance"] = instance;
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (port != null) {
+ _json["port"] = port;
}
return _json;
}
}
-/** An Instance Template resource. */
-class InstanceTemplate {
+/**
+ * Represents a Network resource. Read Networks and Firewalls for more
+ * information.
+ */
+class Network {
/**
- * [Output Only] The creation timestamp for this instance template in RFC3339
- * text format.
+ * The range of internal addresses that are legal on this network. This range
+ * is a CIDR specification, for example: 192.168.0.0/16. Provided by the
+ * client when the network is created.
+ */
+ core.String IPv4Range;
+ /**
+ * When set to true, the network is created in "auto subnet mode". When set to
+ * false, the network is in "custom subnet mode".
+ *
+ * In "auto subnet mode", a newly created network is assigned the default CIDR
+ * of 10.128.0.0/9 and it automatically creates one subnetwork per region.
*/
+ core.bool autoCreateSubnetworks;
+ /** [Output Only] Creation timestamp in RFC3339 text format. */
core.String creationTimestamp;
/**
* An optional description of this resource. Provide this property when you
@@ -21866,17 +25329,22 @@ class InstanceTemplate {
*/
core.String description;
/**
- * [Output Only] A unique identifier for this instance template. The server
- * defines this identifier.
+ * A gateway address for default routing to other networks. This value is read
+ * only and is selected by the Google Compute Engine, typically as the first
+ * usable address in the IPv4Range.
+ */
+ core.String gatewayIPv4;
+ /**
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
*/
core.String id;
/**
- * [Output Only] The resource type, which is always compute#instanceTemplate
- * for instance templates.
+ * [Output Only] Type of the resource. Always compute#network for networks.
*/
core.String kind;
/**
- * Name of the resource; provided by the client when the resource is created.
+ * Name of the resource. Provided by the client when the resource is created.
* The name must be 1-63 characters long, and comply with RFC1035.
* Specifically, the name must be 1-63 characters long and match the regular
* expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
@@ -21885,23 +25353,32 @@ class InstanceTemplate {
* dash.
*/
core.String name;
- /** The instance properties for this instance template. */
- InstanceProperties properties;
+ /** [Output Only] Server-defined URL for the resource. */
+ core.String selfLink;
/**
- * [Output Only] The URL for this instance template. The server defines this
- * URL.
+ * [Output Only] Server-defined fully-qualified URLs for all subnetworks in
+ * this network.
*/
- core.String selfLink;
+ core.List<core.String> subnetworks;
- InstanceTemplate();
+ Network();
- InstanceTemplate.fromJson(core.Map _json) {
+ Network.fromJson(core.Map _json) {
+ if (_json.containsKey("IPv4Range")) {
+ IPv4Range = _json["IPv4Range"];
+ }
+ if (_json.containsKey("autoCreateSubnetworks")) {
+ autoCreateSubnetworks = _json["autoCreateSubnetworks"];
+ }
if (_json.containsKey("creationTimestamp")) {
creationTimestamp = _json["creationTimestamp"];
}
if (_json.containsKey("description")) {
description = _json["description"];
}
+ if (_json.containsKey("gatewayIPv4")) {
+ gatewayIPv4 = _json["gatewayIPv4"];
+ }
if (_json.containsKey("id")) {
id = _json["id"];
}
@@ -21911,22 +25388,31 @@ class InstanceTemplate {
if (_json.containsKey("name")) {
name = _json["name"];
}
- if (_json.containsKey("properties")) {
- properties = new InstanceProperties.fromJson(_json["properties"]);
- }
if (_json.containsKey("selfLink")) {
selfLink = _json["selfLink"];
}
+ if (_json.containsKey("subnetworks")) {
+ subnetworks = _json["subnetworks"];
+ }
}
core.Map toJson() {
var _json = new core.Map();
+ if (IPv4Range != null) {
+ _json["IPv4Range"] = IPv4Range;
+ }
+ if (autoCreateSubnetworks != null) {
+ _json["autoCreateSubnetworks"] = autoCreateSubnetworks;
+ }
if (creationTimestamp != null) {
_json["creationTimestamp"] = creationTimestamp;
}
if (description != null) {
_json["description"] = description;
}
+ if (gatewayIPv4 != null) {
+ _json["gatewayIPv4"] = gatewayIPv4;
+ }
if (id != null) {
_json["id"] = id;
}
@@ -21936,28 +25422,116 @@ class InstanceTemplate {
if (name != null) {
_json["name"] = name;
}
- if (properties != null) {
- _json["properties"] = (properties).toJson();
- }
if (selfLink != null) {
_json["selfLink"] = selfLink;
}
+ if (subnetworks != null) {
+ _json["subnetworks"] = subnetworks;
+ }
return _json;
}
}
-/** A list of instance templates. */
-class InstanceTemplateList {
+/** A network interface resource attached to an instance. */
+class NetworkInterface {
/**
- * [Output Only] A unique identifier for this instance template. The server
- * defines this identifier.
+ * An array of configurations for this interface. Currently, only one access
+ * config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs
+ * specified, then this instance will have no external internet access.
+ */
+ core.List<AccessConfig> accessConfigs;
+ /**
+ * [Output Only] The name of the network interface, generated by the server.
+ * For network devices, these are eth0, eth1, etc.
+ */
+ core.String name;
+ /**
+ * URL of the network resource for this instance. This is required for
+ * creating an instance but optional when creating a firewall rule. If not
+ * specified when creating a firewall rule, the default network is used:
+ *
+ * global/networks/default
+ *
+ * If you specify this property, you can specify the network as a full or
+ * partial URL. For example, the following are all valid URLs:
+ * -
+ * https://www.googleapis.com/compute/v1/projects/project/global/networks/network
+ * - projects/project/global/networks/network
+ * - global/networks/default
+ */
+ core.String network;
+ /**
+ * An IPv4 internal network address to assign to the instance for this network
+ * interface. If not specified by the user, an unused internal IP is assigned
+ * by the system.
+ */
+ core.String networkIP;
+ /**
+ * The URL of the Subnetwork resource for this instance. If the network
+ * resource is in legacy mode, do not provide this property. If the network is
+ * in auto subnet mode, providing the subnetwork is optional. If the network
+ * is in custom subnet mode, then this field should be specified. If you
+ * specify this property, you can specify the subnetwork as a full or partial
+ * URL. For example, the following are all valid URLs:
+ * -
+ * https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
+ * - regions/region/subnetworks/subnetwork
+ */
+ core.String subnetwork;
+
+ NetworkInterface();
+
+ NetworkInterface.fromJson(core.Map _json) {
+ if (_json.containsKey("accessConfigs")) {
+ accessConfigs = _json["accessConfigs"].map((value) => new AccessConfig.fromJson(value)).toList();
+ }
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("network")) {
+ network = _json["network"];
+ }
+ if (_json.containsKey("networkIP")) {
+ networkIP = _json["networkIP"];
+ }
+ if (_json.containsKey("subnetwork")) {
+ subnetwork = _json["subnetwork"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (accessConfigs != null) {
+ _json["accessConfigs"] = accessConfigs.map((value) => (value).toJson()).toList();
+ }
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (network != null) {
+ _json["network"] = network;
+ }
+ if (networkIP != null) {
+ _json["networkIP"] = networkIP;
+ }
+ if (subnetwork != null) {
+ _json["subnetwork"] = subnetwork;
+ }
+ return _json;
+ }
+}
+
+/** Contains a list of networks. */
+class NetworkList {
+ /**
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
*/
core.String id;
- /** [Output Only] list of InstanceTemplate resources. */
- core.List<InstanceTemplate> items;
+ /** [Output Only] A list of Network resources. */
+ core.List<Network> items;
/**
- * [Output Only] The resource type, which is always
- * compute#instanceTemplatesListResponse for instance template lists.
+ * [Output Only] Type of resource. Always compute#networkList for lists of
+ * networks.
*/
core.String kind;
/**
@@ -21968,20 +25542,17 @@ class InstanceTemplateList {
* continue paging through the results.
*/
core.String nextPageToken;
- /**
- * [Output Only] The URL for this instance template list. The server defines
- * this URL.
- */
+ /** [Output Only] Server-defined URL for this resource. */
core.String selfLink;
- InstanceTemplateList();
+ NetworkList();
- InstanceTemplateList.fromJson(core.Map _json) {
+ NetworkList.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new InstanceTemplate.fromJson(value)).toList();
+ items = _json["items"].map((value) => new Network.fromJson(value)).toList();
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
@@ -22015,55 +25586,75 @@ class InstanceTemplateList {
}
}
-class InstanceWithNamedPorts {
- /** [Output Only] The URL of the instance. */
- core.String instance;
- /** [Output Only] The named ports that belong to this instance group. */
- core.List<NamedPort> namedPorts;
+class OperationErrorErrors {
+ /** [Output Only] The error type identifier for this error. */
+ core.String code;
/**
- * [Output Only] The status of the instance.
- * Possible string values are:
- * - "PROVISIONING"
- * - "RUNNING"
- * - "STAGING"
- * - "STOPPED"
- * - "STOPPING"
- * - "SUSPENDED"
- * - "SUSPENDING"
- * - "TERMINATED"
+ * [Output Only] Indicates the field in the request that caused the error.
+ * This property is optional.
*/
- core.String status;
+ core.String location;
+ /** [Output Only] An optional, human-readable error message. */
+ core.String message;
- InstanceWithNamedPorts();
+ OperationErrorErrors();
- InstanceWithNamedPorts.fromJson(core.Map _json) {
- if (_json.containsKey("instance")) {
- instance = _json["instance"];
+ OperationErrorErrors.fromJson(core.Map _json) {
+ if (_json.containsKey("code")) {
+ code = _json["code"];
}
- if (_json.containsKey("namedPorts")) {
- namedPorts = _json["namedPorts"].map((value) => new NamedPort.fromJson(value)).toList();
+ if (_json.containsKey("location")) {
+ location = _json["location"];
}
- if (_json.containsKey("status")) {
- status = _json["status"];
+ if (_json.containsKey("message")) {
+ message = _json["message"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (instance != null) {
- _json["instance"] = instance;
+ if (code != null) {
+ _json["code"] = code;
}
- if (namedPorts != null) {
- _json["namedPorts"] = namedPorts.map((value) => (value).toJson()).toList();
+ if (location != null) {
+ _json["location"] = location;
}
- if (status != null) {
- _json["status"] = status;
+ if (message != null) {
+ _json["message"] = message;
}
return _json;
}
}
-class InstancesScopedListWarningData {
+/**
+ * [Output Only] If errors are generated during processing of the operation,
+ * this field will be populated.
+ */
+class OperationError {
+ /**
+ * [Output Only] The array of errors encountered while processing this
+ * operation.
+ */
+ core.List<OperationErrorErrors> errors;
+
+ OperationError();
+
+ OperationError.fromJson(core.Map _json) {
+ if (_json.containsKey("errors")) {
+ errors = _json["errors"].map((value) => new OperationErrorErrors.fromJson(value)).toList();
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (errors != null) {
+ _json["errors"] = errors.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+class OperationWarningsData {
/**
* [Output Only] A key that provides more detail on the warning being
* returned. For example, for warnings where there are no results in a list
@@ -22077,9 +25668,9 @@ class InstancesScopedListWarningData {
/** [Output Only] A warning data value corresponding to the key. */
core.String value;
- InstancesScopedListWarningData();
+ OperationWarningsData();
- InstancesScopedListWarningData.fromJson(core.Map _json) {
+ OperationWarningsData.fromJson(core.Map _json) {
if (_json.containsKey("key")) {
key = _json["key"];
}
@@ -22100,11 +25691,7 @@ class InstancesScopedListWarningData {
}
}
-/**
- * [Output Only] Informational warning which replaces the list of instances when
- * the list is empty.
- */
-class InstancesScopedListWarning {
+class OperationWarnings {
/**
* [Output Only] A warning code, if applicable. For example, Compute Engine
* returns NO_RESULTS_ON_PAGE if there are no results in the response.
@@ -22132,837 +25719,451 @@ class InstancesScopedListWarning {
* example:
* "data": [ { "key": "scope", "value": "zones/us-east1-d" }
*/
- core.List<InstancesScopedListWarningData> data;
+ core.List<OperationWarningsData> data;
/** [Output Only] A human-readable description of the warning code. */
core.String message;
- InstancesScopedListWarning();
-
- InstancesScopedListWarning.fromJson(core.Map _json) {
- if (_json.containsKey("code")) {
- code = _json["code"];
- }
- if (_json.containsKey("data")) {
- data = _json["data"].map((value) => new InstancesScopedListWarningData.fromJson(value)).toList();
- }
- if (_json.containsKey("message")) {
- message = _json["message"];
- }
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (code != null) {
- _json["code"] = code;
- }
- if (data != null) {
- _json["data"] = data.map((value) => (value).toJson()).toList();
- }
- if (message != null) {
- _json["message"] = message;
- }
- return _json;
- }
-}
-
-class InstancesScopedList {
- /** [Output Only] List of instances contained in this scope. */
- core.List<Instance> instances;
- /**
- * [Output Only] Informational warning which replaces the list of instances
- * when the list is empty.
- */
- InstancesScopedListWarning warning;
-
- InstancesScopedList();
-
- InstancesScopedList.fromJson(core.Map _json) {
- if (_json.containsKey("instances")) {
- instances = _json["instances"].map((value) => new Instance.fromJson(value)).toList();
- }
- if (_json.containsKey("warning")) {
- warning = new InstancesScopedListWarning.fromJson(_json["warning"]);
- }
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (instances != null) {
- _json["instances"] = instances.map((value) => (value).toJson()).toList();
- }
- if (warning != null) {
- _json["warning"] = (warning).toJson();
- }
- return _json;
- }
-}
-
-class InstancesSetMachineTypeRequest {
- /**
- * Full or partial URL of the machine type resource. See Machine Types for a
- * full list of machine types. For example:
- * zones/us-central1-f/machineTypes/n1-standard-1
- */
- core.String machineType;
-
- InstancesSetMachineTypeRequest();
-
- InstancesSetMachineTypeRequest.fromJson(core.Map _json) {
- if (_json.containsKey("machineType")) {
- machineType = _json["machineType"];
- }
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (machineType != null) {
- _json["machineType"] = machineType;
- }
- return _json;
- }
-}
-
-class InstancesStartWithEncryptionKeyRequest {
- /**
- * Array of disks associated with this instance that are protected with a
- * customer-supplied encryption key.
- *
- * In order to start the instance, the disk url and its corresponding key must
- * be provided.
- *
- * If the disk is not protected with a customer-supplied encryption key it
- * should not be specified.
- */
- core.List<CustomerEncryptionKeyProtectedDisk> disks;
-
- InstancesStartWithEncryptionKeyRequest();
-
- InstancesStartWithEncryptionKeyRequest.fromJson(core.Map _json) {
- if (_json.containsKey("disks")) {
- disks = _json["disks"].map((value) => new CustomerEncryptionKeyProtectedDisk.fromJson(value)).toList();
- }
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (disks != null) {
- _json["disks"] = disks.map((value) => (value).toJson()).toList();
- }
- return _json;
- }
-}
-
-/** A license resource. */
-class License {
- /**
- * [Output Only] If true, the customer will be charged license fee for running
- * software that contains this license on an instance.
- */
- core.bool chargesUseFee;
- /** [Output Only] Type of resource. Always compute#license for licenses. */
- core.String kind;
- /**
- * [Output Only] Name of the resource. The name is 1-63 characters long and
- * complies with RFC1035.
- */
- core.String name;
- /** [Output Only] Server-defined URL for the resource. */
- core.String selfLink;
-
- License();
+ OperationWarnings();
- License.fromJson(core.Map _json) {
- if (_json.containsKey("chargesUseFee")) {
- chargesUseFee = _json["chargesUseFee"];
- }
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
+ OperationWarnings.fromJson(core.Map _json) {
+ if (_json.containsKey("code")) {
+ code = _json["code"];
}
- if (_json.containsKey("name")) {
- name = _json["name"];
+ if (_json.containsKey("data")) {
+ data = _json["data"].map((value) => new OperationWarningsData.fromJson(value)).toList();
}
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
+ if (_json.containsKey("message")) {
+ message = _json["message"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (chargesUseFee != null) {
- _json["chargesUseFee"] = chargesUseFee;
- }
- if (kind != null) {
- _json["kind"] = kind;
- }
- if (name != null) {
- _json["name"] = name;
- }
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
+ if (code != null) {
+ _json["code"] = code;
}
- return _json;
- }
-}
-
-class MachineTypeScratchDisks {
- /** Size of the scratch disk, defined in GB. */
- core.int diskGb;
-
- MachineTypeScratchDisks();
-
- MachineTypeScratchDisks.fromJson(core.Map _json) {
- if (_json.containsKey("diskGb")) {
- diskGb = _json["diskGb"];
+ if (data != null) {
+ _json["data"] = data.map((value) => (value).toJson()).toList();
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (diskGb != null) {
- _json["diskGb"] = diskGb;
+ if (message != null) {
+ _json["message"] = message;
}
return _json;
}
}
-/** A Machine Type resource. */
-class MachineType {
+/** An Operation resource, used to manage asynchronous API requests. */
+class Operation {
+ /** [Output Only] Reserved for future use. */
+ core.String clientOperationId;
/** [Output Only] Creation timestamp in RFC3339 text format. */
core.String creationTimestamp;
/**
- * [Output Only] The deprecation status associated with this machine type.
+ * [Output Only] A textual description of the operation, which is set when the
+ * operation is created.
*/
- DeprecationStatus deprecated;
- /** [Output Only] An optional textual description of the resource. */
core.String description;
/**
- * [Output Only] The number of virtual CPUs that are available to the
- * instance.
+ * [Output Only] The time that this operation was completed. This value is in
+ * RFC3339 text format.
*/
- core.int guestCpus;
+ core.String endTime;
+ /**
+ * [Output Only] If errors are generated during processing of the operation,
+ * this field will be populated.
+ */
+ OperationError error;
+ /**
+ * [Output Only] If the operation fails, this field contains the HTTP error
+ * message that was returned, such as NOT FOUND.
+ */
+ core.String httpErrorMessage;
+ /**
+ * [Output Only] If the operation fails, this field contains the HTTP error
+ * status code that was returned. For example, a 404 means the resource was
+ * not found.
+ */
+ core.int httpErrorStatusCode;
/**
* [Output Only] The unique identifier for the resource. This identifier is
* defined by the server.
*/
core.String id;
/**
- * [Deprecated] This property is deprecated and will never be populated with
- * any relevant values.
+ * [Output Only] The time that this operation was requested. This value is in
+ * RFC3339 text format.
*/
- core.int imageSpaceGb;
+ core.String insertTime;
/**
- * [Output Only] Whether this machine type has a shared CPU. See Shared-core
- * machine types for more information.
+ * [Output Only] Type of the resource. Always compute#operation for Operation
+ * resources.
*/
- core.bool isSharedCpu;
+ core.String kind;
+ /** [Output Only] Name of the resource. */
+ core.String name;
/**
- * [Output Only] The type of the resource. Always compute#machineType for
- * machine types.
+ * [Output Only] The type of operation, such as insert, update, or delete, and
+ * so on.
*/
- core.String kind;
- /** [Output Only] Maximum persistent disks allowed. */
- core.int maximumPersistentDisks;
- /** [Output Only] Maximum total persistent disks size (GB) allowed. */
- core.String maximumPersistentDisksSizeGb;
+ core.String operationType;
/**
- * [Output Only] The amount of physical memory available to the instance,
- * defined in MB.
+ * [Output Only] An optional progress indicator that ranges from 0 to 100.
+ * There is no requirement that this be linear or support any granularity of
+ * operations. This should not be used to guess when the operation will be
+ * complete. This number should monotonically increase as the operation
+ * progresses.
*/
- core.int memoryMb;
- /** [Output Only] Name of the resource. */
- core.String name;
- /** [Output Only] List of extended scratch disks assigned to the instance. */
- core.List<MachineTypeScratchDisks> scratchDisks;
+ core.int progress;
+ /**
+ * [Output Only] The URL of the region where the operation resides. Only
+ * available when performing regional operations.
+ */
+ core.String region;
/** [Output Only] Server-defined URL for the resource. */
core.String selfLink;
/**
- * [Output Only] The name of the zone where the machine type resides, such as
- * us-central1-a.
+ * [Output Only] The time that this operation was started by the server. This
+ * value is in RFC3339 text format.
*/
- core.String zone;
-
- MachineType();
-
- MachineType.fromJson(core.Map _json) {
- if (_json.containsKey("creationTimestamp")) {
- creationTimestamp = _json["creationTimestamp"];
- }
- if (_json.containsKey("deprecated")) {
- deprecated = new DeprecationStatus.fromJson(_json["deprecated"]);
- }
- if (_json.containsKey("description")) {
- description = _json["description"];
- }
- if (_json.containsKey("guestCpus")) {
- guestCpus = _json["guestCpus"];
- }
- if (_json.containsKey("id")) {
- id = _json["id"];
- }
- if (_json.containsKey("imageSpaceGb")) {
- imageSpaceGb = _json["imageSpaceGb"];
- }
- if (_json.containsKey("isSharedCpu")) {
- isSharedCpu = _json["isSharedCpu"];
- }
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
- }
- if (_json.containsKey("maximumPersistentDisks")) {
- maximumPersistentDisks = _json["maximumPersistentDisks"];
- }
- if (_json.containsKey("maximumPersistentDisksSizeGb")) {
- maximumPersistentDisksSizeGb = _json["maximumPersistentDisksSizeGb"];
- }
- if (_json.containsKey("memoryMb")) {
- memoryMb = _json["memoryMb"];
- }
- if (_json.containsKey("name")) {
- name = _json["name"];
- }
- if (_json.containsKey("scratchDisks")) {
- scratchDisks = _json["scratchDisks"].map((value) => new MachineTypeScratchDisks.fromJson(value)).toList();
- }
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
- }
- if (_json.containsKey("zone")) {
- zone = _json["zone"];
- }
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (creationTimestamp != null) {
- _json["creationTimestamp"] = creationTimestamp;
- }
- if (deprecated != null) {
- _json["deprecated"] = (deprecated).toJson();
- }
- if (description != null) {
- _json["description"] = description;
- }
- if (guestCpus != null) {
- _json["guestCpus"] = guestCpus;
- }
- if (id != null) {
- _json["id"] = id;
- }
- if (imageSpaceGb != null) {
- _json["imageSpaceGb"] = imageSpaceGb;
- }
- if (isSharedCpu != null) {
- _json["isSharedCpu"] = isSharedCpu;
- }
- if (kind != null) {
- _json["kind"] = kind;
- }
- if (maximumPersistentDisks != null) {
- _json["maximumPersistentDisks"] = maximumPersistentDisks;
- }
- if (maximumPersistentDisksSizeGb != null) {
- _json["maximumPersistentDisksSizeGb"] = maximumPersistentDisksSizeGb;
- }
- if (memoryMb != null) {
- _json["memoryMb"] = memoryMb;
- }
- if (name != null) {
- _json["name"] = name;
- }
- if (scratchDisks != null) {
- _json["scratchDisks"] = scratchDisks.map((value) => (value).toJson()).toList();
- }
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
- }
- if (zone != null) {
- _json["zone"] = zone;
- }
- return _json;
- }
-}
-
-class MachineTypeAggregatedList {
+ core.String startTime;
+ /**
+ * [Output Only] The status of the operation, which can be one of the
+ * following: PENDING, RUNNING, or DONE.
+ * Possible string values are:
+ * - "DONE"
+ * - "PENDING"
+ * - "RUNNING"
+ */
+ core.String status;
+ /**
+ * [Output Only] An optional textual description of the current status of the
+ * operation.
+ */
+ core.String statusMessage;
+ /**
+ * [Output Only] The unique target ID, which identifies a specific incarnation
+ * of the target resource.
+ */
+ core.String targetId;
+ /**
+ * [Output Only] The URL of the resource that the operation modifies. For
+ * operations related to creating a snapshot, this points to the persistent
+ * disk that the snapshot was created from.
+ */
+ core.String targetLink;
/**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
+ * [Output Only] User who requested the operation, for example:
+ * user@example.com.
*/
- core.String id;
- /** [Output Only] A map of scoped machine type lists. */
- core.Map<core.String, MachineTypesScopedList> items;
+ core.String user;
/**
- * [Output Only] Type of resource. Always compute#machineTypeAggregatedList
- * for aggregated lists of machine types.
+ * [Output Only] If warning messages are generated during processing of the
+ * operation, this field will be populated.
*/
- core.String kind;
+ core.List<OperationWarnings> warnings;
/**
- * [Output Only] This token allows you to get the next page of results for
- * list requests. If the number of results is larger than maxResults, use the
- * nextPageToken as a value for the query parameter pageToken in the next list
- * request. Subsequent list requests will have their own nextPageToken to
- * continue paging through the results.
+ * [Output Only] The URL of the zone where the operation resides. Only
+ * available when performing per-zone operations.
*/
- core.String nextPageToken;
- /** [Output Only] Server-defined URL for this resource. */
- core.String selfLink;
+ core.String zone;
- MachineTypeAggregatedList();
+ Operation();
- MachineTypeAggregatedList.fromJson(core.Map _json) {
+ Operation.fromJson(core.Map _json) {
+ if (_json.containsKey("clientOperationId")) {
+ clientOperationId = _json["clientOperationId"];
+ }
+ if (_json.containsKey("creationTimestamp")) {
+ creationTimestamp = _json["creationTimestamp"];
+ }
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
+ if (_json.containsKey("endTime")) {
+ endTime = _json["endTime"];
+ }
+ if (_json.containsKey("error")) {
+ error = new OperationError.fromJson(_json["error"]);
+ }
+ if (_json.containsKey("httpErrorMessage")) {
+ httpErrorMessage = _json["httpErrorMessage"];
+ }
+ if (_json.containsKey("httpErrorStatusCode")) {
+ httpErrorStatusCode = _json["httpErrorStatusCode"];
+ }
if (_json.containsKey("id")) {
id = _json["id"];
}
- if (_json.containsKey("items")) {
- items = commons.mapMap(_json["items"], (item) => new MachineTypesScopedList.fromJson(item));
+ if (_json.containsKey("insertTime")) {
+ insertTime = _json["insertTime"];
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
}
- if (_json.containsKey("nextPageToken")) {
- nextPageToken = _json["nextPageToken"];
+ if (_json.containsKey("name")) {
+ name = _json["name"];
}
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
+ if (_json.containsKey("operationType")) {
+ operationType = _json["operationType"];
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (id != null) {
- _json["id"] = id;
+ if (_json.containsKey("progress")) {
+ progress = _json["progress"];
}
- if (items != null) {
- _json["items"] = commons.mapMap(items, (item) => (item).toJson());
+ if (_json.containsKey("region")) {
+ region = _json["region"];
}
- if (kind != null) {
- _json["kind"] = kind;
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
}
- if (nextPageToken != null) {
- _json["nextPageToken"] = nextPageToken;
+ if (_json.containsKey("startTime")) {
+ startTime = _json["startTime"];
}
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
+ if (_json.containsKey("status")) {
+ status = _json["status"];
}
- return _json;
- }
-}
-
-/** Contains a list of machine types. */
-class MachineTypeList {
- /**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
- */
- core.String id;
- /** [Output Only] A list of Machine Type resources. */
- core.List<MachineType> items;
- /**
- * [Output Only] Type of resource. Always compute#machineTypeList for lists of
- * machine types.
- */
- core.String kind;
- /**
- * [Output Only] This token allows you to get the next page of results for
- * list requests. If the number of results is larger than maxResults, use the
- * nextPageToken as a value for the query parameter pageToken in the next list
- * request. Subsequent list requests will have their own nextPageToken to
- * continue paging through the results.
- */
- core.String nextPageToken;
- /** [Output Only] Server-defined URL for this resource. */
- core.String selfLink;
-
- MachineTypeList();
-
- MachineTypeList.fromJson(core.Map _json) {
- if (_json.containsKey("id")) {
- id = _json["id"];
+ if (_json.containsKey("statusMessage")) {
+ statusMessage = _json["statusMessage"];
}
- if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new MachineType.fromJson(value)).toList();
+ if (_json.containsKey("targetId")) {
+ targetId = _json["targetId"];
}
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
+ if (_json.containsKey("targetLink")) {
+ targetLink = _json["targetLink"];
}
- if (_json.containsKey("nextPageToken")) {
- nextPageToken = _json["nextPageToken"];
+ if (_json.containsKey("user")) {
+ user = _json["user"];
}
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
+ if (_json.containsKey("warnings")) {
+ warnings = _json["warnings"].map((value) => new OperationWarnings.fromJson(value)).toList();
+ }
+ if (_json.containsKey("zone")) {
+ zone = _json["zone"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (id != null) {
- _json["id"] = id;
+ if (clientOperationId != null) {
+ _json["clientOperationId"] = clientOperationId;
}
- if (items != null) {
- _json["items"] = items.map((value) => (value).toJson()).toList();
+ if (creationTimestamp != null) {
+ _json["creationTimestamp"] = creationTimestamp;
}
- if (kind != null) {
- _json["kind"] = kind;
+ if (description != null) {
+ _json["description"] = description;
}
- if (nextPageToken != null) {
- _json["nextPageToken"] = nextPageToken;
+ if (endTime != null) {
+ _json["endTime"] = endTime;
}
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
+ if (error != null) {
+ _json["error"] = (error).toJson();
}
- return _json;
- }
-}
-
-class MachineTypesScopedListWarningData {
- /**
- * [Output Only] A key that provides more detail on the warning being
- * returned. For example, for warnings where there are no results in a list
- * request for a particular zone, this key might be scope and the key value
- * might be the zone name. Other examples might be a key indicating a
- * deprecated resource and a suggested replacement, or a warning about invalid
- * network settings (for example, if an instance attempts to perform IP
- * forwarding but is not enabled for IP forwarding).
- */
- core.String key;
- /** [Output Only] A warning data value corresponding to the key. */
- core.String value;
-
- MachineTypesScopedListWarningData();
-
- MachineTypesScopedListWarningData.fromJson(core.Map _json) {
- if (_json.containsKey("key")) {
- key = _json["key"];
+ if (httpErrorMessage != null) {
+ _json["httpErrorMessage"] = httpErrorMessage;
}
- if (_json.containsKey("value")) {
- value = _json["value"];
+ if (httpErrorStatusCode != null) {
+ _json["httpErrorStatusCode"] = httpErrorStatusCode;
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (key != null) {
- _json["key"] = key;
+ if (id != null) {
+ _json["id"] = id;
}
- if (value != null) {
- _json["value"] = value;
+ if (insertTime != null) {
+ _json["insertTime"] = insertTime;
}
- return _json;
- }
-}
-
-/**
- * [Output Only] An informational warning that appears when the machine types
- * list is empty.
- */
-class MachineTypesScopedListWarning {
- /**
- * [Output Only] A warning code, if applicable. For example, Compute Engine
- * returns NO_RESULTS_ON_PAGE if there are no results in the response.
- * Possible string values are:
- * - "CLEANUP_FAILED"
- * - "DEPRECATED_RESOURCE_USED"
- * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
- * - "FIELD_VALUE_OVERRIDEN"
- * - "INJECTED_KERNELS_DEPRECATED"
- * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
- * - "NEXT_HOP_CANNOT_IP_FORWARD"
- * - "NEXT_HOP_INSTANCE_NOT_FOUND"
- * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
- * - "NEXT_HOP_NOT_RUNNING"
- * - "NOT_CRITICAL_ERROR"
- * - "NO_RESULTS_ON_PAGE"
- * - "REQUIRED_TOS_AGREEMENT"
- * - "RESOURCE_NOT_DELETED"
- * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
- * - "UNREACHABLE"
- */
- core.String code;
- /**
- * [Output Only] Metadata about this warning in key: value format. For
- * example:
- * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
- */
- core.List<MachineTypesScopedListWarningData> data;
- /** [Output Only] A human-readable description of the warning code. */
- core.String message;
-
- MachineTypesScopedListWarning();
-
- MachineTypesScopedListWarning.fromJson(core.Map _json) {
- if (_json.containsKey("code")) {
- code = _json["code"];
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (operationType != null) {
+ _json["operationType"] = operationType;
+ }
+ if (progress != null) {
+ _json["progress"] = progress;
}
- if (_json.containsKey("data")) {
- data = _json["data"].map((value) => new MachineTypesScopedListWarningData.fromJson(value)).toList();
+ if (region != null) {
+ _json["region"] = region;
}
- if (_json.containsKey("message")) {
- message = _json["message"];
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (code != null) {
- _json["code"] = code;
+ if (startTime != null) {
+ _json["startTime"] = startTime;
}
- if (data != null) {
- _json["data"] = data.map((value) => (value).toJson()).toList();
+ if (status != null) {
+ _json["status"] = status;
}
- if (message != null) {
- _json["message"] = message;
+ if (statusMessage != null) {
+ _json["statusMessage"] = statusMessage;
}
- return _json;
- }
-}
-
-class MachineTypesScopedList {
- /** [Output Only] List of machine types contained in this scope. */
- core.List<MachineType> machineTypes;
- /**
- * [Output Only] An informational warning that appears when the machine types
- * list is empty.
- */
- MachineTypesScopedListWarning warning;
-
- MachineTypesScopedList();
-
- MachineTypesScopedList.fromJson(core.Map _json) {
- if (_json.containsKey("machineTypes")) {
- machineTypes = _json["machineTypes"].map((value) => new MachineType.fromJson(value)).toList();
+ if (targetId != null) {
+ _json["targetId"] = targetId;
}
- if (_json.containsKey("warning")) {
- warning = new MachineTypesScopedListWarning.fromJson(_json["warning"]);
+ if (targetLink != null) {
+ _json["targetLink"] = targetLink;
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (machineTypes != null) {
- _json["machineTypes"] = machineTypes.map((value) => (value).toJson()).toList();
+ if (user != null) {
+ _json["user"] = user;
}
- if (warning != null) {
- _json["warning"] = (warning).toJson();
+ if (warnings != null) {
+ _json["warnings"] = warnings.map((value) => (value).toJson()).toList();
+ }
+ if (zone != null) {
+ _json["zone"] = zone;
}
return _json;
}
}
-class ManagedInstance {
- /**
- * [Output Only] The current action that the managed instance group has
- * scheduled for the instance. Possible values:
- * - NONE The instance is running, and the managed instance group does not
- * have any scheduled actions for this instance.
- * - CREATING The managed instance group is creating this instance. If the
- * group fails to create this instance, it will try again until it is
- * successful.
- * - CREATING_WITHOUT_RETRIES The managed instance group is attempting to
- * create this instance only once. If the group fails to create this instance,
- * it does not try again and the group's targetSize value is decreased
- * instead.
- * - RECREATING The managed instance group is recreating this instance.
- * - DELETING The managed instance group is permanently deleting this
- * instance.
- * - ABANDONING The managed instance group is abandoning this instance. The
- * instance will be removed from the instance group and from any target pools
- * that are associated with this group.
- * - RESTARTING The managed instance group is restarting the instance.
- * - REFRESHING The managed instance group is applying configuration changes
- * to the instance without stopping it. For example, the group can update the
- * target pool list for an instance without stopping that instance.
- * Possible string values are:
- * - "ABANDONING"
- * - "CREATING"
- * - "CREATING_WITHOUT_RETRIES"
- * - "DELETING"
- * - "NONE"
- * - "RECREATING"
- * - "REFRESHING"
- * - "RESTARTING"
- */
- core.String currentAction;
+class OperationAggregatedList {
/**
- * [Output only] The unique identifier for this resource. This field is empty
- * when instance does not exist.
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
*/
core.String id;
+ /** [Output Only] A map of scoped operation lists. */
+ core.Map<core.String, OperationsScopedList> items;
/**
- * [Output Only] The URL of the instance. The URL can exist even if the
- * instance has not yet been created.
- */
- core.String instance;
- /**
- * [Output Only] The status of the instance. This field is empty when the
- * instance does not exist.
- * Possible string values are:
- * - "PROVISIONING"
- * - "RUNNING"
- * - "STAGING"
- * - "STOPPED"
- * - "STOPPING"
- * - "SUSPENDED"
- * - "SUSPENDING"
- * - "TERMINATED"
+ * [Output Only] Type of resource. Always compute#operationAggregatedList for
+ * aggregated lists of operations.
*/
- core.String instanceStatus;
+ core.String kind;
/**
- * [Output Only] Information about the last attempt to create or delete the
- * instance.
+ * [Output Only] This token allows you to get the next page of results for
+ * list requests. If the number of results is larger than maxResults, use the
+ * nextPageToken as a value for the query parameter pageToken in the next list
+ * request. Subsequent list requests will have their own nextPageToken to
+ * continue paging through the results.
*/
- ManagedInstanceLastAttempt lastAttempt;
+ core.String nextPageToken;
+ /** [Output Only] Server-defined URL for this resource. */
+ core.String selfLink;
- ManagedInstance();
+ OperationAggregatedList();
- ManagedInstance.fromJson(core.Map _json) {
- if (_json.containsKey("currentAction")) {
- currentAction = _json["currentAction"];
- }
+ OperationAggregatedList.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
- if (_json.containsKey("instance")) {
- instance = _json["instance"];
+ if (_json.containsKey("items")) {
+ items = commons.mapMap(_json["items"], (item) => new OperationsScopedList.fromJson(item));
}
- if (_json.containsKey("instanceStatus")) {
- instanceStatus = _json["instanceStatus"];
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
}
- if (_json.containsKey("lastAttempt")) {
- lastAttempt = new ManagedInstanceLastAttempt.fromJson(_json["lastAttempt"]);
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (currentAction != null) {
- _json["currentAction"] = currentAction;
- }
if (id != null) {
_json["id"] = id;
}
- if (instance != null) {
- _json["instance"] = instance;
+ if (items != null) {
+ _json["items"] = commons.mapMap(items, (item) => (item).toJson());
}
- if (instanceStatus != null) {
- _json["instanceStatus"] = instanceStatus;
+ if (kind != null) {
+ _json["kind"] = kind;
}
- if (lastAttempt != null) {
- _json["lastAttempt"] = (lastAttempt).toJson();
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
return _json;
}
}
-class ManagedInstanceLastAttemptErrorsErrors {
- /** [Output Only] The error type identifier for this error. */
- core.String code;
+/** Contains a list of Operation resources. */
+class OperationList {
/**
- * [Output Only] Indicates the field in the request that caused the error.
- * This property is optional.
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
*/
- core.String location;
- /** [Output Only] An optional, human-readable error message. */
- core.String message;
-
- ManagedInstanceLastAttemptErrorsErrors();
-
- ManagedInstanceLastAttemptErrorsErrors.fromJson(core.Map _json) {
- if (_json.containsKey("code")) {
- code = _json["code"];
- }
- if (_json.containsKey("location")) {
- location = _json["location"];
- }
- if (_json.containsKey("message")) {
- message = _json["message"];
- }
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (code != null) {
- _json["code"] = code;
- }
- if (location != null) {
- _json["location"] = location;
- }
- if (message != null) {
- _json["message"] = message;
- }
- return _json;
- }
-}
-
-/**
- * [Output Only] Encountered errors during the last attempt to create or delete
- * the instance.
- */
-class ManagedInstanceLastAttemptErrors {
+ core.String id;
+ /** [Output Only] A list of Operation resources. */
+ core.List<Operation> items;
/**
- * [Output Only] The array of errors encountered while processing this
- * operation.
+ * [Output Only] Type of resource. Always compute#operations for Operations
+ * resource.
*/
- core.List<ManagedInstanceLastAttemptErrorsErrors> errors;
-
- ManagedInstanceLastAttemptErrors();
-
- ManagedInstanceLastAttemptErrors.fromJson(core.Map _json) {
- if (_json.containsKey("errors")) {
- errors = _json["errors"].map((value) => new ManagedInstanceLastAttemptErrorsErrors.fromJson(value)).toList();
- }
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (errors != null) {
- _json["errors"] = errors.map((value) => (value).toJson()).toList();
- }
- return _json;
- }
-}
-
-class ManagedInstanceLastAttempt {
+ core.String kind;
/**
- * [Output Only] Encountered errors during the last attempt to create or
- * delete the instance.
+ * [Output Only] This token allows you to get the next page of results for
+ * list requests. If the number of results is larger than maxResults, use the
+ * nextPageToken as a value for the query parameter pageToken in the next list
+ * request. Subsequent list requests will have their own nextPageToken to
+ * continue paging through the results.
*/
- ManagedInstanceLastAttemptErrors errors;
+ core.String nextPageToken;
+ /** [Output Only] Server-defined URL for this resource. */
+ core.String selfLink;
- ManagedInstanceLastAttempt();
+ OperationList();
- ManagedInstanceLastAttempt.fromJson(core.Map _json) {
- if (_json.containsKey("errors")) {
- errors = new ManagedInstanceLastAttemptErrors.fromJson(_json["errors"]);
+ OperationList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("items")) {
+ items = _json["items"].map((value) => new Operation.fromJson(value)).toList();
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (errors != null) {
- _json["errors"] = (errors).toJson();
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (items != null) {
+ _json["items"] = items.map((value) => (value).toJson()).toList();
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
return _json;
}
}
-class MetadataItems {
+class OperationsScopedListWarningData {
/**
- * Key for the metadata entry. Keys must conform to the following regexp:
- * [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as
- * part of a URL in the metadata server. Additionally, to avoid ambiguity,
- * keys must not conflict with any other metadata keys for the project.
+ * [Output Only] A key that provides more detail on the warning being
+ * returned. For example, for warnings where there are no results in a list
+ * request for a particular zone, this key might be scope and the key value
+ * might be the zone name. Other examples might be a key indicating a
+ * deprecated resource and a suggested replacement, or a warning about invalid
+ * network settings (for example, if an instance attempts to perform IP
+ * forwarding but is not enabled for IP forwarding).
*/
core.String key;
- /**
- * Value for the metadata entry. These are free-form strings, and only have
- * meaning as interpreted by the image running in the instance. The only
- * restriction placed on values is that their size must be less than or equal
- * to 32768 bytes.
- */
+ /** [Output Only] A warning data value corresponding to the key. */
core.String value;
- MetadataItems();
+ OperationsScopedListWarningData();
- MetadataItems.fromJson(core.Map _json) {
+ OperationsScopedListWarningData.fromJson(core.Map _json) {
if (_json.containsKey("key")) {
key = _json["key"];
}
@@ -22983,821 +26184,572 @@ class MetadataItems {
}
}
-/** A metadata key/value entry. */
-class Metadata {
- /**
- * Specifies a fingerprint for this request, which is essentially a hash of
- * the metadata's contents and used for optimistic locking. The fingerprint is
- * initially generated by Compute Engine and changes after every request to
- * modify or update metadata. You must always provide an up-to-date
- * fingerprint hash in order to update or change metadata.
- */
- core.String fingerprint;
- core.List<core.int> get fingerprintAsBytes {
- return convert.BASE64.decode(fingerprint);
- }
-
- void set fingerprintAsBytes(core.List<core.int> _bytes) {
- fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-");
- }
+/**
+ * [Output Only] Informational warning which replaces the list of operations
+ * when the list is empty.
+ */
+class OperationsScopedListWarning {
/**
- * Array of key/value pairs. The total size of all keys and values must be
- * less than 512 KB.
+ * [Output Only] A warning code, if applicable. For example, Compute Engine
+ * returns NO_RESULTS_ON_PAGE if there are no results in the response.
+ * Possible string values are:
+ * - "CLEANUP_FAILED"
+ * - "DEPRECATED_RESOURCE_USED"
+ * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ * - "FIELD_VALUE_OVERRIDEN"
+ * - "INJECTED_KERNELS_DEPRECATED"
+ * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
+ * - "NEXT_HOP_CANNOT_IP_FORWARD"
+ * - "NEXT_HOP_INSTANCE_NOT_FOUND"
+ * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
+ * - "NEXT_HOP_NOT_RUNNING"
+ * - "NOT_CRITICAL_ERROR"
+ * - "NO_RESULTS_ON_PAGE"
+ * - "REQUIRED_TOS_AGREEMENT"
+ * - "RESOURCE_NOT_DELETED"
+ * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
+ * - "UNREACHABLE"
*/
- core.List<MetadataItems> items;
+ core.String code;
/**
- * [Output Only] Type of the resource. Always compute#metadata for metadata.
+ * [Output Only] Metadata about this warning in key: value format. For
+ * example:
+ * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
*/
- core.String kind;
+ core.List<OperationsScopedListWarningData> data;
+ /** [Output Only] A human-readable description of the warning code. */
+ core.String message;
- Metadata();
+ OperationsScopedListWarning();
- Metadata.fromJson(core.Map _json) {
- if (_json.containsKey("fingerprint")) {
- fingerprint = _json["fingerprint"];
+ OperationsScopedListWarning.fromJson(core.Map _json) {
+ if (_json.containsKey("code")) {
+ code = _json["code"];
}
- if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new MetadataItems.fromJson(value)).toList();
+ if (_json.containsKey("data")) {
+ data = _json["data"].map((value) => new OperationsScopedListWarningData.fromJson(value)).toList();
}
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
+ if (_json.containsKey("message")) {
+ message = _json["message"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (fingerprint != null) {
- _json["fingerprint"] = fingerprint;
+ if (code != null) {
+ _json["code"] = code;
}
- if (items != null) {
- _json["items"] = items.map((value) => (value).toJson()).toList();
+ if (data != null) {
+ _json["data"] = data.map((value) => (value).toJson()).toList();
}
- if (kind != null) {
- _json["kind"] = kind;
+ if (message != null) {
+ _json["message"] = message;
}
return _json;
}
}
-/** The named port. For example: . */
-class NamedPort {
+class OperationsScopedList {
+ /** [Output Only] List of operations contained in this scope. */
+ core.List<Operation> operations;
/**
- * The name for this named port. The name must be 1-63 characters long, and
- * comply with RFC1035.
+ * [Output Only] Informational warning which replaces the list of operations
+ * when the list is empty.
*/
- core.String name;
- /** The port number, which can be a value between 1 and 65535. */
- core.int port;
+ OperationsScopedListWarning warning;
- NamedPort();
+ OperationsScopedList();
- NamedPort.fromJson(core.Map _json) {
- if (_json.containsKey("name")) {
- name = _json["name"];
+ OperationsScopedList.fromJson(core.Map _json) {
+ if (_json.containsKey("operations")) {
+ operations = _json["operations"].map((value) => new Operation.fromJson(value)).toList();
}
- if (_json.containsKey("port")) {
- port = _json["port"];
+ if (_json.containsKey("warning")) {
+ warning = new OperationsScopedListWarning.fromJson(_json["warning"]);
}
}
core.Map toJson() {
var _json = new core.Map();
- if (name != null) {
- _json["name"] = name;
+ if (operations != null) {
+ _json["operations"] = operations.map((value) => (value).toJson()).toList();
}
- if (port != null) {
- _json["port"] = port;
+ if (warning != null) {
+ _json["warning"] = (warning).toJson();
}
return _json;
}
}
/**
- * Represents a Network resource. Read Networks and Firewalls for more
- * information.
+ * A matcher for the path portion of the URL. The BackendService from the
+ * longest-matched rule will serve the URL. If no rule was matched, the default
+ * service will be used.
*/
-class Network {
- /**
- * The range of internal addresses that are legal on this network. This range
- * is a CIDR specification, for example: 192.168.0.0/16. Provided by the
- * client when the network is created.
- */
- core.String IPv4Range;
+class PathMatcher {
/**
- * When set to true, the network is created in "auto subnet mode". When set to
- * false, the network is in "custom subnet mode".
- *
- * In "auto subnet mode", a newly created network is assigned the default CIDR
- * of 10.128.0.0/9 and it automatically creates one subnetwork per region.
+ * The full or partial URL to the BackendService resource. This will be used
+ * if none of the pathRules defined by this PathMatcher is matched by the
+ * URL's path portion. For example, the following are all valid URLs to a
+ * BackendService resource:
+ * -
+ * https://www.googleapis.com/compute/v1/projects/project/global/backendServices/backendService
+ * - compute/v1/projects/project/global/backendServices/backendService
+ * - global/backendServices/backendService
*/
- core.bool autoCreateSubnetworks;
- /** [Output Only] Creation timestamp in RFC3339 text format. */
- core.String creationTimestamp;
+ core.String defaultService;
/**
* An optional description of this resource. Provide this property when you
* create the resource.
*/
- core.String description;
- /**
- * A gateway address for default routing to other networks. This value is read
- * only and is selected by the Google Compute Engine, typically as the first
- * usable address in the IPv4Range.
- */
- core.String gatewayIPv4;
- /**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
- */
- core.String id;
- /**
- * [Output Only] Type of the resource. Always compute#network for networks.
- */
- core.String kind;
- /**
- * Name of the resource. Provided by the client when the resource is created.
- * The name must be 1-63 characters long, and comply with RFC1035.
- * Specifically, the name must be 1-63 characters long and match the regular
- * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
- * be a lowercase letter, and all following characters must be a dash,
- * lowercase letter, or digit, except the last character, which cannot be a
- * dash.
- */
- core.String name;
- /** [Output Only] Server-defined URL for the resource. */
- core.String selfLink;
- /**
- * [Output Only] Server-defined fully-qualified URLs for all subnetworks in
- * this network.
- */
- core.List<core.String> subnetworks;
-
- Network();
-
- Network.fromJson(core.Map _json) {
- if (_json.containsKey("IPv4Range")) {
- IPv4Range = _json["IPv4Range"];
- }
- if (_json.containsKey("autoCreateSubnetworks")) {
- autoCreateSubnetworks = _json["autoCreateSubnetworks"];
- }
- if (_json.containsKey("creationTimestamp")) {
- creationTimestamp = _json["creationTimestamp"];
+ core.String description;
+ /** The name to which this PathMatcher is referred by the HostRule. */
+ core.String name;
+ /** The list of path rules. */
+ core.List<PathRule> pathRules;
+
+ PathMatcher();
+
+ PathMatcher.fromJson(core.Map _json) {
+ if (_json.containsKey("defaultService")) {
+ defaultService = _json["defaultService"];
}
if (_json.containsKey("description")) {
description = _json["description"];
}
- if (_json.containsKey("gatewayIPv4")) {
- gatewayIPv4 = _json["gatewayIPv4"];
- }
- if (_json.containsKey("id")) {
- id = _json["id"];
- }
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
- }
if (_json.containsKey("name")) {
name = _json["name"];
}
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
- }
- if (_json.containsKey("subnetworks")) {
- subnetworks = _json["subnetworks"];
+ if (_json.containsKey("pathRules")) {
+ pathRules = _json["pathRules"].map((value) => new PathRule.fromJson(value)).toList();
}
}
core.Map toJson() {
var _json = new core.Map();
- if (IPv4Range != null) {
- _json["IPv4Range"] = IPv4Range;
- }
- if (autoCreateSubnetworks != null) {
- _json["autoCreateSubnetworks"] = autoCreateSubnetworks;
- }
- if (creationTimestamp != null) {
- _json["creationTimestamp"] = creationTimestamp;
+ if (defaultService != null) {
+ _json["defaultService"] = defaultService;
}
if (description != null) {
_json["description"] = description;
}
- if (gatewayIPv4 != null) {
- _json["gatewayIPv4"] = gatewayIPv4;
- }
- if (id != null) {
- _json["id"] = id;
- }
- if (kind != null) {
- _json["kind"] = kind;
- }
if (name != null) {
_json["name"] = name;
}
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
- }
- if (subnetworks != null) {
- _json["subnetworks"] = subnetworks;
+ if (pathRules != null) {
+ _json["pathRules"] = pathRules.map((value) => (value).toJson()).toList();
}
return _json;
}
}
-/** A network interface resource attached to an instance. */
-class NetworkInterface {
- /**
- * An array of configurations for this interface. Currently, only one access
- * config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs
- * specified, then this instance will have no external internet access.
- */
- core.List<AccessConfig> accessConfigs;
- /**
- * [Output Only] The name of the network interface, generated by the server.
- * For network devices, these are eth0, eth1, etc.
- */
- core.String name;
- /**
- * URL of the network resource for this instance. This is required for
- * creating an instance but optional when creating a firewall rule. If not
- * specified when creating a firewall rule, the default network is used:
- *
- * global/networks/default
- *
- * If you specify this property, you can specify the network as a full or
- * partial URL. For example, the following are all valid URLs:
- * -
- * https://www.googleapis.com/compute/v1/projects/project/global/networks/network
- * - projects/project/global/networks/network
- * - global/networks/default
- */
- core.String network;
- /**
- * An IPv4 internal network address to assign to the instance for this network
- * interface. If not specified by the user, an unused internal IP is assigned
- * by the system.
- */
- core.String networkIP;
+/**
+ * A path-matching rule for a URL. If matched, will use the specified
+ * BackendService to handle the traffic arriving at this URL.
+ */
+class PathRule {
/**
- * The URL of the Subnetwork resource for this instance. If the network
- * resource is in legacy mode, do not provide this property. If the network is
- * in auto subnet mode, providing the subnetwork is optional. If the network
- * is in custom subnet mode, then this field should be specified. If you
- * specify this property, you can specify the subnetwork as a full or partial
- * URL. For example, the following are all valid URLs:
- * -
- * https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
- * - regions/region/subnetworks/subnetwork
+ * The list of path patterns to match. Each must start with / and the only
+ * place a * is allowed is at the end following a /. The string fed to the
+ * path matcher does not include any text after the first ? or #, and those
+ * chars are not allowed here.
*/
- core.String subnetwork;
+ core.List<core.String> paths;
+ /** The URL of the BackendService resource if this rule is matched. */
+ core.String service;
- NetworkInterface();
+ PathRule();
- NetworkInterface.fromJson(core.Map _json) {
- if (_json.containsKey("accessConfigs")) {
- accessConfigs = _json["accessConfigs"].map((value) => new AccessConfig.fromJson(value)).toList();
- }
- if (_json.containsKey("name")) {
- name = _json["name"];
- }
- if (_json.containsKey("network")) {
- network = _json["network"];
- }
- if (_json.containsKey("networkIP")) {
- networkIP = _json["networkIP"];
+ PathRule.fromJson(core.Map _json) {
+ if (_json.containsKey("paths")) {
+ paths = _json["paths"];
}
- if (_json.containsKey("subnetwork")) {
- subnetwork = _json["subnetwork"];
+ if (_json.containsKey("service")) {
+ service = _json["service"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (accessConfigs != null) {
- _json["accessConfigs"] = accessConfigs.map((value) => (value).toJson()).toList();
- }
- if (name != null) {
- _json["name"] = name;
- }
- if (network != null) {
- _json["network"] = network;
- }
- if (networkIP != null) {
- _json["networkIP"] = networkIP;
+ if (paths != null) {
+ _json["paths"] = paths;
}
- if (subnetwork != null) {
- _json["subnetwork"] = subnetwork;
+ if (service != null) {
+ _json["service"] = service;
}
return _json;
}
}
-/** Contains a list of networks. */
-class NetworkList {
+/**
+ * A Project resource. Projects can only be created in the Google Cloud Platform
+ * Console. Unless marked otherwise, values can only be modified in the console.
+ */
+class Project {
+ /**
+ * Metadata key/value pairs available to all instances contained in this
+ * project. See Custom metadata for more information.
+ */
+ Metadata commonInstanceMetadata;
+ /** [Output Only] Creation timestamp in RFC3339 text format. */
+ core.String creationTimestamp;
+ /**
+ * [Output Only] Default service account used by VMs running in this project.
+ */
+ core.String defaultServiceAccount;
+ /** An optional textual description of the resource. */
+ core.String description;
+ /** Restricted features enabled for use on this project. */
+ core.List<core.String> enabledFeatures;
/**
* [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
+ * defined by the server. This is not the project ID, and is just a unique ID
+ * used by Compute Engine to identify resources.
*/
core.String id;
- /** [Output Only] A list of Network resources. */
- core.List<Network> items;
/**
- * [Output Only] Type of resource. Always compute#networkList for lists of
- * networks.
+ * [Output Only] Type of the resource. Always compute#project for projects.
*/
core.String kind;
/**
- * [Output Only] This token allows you to get the next page of results for
- * list requests. If the number of results is larger than maxResults, use the
- * nextPageToken as a value for the query parameter pageToken in the next list
- * request. Subsequent list requests will have their own nextPageToken to
- * continue paging through the results.
+ * The project ID. For example: my-example-project. Use the project ID to make
+ * requests to Compute Engine.
*/
- core.String nextPageToken;
- /** [Output Only] Server-defined URL for this resource. */
+ core.String name;
+ /** [Output Only] Quotas assigned to this project. */
+ core.List<Quota> quotas;
+ /** [Output Only] Server-defined URL for the resource. */
core.String selfLink;
-
- NetworkList();
-
- NetworkList.fromJson(core.Map _json) {
- if (_json.containsKey("id")) {
- id = _json["id"];
- }
- if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new Network.fromJson(value)).toList();
- }
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
- }
- if (_json.containsKey("nextPageToken")) {
- nextPageToken = _json["nextPageToken"];
- }
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
- }
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (id != null) {
- _json["id"] = id;
- }
- if (items != null) {
- _json["items"] = items.map((value) => (value).toJson()).toList();
- }
- if (kind != null) {
- _json["kind"] = kind;
- }
- if (nextPageToken != null) {
- _json["nextPageToken"] = nextPageToken;
- }
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
- }
- return _json;
- }
-}
-
-class OperationErrorErrors {
- /** [Output Only] The error type identifier for this error. */
- core.String code;
/**
- * [Output Only] Indicates the field in the request that caused the error.
- * This property is optional.
+ * The naming prefix for daily usage reports and the Google Cloud Storage
+ * bucket where they are stored.
*/
- core.String location;
- /** [Output Only] An optional, human-readable error message. */
- core.String message;
+ UsageExportLocation usageExportLocation;
- OperationErrorErrors();
+ Project();
- OperationErrorErrors.fromJson(core.Map _json) {
- if (_json.containsKey("code")) {
- code = _json["code"];
+ Project.fromJson(core.Map _json) {
+ if (_json.containsKey("commonInstanceMetadata")) {
+ commonInstanceMetadata = new Metadata.fromJson(_json["commonInstanceMetadata"]);
+ }
+ if (_json.containsKey("creationTimestamp")) {
+ creationTimestamp = _json["creationTimestamp"];
+ }
+ if (_json.containsKey("defaultServiceAccount")) {
+ defaultServiceAccount = _json["defaultServiceAccount"];
}
- if (_json.containsKey("location")) {
- location = _json["location"];
+ if (_json.containsKey("description")) {
+ description = _json["description"];
}
- if (_json.containsKey("message")) {
- message = _json["message"];
+ if (_json.containsKey("enabledFeatures")) {
+ enabledFeatures = _json["enabledFeatures"];
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (code != null) {
- _json["code"] = code;
+ if (_json.containsKey("id")) {
+ id = _json["id"];
}
- if (location != null) {
- _json["location"] = location;
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
}
- if (message != null) {
- _json["message"] = message;
+ if (_json.containsKey("name")) {
+ name = _json["name"];
}
- return _json;
- }
-}
-
-/**
- * [Output Only] If errors are generated during processing of the operation,
- * this field will be populated.
- */
-class OperationError {
- /**
- * [Output Only] The array of errors encountered while processing this
- * operation.
- */
- core.List<OperationErrorErrors> errors;
-
- OperationError();
-
- OperationError.fromJson(core.Map _json) {
- if (_json.containsKey("errors")) {
- errors = _json["errors"].map((value) => new OperationErrorErrors.fromJson(value)).toList();
+ if (_json.containsKey("quotas")) {
+ quotas = _json["quotas"].map((value) => new Quota.fromJson(value)).toList();
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ if (_json.containsKey("usageExportLocation")) {
+ usageExportLocation = new UsageExportLocation.fromJson(_json["usageExportLocation"]);
}
}
core.Map toJson() {
var _json = new core.Map();
- if (errors != null) {
- _json["errors"] = errors.map((value) => (value).toJson()).toList();
+ if (commonInstanceMetadata != null) {
+ _json["commonInstanceMetadata"] = (commonInstanceMetadata).toJson();
}
- return _json;
- }
-}
-
-class OperationWarningsData {
- /**
- * [Output Only] A key that provides more detail on the warning being
- * returned. For example, for warnings where there are no results in a list
- * request for a particular zone, this key might be scope and the key value
- * might be the zone name. Other examples might be a key indicating a
- * deprecated resource and a suggested replacement, or a warning about invalid
- * network settings (for example, if an instance attempts to perform IP
- * forwarding but is not enabled for IP forwarding).
- */
- core.String key;
- /** [Output Only] A warning data value corresponding to the key. */
- core.String value;
-
- OperationWarningsData();
-
- OperationWarningsData.fromJson(core.Map _json) {
- if (_json.containsKey("key")) {
- key = _json["key"];
+ if (creationTimestamp != null) {
+ _json["creationTimestamp"] = creationTimestamp;
}
- if (_json.containsKey("value")) {
- value = _json["value"];
+ if (defaultServiceAccount != null) {
+ _json["defaultServiceAccount"] = defaultServiceAccount;
}
- }
-
- core.Map toJson() {
- var _json = new core.Map();
- if (key != null) {
- _json["key"] = key;
+ if (description != null) {
+ _json["description"] = description;
}
- if (value != null) {
- _json["value"] = value;
+ if (enabledFeatures != null) {
+ _json["enabledFeatures"] = enabledFeatures;
+ }
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (quotas != null) {
+ _json["quotas"] = quotas.map((value) => (value).toJson()).toList();
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ if (usageExportLocation != null) {
+ _json["usageExportLocation"] = (usageExportLocation).toJson();
}
return _json;
}
}
-class OperationWarnings {
+/** A quotas entry. */
+class Quota {
+ /** [Output Only] Quota limit for this metric. */
+ core.double limit;
/**
- * [Output Only] A warning code, if applicable. For example, Compute Engine
- * returns NO_RESULTS_ON_PAGE if there are no results in the response.
+ * [Output Only] Name of the quota metric.
* Possible string values are:
- * - "CLEANUP_FAILED"
- * - "DEPRECATED_RESOURCE_USED"
- * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
- * - "FIELD_VALUE_OVERRIDEN"
- * - "INJECTED_KERNELS_DEPRECATED"
- * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
- * - "NEXT_HOP_CANNOT_IP_FORWARD"
- * - "NEXT_HOP_INSTANCE_NOT_FOUND"
- * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
- * - "NEXT_HOP_NOT_RUNNING"
- * - "NOT_CRITICAL_ERROR"
- * - "NO_RESULTS_ON_PAGE"
- * - "REQUIRED_TOS_AGREEMENT"
- * - "RESOURCE_NOT_DELETED"
- * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
- * - "UNREACHABLE"
- */
- core.String code;
- /**
- * [Output Only] Metadata about this warning in key: value format. For
- * example:
- * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
+ * - "AUTOSCALERS"
+ * - "BACKEND_SERVICES"
+ * - "CPUS"
+ * - "DISKS_TOTAL_GB"
+ * - "FIREWALLS"
+ * - "FORWARDING_RULES"
+ * - "HEALTH_CHECKS"
+ * - "IMAGES"
+ * - "INSTANCES"
+ * - "INSTANCE_GROUPS"
+ * - "INSTANCE_GROUP_MANAGERS"
+ * - "INSTANCE_TEMPLATES"
+ * - "IN_USE_ADDRESSES"
+ * - "LOCAL_SSD_TOTAL_GB"
+ * - "NETWORKS"
+ * - "PREEMPTIBLE_CPUS"
+ * - "REGIONAL_AUTOSCALERS"
+ * - "REGIONAL_INSTANCE_GROUP_MANAGERS"
+ * - "ROUTERS"
+ * - "ROUTES"
+ * - "SNAPSHOTS"
+ * - "SSD_TOTAL_GB"
+ * - "SSL_CERTIFICATES"
+ * - "STATIC_ADDRESSES"
+ * - "SUBNETWORKS"
+ * - "TARGET_HTTPS_PROXIES"
+ * - "TARGET_HTTP_PROXIES"
+ * - "TARGET_INSTANCES"
+ * - "TARGET_POOLS"
+ * - "TARGET_SSL_PROXIES"
+ * - "TARGET_VPN_GATEWAYS"
+ * - "TOTAL_CPUS"
+ * - "URL_MAPS"
+ * - "VPN_TUNNELS"
*/
- core.List<OperationWarningsData> data;
- /** [Output Only] A human-readable description of the warning code. */
- core.String message;
+ core.String metric;
+ /** [Output Only] Current usage of this metric. */
+ core.double usage;
- OperationWarnings();
+ Quota();
- OperationWarnings.fromJson(core.Map _json) {
- if (_json.containsKey("code")) {
- code = _json["code"];
+ Quota.fromJson(core.Map _json) {
+ if (_json.containsKey("limit")) {
+ limit = _json["limit"];
}
- if (_json.containsKey("data")) {
- data = _json["data"].map((value) => new OperationWarningsData.fromJson(value)).toList();
+ if (_json.containsKey("metric")) {
+ metric = _json["metric"];
}
- if (_json.containsKey("message")) {
- message = _json["message"];
+ if (_json.containsKey("usage")) {
+ usage = _json["usage"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (code != null) {
- _json["code"] = code;
+ if (limit != null) {
+ _json["limit"] = limit;
}
- if (data != null) {
- _json["data"] = data.map((value) => (value).toJson()).toList();
+ if (metric != null) {
+ _json["metric"] = metric;
}
- if (message != null) {
- _json["message"] = message;
+ if (usage != null) {
+ _json["usage"] = usage;
}
return _json;
}
}
-/** An Operation resource, used to manage asynchronous API requests. */
-class Operation {
- /** [Output Only] Reserved for future use. */
- core.String clientOperationId;
+/** Region resource. */
+class Region {
/** [Output Only] Creation timestamp in RFC3339 text format. */
core.String creationTimestamp;
- /**
- * [Output Only] A textual description of the operation, which is set when the
- * operation is created.
- */
+ /** [Output Only] The deprecation status associated with this region. */
+ DeprecationStatus deprecated;
+ /** [Output Only] Textual description of the resource. */
core.String description;
/**
- * [Output Only] The time that this operation was completed. This value is in
- * RFC3339 text format.
- */
- core.String endTime;
- /**
- * [Output Only] If errors are generated during processing of the operation,
- * this field will be populated.
- */
- OperationError error;
- /**
- * [Output Only] If the operation fails, this field contains the HTTP error
- * message that was returned, such as NOT FOUND.
- */
- core.String httpErrorMessage;
- /**
- * [Output Only] If the operation fails, this field contains the HTTP error
- * status code that was returned. For example, a 404 means the resource was
- * not found.
- */
- core.int httpErrorStatusCode;
- /**
* [Output Only] The unique identifier for the resource. This identifier is
* defined by the server.
*/
core.String id;
- /**
- * [Output Only] The time that this operation was requested. This value is in
- * RFC3339 text format.
- */
- core.String insertTime;
- /**
- * [Output Only] Type of the resource. Always compute#operation for Operation
- * resources.
- */
+ /** [Output Only] Type of the resource. Always compute#region for regions. */
core.String kind;
/** [Output Only] Name of the resource. */
core.String name;
- /**
- * [Output Only] The type of operation, such as insert, update, or delete, and
- * so on.
- */
- core.String operationType;
- /**
- * [Output Only] An optional progress indicator that ranges from 0 to 100.
- * There is no requirement that this be linear or support any granularity of
- * operations. This should not be used to guess when the operation will be
- * complete. This number should monotonically increase as the operation
- * progresses.
- */
- core.int progress;
- /**
- * [Output Only] The URL of the region where the operation resides. Only
- * available when performing regional operations.
- */
- core.String region;
+ /** [Output Only] Quotas assigned to this region. */
+ core.List<Quota> quotas;
/** [Output Only] Server-defined URL for the resource. */
core.String selfLink;
/**
- * [Output Only] The time that this operation was started by the server. This
- * value is in RFC3339 text format.
- */
- core.String startTime;
- /**
- * [Output Only] The status of the operation, which can be one of the
- * following: PENDING, RUNNING, or DONE.
+ * [Output Only] Status of the region, either UP or DOWN.
* Possible string values are:
- * - "DONE"
- * - "PENDING"
- * - "RUNNING"
+ * - "DOWN"
+ * - "UP"
*/
core.String status;
/**
- * [Output Only] An optional textual description of the current status of the
- * operation.
- */
- core.String statusMessage;
- /**
- * [Output Only] The unique target ID, which identifies a specific incarnation
- * of the target resource.
- */
- core.String targetId;
- /**
- * [Output Only] The URL of the resource that the operation modifies. For
- * operations related to creating a snapshot, this points to the persistent
- * disk that the snapshot was created from.
- */
- core.String targetLink;
- /**
- * [Output Only] User who requested the operation, for example:
- * user@example.com.
- */
- core.String user;
- /**
- * [Output Only] If warning messages are generated during processing of the
- * operation, this field will be populated.
- */
- core.List<OperationWarnings> warnings;
- /**
- * [Output Only] The URL of the zone where the operation resides. Only
- * available when performing per-zone operations.
+ * [Output Only] A list of zones available in this region, in the form of
+ * resource URLs.
*/
- core.String zone;
+ core.List<core.String> zones;
- Operation();
+ Region();
- Operation.fromJson(core.Map _json) {
- if (_json.containsKey("clientOperationId")) {
- clientOperationId = _json["clientOperationId"];
- }
+ Region.fromJson(core.Map _json) {
if (_json.containsKey("creationTimestamp")) {
creationTimestamp = _json["creationTimestamp"];
}
+ if (_json.containsKey("deprecated")) {
+ deprecated = new DeprecationStatus.fromJson(_json["deprecated"]);
+ }
if (_json.containsKey("description")) {
description = _json["description"];
}
- if (_json.containsKey("endTime")) {
- endTime = _json["endTime"];
- }
- if (_json.containsKey("error")) {
- error = new OperationError.fromJson(_json["error"]);
- }
- if (_json.containsKey("httpErrorMessage")) {
- httpErrorMessage = _json["httpErrorMessage"];
- }
- if (_json.containsKey("httpErrorStatusCode")) {
- httpErrorStatusCode = _json["httpErrorStatusCode"];
- }
if (_json.containsKey("id")) {
id = _json["id"];
}
- if (_json.containsKey("insertTime")) {
- insertTime = _json["insertTime"];
- }
if (_json.containsKey("kind")) {
kind = _json["kind"];
}
if (_json.containsKey("name")) {
name = _json["name"];
}
- if (_json.containsKey("operationType")) {
- operationType = _json["operationType"];
- }
- if (_json.containsKey("progress")) {
- progress = _json["progress"];
- }
- if (_json.containsKey("region")) {
- region = _json["region"];
+ if (_json.containsKey("quotas")) {
+ quotas = _json["quotas"].map((value) => new Quota.fromJson(value)).toList();
}
if (_json.containsKey("selfLink")) {
selfLink = _json["selfLink"];
}
- if (_json.containsKey("startTime")) {
- startTime = _json["startTime"];
- }
if (_json.containsKey("status")) {
status = _json["status"];
}
- if (_json.containsKey("statusMessage")) {
- statusMessage = _json["statusMessage"];
- }
- if (_json.containsKey("targetId")) {
- targetId = _json["targetId"];
- }
- if (_json.containsKey("targetLink")) {
- targetLink = _json["targetLink"];
- }
- if (_json.containsKey("user")) {
- user = _json["user"];
- }
- if (_json.containsKey("warnings")) {
- warnings = _json["warnings"].map((value) => new OperationWarnings.fromJson(value)).toList();
- }
- if (_json.containsKey("zone")) {
- zone = _json["zone"];
+ if (_json.containsKey("zones")) {
+ zones = _json["zones"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (clientOperationId != null) {
- _json["clientOperationId"] = clientOperationId;
- }
if (creationTimestamp != null) {
_json["creationTimestamp"] = creationTimestamp;
}
+ if (deprecated != null) {
+ _json["deprecated"] = (deprecated).toJson();
+ }
if (description != null) {
_json["description"] = description;
}
- if (endTime != null) {
- _json["endTime"] = endTime;
- }
- if (error != null) {
- _json["error"] = (error).toJson();
- }
- if (httpErrorMessage != null) {
- _json["httpErrorMessage"] = httpErrorMessage;
- }
- if (httpErrorStatusCode != null) {
- _json["httpErrorStatusCode"] = httpErrorStatusCode;
- }
if (id != null) {
_json["id"] = id;
}
- if (insertTime != null) {
- _json["insertTime"] = insertTime;
- }
if (kind != null) {
_json["kind"] = kind;
}
if (name != null) {
_json["name"] = name;
}
- if (operationType != null) {
- _json["operationType"] = operationType;
- }
- if (progress != null) {
- _json["progress"] = progress;
- }
- if (region != null) {
- _json["region"] = region;
+ if (quotas != null) {
+ _json["quotas"] = quotas.map((value) => (value).toJson()).toList();
}
if (selfLink != null) {
_json["selfLink"] = selfLink;
}
- if (startTime != null) {
- _json["startTime"] = startTime;
- }
if (status != null) {
_json["status"] = status;
}
- if (statusMessage != null) {
- _json["statusMessage"] = statusMessage;
+ if (zones != null) {
+ _json["zones"] = zones;
}
- if (targetId != null) {
- _json["targetId"] = targetId;
+ return _json;
+ }
+}
+
+/** Contains a list of autoscalers. */
+class RegionAutoscalerList {
+ /**
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
+ */
+ core.String id;
+ /** A list of autoscalers. */
+ core.List<Autoscaler> items;
+ /** Type of resource. */
+ core.String kind;
+ /** [Output Only] A token used to continue a truncated list request. */
+ core.String nextPageToken;
+ /** [Output Only] Server-defined URL for this resource. */
+ core.String selfLink;
+
+ RegionAutoscalerList();
+
+ RegionAutoscalerList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
}
- if (targetLink != null) {
- _json["targetLink"] = targetLink;
+ if (_json.containsKey("items")) {
+ items = _json["items"].map((value) => new Autoscaler.fromJson(value)).toList();
}
- if (user != null) {
- _json["user"] = user;
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
}
- if (warnings != null) {
- _json["warnings"] = warnings.map((value) => (value).toJson()).toList();
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
}
- if (zone != null) {
- _json["zone"] = zone;
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (items != null) {
+ _json["items"] = items.map((value) => (value).toJson()).toList();
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
return _json;
}
}
-class OperationAggregatedList {
+/** Contains a list of InstanceGroup resources. */
+class RegionInstanceGroupList {
/**
* [Output Only] The unique identifier for the resource. This identifier is
* defined by the server.
*/
core.String id;
- /** [Output Only] A map of scoped operation lists. */
- core.Map<core.String, OperationsScopedList> items;
- /**
- * [Output Only] Type of resource. Always compute#operationAggregatedList for
- * aggregated lists of operations.
- */
+ /** A list of InstanceGroup resources. */
+ core.List<InstanceGroup> items;
+ /** The resource type. */
core.String kind;
/**
* [Output Only] This token allows you to get the next page of results for
@@ -23807,17 +26759,20 @@ class OperationAggregatedList {
* continue paging through the results.
*/
core.String nextPageToken;
- /** [Output Only] Server-defined URL for this resource. */
+ /**
+ * [Output Only] The URL for this resource type. The server generates this
+ * URL.
+ */
core.String selfLink;
- OperationAggregatedList();
+ RegionInstanceGroupList();
- OperationAggregatedList.fromJson(core.Map _json) {
+ RegionInstanceGroupList.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
if (_json.containsKey("items")) {
- items = commons.mapMap(_json["items"], (item) => new OperationsScopedList.fromJson(item));
+ items = _json["items"].map((value) => new InstanceGroup.fromJson(value)).toList();
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
@@ -23836,7 +26791,7 @@ class OperationAggregatedList {
_json["id"] = id;
}
if (items != null) {
- _json["items"] = commons.mapMap(items, (item) => (item).toJson());
+ _json["items"] = items.map((value) => (value).toJson()).toList();
}
if (kind != null) {
_json["kind"] = kind;
@@ -23851,39 +26806,37 @@ class OperationAggregatedList {
}
}
-/** Contains a list of Operation resources. */
-class OperationList {
+/** Contains a list of managed instance groups. */
+class RegionInstanceGroupManagerList {
/**
* [Output Only] The unique identifier for the resource. This identifier is
* defined by the server.
*/
core.String id;
- /** [Output Only] A list of Operation resources. */
- core.List<Operation> items;
+ /** A list of managed instance groups. */
+ core.List<InstanceGroupManager> items;
/**
- * [Output Only] Type of resource. Always compute#operations for Operations
- * resource.
+ * [Output Only] The resource type, which is always
+ * compute#instanceGroupManagerList for a list of managed instance groups that
+ * exist in th regional scope.
*/
core.String kind;
+ /** [Output only] A token used to continue a truncated list request. */
+ core.String nextPageToken;
/**
- * [Output Only] This token allows you to get the next page of results for
- * list requests. If the number of results is larger than maxResults, use the
- * nextPageToken as a value for the query parameter pageToken in the next list
- * request. Subsequent list requests will have their own nextPageToken to
- * continue paging through the results.
+ * [Output only] The URL for this resource type. The server generates this
+ * URL.
*/
- core.String nextPageToken;
- /** [Output Only] Server-defined URL for this resource. */
core.String selfLink;
- OperationList();
+ RegionInstanceGroupManagerList();
- OperationList.fromJson(core.Map _json) {
+ RegionInstanceGroupManagerList.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new Operation.fromJson(value)).toList();
+ items = _json["items"].map((value) => new InstanceGroupManager.fromJson(value)).toList();
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
@@ -23917,536 +26870,299 @@ class OperationList {
}
}
-class OperationsScopedListWarningData {
- /**
- * [Output Only] A key that provides more detail on the warning being
- * returned. For example, for warnings where there are no results in a list
- * request for a particular zone, this key might be scope and the key value
- * might be the zone name. Other examples might be a key indicating a
- * deprecated resource and a suggested replacement, or a warning about invalid
- * network settings (for example, if an instance attempts to perform IP
- * forwarding but is not enabled for IP forwarding).
- */
- core.String key;
- /** [Output Only] A warning data value corresponding to the key. */
- core.String value;
+class RegionInstanceGroupManagersAbandonInstancesRequest {
+ /** The names of one or more instances to abandon. */
+ core.List<core.String> instances;
- OperationsScopedListWarningData();
+ RegionInstanceGroupManagersAbandonInstancesRequest();
- OperationsScopedListWarningData.fromJson(core.Map _json) {
- if (_json.containsKey("key")) {
- key = _json["key"];
- }
- if (_json.containsKey("value")) {
- value = _json["value"];
+ RegionInstanceGroupManagersAbandonInstancesRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("instances")) {
+ instances = _json["instances"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (key != null) {
- _json["key"] = key;
- }
- if (value != null) {
- _json["value"] = value;
+ if (instances != null) {
+ _json["instances"] = instances;
}
return _json;
}
}
-/**
- * [Output Only] Informational warning which replaces the list of operations
- * when the list is empty.
- */
-class OperationsScopedListWarning {
- /**
- * [Output Only] A warning code, if applicable. For example, Compute Engine
- * returns NO_RESULTS_ON_PAGE if there are no results in the response.
- * Possible string values are:
- * - "CLEANUP_FAILED"
- * - "DEPRECATED_RESOURCE_USED"
- * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
- * - "FIELD_VALUE_OVERRIDEN"
- * - "INJECTED_KERNELS_DEPRECATED"
- * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
- * - "NEXT_HOP_CANNOT_IP_FORWARD"
- * - "NEXT_HOP_INSTANCE_NOT_FOUND"
- * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
- * - "NEXT_HOP_NOT_RUNNING"
- * - "NOT_CRITICAL_ERROR"
- * - "NO_RESULTS_ON_PAGE"
- * - "REQUIRED_TOS_AGREEMENT"
- * - "RESOURCE_NOT_DELETED"
- * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
- * - "UNREACHABLE"
- */
- core.String code;
- /**
- * [Output Only] Metadata about this warning in key: value format. For
- * example:
- * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
- */
- core.List<OperationsScopedListWarningData> data;
- /** [Output Only] A human-readable description of the warning code. */
- core.String message;
+class RegionInstanceGroupManagersDeleteInstancesRequest {
+ /** The names of one or more instances to delete. */
+ core.List<core.String> instances;
- OperationsScopedListWarning();
+ RegionInstanceGroupManagersDeleteInstancesRequest();
- OperationsScopedListWarning.fromJson(core.Map _json) {
- if (_json.containsKey("code")) {
- code = _json["code"];
- }
- if (_json.containsKey("data")) {
- data = _json["data"].map((value) => new OperationsScopedListWarningData.fromJson(value)).toList();
- }
- if (_json.containsKey("message")) {
- message = _json["message"];
+ RegionInstanceGroupManagersDeleteInstancesRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("instances")) {
+ instances = _json["instances"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (code != null) {
- _json["code"] = code;
+ if (instances != null) {
+ _json["instances"] = instances;
}
- if (data != null) {
- _json["data"] = data.map((value) => (value).toJson()).toList();
+ return _json;
+ }
+}
+
+class RegionInstanceGroupManagersListInstancesResponse {
+ /** List of managed instances. */
+ core.List<ManagedInstance> managedInstances;
+
+ RegionInstanceGroupManagersListInstancesResponse();
+
+ RegionInstanceGroupManagersListInstancesResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("managedInstances")) {
+ managedInstances = _json["managedInstances"].map((value) => new ManagedInstance.fromJson(value)).toList();
}
- if (message != null) {
- _json["message"] = message;
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (managedInstances != null) {
+ _json["managedInstances"] = managedInstances.map((value) => (value).toJson()).toList();
}
return _json;
}
}
-class OperationsScopedList {
- /** [Output Only] List of operations contained in this scope. */
- core.List<Operation> operations;
- /**
- * [Output Only] Informational warning which replaces the list of operations
- * when the list is empty.
- */
- OperationsScopedListWarning warning;
+class RegionInstanceGroupManagersRecreateRequest {
+ /** The URL for one or more instances to recreate. */
+ core.List<core.String> instances;
- OperationsScopedList();
+ RegionInstanceGroupManagersRecreateRequest();
- OperationsScopedList.fromJson(core.Map _json) {
- if (_json.containsKey("operations")) {
- operations = _json["operations"].map((value) => new Operation.fromJson(value)).toList();
- }
- if (_json.containsKey("warning")) {
- warning = new OperationsScopedListWarning.fromJson(_json["warning"]);
+ RegionInstanceGroupManagersRecreateRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("instances")) {
+ instances = _json["instances"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (operations != null) {
- _json["operations"] = operations.map((value) => (value).toJson()).toList();
- }
- if (warning != null) {
- _json["warning"] = (warning).toJson();
+ if (instances != null) {
+ _json["instances"] = instances;
}
return _json;
}
}
-/**
- * A matcher for the path portion of the URL. The BackendService from the
- * longest-matched rule will serve the URL. If no rule was matched, the default
- * service will be used.
- */
-class PathMatcher {
+class RegionInstanceGroupManagersSetTargetPoolsRequest {
/**
- * The full or partial URL to the BackendService resource. This will be used
- * if none of the pathRules defined by this PathMatcher is matched by the
- * URL's path portion. For example, the following are all valid URLs to a
- * BackendService resource:
- * -
- * https://www.googleapis.com/compute/v1/projects/project/global/backendServices/backendService
- * - compute/v1/projects/project/global/backendServices/backendService
- * - global/backendServices/backendService
+ * Fingerprint of the target pools information, which is a hash of the
+ * contents. This field is used for optimistic locking when you update the
+ * target pool entries. This field is optional.
*/
- core.String defaultService;
+ core.String fingerprint;
+ core.List<core.int> get fingerprintAsBytes {
+ return convert.BASE64.decode(fingerprint);
+ }
+
+ void set fingerprintAsBytes(core.List<core.int> _bytes) {
+ fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-");
+ }
/**
- * An optional description of this resource. Provide this property when you
- * create the resource.
+ * The URL of all TargetPool resources to which instances in the instanceGroup
+ * field are added. The target pools automatically apply to all of the
+ * instances in the managed instance group.
*/
- core.String description;
- /** The name to which this PathMatcher is referred by the HostRule. */
- core.String name;
- /** The list of path rules. */
- core.List<PathRule> pathRules;
+ core.List<core.String> targetPools;
- PathMatcher();
+ RegionInstanceGroupManagersSetTargetPoolsRequest();
- PathMatcher.fromJson(core.Map _json) {
- if (_json.containsKey("defaultService")) {
- defaultService = _json["defaultService"];
- }
- if (_json.containsKey("description")) {
- description = _json["description"];
- }
- if (_json.containsKey("name")) {
- name = _json["name"];
+ RegionInstanceGroupManagersSetTargetPoolsRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("fingerprint")) {
+ fingerprint = _json["fingerprint"];
}
- if (_json.containsKey("pathRules")) {
- pathRules = _json["pathRules"].map((value) => new PathRule.fromJson(value)).toList();
+ if (_json.containsKey("targetPools")) {
+ targetPools = _json["targetPools"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (defaultService != null) {
- _json["defaultService"] = defaultService;
- }
- if (description != null) {
- _json["description"] = description;
- }
- if (name != null) {
- _json["name"] = name;
+ if (fingerprint != null) {
+ _json["fingerprint"] = fingerprint;
}
- if (pathRules != null) {
- _json["pathRules"] = pathRules.map((value) => (value).toJson()).toList();
+ if (targetPools != null) {
+ _json["targetPools"] = targetPools;
}
return _json;
}
}
-/**
- * A path-matching rule for a URL. If matched, will use the specified
- * BackendService to handle the traffic arriving at this URL.
- */
-class PathRule {
+class RegionInstanceGroupManagersSetTemplateRequest {
/**
- * The list of path patterns to match. Each must start with / and the only
- * place a * is allowed is at the end following a /. The string fed to the
- * path matcher does not include any text after the first ? or #, and those
- * chars are not allowed here.
+ * URL of the InstanceTemplate resource from which all new instances will be
+ * created.
*/
- core.List<core.String> paths;
- /** The URL of the BackendService resource if this rule is matched. */
- core.String service;
+ core.String instanceTemplate;
- PathRule();
+ RegionInstanceGroupManagersSetTemplateRequest();
- PathRule.fromJson(core.Map _json) {
- if (_json.containsKey("paths")) {
- paths = _json["paths"];
- }
- if (_json.containsKey("service")) {
- service = _json["service"];
+ RegionInstanceGroupManagersSetTemplateRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("instanceTemplate")) {
+ instanceTemplate = _json["instanceTemplate"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (paths != null) {
- _json["paths"] = paths;
- }
- if (service != null) {
- _json["service"] = service;
+ if (instanceTemplate != null) {
+ _json["instanceTemplate"] = instanceTemplate;
}
return _json;
}
}
-/**
- * A Project resource. Projects can only be created in the Google Cloud Platform
- * Console. Unless marked otherwise, values can only be modified in the console.
- */
-class Project {
+class RegionInstanceGroupsListInstances {
/**
- * Metadata key/value pairs available to all instances contained in this
- * project. See Custom metadata for more information.
- */
- Metadata commonInstanceMetadata;
- /** [Output Only] Creation timestamp in RFC3339 text format. */
- core.String creationTimestamp;
- /**
- * [Output Only] Default service account used by VMs running in this project.
- */
- core.String defaultServiceAccount;
- /** An optional textual description of the resource. */
- core.String description;
- /** Restricted features enabled for use on this project. */
- core.List<core.String> enabledFeatures;
- /**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server. This is not the project ID, and is just a unique ID
- * used by Compute Engine to identify resources.
+ * [Output Only] Unique identifier for the resource. Defined by the server.
*/
core.String id;
/**
- * [Output Only] Type of the resource. Always compute#project for projects.
+ * A list of instances and any named ports that are assigned to those
+ * instances.
*/
+ core.List<InstanceWithNamedPorts> items;
+ /** The resource type. */
core.String kind;
/**
- * The project ID. For example: my-example-project. Use the project ID to make
- * requests to Compute Engine.
+ * [Output Only] This token allows you to get the next page of results for
+ * list requests. If the number of results is larger than maxResults, use the
+ * nextPageToken as a value for the query parameter pageToken in the next list
+ * request. Subsequent list requests will have their own nextPageToken to
+ * continue paging through the results.
*/
- core.String name;
- /** [Output Only] Quotas assigned to this project. */
- core.List<Quota> quotas;
+ core.String nextPageToken;
/** [Output Only] Server-defined URL for the resource. */
core.String selfLink;
- /**
- * The naming prefix for daily usage reports and the Google Cloud Storage
- * bucket where they are stored.
- */
- UsageExportLocation usageExportLocation;
- Project();
+ RegionInstanceGroupsListInstances();
- Project.fromJson(core.Map _json) {
- if (_json.containsKey("commonInstanceMetadata")) {
- commonInstanceMetadata = new Metadata.fromJson(_json["commonInstanceMetadata"]);
- }
- if (_json.containsKey("creationTimestamp")) {
- creationTimestamp = _json["creationTimestamp"];
- }
- if (_json.containsKey("defaultServiceAccount")) {
- defaultServiceAccount = _json["defaultServiceAccount"];
- }
- if (_json.containsKey("description")) {
- description = _json["description"];
- }
- if (_json.containsKey("enabledFeatures")) {
- enabledFeatures = _json["enabledFeatures"];
- }
+ RegionInstanceGroupsListInstances.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
+ if (_json.containsKey("items")) {
+ items = _json["items"].map((value) => new InstanceWithNamedPorts.fromJson(value)).toList();
+ }
if (_json.containsKey("kind")) {
kind = _json["kind"];
}
- if (_json.containsKey("name")) {
- name = _json["name"];
- }
- if (_json.containsKey("quotas")) {
- quotas = _json["quotas"].map((value) => new Quota.fromJson(value)).toList();
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
}
if (_json.containsKey("selfLink")) {
selfLink = _json["selfLink"];
}
- if (_json.containsKey("usageExportLocation")) {
- usageExportLocation = new UsageExportLocation.fromJson(_json["usageExportLocation"]);
- }
}
core.Map toJson() {
var _json = new core.Map();
- if (commonInstanceMetadata != null) {
- _json["commonInstanceMetadata"] = (commonInstanceMetadata).toJson();
- }
- if (creationTimestamp != null) {
- _json["creationTimestamp"] = creationTimestamp;
- }
- if (defaultServiceAccount != null) {
- _json["defaultServiceAccount"] = defaultServiceAccount;
- }
- if (description != null) {
- _json["description"] = description;
- }
- if (enabledFeatures != null) {
- _json["enabledFeatures"] = enabledFeatures;
- }
if (id != null) {
_json["id"] = id;
}
+ if (items != null) {
+ _json["items"] = items.map((value) => (value).toJson()).toList();
+ }
if (kind != null) {
_json["kind"] = kind;
}
- if (name != null) {
- _json["name"] = name;
- }
- if (quotas != null) {
- _json["quotas"] = quotas.map((value) => (value).toJson()).toList();
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
}
if (selfLink != null) {
_json["selfLink"] = selfLink;
}
- if (usageExportLocation != null) {
- _json["usageExportLocation"] = (usageExportLocation).toJson();
- }
return _json;
}
}
-/** A quotas entry. */
-class Quota {
- /** [Output Only] Quota limit for this metric. */
- core.double limit;
+class RegionInstanceGroupsListInstancesRequest {
/**
- * [Output Only] Name of the quota metric.
+ * Instances in which state should be returned. Valid options are: 'ALL',
+ * 'RUNNING'. By default, it lists all instances.
* Possible string values are:
- * - "AUTOSCALERS"
- * - "BACKEND_SERVICES"
- * - "CPUS"
- * - "DISKS_TOTAL_GB"
- * - "FIREWALLS"
- * - "FORWARDING_RULES"
- * - "HEALTH_CHECKS"
- * - "IMAGES"
- * - "INSTANCES"
- * - "INSTANCE_GROUPS"
- * - "INSTANCE_GROUP_MANAGERS"
- * - "INSTANCE_TEMPLATES"
- * - "IN_USE_ADDRESSES"
- * - "LOCAL_SSD_TOTAL_GB"
- * - "NETWORKS"
- * - "PREEMPTIBLE_CPUS"
- * - "REGIONAL_AUTOSCALERS"
- * - "REGIONAL_INSTANCE_GROUP_MANAGERS"
- * - "ROUTERS"
- * - "ROUTES"
- * - "SNAPSHOTS"
- * - "SSD_TOTAL_GB"
- * - "SSL_CERTIFICATES"
- * - "STATIC_ADDRESSES"
- * - "SUBNETWORKS"
- * - "TARGET_HTTPS_PROXIES"
- * - "TARGET_HTTP_PROXIES"
- * - "TARGET_INSTANCES"
- * - "TARGET_POOLS"
- * - "TARGET_SSL_PROXIES"
- * - "TARGET_VPN_GATEWAYS"
- * - "URL_MAPS"
- * - "VPN_TUNNELS"
+ * - "ALL"
+ * - "RUNNING"
*/
- core.String metric;
- /** [Output Only] Current usage of this metric. */
- core.double usage;
+ core.String instanceState;
+ /**
+ * Name of port user is interested in. It is optional. If it is set, only
+ * information about this ports will be returned. If it is not set, all the
+ * named ports will be returned. Always lists all instances.
+ */
+ core.String portName;
- Quota();
+ RegionInstanceGroupsListInstancesRequest();
- Quota.fromJson(core.Map _json) {
- if (_json.containsKey("limit")) {
- limit = _json["limit"];
- }
- if (_json.containsKey("metric")) {
- metric = _json["metric"];
+ RegionInstanceGroupsListInstancesRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("instanceState")) {
+ instanceState = _json["instanceState"];
}
- if (_json.containsKey("usage")) {
- usage = _json["usage"];
+ if (_json.containsKey("portName")) {
+ portName = _json["portName"];
}
}
core.Map toJson() {
var _json = new core.Map();
- if (limit != null) {
- _json["limit"] = limit;
- }
- if (metric != null) {
- _json["metric"] = metric;
+ if (instanceState != null) {
+ _json["instanceState"] = instanceState;
}
- if (usage != null) {
- _json["usage"] = usage;
+ if (portName != null) {
+ _json["portName"] = portName;
}
return _json;
}
}
-/** Region resource. */
-class Region {
- /** [Output Only] Creation timestamp in RFC3339 text format. */
- core.String creationTimestamp;
- /** [Output Only] The deprecation status associated with this region. */
- DeprecationStatus deprecated;
- /** [Output Only] Textual description of the resource. */
- core.String description;
- /**
- * [Output Only] The unique identifier for the resource. This identifier is
- * defined by the server.
- */
- core.String id;
- /** [Output Only] Type of the resource. Always compute#region for regions. */
- core.String kind;
- /** [Output Only] Name of the resource. */
- core.String name;
- /** [Output Only] Quotas assigned to this region. */
- core.List<Quota> quotas;
- /** [Output Only] Server-defined URL for the resource. */
- core.String selfLink;
- /**
- * [Output Only] Status of the region, either UP or DOWN.
- * Possible string values are:
- * - "DOWN"
- * - "UP"
- */
- core.String status;
+class RegionInstanceGroupsSetNamedPortsRequest {
/**
- * [Output Only] A list of zones available in this region, in the form of
- * resource URLs.
+ * The fingerprint of the named ports information for this instance group. Use
+ * this optional property to prevent conflicts when multiple users change the
+ * named ports settings concurrently. Obtain the fingerprint with the
+ * instanceGroups.get method. Then, include the fingerprint in your request to
+ * ensure that you do not overwrite changes that were applied from another
+ * concurrent request.
*/
- core.List<core.String> zones;
+ core.String fingerprint;
+ core.List<core.int> get fingerprintAsBytes {
+ return convert.BASE64.decode(fingerprint);
+ }
- Region();
+ void set fingerprintAsBytes(core.List<core.int> _bytes) {
+ fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-");
+ }
+ /** The list of named ports to set for this instance group. */
+ core.List<NamedPort> namedPorts;
- Region.fromJson(core.Map _json) {
- if (_json.containsKey("creationTimestamp")) {
- creationTimestamp = _json["creationTimestamp"];
- }
- if (_json.containsKey("deprecated")) {
- deprecated = new DeprecationStatus.fromJson(_json["deprecated"]);
- }
- if (_json.containsKey("description")) {
- description = _json["description"];
- }
- if (_json.containsKey("id")) {
- id = _json["id"];
- }
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
- }
- if (_json.containsKey("name")) {
- name = _json["name"];
- }
- if (_json.containsKey("quotas")) {
- quotas = _json["quotas"].map((value) => new Quota.fromJson(value)).toList();
- }
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
- }
- if (_json.containsKey("status")) {
- status = _json["status"];
+ RegionInstanceGroupsSetNamedPortsRequest();
+
+ RegionInstanceGroupsSetNamedPortsRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("fingerprint")) {
+ fingerprint = _json["fingerprint"];
}
- if (_json.containsKey("zones")) {
- zones = _json["zones"];
+ if (_json.containsKey("namedPorts")) {
+ namedPorts = _json["namedPorts"].map((value) => new NamedPort.fromJson(value)).toList();
}
}
core.Map toJson() {
var _json = new core.Map();
- if (creationTimestamp != null) {
- _json["creationTimestamp"] = creationTimestamp;
- }
- if (deprecated != null) {
- _json["deprecated"] = (deprecated).toJson();
- }
- if (description != null) {
- _json["description"] = description;
- }
- if (id != null) {
- _json["id"] = id;
- }
- if (kind != null) {
- _json["kind"] = kind;
- }
- if (name != null) {
- _json["name"] = name;
- }
- if (quotas != null) {
- _json["quotas"] = quotas.map((value) => (value).toJson()).toList();
- }
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
- }
- if (status != null) {
- _json["status"] = status;
+ if (fingerprint != null) {
+ _json["fingerprint"] = fingerprint;
}
- if (zones != null) {
- _json["zones"] = zones;
+ if (namedPorts != null) {
+ _json["namedPorts"] = namedPorts.map((value) => (value).toJson()).toList();
}
return _json;
}
@@ -25743,8 +28459,20 @@ class SerialPortOutput {
* serial port output.
*/
core.String kind;
+ /**
+ * [Output Only] The position of the next byte of content from the serial
+ * console output. Use this value in the next request as the start parameter.
+ */
+ core.String next;
/** [Output Only] Server-defined URL for this resource. */
core.String selfLink;
+ /**
+ * [Output Only] The starting byte position of the output that was returned.
+ * This should match the start parameter sent with the request. If the serial
+ * console output exceeds the size of the buffer, older output will be
+ * overwritten by newer content and the start values will be mismatched.
+ */
+ core.String start;
SerialPortOutput();
@@ -25755,9 +28483,15 @@ class SerialPortOutput {
if (_json.containsKey("kind")) {
kind = _json["kind"];
}
+ if (_json.containsKey("next")) {
+ next = _json["next"];
+ }
if (_json.containsKey("selfLink")) {
selfLink = _json["selfLink"];
}
+ if (_json.containsKey("start")) {
+ start = _json["start"];
+ }
}
core.Map toJson() {
@@ -25768,9 +28502,15 @@ class SerialPortOutput {
if (kind != null) {
_json["kind"] = kind;
}
+ if (next != null) {
+ _json["next"] = next;
+ }
if (selfLink != null) {
_json["selfLink"] = selfLink;
}
+ if (start != null) {
+ _json["start"] = start;
+ }
return _json;
}
}
@@ -26105,8 +28845,8 @@ class SslCertificate {
*/
core.String name;
/**
- * A write-only private key in PEM format. Only insert RPCs will include this
- * field.
+ * A write-only private key in PEM format. Only insert requests will include
+ * this field.
*/
core.String privateKey;
/** [Output only] Server-defined URL for the resource. */
@@ -27587,6 +30327,7 @@ class TargetPool {
* remains healthy.
* Possible string values are:
* - "CLIENT_IP"
+ * - "CLIENT_IP_PORT_PROTO"
* - "CLIENT_IP_PROTO"
* - "GENERATED_COOKIE"
* - "NONE"
« no previous file with comments | « generated/googleapis/lib/cloudresourcemanager/v1.dart ('k') | generated/googleapis/lib/content/v2.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698