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

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

Issue 2973303002: Api-Roll 51: 2017-07-10 (Closed)
Patch Set: Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
Download patch
« no previous file with comments | « generated/googleapis/lib/cloudtrace/v2.dart ('k') | generated/googleapis/lib/container/v1.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 5fc0327af57a70016de068c1544bd2f8cb80a4ab..c748a6118604dc44ca4f22f8f8348e2111134c55 100644
--- a/generated/googleapis/lib/compute/v1.dart
+++ b/generated/googleapis/lib/compute/v1.dart
@@ -37,6 +37,7 @@ class ComputeApi {
final commons.ApiRequester _requester;
+ AcceleratorTypesResourceApi get acceleratorTypes => new AcceleratorTypesResourceApi(_requester);
AddressesResourceApi get addresses => new AddressesResourceApi(_requester);
AutoscalersResourceApi get autoscalers => new AutoscalersResourceApi(_requester);
BackendBucketsResourceApi get backendBuckets => new BackendBucketsResourceApi(_requester);
@@ -62,6 +63,7 @@ class ComputeApi {
ProjectsResourceApi get projects => new ProjectsResourceApi(_requester);
RegionAutoscalersResourceApi get regionAutoscalers => new RegionAutoscalersResourceApi(_requester);
RegionBackendServicesResourceApi get regionBackendServices => new RegionBackendServicesResourceApi(_requester);
+ RegionCommitmentsResourceApi get regionCommitments => new RegionCommitmentsResourceApi(_requester);
RegionInstanceGroupManagersResourceApi get regionInstanceGroupManagers => new RegionInstanceGroupManagersResourceApi(_requester);
RegionInstanceGroupsResourceApi get regionInstanceGroups => new RegionInstanceGroupsResourceApi(_requester);
RegionOperationsResourceApi get regionOperations => new RegionOperationsResourceApi(_requester);
@@ -88,6 +90,273 @@ class ComputeApi {
}
+class AcceleratorTypesResourceApi {
+ final commons.ApiRequester _requester;
+
+ AcceleratorTypesResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Retrieves an aggregated list of accelerator types.
+ *
+ * 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. 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 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. Acceptable values are 0 to
+ * 500, inclusive. (Default: 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 [AcceleratorTypeAggregatedList].
+ *
+ * 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<AcceleratorTypeAggregatedList> 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/acceleratorTypes';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new AcceleratorTypeAggregatedList.fromJson(data));
+ }
+
+ /**
+ * Returns the specified accelerator type. Get a list of available accelerator
+ * types 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] - The name of the zone for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [acceleratorType] - Name of the accelerator type to return.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [AcceleratorType].
+ *
+ * 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<AcceleratorType> get(core.String project, core.String zone, core.String acceleratorType) {
+ 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 (acceleratorType == null) {
+ throw new core.ArgumentError("Parameter acceleratorType is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/acceleratorTypes/' + commons.Escaper.ecapeVariable('$acceleratorType');
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new AcceleratorType.fromJson(data));
+ }
+
+ /**
+ * Retrieves a list of accelerator types 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])?))".
+ *
+ * [zone] - The name of the zone 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. 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 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. Acceptable values are 0 to
+ * 500, inclusive. (Default: 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 [AcceleratorTypeList].
+ *
+ * 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<AcceleratorTypeList> 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') + '/acceleratorTypes';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new AcceleratorTypeList.fromJson(data));
+ }
+
+}
+
+
class AddressesResourceApi {
final commons.ApiRequester _requester;
@@ -832,7 +1101,8 @@ class AutoscalersResourceApi {
/**
* Updates an autoscaler in the specified project using the data included in
- * the request. This method supports patch semantics.
+ * the request. This method supports PATCH semantics and uses the JSON merge
+ * patch format and processing rules.
*
* [request] - The metadata request object.
*
@@ -1201,7 +1471,8 @@ class BackendBucketsResourceApi {
/**
* Updates the specified BackendBucket resource with the data included in the
- * request. This method supports patch semantics.
+ * request. This method supports PATCH semantics and uses the JSON merge patch
+ * format and processing rules.
*
* [request] - The metadata request object.
*
@@ -1715,7 +1986,8 @@ class BackendServicesResourceApi {
* Patches the specified 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.
+ * information. This method supports PATCH semantics and uses the JSON merge
+ * patch format and processing rules.
*
* [request] - The metadata request object.
*
@@ -4553,7 +4825,8 @@ class HealthChecksResourceApi {
/**
* Updates a HealthCheck resource in the specified project using the data
- * included in the request. This method supports patch semantics.
+ * included in the request. This method supports PATCH semantics and uses the
+ * JSON merge patch format and processing rules.
*
* [request] - The metadata request object.
*
@@ -4910,7 +5183,8 @@ class HttpHealthChecksResourceApi {
/**
* Updates a HttpHealthCheck resource in the specified project using the data
- * included in the request. This method supports patch semantics.
+ * included in the request. This method supports PATCH semantics and uses the
+ * JSON merge patch format and processing rules.
*
* [request] - The metadata request object.
*
@@ -5267,7 +5541,8 @@ class HttpsHealthChecksResourceApi {
/**
* Updates a HttpsHealthCheck resource in the specified project using the data
- * included in the request. This method supports patch semantics.
+ * included in the request. This method supports PATCH semantics and uses the
+ * JSON merge patch format and processing rules.
*
* [request] - The metadata request object.
*
@@ -5589,6 +5864,8 @@ class ImagesResourceApi {
* 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])?))".
*
+ * [forceCreate] - Force image creation if true.
+ *
* Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -5597,7 +5874,7 @@ class ImagesResourceApi {
* 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(Image request, core.String project) {
+ async.Future<Operation> insert(Image request, core.String project, {core.bool forceCreate}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -5611,6 +5888,9 @@ class ImagesResourceApi {
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
+ if (forceCreate != null) {
+ _queryParams["forceCreate"] = ["${forceCreate}"];
+ }
_url = commons.Escaper.ecapeVariable('$project') + '/global/images';
@@ -8417,8 +8697,8 @@ class InstancesResourceApi {
}
/**
- * Changes the machine type for a stopped instance to the machine type
- * specified in the request.
+ * Changes the number and/or type of accelerator for a stopped instance to the
+ * values specified in the request.
*
* [request] - The metadata request object.
*
@@ -8442,7 +8722,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<Operation> setMachineType(InstancesSetMachineTypeRequest request, core.String project, core.String zone, core.String instance) {
+ async.Future<Operation> setMachineResources(InstancesSetMachineResourcesRequest request, core.String project, core.String zone, core.String instance) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -8463,7 +8743,7 @@ class InstancesResourceApi {
throw new core.ArgumentError("Parameter instance is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/setMachineType';
+ _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/setMachineResources';
var _response = _requester.request(_url,
"POST",
@@ -8476,9 +8756,68 @@ class InstancesResourceApi {
}
/**
- * Sets metadata for the specified instance to the data included in the
- * request.
- *
+ * Changes the machine type for a stopped instance to the machine type
+ * specified 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])?))".
+ *
+ * [zone] - The name of the zone for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [instance] - Name of the instance 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> setMachineType(InstancesSetMachineTypeRequest request, core.String project, core.String zone, core.String instance) {
+ 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 (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (instance == null) {
+ throw new core.ArgumentError("Parameter instance is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/setMachineType';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Sets metadata for the specified instance to the data included in the
+ * request.
+ *
* [request] - The metadata request object.
*
* Request parameters:
@@ -8890,8 +9229,7 @@ class LicensesResourceApi {
_requester = client;
/**
- * Returns the specified License resource. Get a list of available licenses by
- * making a list() request.
+ * Returns the specified License resource.
*
* Request parameters:
*
@@ -10463,7 +10801,8 @@ class RegionAutoscalersResourceApi {
/**
* Updates an autoscaler in the specified project using the data included in
- * the request. This method supports patch semantics.
+ * the request. This method supports PATCH semantics and uses the JSON merge
+ * patch format and processing rules.
*
* [request] - The metadata request object.
*
@@ -10918,7 +11257,8 @@ class RegionBackendServicesResourceApi {
* 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.
+ * Guidelines for more information. This method supports PATCH semantics and
+ * uses the JSON merge patch format and processing rules.
*
* [request] - The metadata request object.
*
@@ -11039,29 +11379,14 @@ class RegionBackendServicesResourceApi {
}
-class RegionInstanceGroupManagersResourceApi {
+class RegionCommitmentsResourceApi {
final commons.ApiRequester _requester;
- RegionInstanceGroupManagersResourceApi(commons.ApiRequester client) :
+ RegionCommitmentsResourceApi(commons.ApiRequester client) :
_requester = client;
/**
- * 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.
- *
- * If the group is part of a backend service that has enabled connection
- * draining, it can take up to 60 seconds after the connection draining
- * duration has elapsed before the VM instance is removed or deleted.
- *
- * You can specify a maximum of 1000 instances with this method per request.
- *
- * [request] - The metadata request object.
+ * Retrieves an aggregated list of commitments.
*
* Request parameters:
*
@@ -11069,11 +11394,53 @@ class RegionInstanceGroupManagersResourceApi {
* 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. Your
+ * {expression} must be in the format: field_name comparison_string
+ * literal_string.
*
- * [instanceGroupManager] - Name of the managed instance group.
+ * 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 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. Acceptable values are 0 to
+ * 500, inclusive. (Default: 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 [CommitmentAggregatedList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -11081,7 +11448,7 @@ class RegionInstanceGroupManagersResourceApi {
* 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> abandonInstances(RegionInstanceGroupManagersAbandonInstancesRequest request, core.String project, core.String region, core.String instanceGroupManager) {
+ async.Future<CommitmentAggregatedList> 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;
@@ -11089,34 +11456,37 @@ class RegionInstanceGroupManagersResourceApi {
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 (instanceGroupManager == null) {
- throw new core.ArgumentError("Parameter instanceGroupManager 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') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/abandonInstances';
+ _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/commitments';
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 CommitmentAggregatedList.fromJson(data));
}
/**
- * Deletes the specified managed instance group and all of the instances in
- * that group.
+ * Returns the specified commitment resource. Get a list of available
+ * commitments by making a list() request.
*
* Request parameters:
*
@@ -11124,11 +11494,13 @@ class RegionInstanceGroupManagersResourceApi {
* 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])?".
*
- * [instanceGroupManager] - Name of the managed instance group to delete.
+ * [commitment] - Name of the commitment to return.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * Completes with a [Operation].
+ * Completes with a [Commitment].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -11136,7 +11508,7 @@ class RegionInstanceGroupManagersResourceApi {
* 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) {
+ async.Future<Commitment> get(core.String project, core.String region, core.String commitment) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -11150,36 +11522,25 @@ class RegionInstanceGroupManagersResourceApi {
if (region == null) {
throw new core.ArgumentError("Parameter region is required.");
}
- if (instanceGroupManager == null) {
- throw new core.ArgumentError("Parameter instanceGroupManager is required.");
+ if (commitment == null) {
+ throw new core.ArgumentError("Parameter commitment is required.");
}
- _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/commitments/' + commons.Escaper.ecapeVariable('$commitment');
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 Commitment.fromJson(data));
}
/**
- * 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.
- *
- * If the group is part of a backend service that has enabled connection
- * draining, it can take up to 60 seconds after the connection draining
- * duration has elapsed before the VM instance is removed or deleted.
- *
- * You can specify a maximum of 1000 instances with this method per request.
+ * Creates a commitment in the specified project using the data included in
+ * the request.
*
* [request] - The metadata request object.
*
@@ -11189,9 +11550,8 @@ class RegionInstanceGroupManagersResourceApi {
* 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.
+ * [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].
*
@@ -11201,7 +11561,7 @@ class RegionInstanceGroupManagersResourceApi {
* 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> deleteInstances(RegionInstanceGroupManagersDeleteInstancesRequest request, core.String project, core.String region, core.String instanceGroupManager) {
+ async.Future<Operation> insert(Commitment request, core.String project, core.String region) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -11218,11 +11578,8 @@ class RegionInstanceGroupManagersResourceApi {
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') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/deleteInstances';
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/commitments';
var _response = _requester.request(_url,
"POST",
@@ -11235,7 +11592,7 @@ class RegionInstanceGroupManagersResourceApi {
}
/**
- * Returns all of the details about the specified managed instance group.
+ * Retrieves a list of commitments contained within the specified region.
*
* Request parameters:
*
@@ -11243,11 +11600,56 @@ class RegionInstanceGroupManagersResourceApi {
* 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])?".
*
- * [instanceGroupManager] - Name of the managed instance group to return.
+ * [filter] - Sets a filter {expression} for filtering listed resources. Your
+ * {expression} must be in the format: field_name comparison_string
+ * literal_string.
*
- * Completes with a [InstanceGroupManager].
+ * 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 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. Acceptable values are 0 to
+ * 500, inclusive. (Default: 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 [CommitmentList].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
* error.
@@ -11255,7 +11657,7 @@ class RegionInstanceGroupManagersResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<InstanceGroupManager> get(core.String project, core.String region, core.String instanceGroupManager) {
+ async.Future<CommitmentList> 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;
@@ -11269,11 +11671,20 @@ class RegionInstanceGroupManagersResourceApi {
if (region == null) {
throw new core.ArgumentError("Parameter region is required.");
}
- if (instanceGroupManager == null) {
- throw new core.ArgumentError("Parameter instanceGroupManager 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') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager');
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/commitments';
var _response = _requester.request(_url,
"GET",
@@ -11282,7 +11693,256 @@ class RegionInstanceGroupManagersResourceApi {
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
- return _response.then((data) => new InstanceGroupManager.fromJson(data));
+ return _response.then((data) => new CommitmentList.fromJson(data));
+ }
+
+}
+
+
+class RegionInstanceGroupManagersResourceApi {
+ final commons.ApiRequester _requester;
+
+ RegionInstanceGroupManagersResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * 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.
+ *
+ * If the group is part of a backend service that has enabled connection
+ * draining, it can take up to 60 seconds after the connection draining
+ * duration has elapsed before the VM instance is removed or deleted.
+ *
+ * You can specify a maximum of 1000 instances with this method per 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.
+ *
+ * [instanceGroupManager] - Name of the managed instance group.
+ *
+ * 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> abandonInstances(RegionInstanceGroupManagersAbandonInstancesRequest request, 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 (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 (instanceGroupManager == null) {
+ throw new core.ArgumentError("Parameter instanceGroupManager is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/abandonInstances';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ 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.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager');
+
+ var _response = _requester.request(_url,
+ "DELETE",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * 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.
+ *
+ * If the group is part of a backend service that has enabled connection
+ * draining, it can take up to 60 seconds after the connection draining
+ * duration has elapsed before the VM instance is removed or deleted.
+ *
+ * You can specify a maximum of 1000 instances with this method per 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.
+ *
+ * [instanceGroupManager] - Name of the managed instance group.
+ *
+ * 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> deleteInstances(RegionInstanceGroupManagersDeleteInstancesRequest request, 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 (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 (instanceGroupManager == null) {
+ throw new core.ArgumentError("Parameter instanceGroupManager is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager') + '/deleteInstances';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Returns all of the details about the specified managed instance 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 return.
+ *
+ * Completes with a [InstanceGroupManager].
+ *
+ * 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<InstanceGroupManager> get(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.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/instanceGroupManagers/' + commons.Escaper.ecapeVariable('$instanceGroupManager');
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new InstanceGroupManager.fromJson(data));
}
/**
@@ -17552,7 +18212,8 @@ class UrlMapsResourceApi {
/**
* Patches the specified UrlMap resource with the data included in the
- * request. This method supports patch semantics.
+ * request. This method supports PATCH semantics and uses the JSON merge patch
+ * format and processing rules.
*
* [request] - The metadata request object.
*
@@ -18466,81 +19127,50 @@ class ZonesResourceApi {
/**
- * An access configuration attached to an instance's network interface. Only one
- * access config per instance is supported.
+ * A specification of the type and number of accelerator cards attached to the
+ * instance.
*/
-class AccessConfig {
+class AcceleratorConfig {
+ /** The number of the guest accelerator cards exposed to this instance. */
+ core.int acceleratorCount;
/**
- * [Output Only] Type of the resource. Always compute#accessConfig for access
- * configs.
+ * Full or partial URL of the accelerator type resource to expose to this
+ * instance.
*/
- core.String kind;
- /**
- * The name of this access configuration. The default and recommended name is
- * External NAT but you can use any arbitrary string you would like. For
- * example, My external IP or Network Access.
- */
- 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;
+ core.String acceleratorType;
- AccessConfig();
+ AcceleratorConfig();
- AccessConfig.fromJson(core.Map _json) {
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
- }
- if (_json.containsKey("name")) {
- name = _json["name"];
+ AcceleratorConfig.fromJson(core.Map _json) {
+ if (_json.containsKey("acceleratorCount")) {
+ acceleratorCount = _json["acceleratorCount"];
}
- if (_json.containsKey("natIP")) {
- natIP = _json["natIP"];
- }
- if (_json.containsKey("type")) {
- type = _json["type"];
+ if (_json.containsKey("acceleratorType")) {
+ acceleratorType = _json["acceleratorType"];
}
}
core.Map<core.String, core.Object> toJson() {
final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- if (kind != null) {
- _json["kind"] = kind;
- }
- if (name != null) {
- _json["name"] = name;
- }
- if (natIP != null) {
- _json["natIP"] = natIP;
+ if (acceleratorCount != null) {
+ _json["acceleratorCount"] = acceleratorCount;
}
- if (type != null) {
- _json["type"] = type;
+ if (acceleratorType != null) {
+ _json["acceleratorType"] = acceleratorType;
}
return _json;
}
}
-/** A reserved address resource. */
-class Address {
- /** The static external IP address represented by this resource. */
- core.String address;
+/** An Accelerator Type resource. */
+class AcceleratorType {
/** [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.
+ * [Output Only] The deprecation status associated with this accelerator type.
*/
+ DeprecationStatus deprecated;
+ /** [Output Only] An optional textual description of the resource. */
core.String description;
/**
* [Output Only] The unique identifier for the resource. This identifier is
@@ -18548,135 +19178,99 @@ class Address {
*/
core.String id;
/**
- * The IP Version that will be used by this address. Valid options are IPV4 or
- * IPV6. This can only be specified for a global address.
- * Possible string values are:
- * - "IPV4"
- * - "IPV6"
- * - "UNSPECIFIED_VERSION"
- */
- core.String ipVersion;
- /**
- * [Output Only] Type of the resource. Always compute#address for addresses.
+ * [Output Only] The type of the resource. Always compute#acceleratorType for
+ * accelerator types.
*/
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.
- */
+ /** [Output Only] Maximum accelerator cards allowed per instance. */
+ core.int maximumCardsPerInstance;
+ /** [Output Only] Name of the resource. */
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. */
+ /** [Output Only] Server-defined fully-qualified URL for this 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"
+ * [Output Only] The name of the zone where the accelerator type resides, such
+ * as us-central1-a.
*/
- core.String status;
- /** [Output Only] The URLs of the resources that are using this address. */
- core.List<core.String> users;
+ core.String zone;
- Address();
+ AcceleratorType();
- Address.fromJson(core.Map _json) {
- if (_json.containsKey("address")) {
- address = _json["address"];
- }
+ AcceleratorType.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("ipVersion")) {
- ipVersion = _json["ipVersion"];
- }
if (_json.containsKey("kind")) {
kind = _json["kind"];
}
+ if (_json.containsKey("maximumCardsPerInstance")) {
+ maximumCardsPerInstance = _json["maximumCardsPerInstance"];
+ }
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"];
+ if (_json.containsKey("zone")) {
+ zone = _json["zone"];
}
}
core.Map<core.String, core.Object> toJson() {
final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- if (address != null) {
- _json["address"] = address;
- }
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 (ipVersion != null) {
- _json["ipVersion"] = ipVersion;
- }
if (kind != null) {
_json["kind"] = kind;
}
+ if (maximumCardsPerInstance != null) {
+ _json["maximumCardsPerInstance"] = maximumCardsPerInstance;
+ }
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;
+ if (zone != null) {
+ _json["zone"] = zone;
}
return _json;
}
}
-class AddressAggregatedList {
+class AcceleratorTypeAggregatedList {
/**
- * [Output Only] Unique identifier for the resource; defined by the server.
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
*/
core.String id;
- /** [Output Only] A map of scoped address lists. */
- core.Map<core.String, AddressesScopedList> items;
+ /** [Output Only] A map of scoped accelerator type lists. */
+ core.Map<core.String, AcceleratorTypesScopedList> items;
/**
- * [Output Only] Type of resource. Always compute#addressAggregatedList for
- * aggregated lists of addresses.
+ * [Output Only] Type of resource. Always
+ * compute#acceleratorTypeAggregatedList for aggregated lists of accelerator
+ * types.
*/
core.String kind;
/**
@@ -18690,14 +19284,14 @@ class AddressAggregatedList {
/** [Output Only] Server-defined URL for this resource. */
core.String selfLink;
- AddressAggregatedList();
+ AcceleratorTypeAggregatedList();
- AddressAggregatedList.fromJson(core.Map _json) {
+ AcceleratorTypeAggregatedList.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
if (_json.containsKey("items")) {
- items = commons.mapMap<core.Map<core.String, core.Object>, AddressesScopedList>(_json["items"], (core.Map<core.String, core.Object> item) => new AddressesScopedList.fromJson(item));
+ items = commons.mapMap<core.Map<core.String, core.Object>, AcceleratorTypesScopedList>(_json["items"], (core.Map<core.String, core.Object> item) => new AcceleratorTypesScopedList.fromJson(item));
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
@@ -18716,7 +19310,7 @@ class AddressAggregatedList {
_json["id"] = id;
}
if (items != null) {
- _json["items"] = commons.mapMap<AddressesScopedList, core.Map<core.String, core.Object>>(items, (AddressesScopedList item) => (item).toJson());
+ _json["items"] = commons.mapMap<AcceleratorTypesScopedList, core.Map<core.String, core.Object>>(items, (AcceleratorTypesScopedList item) => (item).toJson());
}
if (kind != null) {
_json["kind"] = kind;
@@ -18731,39 +19325,32 @@ class AddressAggregatedList {
}
}
-/** Contains a list of addresses. */
-class AddressList {
+/** Contains a list of accelerator types. */
+class AcceleratorTypeList {
/**
- * [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 addresses. */
- core.List<Address> items;
+ /** A list of AcceleratorType resources. */
+ core.List<AcceleratorType> items;
/**
- * [Output Only] Type of resource. Always compute#addressList for lists of
- * addresses.
+ * [Output Only] Type of resource. Always compute#acceleratorTypeList for
+ * lists of accelerator 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.
- */
+ /** [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();
+ AcceleratorTypeList();
- AddressList.fromJson(core.Map _json) {
+ AcceleratorTypeList.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 AcceleratorType.fromJson(value)).toList();
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
@@ -18797,7 +19384,7 @@ class AddressList {
}
}
-class AddressesScopedListWarningData {
+class AcceleratorTypesScopedListWarningData {
/**
* [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
@@ -18811,9 +19398,9 @@ class AddressesScopedListWarningData {
/** [Output Only] A warning data value corresponding to the key. */
core.String value;
- AddressesScopedListWarningData();
+ AcceleratorTypesScopedListWarningData();
- AddressesScopedListWarningData.fromJson(core.Map _json) {
+ AcceleratorTypesScopedListWarningData.fromJson(core.Map _json) {
if (_json.containsKey("key")) {
key = _json["key"];
}
@@ -18835,10 +19422,10 @@ class AddressesScopedListWarningData {
}
/**
- * [Output Only] Informational warning which replaces the list of addresses when
- * the list is empty.
+ * [Output Only] An informational warning that appears when the accelerator
+ * types list is empty.
*/
-class AddressesScopedListWarning {
+class AcceleratorTypesScopedListWarning {
/**
* [Output Only] A warning code, if applicable. For example, Compute Engine
* returns NO_RESULTS_ON_PAGE if there are no results in the response.
@@ -18867,18 +19454,18 @@ class AddressesScopedListWarning {
* example:
* "data": [ { "key": "scope", "value": "zones/us-east1-d" }
*/
- core.List<AddressesScopedListWarningData> data;
+ core.List<AcceleratorTypesScopedListWarningData> data;
/** [Output Only] A human-readable description of the warning code. */
core.String message;
- AddressesScopedListWarning();
+ AcceleratorTypesScopedListWarning();
- AddressesScopedListWarning.fromJson(core.Map _json) {
+ AcceleratorTypesScopedListWarning.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 AcceleratorTypesScopedListWarningData.fromJson(value)).toList();
}
if (_json.containsKey("message")) {
message = _json["message"];
@@ -18900,30 +19487,30 @@ class AddressesScopedListWarning {
}
}
-class AddressesScopedList {
- /** [Output Only] List of addresses contained in this scope. */
- core.List<Address> addresses;
+class AcceleratorTypesScopedList {
+ /** [Output Only] List of accelerator types contained in this scope. */
+ core.List<AcceleratorType> acceleratorTypes;
/**
- * [Output Only] Informational warning which replaces the list of addresses
- * when the list is empty.
+ * [Output Only] An informational warning that appears when the accelerator
+ * types list is empty.
*/
- AddressesScopedListWarning warning;
+ AcceleratorTypesScopedListWarning warning;
- AddressesScopedList();
+ AcceleratorTypesScopedList();
- AddressesScopedList.fromJson(core.Map _json) {
- if (_json.containsKey("addresses")) {
- addresses = _json["addresses"].map((value) => new Address.fromJson(value)).toList();
+ AcceleratorTypesScopedList.fromJson(core.Map _json) {
+ if (_json.containsKey("acceleratorTypes")) {
+ acceleratorTypes = _json["acceleratorTypes"].map((value) => new AcceleratorType.fromJson(value)).toList();
}
if (_json.containsKey("warning")) {
- warning = new AddressesScopedListWarning.fromJson(_json["warning"]);
+ warning = new AcceleratorTypesScopedListWarning.fromJson(_json["warning"]);
}
}
core.Map<core.String, core.Object> toJson() {
final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- if (addresses != null) {
- _json["addresses"] = addresses.map((value) => (value).toJson()).toList();
+ if (acceleratorTypes != null) {
+ _json["acceleratorTypes"] = acceleratorTypes.map((value) => (value).toJson()).toList();
}
if (warning != null) {
_json["warning"] = (warning).toJson();
@@ -18932,449 +19519,220 @@ class AddressesScopedList {
}
}
-/** 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;
+/**
+ * An access configuration attached to an instance's network interface. Only one
+ * access config per instance is supported.
+ */
+class AccessConfig {
/**
- * Indicates that this is a boot disk. The virtual machine will use the first
- * partition of the disk for its root filesystem.
+ * [Output Only] Type of the resource. Always compute#accessConfig for access
+ * configs.
*/
- core.bool boot;
+ core.String kind;
/**
- * 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.
+ * The name of this access configuration. The default and recommended name is
+ * External NAT but you can use any arbitrary string you would like. For
+ * example, My external IP or Network Access.
*/
- core.String deviceName;
+ core.String name;
/**
- * 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.
+ * 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.
*/
- CustomerEncryptionKey diskEncryptionKey;
+ core.String natIP;
/**
- * 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.
+ * The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+ * Possible string values are:
+ * - "ONE_TO_ONE_NAT"
*/
- 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.
+ 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<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ 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.
*/
- AttachedDiskInitializeParams initializeParams;
+ core.String description;
/**
- * 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.
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
+ */
+ core.String id;
+ /**
+ * The IP Version that will be used by this address. Valid options are IPV4 or
+ * IPV6. This can only be specified for a global address.
* Possible string values are:
- * - "NVME"
- * - "SCSI"
+ * - "IPV4"
+ * - "IPV6"
+ * - "UNSPECIFIED_VERSION"
*/
- core.String interface;
+ core.String ipVersion;
/**
- * [Output Only] Type of the resource. Always compute#attachedDisk for
- * attached disks.
+ * [Output Only] Type of the resource. Always compute#address for addresses.
*/
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"
+ * 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 mode;
+ core.String name;
/**
- * 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.
+ * [Output Only] URL of the region where the regional address resides. This
+ * field is not applicable to global addresses.
*/
- core.String source;
+ core.String region;
+ /** [Output Only] Server-defined URL for the resource. */
+ core.String selfLink;
/**
- * Specifies the type of the disk, either SCRATCH or PERSISTENT. If not
- * specified, the default is PERSISTENT.
+ * [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:
- * - "PERSISTENT"
- * - "SCRATCH"
+ * - "IN_USE"
+ * - "RESERVED"
*/
- core.String type;
+ core.String status;
+ /** [Output Only] The URLs of the resources that are using this address. */
+ core.List<core.String> users;
- AttachedDisk();
+ Address();
- 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"];
+ Address.fromJson(core.Map _json) {
+ if (_json.containsKey("address")) {
+ address = _json["address"];
}
- if (_json.containsKey("diskEncryptionKey")) {
- diskEncryptionKey = new CustomerEncryptionKey.fromJson(_json["diskEncryptionKey"]);
+ if (_json.containsKey("creationTimestamp")) {
+ creationTimestamp = _json["creationTimestamp"];
}
- if (_json.containsKey("index")) {
- index = _json["index"];
+ if (_json.containsKey("description")) {
+ description = _json["description"];
}
- if (_json.containsKey("initializeParams")) {
- initializeParams = new AttachedDiskInitializeParams.fromJson(_json["initializeParams"]);
+ if (_json.containsKey("id")) {
+ id = _json["id"];
}
- if (_json.containsKey("interface")) {
- interface = _json["interface"];
+ if (_json.containsKey("ipVersion")) {
+ ipVersion = _json["ipVersion"];
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
}
- if (_json.containsKey("licenses")) {
- licenses = _json["licenses"];
+ if (_json.containsKey("name")) {
+ name = _json["name"];
}
- if (_json.containsKey("mode")) {
- mode = _json["mode"];
+ if (_json.containsKey("region")) {
+ region = _json["region"];
}
- if (_json.containsKey("source")) {
- source = _json["source"];
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
}
- if (_json.containsKey("type")) {
- type = _json["type"];
+ if (_json.containsKey("status")) {
+ status = _json["status"];
+ }
+ if (_json.containsKey("users")) {
+ users = _json["users"];
}
}
core.Map<core.String, core.Object> toJson() {
final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- if (autoDelete != null) {
- _json["autoDelete"] = autoDelete;
- }
- if (boot != null) {
- _json["boot"] = boot;
- }
- if (deviceName != null) {
- _json["deviceName"] = deviceName;
+ if (address != null) {
+ _json["address"] = address;
}
- if (diskEncryptionKey != null) {
- _json["diskEncryptionKey"] = (diskEncryptionKey).toJson();
+ if (creationTimestamp != null) {
+ _json["creationTimestamp"] = creationTimestamp;
}
- if (index != null) {
- _json["index"] = index;
+ if (description != null) {
+ _json["description"] = description;
}
- if (initializeParams != null) {
- _json["initializeParams"] = (initializeParams).toJson();
+ if (id != null) {
+ _json["id"] = id;
}
- if (interface != null) {
- _json["interface"] = interface;
+ if (ipVersion != null) {
+ _json["ipVersion"] = ipVersion;
}
if (kind != null) {
_json["kind"] = kind;
}
- if (licenses != null) {
- _json["licenses"] = licenses;
+ if (name != null) {
+ _json["name"] = name;
}
- if (mode != null) {
- _json["mode"] = mode;
+ if (region != null) {
+ _json["region"] = region;
}
- if (source != null) {
- _json["source"] = source;
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
- if (type != null) {
- _json["type"] = type;
+ if (status != null) {
+ _json["status"] = status;
+ }
+ if (users != null) {
+ _json["users"] = users;
}
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 {
+class AddressAggregatedList {
/**
- * Specifies the disk name. If not specified, the default is to use the name
- * of the instance.
+ * [Output Only] Unique identifier for the resource; defined by the server.
*/
- core.String diskName;
- /** Specifies the size of the disk in base-2 GB. */
- core.String diskSizeGb;
+ core.String id;
+ /** [Output Only] A map of scoped address lists. */
+ core.Map<core.String, AddressesScopedList> items;
/**
- * 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.
+ * [Output Only] Type of resource. Always compute#addressAggregatedList for
+ * aggregated lists of addresses.
*/
- 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<core.String, core.Object> toJson() {
- final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- 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<core.String, core.Object> toJson() {
- final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- 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;
+ 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
@@ -19386,14 +19744,14 @@ class AutoscalerAggregatedList {
/** [Output Only] Server-defined URL for this resource. */
core.String selfLink;
- AutoscalerAggregatedList();
+ AddressAggregatedList();
- AutoscalerAggregatedList.fromJson(core.Map _json) {
+ AddressAggregatedList.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
if (_json.containsKey("items")) {
- items = commons.mapMap<core.Map<core.String, core.Object>, AutoscalersScopedList>(_json["items"], (core.Map<core.String, core.Object> item) => new AutoscalersScopedList.fromJson(item));
+ items = commons.mapMap<core.Map<core.String, core.Object>, AddressesScopedList>(_json["items"], (core.Map<core.String, core.Object> item) => new AddressesScopedList.fromJson(item));
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
@@ -19412,7 +19770,7 @@ class AutoscalerAggregatedList {
_json["id"] = id;
}
if (items != null) {
- _json["items"] = commons.mapMap<AutoscalersScopedList, core.Map<core.String, core.Object>>(items, (AutoscalersScopedList item) => (item).toJson());
+ _json["items"] = commons.mapMap<AddressesScopedList, core.Map<core.String, core.Object>>(items, (AddressesScopedList item) => (item).toJson());
}
if (kind != null) {
_json["kind"] = kind;
@@ -19427,18 +19785,18 @@ class AutoscalerAggregatedList {
}
}
-/** Contains a list of Autoscaler resources. */
-class AutoscalerList {
+/** 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;
- /** A list of Autoscaler resources. */
- core.List<Autoscaler> items;
+ /** [Output Only] A list of addresses. */
+ core.List<Address> items;
/**
- * [Output Only] Type of resource. Always compute#autoscalerList for lists of
- * autoscalers.
+ * [Output Only] Type of resource. Always compute#addressList for lists of
+ * addresses.
*/
core.String kind;
/**
@@ -19449,17 +19807,17 @@ class AutoscalerList {
* continue paging through the results.
*/
core.String nextPageToken;
- /** [Output Only] Server-defined URL for this resource. */
+ /** [Output Only] Server-defined URL for the resource. */
core.String selfLink;
- AutoscalerList();
+ AddressList();
- AutoscalerList.fromJson(core.Map _json) {
+ AddressList.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();
+ items = _json["items"].map((value) => new Address.fromJson(value)).toList();
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
@@ -19493,7 +19851,7 @@ class AutoscalerList {
}
}
-class AutoscalersScopedListWarningData {
+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
@@ -19507,9 +19865,9 @@ class AutoscalersScopedListWarningData {
/** [Output Only] A warning data value corresponding to the key. */
core.String value;
- AutoscalersScopedListWarningData();
+ AddressesScopedListWarningData();
- AutoscalersScopedListWarningData.fromJson(core.Map _json) {
+ AddressesScopedListWarningData.fromJson(core.Map _json) {
if (_json.containsKey("key")) {
key = _json["key"];
}
@@ -19531,10 +19889,10 @@ class AutoscalersScopedListWarningData {
}
/**
- * [Output Only] Informational warning which replaces the list of autoscalers
- * when the list is empty.
+ * [Output Only] Informational warning which replaces the list of addresses when
+ * the list is empty.
*/
-class AutoscalersScopedListWarning {
+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.
@@ -19563,18 +19921,18 @@ class AutoscalersScopedListWarning {
* example:
* "data": [ { "key": "scope", "value": "zones/us-east1-d" }
*/
- core.List<AutoscalersScopedListWarningData> data;
+ core.List<AddressesScopedListWarningData> data;
/** [Output Only] A human-readable description of the warning code. */
core.String message;
- AutoscalersScopedListWarning();
+ AddressesScopedListWarning();
- AutoscalersScopedListWarning.fromJson(core.Map _json) {
+ AddressesScopedListWarning.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();
+ data = _json["data"].map((value) => new AddressesScopedListWarningData.fromJson(value)).toList();
}
if (_json.containsKey("message")) {
message = _json["message"];
@@ -19596,30 +19954,30 @@ class AutoscalersScopedListWarning {
}
}
-class AutoscalersScopedList {
- /** [Output Only] List of autoscalers contained in this scope. */
- core.List<Autoscaler> autoscalers;
+class AddressesScopedList {
+ /** [Output Only] List of addresses contained in this scope. */
+ core.List<Address> addresses;
/**
- * [Output Only] Informational warning which replaces the list of autoscalers
+ * [Output Only] Informational warning which replaces the list of addresses
* when the list is empty.
*/
- AutoscalersScopedListWarning warning;
+ AddressesScopedListWarning warning;
- AutoscalersScopedList();
+ AddressesScopedList();
- AutoscalersScopedList.fromJson(core.Map _json) {
- if (_json.containsKey("autoscalers")) {
- autoscalers = _json["autoscalers"].map((value) => new Autoscaler.fromJson(value)).toList();
+ 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 AutoscalersScopedListWarning.fromJson(_json["warning"]);
+ warning = new AddressesScopedListWarning.fromJson(_json["warning"]);
}
}
core.Map<core.String, core.Object> toJson() {
final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- if (autoscalers != null) {
- _json["autoscalers"] = autoscalers.map((value) => (value).toJson()).toList();
+ if (addresses != null) {
+ _json["addresses"] = addresses.map((value) => (value).toJson()).toList();
}
if (warning != null) {
_json["warning"] = (warning).toJson();
@@ -19628,526 +19986,2031 @@ class AutoscalersScopedList {
}
}
-/** Cloud Autoscaler policy. */
-class AutoscalingPolicy {
+/** An instance-attached disk resource. */
+class AttachedDisk {
/**
- * 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.
+ * 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.
*
- * 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.
+ * 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.int coolDownPeriodSec;
+ core.String deviceName;
/**
- * Defines the CPU utilization policy that allows the autoscaler to scale
- * based on the average CPU utilization of a managed instance group.
+ * 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.
*/
- 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;
+ CustomerEncryptionKey diskEncryptionKey;
/**
- * 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.
+ * 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 maxNumReplicas;
+ core.int index;
/**
- * 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.
+ * [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.
*/
- core.int minNumReplicas;
+ 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;
- AutoscalingPolicy();
+ AttachedDisk();
- AutoscalingPolicy.fromJson(core.Map _json) {
- if (_json.containsKey("coolDownPeriodSec")) {
- coolDownPeriodSec = _json["coolDownPeriodSec"];
+ AttachedDisk.fromJson(core.Map _json) {
+ if (_json.containsKey("autoDelete")) {
+ autoDelete = _json["autoDelete"];
}
- if (_json.containsKey("cpuUtilization")) {
- cpuUtilization = new AutoscalingPolicyCpuUtilization.fromJson(_json["cpuUtilization"]);
+ if (_json.containsKey("boot")) {
+ boot = _json["boot"];
}
- if (_json.containsKey("customMetricUtilizations")) {
- customMetricUtilizations = _json["customMetricUtilizations"].map((value) => new AutoscalingPolicyCustomMetricUtilization.fromJson(value)).toList();
+ if (_json.containsKey("deviceName")) {
+ deviceName = _json["deviceName"];
}
- if (_json.containsKey("loadBalancingUtilization")) {
- loadBalancingUtilization = new AutoscalingPolicyLoadBalancingUtilization.fromJson(_json["loadBalancingUtilization"]);
+ if (_json.containsKey("diskEncryptionKey")) {
+ diskEncryptionKey = new CustomerEncryptionKey.fromJson(_json["diskEncryptionKey"]);
}
- if (_json.containsKey("maxNumReplicas")) {
- maxNumReplicas = _json["maxNumReplicas"];
+ if (_json.containsKey("index")) {
+ index = _json["index"];
}
- if (_json.containsKey("minNumReplicas")) {
- minNumReplicas = _json["minNumReplicas"];
+ 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<core.String, core.Object> toJson() {
final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- if (coolDownPeriodSec != null) {
- _json["coolDownPeriodSec"] = coolDownPeriodSec;
+ if (autoDelete != null) {
+ _json["autoDelete"] = autoDelete;
}
- if (cpuUtilization != null) {
- _json["cpuUtilization"] = (cpuUtilization).toJson();
+ if (boot != null) {
+ _json["boot"] = boot;
}
- if (customMetricUtilizations != null) {
- _json["customMetricUtilizations"] = customMetricUtilizations.map((value) => (value).toJson()).toList();
+ if (deviceName != null) {
+ _json["deviceName"] = deviceName;
}
- if (loadBalancingUtilization != null) {
- _json["loadBalancingUtilization"] = (loadBalancingUtilization).toJson();
+ if (diskEncryptionKey != null) {
+ _json["diskEncryptionKey"] = (diskEncryptionKey).toJson();
}
- if (maxNumReplicas != null) {
- _json["maxNumReplicas"] = maxNumReplicas;
+ if (index != null) {
+ _json["index"] = index;
}
- if (minNumReplicas != null) {
- _json["minNumReplicas"] = minNumReplicas;
+ 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;
}
}
-/** CPU utilization policy. */
-class AutoscalingPolicyCpuUtilization {
+/**
+ * [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 {
/**
- * 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.
+ * Specifies the disk name. If not specified, the default is to use the name
+ * of the instance.
*/
- core.double utilizationTarget;
-
- AutoscalingPolicyCpuUtilization();
-
- AutoscalingPolicyCpuUtilization.fromJson(core.Map _json) {
- if (_json.containsKey("utilizationTarget")) {
- utilizationTarget = _json["utilizationTarget"];
- }
- }
-
- core.Map<core.String, core.Object> toJson() {
- final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- if (utilizationTarget != null) {
- _json["utilizationTarget"] = utilizationTarget;
- }
- return _json;
- }
-}
-
-/** Custom utilization metric policy. */
-class AutoscalingPolicyCustomMetricUtilization {
+ core.String diskName;
+ /** Specifies the size of the disk in base-2 GB. */
+ core.String diskSizeGb;
/**
- * The identifier (type) 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.
+ * 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:
*
- * The metric must have a value type of INT64 or DOUBLE.
+ * 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 metric;
+ core.String diskType;
/**
- * The target value of the metric that autoscaler should maintain. This must
- * be a positive value.
+ * The source image to create this disk. When creating a new instance, one of
+ * initializeParams.sourceImage or disks.source is required.
*
- * For example, a good metric to use as a utilization_target is
- * compute.googleapis.com/instance/network/received_bytes_count. The
- * autoscaler will work to keep this value constant for each of the instances.
+ * 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.double utilizationTarget;
+ core.String sourceImage;
/**
- * 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"
+ * 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.
*/
- core.String utilizationTargetType;
+ CustomerEncryptionKey sourceImageEncryptionKey;
- AutoscalingPolicyCustomMetricUtilization();
+ AttachedDiskInitializeParams();
- AutoscalingPolicyCustomMetricUtilization.fromJson(core.Map _json) {
- if (_json.containsKey("metric")) {
- metric = _json["metric"];
+ AttachedDiskInitializeParams.fromJson(core.Map _json) {
+ if (_json.containsKey("diskName")) {
+ diskName = _json["diskName"];
}
- if (_json.containsKey("utilizationTarget")) {
- utilizationTarget = _json["utilizationTarget"];
+ if (_json.containsKey("diskSizeGb")) {
+ diskSizeGb = _json["diskSizeGb"];
}
- if (_json.containsKey("utilizationTargetType")) {
- utilizationTargetType = _json["utilizationTargetType"];
+ 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<core.String, core.Object> toJson() {
final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- if (metric != null) {
- _json["metric"] = metric;
+ if (diskName != null) {
+ _json["diskName"] = diskName;
}
- if (utilizationTarget != null) {
- _json["utilizationTarget"] = utilizationTarget;
+ if (diskSizeGb != null) {
+ _json["diskSizeGb"] = diskSizeGb;
}
- if (utilizationTargetType != null) {
- _json["utilizationTargetType"] = utilizationTargetType;
+ if (diskType != null) {
+ _json["diskType"] = diskType;
}
- 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"];
+ if (sourceImage != null) {
+ _json["sourceImage"] = sourceImage;
}
- }
-
- core.Map<core.String, core.Object> toJson() {
- final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- if (utilizationTarget != null) {
- _json["utilizationTarget"] = utilizationTarget;
+ if (sourceImageEncryptionKey != null) {
+ _json["sourceImageEncryptionKey"] = (sourceImageEncryptionKey).toJson();
}
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;
+/**
+ * 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 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].
+ * The configuration parameters for the autoscaling algorithm. You can define
+ * one or more of the policies for an autoscaler: cpuUtilization,
+ * customMetricUtilizations, and loadBalancingUtilization.
*
- * This cannot be used for internal load balancing.
+ * If none of these are specified, the default will be to autoscale based on
+ * cpuUtilization to 0.6 or 60%.
*/
- core.double capacityScaler;
+ 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;
/**
- * 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.
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
*/
- core.String group;
+ core.String id;
/**
- * 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.
+ * [Output Only] Type of the resource. Always compute#autoscaler for
+ * autoscalers.
*/
- core.int maxConnections;
+ core.String kind;
/**
- * 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.
+ * 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.int maxConnectionsPerInstance;
+ core.String name;
/**
- * 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] URL of the region where the instance group resides (for
+ * autoscalers living in regional scope).
*/
- core.int maxRate;
+ core.String region;
+ /** [Output Only] Server-defined URL for the resource. */
+ core.String selfLink;
/**
- * 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] The status of the autoscaler configuration.
+ * Possible string values are:
+ * - "ACTIVE"
+ * - "DELETING"
+ * - "ERROR"
+ * - "PENDING"
*/
- core.double maxRatePerInstance;
+ core.String status;
/**
- * 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] Human-readable details about the current state of the
+ * autoscaler. Read the documentation for Commonly returned status messages
+ * for examples of status messages you might encounter.
*/
- core.double maxUtilization;
+ core.List<AutoscalerStatusDetails> statusDetails;
+ /** 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;
- Backend();
+ Autoscaler();
- Backend.fromJson(core.Map _json) {
- if (_json.containsKey("balancingMode")) {
- balancingMode = _json["balancingMode"];
+ Autoscaler.fromJson(core.Map _json) {
+ if (_json.containsKey("autoscalingPolicy")) {
+ autoscalingPolicy = new AutoscalingPolicy.fromJson(_json["autoscalingPolicy"]);
}
- if (_json.containsKey("capacityScaler")) {
- capacityScaler = _json["capacityScaler"];
+ if (_json.containsKey("creationTimestamp")) {
+ creationTimestamp = _json["creationTimestamp"];
}
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("region")) {
+ region = _json["region"];
}
- if (_json.containsKey("maxRatePerInstance")) {
- maxRatePerInstance = _json["maxRatePerInstance"];
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
}
- if (_json.containsKey("maxUtilization")) {
- maxUtilization = _json["maxUtilization"];
+ if (_json.containsKey("status")) {
+ status = _json["status"];
+ }
+ if (_json.containsKey("statusDetails")) {
+ statusDetails = _json["statusDetails"].map((value) => new AutoscalerStatusDetails.fromJson(value)).toList();
+ }
+ if (_json.containsKey("target")) {
+ target = _json["target"];
+ }
+ if (_json.containsKey("zone")) {
+ zone = _json["zone"];
}
}
core.Map<core.String, core.Object> toJson() {
final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- if (balancingMode != null) {
- _json["balancingMode"] = balancingMode;
+ if (autoscalingPolicy != null) {
+ _json["autoscalingPolicy"] = (autoscalingPolicy).toJson();
}
- if (capacityScaler != null) {
- _json["capacityScaler"] = capacityScaler;
+ if (creationTimestamp != null) {
+ _json["creationTimestamp"] = creationTimestamp;
}
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 (region != null) {
+ _json["region"] = region;
}
- if (maxRatePerInstance != null) {
- _json["maxRatePerInstance"] = maxRatePerInstance;
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
- if (maxUtilization != null) {
- _json["maxUtilization"] = maxUtilization;
+ if (status != null) {
+ _json["status"] = status;
+ }
+ if (statusDetails != null) {
+ _json["statusDetails"] = statusDetails.map((value) => (value).toJson()).toList();
+ }
+ if (target != null) {
+ _json["target"] = target;
+ }
+ if (zone != null) {
+ _json["zone"] = zone;
}
return _json;
}
}
-/** A BackendBucket resource. This resource defines a Cloud Storage bucket. */
-class BackendBucket {
- /** Cloud Storage bucket name. */
- core.String bucketName;
- /** [Output Only] Creation timestamp in RFC3339 text format. */
- core.String creationTimestamp;
+class AutoscalerAggregatedList {
/**
- * An optional textual description of the resource; provided by the client
- * when the resource is created.
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
*/
- core.String description;
- /** If true, enable Cloud CDN for this BackendBucket. */
- core.bool enableCdn;
+ core.String id;
+ /** A map of scoped autoscaler lists. */
+ core.Map<core.String, AutoscalersScopedList> items;
/**
- * [Output Only] Unique identifier for the resource; defined by the server.
+ * [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<core.Map<core.String, core.Object>, AutoscalersScopedList>(_json["items"], (core.Map<core.String, core.Object> 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<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (items != null) {
+ _json["items"] = commons.mapMap<AutoscalersScopedList, core.Map<core.String, core.Object>>(items, (AutoscalersScopedList 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;
- /** Type of the resource. */
+ /** A list of Autoscaler resources. */
+ core.List<Autoscaler> items;
+ /**
+ * [Output Only] Type of resource. Always compute#autoscalerList for lists of
+ * 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.
+ * [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<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ 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 AutoscalerStatusDetails {
+ /** The status message. */
+ core.String message;
+ /**
+ * The type of error returned.
+ * Possible string values are:
+ * - "ALL_INSTANCES_UNHEALTHY"
+ * - "BACKEND_SERVICE_DOES_NOT_EXIST"
+ * - "CAPPED_AT_MAX_NUM_REPLICAS"
+ * - "CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE"
+ * - "CUSTOM_METRIC_INVALID"
+ * - "MIN_EQUALS_MAX"
+ * - "MISSING_CUSTOM_METRIC_DATA_POINTS"
+ * - "MISSING_LOAD_BALANCING_DATA_POINTS"
+ * - "MORE_THAN_ONE_BACKEND_SERVICE"
+ * - "NOT_ENOUGH_QUOTA_AVAILABLE"
+ * - "REGION_RESOURCE_STOCKOUT"
+ * - "SCALING_TARGET_DOES_NOT_EXIST"
+ * - "UNKNOWN"
+ * - "UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION"
+ * - "ZONE_RESOURCE_STOCKOUT"
+ */
+ core.String type;
+
+ AutoscalerStatusDetails();
+
+ AutoscalerStatusDetails.fromJson(core.Map _json) {
+ if (_json.containsKey("message")) {
+ message = _json["message"];
+ }
+ if (_json.containsKey("type")) {
+ type = _json["type"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (message != null) {
+ _json["message"] = message;
+ }
+ if (type != null) {
+ _json["type"] = type;
+ }
+ 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<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ 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_IN_USE_BY_OTHER_RESOURCE_WARNING"
+ * - "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<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ 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<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ 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<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ 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<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (utilizationTarget != null) {
+ _json["utilizationTarget"] = utilizationTarget;
+ }
+ return _json;
+ }
+}
+
+/** Custom utilization metric policy. */
+class AutoscalingPolicyCustomMetricUtilization {
+ /**
+ * The identifier (type) 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 have a value type of INT64 or DOUBLE.
+ */
+ core.String metric;
+ /**
+ * The target value of the metric that autoscaler should maintain. This must
+ * be a positive value.
+ *
+ * For example, a good metric to use as a utilization_target is
+ * compute.googleapis.com/instance/network/received_bytes_count. The
+ * autoscaler will work to keep this value constant for each of the instances.
+ */
+ 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<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ 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<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ 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<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ 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 BackendBucket resource. This resource defines a Cloud Storage bucket. */
+class BackendBucket {
+ /** Cloud Storage bucket name. */
+ core.String bucketName;
+ /** [Output Only] Creation timestamp in RFC3339 text format. */
+ core.String creationTimestamp;
+ /**
+ * An optional textual description of the resource; provided by the client
+ * when the resource is created.
+ */
+ core.String description;
+ /** If true, enable Cloud CDN for this BackendBucket. */
+ core.bool enableCdn;
+ /**
+ * [Output Only] Unique identifier for the resource; defined by the server.
+ */
+ 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.
+ */
+ core.String name;
+ /** [Output Only] Server-defined URL for the resource. */
+ core.String selfLink;
+
+ BackendBucket();
+
+ BackendBucket.fromJson(core.Map _json) {
+ if (_json.containsKey("bucketName")) {
+ bucketName = _json["bucketName"];
+ }
+ if (_json.containsKey("creationTimestamp")) {
+ creationTimestamp = _json["creationTimestamp"];
+ }
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
+ if (_json.containsKey("enableCdn")) {
+ enableCdn = _json["enableCdn"];
+ }
+ 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"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (bucketName != null) {
+ _json["bucketName"] = bucketName;
+ }
+ if (creationTimestamp != null) {
+ _json["creationTimestamp"] = creationTimestamp;
+ }
+ if (description != null) {
+ _json["description"] = description;
+ }
+ if (enableCdn != null) {
+ _json["enableCdn"] = enableCdn;
+ }
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ return _json;
+ }
+}
+
+/** Contains a list of BackendBucket resources. */
+class BackendBucketList {
+ /**
+ * [Output Only] Unique identifier for the resource; defined by the server.
+ */
+ core.String id;
+ /** A list of BackendBucket resources. */
+ core.List<BackendBucket> 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;
+
+ BackendBucketList();
+
+ BackendBucketList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("items")) {
+ items = _json["items"].map((value) => new BackendBucket.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<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ 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 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;
+ /** Cloud CDN configuration for this BackendService. */
+ BackendServiceCdnPolicy cdnPolicy;
+ 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 GCE backend services. A
+ * health check must not be specified for GAE app backend and Cloud Function
+ * backend.
+ *
+ * For internal load balancing, a URL to a HealthCheck resource must be
+ * specified instead.
+ */
+ core.List<core.String> healthChecks;
+ BackendServiceIAP iap;
+ /**
+ * [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, 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("cdnPolicy")) {
+ cdnPolicy = new BackendServiceCdnPolicy.fromJson(_json["cdnPolicy"]);
+ }
+ 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("iap")) {
+ iap = new BackendServiceIAP.fromJson(_json["iap"]);
+ }
+ 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("sessionAffinity")) {
+ sessionAffinity = _json["sessionAffinity"];
+ }
+ if (_json.containsKey("timeoutSec")) {
+ timeoutSec = _json["timeoutSec"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (affinityCookieTtlSec != null) {
+ _json["affinityCookieTtlSec"] = affinityCookieTtlSec;
+ }
+ if (backends != null) {
+ _json["backends"] = backends.map((value) => (value).toJson()).toList();
+ }
+ if (cdnPolicy != null) {
+ _json["cdnPolicy"] = (cdnPolicy).toJson();
+ }
+ 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 (healthChecks != null) {
+ _json["healthChecks"] = healthChecks;
+ }
+ if (iap != null) {
+ _json["iap"] = (iap).toJson();
+ }
+ 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 (sessionAffinity != null) {
+ _json["sessionAffinity"] = sessionAffinity;
+ }
+ if (timeoutSec != null) {
+ _json["timeoutSec"] = timeoutSec;
+ }
+ return _json;
+ }
+}
+
+/** Contains a list of BackendServicesScopedList. */
+class BackendServiceAggregatedList {
+ /**
+ * [Output Only] Unique identifier for the resource; defined by the server.
+ */
+ core.String id;
+ /** A map of scoped BackendService lists. */
+ core.Map<core.String, BackendServicesScopedList> 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;
+
+ BackendServiceAggregatedList();
+
+ BackendServiceAggregatedList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("items")) {
+ items = commons.mapMap<core.Map<core.String, core.Object>, BackendServicesScopedList>(_json["items"], (core.Map<core.String, core.Object> item) => new BackendServicesScopedList.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<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (items != null) {
+ _json["items"] = commons.mapMap<BackendServicesScopedList, core.Map<core.String, core.Object>>(items, (BackendServicesScopedList item) => (item).toJson());
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ return _json;
+ }
+}
+
+/** Message containing Cloud CDN configuration for a backend service. */
+class BackendServiceCdnPolicy {
+ /** The CacheKeyPolicy for this CdnPolicy. */
+ CacheKeyPolicy cacheKeyPolicy;
+
+ BackendServiceCdnPolicy();
+
+ BackendServiceCdnPolicy.fromJson(core.Map _json) {
+ if (_json.containsKey("cacheKeyPolicy")) {
+ cacheKeyPolicy = new CacheKeyPolicy.fromJson(_json["cacheKeyPolicy"]);
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (cacheKeyPolicy != null) {
+ _json["cacheKeyPolicy"] = (cacheKeyPolicy).toJson();
+ }
+ return _json;
+ }
+}
+
+class BackendServiceGroupHealth {
+ core.List<HealthStatus> healthStatus;
+ /**
+ * [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<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (healthStatus != null) {
+ _json["healthStatus"] = healthStatus.map((value) => (value).toJson()).toList();
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ return _json;
+ }
+}
+
+/** Identity-Aware Proxy */
+class BackendServiceIAP {
+ core.bool enabled;
+ core.String oauth2ClientId;
+ core.String oauth2ClientSecret;
+ /**
+ * [Output Only] SHA256 hash value for the field oauth2_client_secret above.
+ */
+ core.String oauth2ClientSecretSha256;
+
+ BackendServiceIAP();
+
+ BackendServiceIAP.fromJson(core.Map _json) {
+ if (_json.containsKey("enabled")) {
+ enabled = _json["enabled"];
+ }
+ if (_json.containsKey("oauth2ClientId")) {
+ oauth2ClientId = _json["oauth2ClientId"];
+ }
+ if (_json.containsKey("oauth2ClientSecret")) {
+ oauth2ClientSecret = _json["oauth2ClientSecret"];
+ }
+ if (_json.containsKey("oauth2ClientSecretSha256")) {
+ oauth2ClientSecretSha256 = _json["oauth2ClientSecretSha256"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (enabled != null) {
+ _json["enabled"] = enabled;
+ }
+ if (oauth2ClientId != null) {
+ _json["oauth2ClientId"] = oauth2ClientId;
+ }
+ if (oauth2ClientSecret != null) {
+ _json["oauth2ClientSecret"] = oauth2ClientSecret;
+ }
+ if (oauth2ClientSecretSha256 != null) {
+ _json["oauth2ClientSecretSha256"] = oauth2ClientSecretSha256;
+ }
+ return _json;
+ }
+}
+
+/** Contains a list of BackendService resources. */
+class BackendServiceList {
+ /**
+ * [Output Only] Unique identifier for the resource; 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.
+ */
+ 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;
+
+ BackendServiceList();
+
+ BackendServiceList.fromJson(core.Map _json) {
+ 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("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ 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 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
+ * 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;
+
+ BackendServicesScopedListWarningData();
+
+ BackendServicesScopedListWarningData.fromJson(core.Map _json) {
+ if (_json.containsKey("key")) {
+ key = _json["key"];
+ }
+ if (_json.containsKey("value")) {
+ value = _json["value"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (key != null) {
+ _json["key"] = key;
+ }
+ if (value != null) {
+ _json["value"] = value;
+ }
+ return _json;
+ }
+}
+
+/**
+ * Informational warning which replaces the list of backend services when the
+ * list is empty.
+ */
+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.
+ * 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_IN_USE_BY_OTHER_RESOURCE_WARNING"
+ * - "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.String name;
- /** [Output Only] Server-defined URL for the resource. */
- core.String selfLink;
+ core.List<BackendServicesScopedListWarningData> data;
+ /** [Output Only] A human-readable description of the warning code. */
+ core.String message;
- BackendBucket();
+ BackendServicesScopedListWarning();
- BackendBucket.fromJson(core.Map _json) {
- if (_json.containsKey("bucketName")) {
- bucketName = _json["bucketName"];
+ BackendServicesScopedListWarning.fromJson(core.Map _json) {
+ if (_json.containsKey("code")) {
+ code = _json["code"];
}
- if (_json.containsKey("creationTimestamp")) {
- creationTimestamp = _json["creationTimestamp"];
+ if (_json.containsKey("data")) {
+ data = _json["data"].map((value) => new BackendServicesScopedListWarningData.fromJson(value)).toList();
}
- if (_json.containsKey("description")) {
- description = _json["description"];
+ if (_json.containsKey("message")) {
+ message = _json["message"];
}
- if (_json.containsKey("enableCdn")) {
- enableCdn = _json["enableCdn"];
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ 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 BackendServicesScopedList {
+ /** List of BackendServices contained in this scope. */
+ core.List<BackendService> backendServices;
+ /**
+ * Informational warning which replaces the list of backend services when the
+ * list is empty.
+ */
+ BackendServicesScopedListWarning warning;
+
+ BackendServicesScopedList();
+
+ BackendServicesScopedList.fromJson(core.Map _json) {
+ if (_json.containsKey("backendServices")) {
+ backendServices = _json["backendServices"].map((value) => new BackendService.fromJson(value)).toList();
}
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
+ if (_json.containsKey("warning")) {
+ warning = new BackendServicesScopedListWarning.fromJson(_json["warning"]);
}
}
core.Map<core.String, core.Object> toJson() {
final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- if (bucketName != null) {
- _json["bucketName"] = bucketName;
- }
- if (creationTimestamp != null) {
- _json["creationTimestamp"] = creationTimestamp;
- }
- if (description != null) {
- _json["description"] = description;
+ if (backendServices != null) {
+ _json["backendServices"] = backendServices.map((value) => (value).toJson()).toList();
}
- if (enableCdn != null) {
- _json["enableCdn"] = enableCdn;
+ if (warning != null) {
+ _json["warning"] = (warning).toJson();
}
- if (id != null) {
- _json["id"] = id;
+ return _json;
+ }
+}
+
+class CacheInvalidationRule {
+ /**
+ * If set, this invalidation rule will only apply to requests with a Host
+ * header matching host.
+ */
+ core.String host;
+ core.String path;
+
+ CacheInvalidationRule();
+
+ CacheInvalidationRule.fromJson(core.Map _json) {
+ if (_json.containsKey("host")) {
+ host = _json["host"];
}
- if (kind != null) {
- _json["kind"] = kind;
+ if (_json.containsKey("path")) {
+ path = _json["path"];
}
- if (name != null) {
- _json["name"] = name;
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (host != null) {
+ _json["host"] = host;
}
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
+ if (path != null) {
+ _json["path"] = path;
}
return _json;
}
}
-/** Contains a list of BackendBucket resources. */
-class BackendBucketList {
+/**
+ * Message containing what to include in the cache key for a request for Cloud
+ * CDN.
+ */
+class CacheKeyPolicy {
+ /** If true, requests to different hosts will be cached separately. */
+ core.bool includeHost;
+ /** If true, http and https requests will be cached separately. */
+ core.bool includeProtocol;
/**
- * [Output Only] Unique identifier for the resource; defined by the server.
+ * If true, include query string parameters in the cache key according to
+ * query_string_whitelist and query_string_blacklist. If neither is set, the
+ * entire query string will be included. If false, the query string will be
+ * excluded from the cache key entirely.
*/
- core.String id;
- /** A list of BackendBucket resources. */
- core.List<BackendBucket> 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;
+ core.bool includeQueryString;
+ /**
+ * Names of query string parameters to exclude in cache keys. All other
+ * parameters will be included. Either specify query_string_whitelist or
+ * query_string_blacklist, not both. '&' and '=' will be percent encoded and
+ * not treated as delimiters.
+ */
+ core.List<core.String> queryStringBlacklist;
+ /**
+ * Names of query string parameters to include in cache keys. All other
+ * parameters will be excluded. Either specify query_string_whitelist or
+ * query_string_blacklist, not both. '&' and '=' will be percent encoded and
+ * not treated as delimiters.
+ */
+ core.List<core.String> queryStringWhitelist;
- BackendBucketList();
+ CacheKeyPolicy();
- BackendBucketList.fromJson(core.Map _json) {
- if (_json.containsKey("id")) {
- id = _json["id"];
+ CacheKeyPolicy.fromJson(core.Map _json) {
+ if (_json.containsKey("includeHost")) {
+ includeHost = _json["includeHost"];
}
- if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new BackendBucket.fromJson(value)).toList();
+ if (_json.containsKey("includeProtocol")) {
+ includeProtocol = _json["includeProtocol"];
}
- if (_json.containsKey("kind")) {
- kind = _json["kind"];
+ if (_json.containsKey("includeQueryString")) {
+ includeQueryString = _json["includeQueryString"];
}
- if (_json.containsKey("nextPageToken")) {
- nextPageToken = _json["nextPageToken"];
+ if (_json.containsKey("queryStringBlacklist")) {
+ queryStringBlacklist = _json["queryStringBlacklist"];
}
- if (_json.containsKey("selfLink")) {
- selfLink = _json["selfLink"];
+ if (_json.containsKey("queryStringWhitelist")) {
+ queryStringWhitelist = _json["queryStringWhitelist"];
}
}
core.Map<core.String, core.Object> toJson() {
final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- if (id != null) {
- _json["id"] = id;
+ if (includeHost != null) {
+ _json["includeHost"] = includeHost;
}
- if (items != null) {
- _json["items"] = items.map((value) => (value).toJson()).toList();
+ if (includeProtocol != null) {
+ _json["includeProtocol"] = includeProtocol;
}
- if (kind != null) {
- _json["kind"] = kind;
+ if (includeQueryString != null) {
+ _json["includeQueryString"] = includeQueryString;
}
- if (nextPageToken != null) {
- _json["nextPageToken"] = nextPageToken;
+ if (queryStringBlacklist != null) {
+ _json["queryStringBlacklist"] = queryStringBlacklist;
}
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
+ if (queryStringWhitelist != null) {
+ _json["queryStringWhitelist"] = queryStringWhitelist;
}
return _json;
}
}
/**
- * A BackendService resource. This resource defines a group of backend virtual
- * machines and their serving capacity.
+ * Represents a Commitment resource. Creating a Commitment resource means that
+ * you are purchasing a committed use contract with an explicit start and end
+ * time. You can create commitments based on vCPUs and memory usage and receive
+ * discounted rates. For full details, read Signing Up for Committed Use
+ * Discounts.
+ *
+ * Committed use discounts are subject to Google Cloud Platform's Service
+ * Specific Terms. By purchasing a committed use discount, you agree to these
+ * terms. Committed use discounts will not renew, so you must purchase a new
+ * commitment to continue receiving discounts.
*/
-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;
- /** Cloud CDN configuration for this BackendService. */
- BackendServiceCdnPolicy cdnPolicy;
- ConnectionDraining connectionDraining;
+class Commitment {
/** [Output Only] Creation timestamp in RFC3339 text format. */
core.String creationTimestamp;
/**
@@ -20155,54 +22018,18 @@ class BackendService {
* 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;
- BackendServiceIAP iap;
+ /** [Output Only] Commitment end time in RFC3339 text format. */
+ core.String endTimestamp;
/**
* [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"
+ * defined by the server.
*/
- core.String loadBalancingScheme;
+ core.String id;
+ /**
+ * [Output Only] Type of the resource. Always compute#commitment for
+ * commitments.
+ */
+ 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.
@@ -20214,98 +22041,51 @@ class BackendService {
*/
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, TCP, and SSL. The default is HTTP.
- *
- * For internal load balancing, the possible values are TCP and UDP, and the
- * default is TCP.
+ * The plan for this commitment, which determines duration and discount rate.
+ * The currently supported plans are TWELVE_MONTH (1 year), and
+ * THIRTY_SIX_MONTH (3 years).
* Possible string values are:
- * - "HTTP"
- * - "HTTPS"
- * - "SSL"
- * - "TCP"
- * - "UDP"
+ * - "INVALID"
+ * - "THIRTY_SIX_MONTH"
+ * - "TWELVE_MONTH"
*/
- core.String protocol;
+ core.String plan;
+ /** [Output Only] URL of the region where this commitment may be used. */
+ core.String region;
/**
- * [Output Only] URL of the region where the regional backend service resides.
- * This field is not applicable to global backend services.
+ * List of commitment amounts for particular resources. Note that VCPU and
+ * MEMORY resource commitments must occur together.
*/
- core.String region;
+ core.List<ResourceCommitment> resources;
/** [Output Only] Server-defined URL for the resource. */
core.String selfLink;
+ /** [Output Only] Commitment start time in RFC3339 text format. */
+ core.String startTimestamp;
/**
- * 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.
+ * [Output Only] Status of the commitment with regards to eventual expiration
+ * (each commitment has an end date defined). One of the following values:
+ * NOT_YET_ACTIVE, ACTIVE, EXPIRED.
* 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.
+ * - "ACTIVE"
+ * - "CREATING"
+ * - "EXPIRED"
+ * - "NOT_YET_ACTIVE"
*/
- core.int timeoutSec;
+ core.String status;
+ /** [Output Only] An optional, human-readable explanation of the status. */
+ core.String statusMessage;
- BackendService();
+ Commitment();
- 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("cdnPolicy")) {
- cdnPolicy = new BackendServiceCdnPolicy.fromJson(_json["cdnPolicy"]);
- }
- if (_json.containsKey("connectionDraining")) {
- connectionDraining = new ConnectionDraining.fromJson(_json["connectionDraining"]);
- }
+ Commitment.fromJson(core.Map _json) {
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("iap")) {
- iap = new BackendServiceIAP.fromJson(_json["iap"]);
+ if (_json.containsKey("endTimestamp")) {
+ endTimestamp = _json["endTimestamp"];
}
if (_json.containsKey("id")) {
id = _json["id"];
@@ -20313,66 +22093,42 @@ class BackendService {
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("plan")) {
+ plan = _json["plan"];
}
if (_json.containsKey("region")) {
region = _json["region"];
}
+ if (_json.containsKey("resources")) {
+ resources = _json["resources"].map((value) => new ResourceCommitment.fromJson(value)).toList();
+ }
if (_json.containsKey("selfLink")) {
selfLink = _json["selfLink"];
}
- if (_json.containsKey("sessionAffinity")) {
- sessionAffinity = _json["sessionAffinity"];
+ if (_json.containsKey("startTimestamp")) {
+ startTimestamp = _json["startTimestamp"];
}
- if (_json.containsKey("timeoutSec")) {
- timeoutSec = _json["timeoutSec"];
+ if (_json.containsKey("status")) {
+ status = _json["status"];
+ }
+ if (_json.containsKey("statusMessage")) {
+ statusMessage = _json["statusMessage"];
}
}
core.Map<core.String, core.Object> toJson() {
final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- if (affinityCookieTtlSec != null) {
- _json["affinityCookieTtlSec"] = affinityCookieTtlSec;
- }
- if (backends != null) {
- _json["backends"] = backends.map((value) => (value).toJson()).toList();
- }
- if (cdnPolicy != null) {
- _json["cdnPolicy"] = (cdnPolicy).toJson();
- }
- 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 (healthChecks != null) {
- _json["healthChecks"] = healthChecks;
- }
- if (iap != null) {
- _json["iap"] = (iap).toJson();
+ if (endTimestamp != null) {
+ _json["endTimestamp"] = endTimestamp;
}
if (id != null) {
_json["id"] = id;
@@ -20380,202 +22136,111 @@ class BackendService {
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 (plan != null) {
+ _json["plan"] = plan;
}
if (region != null) {
_json["region"] = region;
}
- if (selfLink != null) {
- _json["selfLink"] = selfLink;
- }
- if (sessionAffinity != null) {
- _json["sessionAffinity"] = sessionAffinity;
- }
- if (timeoutSec != null) {
- _json["timeoutSec"] = timeoutSec;
- }
- return _json;
- }
-}
-
-/** Contains a list of BackendServicesScopedList. */
-class BackendServiceAggregatedList {
- /**
- * [Output Only] Unique identifier for the resource; defined by the server.
- */
- core.String id;
- /** A map of scoped BackendService lists. */
- core.Map<core.String, BackendServicesScopedList> 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;
-
- BackendServiceAggregatedList();
-
- BackendServiceAggregatedList.fromJson(core.Map _json) {
- if (_json.containsKey("id")) {
- id = _json["id"];
- }
- if (_json.containsKey("items")) {
- items = commons.mapMap<core.Map<core.String, core.Object>, BackendServicesScopedList>(_json["items"], (core.Map<core.String, core.Object> item) => new BackendServicesScopedList.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<core.String, core.Object> toJson() {
- final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- if (id != null) {
- _json["id"] = id;
- }
- if (items != null) {
- _json["items"] = commons.mapMap<BackendServicesScopedList, core.Map<core.String, core.Object>>(items, (BackendServicesScopedList item) => (item).toJson());
- }
- if (kind != null) {
- _json["kind"] = kind;
- }
- if (nextPageToken != null) {
- _json["nextPageToken"] = nextPageToken;
+ if (resources != null) {
+ _json["resources"] = resources.map((value) => (value).toJson()).toList();
}
if (selfLink != null) {
_json["selfLink"] = selfLink;
}
- return _json;
- }
-}
-
-/** Message containing Cloud CDN configuration for a backend service. */
-class BackendServiceCdnPolicy {
- /** The CacheKeyPolicy for this CdnPolicy. */
- CacheKeyPolicy cacheKeyPolicy;
-
- BackendServiceCdnPolicy();
-
- BackendServiceCdnPolicy.fromJson(core.Map _json) {
- if (_json.containsKey("cacheKeyPolicy")) {
- cacheKeyPolicy = new CacheKeyPolicy.fromJson(_json["cacheKeyPolicy"]);
- }
- }
-
- core.Map<core.String, core.Object> toJson() {
- final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- if (cacheKeyPolicy != null) {
- _json["cacheKeyPolicy"] = (cacheKeyPolicy).toJson();
- }
- return _json;
- }
-}
-
-class BackendServiceGroupHealth {
- core.List<HealthStatus> healthStatus;
- /**
- * [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<core.String, core.Object> toJson() {
- final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- if (healthStatus != null) {
- _json["healthStatus"] = healthStatus.map((value) => (value).toJson()).toList();
+ if (startTimestamp != null) {
+ _json["startTimestamp"] = startTimestamp;
}
- if (kind != null) {
- _json["kind"] = kind;
+ if (status != null) {
+ _json["status"] = status;
+ }
+ if (statusMessage != null) {
+ _json["statusMessage"] = statusMessage;
}
return _json;
}
}
-/** Identity-Aware Proxy */
-class BackendServiceIAP {
- core.bool enabled;
- core.String oauth2ClientId;
- core.String oauth2ClientSecret;
+class CommitmentAggregatedList {
/**
- * [Output Only] SHA256 hash value for the field oauth2_client_secret above.
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
*/
- core.String oauth2ClientSecretSha256;
+ core.String id;
+ /** Commitments by scope. */
+ core.Map<core.String, CommitmentsScopedList> items;
+ /**
+ * [Output Only] Type of resource. Always compute#commitmentAggregatedList for
+ * aggregated lists of commitments.
+ */
+ 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;
- BackendServiceIAP();
+ CommitmentAggregatedList();
- BackendServiceIAP.fromJson(core.Map _json) {
- if (_json.containsKey("enabled")) {
- enabled = _json["enabled"];
+ CommitmentAggregatedList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
}
- if (_json.containsKey("oauth2ClientId")) {
- oauth2ClientId = _json["oauth2ClientId"];
+ if (_json.containsKey("items")) {
+ items = commons.mapMap<core.Map<core.String, core.Object>, CommitmentsScopedList>(_json["items"], (core.Map<core.String, core.Object> item) => new CommitmentsScopedList.fromJson(item));
}
- if (_json.containsKey("oauth2ClientSecret")) {
- oauth2ClientSecret = _json["oauth2ClientSecret"];
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
}
- if (_json.containsKey("oauth2ClientSecretSha256")) {
- oauth2ClientSecretSha256 = _json["oauth2ClientSecretSha256"];
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
}
}
core.Map<core.String, core.Object> toJson() {
final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- if (enabled != null) {
- _json["enabled"] = enabled;
+ if (id != null) {
+ _json["id"] = id;
}
- if (oauth2ClientId != null) {
- _json["oauth2ClientId"] = oauth2ClientId;
+ if (items != null) {
+ _json["items"] = commons.mapMap<CommitmentsScopedList, core.Map<core.String, core.Object>>(items, (CommitmentsScopedList item) => (item).toJson());
}
- if (oauth2ClientSecret != null) {
- _json["oauth2ClientSecret"] = oauth2ClientSecret;
+ if (kind != null) {
+ _json["kind"] = kind;
}
- if (oauth2ClientSecretSha256 != null) {
- _json["oauth2ClientSecretSha256"] = oauth2ClientSecretSha256;
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
}
return _json;
}
}
-/** Contains a list of BackendService resources. */
-class BackendServiceList {
+/** Contains a list of Commitment resources. */
+class CommitmentList {
/**
- * [Output Only] Unique identifier for the resource; defined by the server.
+ * [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;
+ /** A list of Commitment resources. */
+ core.List<Commitment> items;
/**
- * [Output Only] Type of resource. Always compute#backendServiceList for lists
- * of backend services.
+ * [Output Only] Type of resource. Always compute#commitmentList for lists of
+ * commitments.
*/
core.String kind;
/**
@@ -20589,14 +22254,14 @@ class BackendServiceList {
/** [Output Only] Server-defined URL for this resource. */
core.String selfLink;
- BackendServiceList();
+ CommitmentList();
- BackendServiceList.fromJson(core.Map _json) {
+ CommitmentList.fromJson(core.Map _json) {
if (_json.containsKey("id")) {
id = _json["id"];
}
if (_json.containsKey("items")) {
- items = _json["items"].map((value) => new BackendService.fromJson(value)).toList();
+ items = _json["items"].map((value) => new Commitment.fromJson(value)).toList();
}
if (_json.containsKey("kind")) {
kind = _json["kind"];
@@ -20630,7 +22295,7 @@ class BackendServiceList {
}
}
-class BackendServicesScopedListWarningData {
+class CommitmentsScopedListWarningData {
/**
* [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
@@ -20644,9 +22309,9 @@ class BackendServicesScopedListWarningData {
/** [Output Only] A warning data value corresponding to the key. */
core.String value;
- BackendServicesScopedListWarningData();
+ CommitmentsScopedListWarningData();
- BackendServicesScopedListWarningData.fromJson(core.Map _json) {
+ CommitmentsScopedListWarningData.fromJson(core.Map _json) {
if (_json.containsKey("key")) {
key = _json["key"];
}
@@ -20668,10 +22333,10 @@ class BackendServicesScopedListWarningData {
}
/**
- * Informational warning which replaces the list of backend services when the
- * list is empty.
+ * [Output Only] Informational warning which replaces the list of commitments
+ * when the list is empty.
*/
-class BackendServicesScopedListWarning {
+class CommitmentsScopedListWarning {
/**
* [Output Only] A warning code, if applicable. For example, Compute Engine
* returns NO_RESULTS_ON_PAGE if there are no results in the response.
@@ -20700,18 +22365,18 @@ class BackendServicesScopedListWarning {
* example:
* "data": [ { "key": "scope", "value": "zones/us-east1-d" }
*/
- core.List<BackendServicesScopedListWarningData> data;
+ core.List<CommitmentsScopedListWarningData> data;
/** [Output Only] A human-readable description of the warning code. */
core.String message;
- BackendServicesScopedListWarning();
+ CommitmentsScopedListWarning();
- BackendServicesScopedListWarning.fromJson(core.Map _json) {
+ CommitmentsScopedListWarning.fromJson(core.Map _json) {
if (_json.containsKey("code")) {
code = _json["code"];
}
if (_json.containsKey("data")) {
- data = _json["data"].map((value) => new BackendServicesScopedListWarningData.fromJson(value)).toList();
+ data = _json["data"].map((value) => new CommitmentsScopedListWarningData.fromJson(value)).toList();
}
if (_json.containsKey("message")) {
message = _json["message"];
@@ -20733,30 +22398,30 @@ class BackendServicesScopedListWarning {
}
}
-class BackendServicesScopedList {
- /** List of BackendServices contained in this scope. */
- core.List<BackendService> backendServices;
+class CommitmentsScopedList {
+ /** [Output Only] List of commitments contained in this scope. */
+ core.List<Commitment> commitments;
/**
- * Informational warning which replaces the list of backend services when the
- * list is empty.
+ * [Output Only] Informational warning which replaces the list of commitments
+ * when the list is empty.
*/
- BackendServicesScopedListWarning warning;
+ CommitmentsScopedListWarning warning;
- BackendServicesScopedList();
+ CommitmentsScopedList();
- BackendServicesScopedList.fromJson(core.Map _json) {
- if (_json.containsKey("backendServices")) {
- backendServices = _json["backendServices"].map((value) => new BackendService.fromJson(value)).toList();
+ CommitmentsScopedList.fromJson(core.Map _json) {
+ if (_json.containsKey("commitments")) {
+ commitments = _json["commitments"].map((value) => new Commitment.fromJson(value)).toList();
}
if (_json.containsKey("warning")) {
- warning = new BackendServicesScopedListWarning.fromJson(_json["warning"]);
+ warning = new CommitmentsScopedListWarning.fromJson(_json["warning"]);
}
}
core.Map<core.String, core.Object> toJson() {
final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- if (backendServices != null) {
- _json["backendServices"] = backendServices.map((value) => (value).toJson()).toList();
+ if (commitments != null) {
+ _json["commitments"] = commitments.map((value) => (value).toJson()).toList();
}
if (warning != null) {
_json["warning"] = (warning).toJson();
@@ -20765,109 +22430,6 @@ class BackendServicesScopedList {
}
}
-class CacheInvalidationRule {
- /**
- * If set, this invalidation rule will only apply to requests with a Host
- * header matching host.
- */
- core.String host;
- core.String path;
-
- CacheInvalidationRule();
-
- CacheInvalidationRule.fromJson(core.Map _json) {
- if (_json.containsKey("host")) {
- host = _json["host"];
- }
- if (_json.containsKey("path")) {
- path = _json["path"];
- }
- }
-
- core.Map<core.String, core.Object> toJson() {
- final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- if (host != null) {
- _json["host"] = host;
- }
- if (path != null) {
- _json["path"] = path;
- }
- return _json;
- }
-}
-
-/**
- * Message containing what to include in the cache key for a request for Cloud
- * CDN.
- */
-class CacheKeyPolicy {
- /** If true, requests to different hosts will be cached separately. */
- core.bool includeHost;
- /** If true, http and https requests will be cached separately. */
- core.bool includeProtocol;
- /**
- * If true, include query string parameters in the cache key according to
- * query_string_whitelist and query_string_blacklist. If neither is set, the
- * entire query string will be included. If false, the query string will be
- * excluded from the cache key entirely.
- */
- core.bool includeQueryString;
- /**
- * Names of query string parameters to exclude in cache keys. All other
- * parameters will be included. Either specify query_string_whitelist or
- * query_string_blacklist, not both. '&' and '=' will be percent encoded and
- * not treated as delimiters.
- */
- core.List<core.String> queryStringBlacklist;
- /**
- * Names of query string parameters to include in cache keys. All other
- * parameters will be excluded. Either specify query_string_whitelist or
- * query_string_blacklist, not both. '&' and '=' will be percent encoded and
- * not treated as delimiters.
- */
- core.List<core.String> queryStringWhitelist;
-
- CacheKeyPolicy();
-
- CacheKeyPolicy.fromJson(core.Map _json) {
- if (_json.containsKey("includeHost")) {
- includeHost = _json["includeHost"];
- }
- if (_json.containsKey("includeProtocol")) {
- includeProtocol = _json["includeProtocol"];
- }
- if (_json.containsKey("includeQueryString")) {
- includeQueryString = _json["includeQueryString"];
- }
- if (_json.containsKey("queryStringBlacklist")) {
- queryStringBlacklist = _json["queryStringBlacklist"];
- }
- if (_json.containsKey("queryStringWhitelist")) {
- queryStringWhitelist = _json["queryStringWhitelist"];
- }
- }
-
- core.Map<core.String, core.Object> toJson() {
- final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
- if (includeHost != null) {
- _json["includeHost"] = includeHost;
- }
- if (includeProtocol != null) {
- _json["includeProtocol"] = includeProtocol;
- }
- if (includeQueryString != null) {
- _json["includeQueryString"] = includeQueryString;
- }
- if (queryStringBlacklist != null) {
- _json["queryStringBlacklist"] = queryStringBlacklist;
- }
- if (queryStringWhitelist != null) {
- _json["queryStringWhitelist"] = queryStringWhitelist;
- }
- return _json;
- }
-}
-
/** Message containing connection draining configuration. */
class ConnectionDraining {
/**
@@ -22906,7 +24468,7 @@ class GlobalSetLabelsRequest {
/** Guest OS features. */
class GuestOsFeature {
/**
- * The type of supported feature. Currenty only VIRTIO_SCSI_MULTIQUEUE is
+ * The type of supported feature. Currently 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
@@ -24293,6 +25855,10 @@ class Instance {
* created before you can assign them.
*/
core.List<AttachedDisk> disks;
+ /**
+ * List of the type and count of accelerator cards attached to the instance.
+ */
+ core.List<AcceleratorConfig> guestAccelerators;
/**
* [Output Only] The unique identifier for the resource. This identifier is
* defined by the server.
@@ -24430,6 +25996,9 @@ class Instance {
if (_json.containsKey("disks")) {
disks = _json["disks"].map((value) => new AttachedDisk.fromJson(value)).toList();
}
+ if (_json.containsKey("guestAccelerators")) {
+ guestAccelerators = _json["guestAccelerators"].map((value) => new AcceleratorConfig.fromJson(value)).toList();
+ }
if (_json.containsKey("id")) {
id = _json["id"];
}
@@ -24497,6 +26066,9 @@ class Instance {
if (disks != null) {
_json["disks"] = disks.map((value) => (value).toJson()).toList();
}
+ if (guestAccelerators != null) {
+ _json["guestAccelerators"] = guestAccelerators.map((value) => (value).toJson()).toList();
+ }
if (id != null) {
_json["id"] = id;
}
@@ -26117,6 +27689,11 @@ class InstanceProperties {
* from this template.
*/
core.List<AttachedDisk> disks;
+ /**
+ * A list of guest accelerator cards' type and count to use for instances
+ * created from the instance template.
+ */
+ core.List<AcceleratorConfig> guestAccelerators;
/** Labels to apply to instances that are created from this template. */
core.Map<core.String, core.String> labels;
/**
@@ -26163,6 +27740,9 @@ class InstanceProperties {
if (_json.containsKey("disks")) {
disks = _json["disks"].map((value) => new AttachedDisk.fromJson(value)).toList();
}
+ if (_json.containsKey("guestAccelerators")) {
+ guestAccelerators = _json["guestAccelerators"].map((value) => new AcceleratorConfig.fromJson(value)).toList();
+ }
if (_json.containsKey("labels")) {
labels = _json["labels"];
}
@@ -26197,6 +27777,9 @@ class InstanceProperties {
if (disks != null) {
_json["disks"] = disks.map((value) => (value).toJson()).toList();
}
+ if (guestAccelerators != null) {
+ _json["guestAccelerators"] = guestAccelerators.map((value) => (value).toJson()).toList();
+ }
if (labels != null) {
_json["labels"] = labels;
}
@@ -26627,6 +28210,29 @@ class InstancesSetLabelsRequest {
}
}
+class InstancesSetMachineResourcesRequest {
+ /**
+ * List of the type and count of accelerator cards attached to the instance.
+ */
+ core.List<AcceleratorConfig> guestAccelerators;
+
+ InstancesSetMachineResourcesRequest();
+
+ InstancesSetMachineResourcesRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("guestAccelerators")) {
+ guestAccelerators = _json["guestAccelerators"].map((value) => new AcceleratorConfig.fromJson(value)).toList();
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (guestAccelerators != null) {
+ _json["guestAccelerators"] = guestAccelerators.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
class InstancesSetMachineTypeRequest {
/**
* Full or partial URL of the machine type resource. See Machine Types for a
@@ -29037,6 +30643,7 @@ class Quota {
* - "AUTOSCALERS"
* - "BACKEND_BUCKETS"
* - "BACKEND_SERVICES"
+ * - "COMMITMENTS"
* - "CPUS"
* - "CPUS_ALL_REGIONS"
* - "DISKS_TOTAL_GB"
@@ -29769,6 +31376,51 @@ class RegionList {
}
}
+/**
+ * Commitment for a particular resource (a Commitment is composed of one or more
+ * of these).
+ */
+class ResourceCommitment {
+ /**
+ * The amount of the resource purchased (in a type-dependent unit, such as
+ * bytes). For vCPUs, this can just be an integer. For memory, this must be
+ * provided in MB. Memory must be a multiple of 256 MB, with up to 6.5GB of
+ * memory per every vCPU.
+ */
+ core.String amount;
+ /**
+ * Type of resource for which this commitment applies. Possible values are
+ * VCPU and MEMORY
+ * Possible string values are:
+ * - "MEMORY"
+ * - "UNSPECIFIED"
+ * - "VCPU"
+ */
+ core.String type;
+
+ ResourceCommitment();
+
+ ResourceCommitment.fromJson(core.Map _json) {
+ if (_json.containsKey("amount")) {
+ amount = _json["amount"];
+ }
+ if (_json.containsKey("type")) {
+ type = _json["type"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (amount != null) {
+ _json["amount"] = amount;
+ }
+ if (type != null) {
+ _json["type"] = type;
+ }
+ return _json;
+ }
+}
+
class ResourceGroupReference {
/**
* A URI referencing one of the instance groups listed in the backend service.
« no previous file with comments | « generated/googleapis/lib/cloudtrace/v2.dart ('k') | generated/googleapis/lib/container/v1.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698