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

Side by Side Diff: generated/googleapis/lib/compute/v1.dart

Issue 2039113004: Api-roll 37: 2016-06-06 (Closed) Base URL: git@github.com:dart-lang/googleapis.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // This is a generated file (see the discoveryapis_generator project). 1 // This is a generated file (see the discoveryapis_generator project).
2 2
3 library googleapis.compute.v1; 3 library googleapis.compute.v1;
4 4
5 import 'dart:core' as core; 5 import 'dart:core' as core;
6 import 'dart:async' as async; 6 import 'dart:async' as async;
7 import 'dart:convert' as convert; 7 import 'dart:convert' as convert;
8 8
9 import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; 9 import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons;
10 import 'package:crypto/crypto.dart' as crypto;
11 import 'package:http/http.dart' as http; 10 import 'package:http/http.dart' as http;
12 11
13 export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' show 12 export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' show
14 ApiRequestError, DetailedApiRequestError; 13 ApiRequestError, DetailedApiRequestError;
15 14
16 const core.String USER_AGENT = 'dart-api-client compute/v1'; 15 const core.String USER_AGENT = 'dart-api-client compute/v1';
17 16
18 /** Creates and runs virtual machines on Google Cloud Platform. */ 17 /** Creates and runs virtual machines on Google Cloud Platform. */
19 class ComputeApi { 18 class ComputeApi {
20 /** View and manage your data across Google Cloud Platform services */ 19 /** View and manage your data across Google Cloud Platform services */
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 InstanceGroupManagersResourceApi get instanceGroupManagers => new InstanceGrou pManagersResourceApi(_requester); 53 InstanceGroupManagersResourceApi get instanceGroupManagers => new InstanceGrou pManagersResourceApi(_requester);
55 InstanceGroupsResourceApi get instanceGroups => new InstanceGroupsResourceApi( _requester); 54 InstanceGroupsResourceApi get instanceGroups => new InstanceGroupsResourceApi( _requester);
56 InstanceTemplatesResourceApi get instanceTemplates => new InstanceTemplatesRes ourceApi(_requester); 55 InstanceTemplatesResourceApi get instanceTemplates => new InstanceTemplatesRes ourceApi(_requester);
57 InstancesResourceApi get instances => new InstancesResourceApi(_requester); 56 InstancesResourceApi get instances => new InstancesResourceApi(_requester);
58 LicensesResourceApi get licenses => new LicensesResourceApi(_requester); 57 LicensesResourceApi get licenses => new LicensesResourceApi(_requester);
59 MachineTypesResourceApi get machineTypes => new MachineTypesResourceApi(_reque ster); 58 MachineTypesResourceApi get machineTypes => new MachineTypesResourceApi(_reque ster);
60 NetworksResourceApi get networks => new NetworksResourceApi(_requester); 59 NetworksResourceApi get networks => new NetworksResourceApi(_requester);
61 ProjectsResourceApi get projects => new ProjectsResourceApi(_requester); 60 ProjectsResourceApi get projects => new ProjectsResourceApi(_requester);
62 RegionOperationsResourceApi get regionOperations => new RegionOperationsResour ceApi(_requester); 61 RegionOperationsResourceApi get regionOperations => new RegionOperationsResour ceApi(_requester);
63 RegionsResourceApi get regions => new RegionsResourceApi(_requester); 62 RegionsResourceApi get regions => new RegionsResourceApi(_requester);
63 RoutersResourceApi get routers => new RoutersResourceApi(_requester);
64 RoutesResourceApi get routes => new RoutesResourceApi(_requester); 64 RoutesResourceApi get routes => new RoutesResourceApi(_requester);
65 SnapshotsResourceApi get snapshots => new SnapshotsResourceApi(_requester); 65 SnapshotsResourceApi get snapshots => new SnapshotsResourceApi(_requester);
66 SslCertificatesResourceApi get sslCertificates => new SslCertificatesResourceA pi(_requester); 66 SslCertificatesResourceApi get sslCertificates => new SslCertificatesResourceA pi(_requester);
67 SubnetworksResourceApi get subnetworks => new SubnetworksResourceApi(_requeste r); 67 SubnetworksResourceApi get subnetworks => new SubnetworksResourceApi(_requeste r);
68 TargetHttpProxiesResourceApi get targetHttpProxies => new TargetHttpProxiesRes ourceApi(_requester); 68 TargetHttpProxiesResourceApi get targetHttpProxies => new TargetHttpProxiesRes ourceApi(_requester);
69 TargetHttpsProxiesResourceApi get targetHttpsProxies => new TargetHttpsProxies ResourceApi(_requester); 69 TargetHttpsProxiesResourceApi get targetHttpsProxies => new TargetHttpsProxies ResourceApi(_requester);
70 TargetInstancesResourceApi get targetInstances => new TargetInstancesResourceA pi(_requester); 70 TargetInstancesResourceApi get targetInstances => new TargetInstancesResourceA pi(_requester);
71 TargetPoolsResourceApi get targetPools => new TargetPoolsResourceApi(_requeste r); 71 TargetPoolsResourceApi get targetPools => new TargetPoolsResourceApi(_requeste r);
72 TargetVpnGatewaysResourceApi get targetVpnGateways => new TargetVpnGatewaysRes ourceApi(_requester); 72 TargetVpnGatewaysResourceApi get targetVpnGateways => new TargetVpnGatewaysRes ourceApi(_requester);
73 UrlMapsResourceApi get urlMaps => new UrlMapsResourceApi(_requester); 73 UrlMapsResourceApi get urlMaps => new UrlMapsResourceApi(_requester);
(...skipping 4442 matching lines...) Expand 10 before | Expand all | Expand 10 after
4516 uploadOptions: _uploadOptions, 4516 uploadOptions: _uploadOptions,
4517 uploadMedia: _uploadMedia, 4517 uploadMedia: _uploadMedia,
4518 downloadOptions: _downloadOptions); 4518 downloadOptions: _downloadOptions);
4519 return _response.then((data) => new Operation.fromJson(data)); 4519 return _response.then((data) => new Operation.fromJson(data));
4520 } 4520 }
4521 4521
4522 /** 4522 /**
4523 * Retrieves the list of private images available to the specified project. 4523 * Retrieves the list of private images available to the specified project.
4524 * Private images are images you create that belong to your project. This 4524 * Private images are images you create that belong to your project. This
4525 * method does not get any images that belong to other projects, including 4525 * method does not get any images that belong to other projects, including
4526 * publicly-available images, like Debian 7. If you want to get a list of 4526 * publicly-available images, like Debian 8. If you want to get a list of
4527 * publicly-available images, use this method to make a request to the 4527 * publicly-available images, use this method to make a request to the
4528 * respective image project, such as debian-cloud or windows-cloud. 4528 * respective image project, such as debian-cloud or windows-cloud.
4529 * 4529 *
4530 * See Accessing images for more information.
4531 *
4532 * Request parameters: 4530 * Request parameters:
4533 * 4531 *
4534 * [project] - Project ID for this request. 4532 * [project] - Project ID for this request.
4535 * Value must have pattern 4533 * Value must have pattern
4536 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 4534 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
4537 * 4535 *
4538 * [filter] - Sets a filter expression for filtering listed resources, in the 4536 * [filter] - Sets a filter expression for filtering listed resources, in the
4539 * form filter={expression}. Your {expression} must be in the format: 4537 * form filter={expression}. Your {expression} must be in the format:
4540 * field_name comparison_string literal_string. 4538 * field_name comparison_string literal_string.
4541 * 4539 *
(...skipping 2772 matching lines...) Expand 10 before | Expand all | Expand 10 after
7314 "POST", 7312 "POST",
7315 body: _body, 7313 body: _body,
7316 queryParams: _queryParams, 7314 queryParams: _queryParams,
7317 uploadOptions: _uploadOptions, 7315 uploadOptions: _uploadOptions,
7318 uploadMedia: _uploadMedia, 7316 uploadMedia: _uploadMedia,
7319 downloadOptions: _downloadOptions); 7317 downloadOptions: _downloadOptions);
7320 return _response.then((data) => new Operation.fromJson(data)); 7318 return _response.then((data) => new Operation.fromJson(data));
7321 } 7319 }
7322 7320
7323 /** 7321 /**
7322 * Starts an instance that was stopped using the using the instances().stop
7323 * method. For more information, see Restart an instance.
7324 *
7325 * [request] - The metadata request object.
7326 *
7327 * Request parameters:
7328 *
7329 * [project] - Project ID for this request.
7330 * Value must have pattern
7331 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
7332 *
7333 * [zone] - The name of the zone for this request.
7334 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
7335 *
7336 * [instance] - Name of the instance resource to start.
7337 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
7338 *
7339 * Completes with a [Operation].
7340 *
7341 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
7342 * error.
7343 *
7344 * If the used [http.Client] completes with an error when making a REST call,
7345 * this method will complete with the same error.
7346 */
7347 async.Future<Operation> startWithEncryptionKey(InstancesStartWithEncryptionKey Request request, core.String project, core.String zone, core.String instance) {
7348 var _url = null;
7349 var _queryParams = new core.Map();
7350 var _uploadMedia = null;
7351 var _uploadOptions = null;
7352 var _downloadOptions = commons.DownloadOptions.Metadata;
7353 var _body = null;
7354
7355 if (request != null) {
7356 _body = convert.JSON.encode((request).toJson());
7357 }
7358 if (project == null) {
7359 throw new core.ArgumentError("Parameter project is required.");
7360 }
7361 if (zone == null) {
7362 throw new core.ArgumentError("Parameter zone is required.");
7363 }
7364 if (instance == null) {
7365 throw new core.ArgumentError("Parameter instance is required.");
7366 }
7367
7368 _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escap er.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$inst ance') + '/startWithEncryptionKey';
7369
7370 var _response = _requester.request(_url,
7371 "POST",
7372 body: _body,
7373 queryParams: _queryParams,
7374 uploadOptions: _uploadOptions,
7375 uploadMedia: _uploadMedia,
7376 downloadOptions: _downloadOptions);
7377 return _response.then((data) => new Operation.fromJson(data));
7378 }
7379
7380 /**
7324 * Stops a running instance, shutting it down cleanly, and allows you to 7381 * Stops a running instance, shutting it down cleanly, and allows you to
7325 * restart the instance at a later time. Stopped instances do not incur 7382 * restart the instance at a later time. Stopped instances do not incur
7326 * per-minute, virtual machine usage charges while they are stopped, but any 7383 * per-minute, virtual machine usage charges while they are stopped, but any
7327 * resources that the virtual machine is using, such as persistent disks and 7384 * resources that the virtual machine is using, such as persistent disks and
7328 * static IP addresses, will continue to be charged until they are deleted. 7385 * static IP addresses, will continue to be charged until they are deleted.
7329 * For more information, see Stopping an instance. 7386 * For more information, see Stopping an instance.
7330 * 7387 *
7331 * Request parameters: 7388 * Request parameters:
7332 * 7389 *
7333 * [project] - Project ID for this request. 7390 * [project] - Project ID for this request.
(...skipping 1169 matching lines...) Expand 10 before | Expand all | Expand 10 after
8503 queryParams: _queryParams, 8560 queryParams: _queryParams,
8504 uploadOptions: _uploadOptions, 8561 uploadOptions: _uploadOptions,
8505 uploadMedia: _uploadMedia, 8562 uploadMedia: _uploadMedia,
8506 downloadOptions: _downloadOptions); 8563 downloadOptions: _downloadOptions);
8507 return _response.then((data) => new RegionList.fromJson(data)); 8564 return _response.then((data) => new RegionList.fromJson(data));
8508 } 8565 }
8509 8566
8510 } 8567 }
8511 8568
8512 8569
8513 class RoutesResourceApi { 8570 class RoutersResourceApi {
8514 final commons.ApiRequester _requester; 8571 final commons.ApiRequester _requester;
8515 8572
8516 RoutesResourceApi(commons.ApiRequester client) : 8573 RoutersResourceApi(commons.ApiRequester client) :
8517 _requester = client; 8574 _requester = client;
8518 8575
8519 /** 8576 /**
8520 * Deletes the specified Route resource. 8577 * Retrieves an aggregated list of routers.
8521 * 8578 *
8522 * Request parameters: 8579 * Request parameters:
8523 * 8580 *
8524 * [project] - Project ID for this request. 8581 * [project] - Project ID for this request.
8525 * Value must have pattern 8582 * Value must have pattern
8526 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 8583 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
8527 * 8584 *
8528 * [route] - Name of the Route resource to delete. 8585 * [filter] - Sets a filter expression for filtering listed resources, in the
8586 * form filter={expression}. Your {expression} must be in the format:
8587 * field_name comparison_string literal_string.
8588 *
8589 * The field_name is the name of the field you want to compare. Only atomic
8590 * field types are supported (string, number, boolean). The comparison_string
8591 * must be either eq (equals) or ne (not equals). The literal_string is the
8592 * string value to filter to. The literal value must be valid for the type of
8593 * field you are filtering by (string, number, boolean). For string fields,
8594 * the literal value is interpreted as a regular expression using RE2 syntax.
8595 * The literal value must match the entire field.
8596 *
8597 * For example, to filter for instances that do not have a name of
8598 * example-instance, you would use filter=name ne example-instance.
8599 *
8600 * Compute Engine Beta API Only: When filtering in the Beta API, you can also
8601 * filter on nested fields. For example, you could filter on instances that
8602 * have set the scheduling.automaticRestart field to true. Use filtering on
8603 * nested fields to take advantage of labels to organize and search for
8604 * results based on label values.
8605 *
8606 * The Beta API also supports filtering on multiple expressions by providing
8607 * each separate expression within parentheses. For example,
8608 * (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple
8609 * expressions are treated as AND expressions, meaning that resources must
8610 * match all expressions to pass the filters.
8611 *
8612 * [maxResults] - The maximum number of results per page that should be
8613 * returned. If the number of available results is larger than maxResults,
8614 * Compute Engine returns a nextPageToken that can be used to get the next
8615 * page of results in subsequent list requests.
8616 * Value must be between "0" and "500".
8617 *
8618 * [pageToken] - Specifies a page token to use. Set pageToken to the
8619 * nextPageToken returned by a previous list request to get the next page of
8620 * results.
8621 *
8622 * Completes with a [RouterAggregatedList].
8623 *
8624 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
8625 * error.
8626 *
8627 * If the used [http.Client] completes with an error when making a REST call,
8628 * this method will complete with the same error.
8629 */
8630 async.Future<RouterAggregatedList> aggregatedList(core.String project, {core.S tring filter, core.int maxResults, core.String pageToken}) {
8631 var _url = null;
8632 var _queryParams = new core.Map();
8633 var _uploadMedia = null;
8634 var _uploadOptions = null;
8635 var _downloadOptions = commons.DownloadOptions.Metadata;
8636 var _body = null;
8637
8638 if (project == null) {
8639 throw new core.ArgumentError("Parameter project is required.");
8640 }
8641 if (filter != null) {
8642 _queryParams["filter"] = [filter];
8643 }
8644 if (maxResults != null) {
8645 _queryParams["maxResults"] = ["${maxResults}"];
8646 }
8647 if (pageToken != null) {
8648 _queryParams["pageToken"] = [pageToken];
8649 }
8650
8651 _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/routers';
8652
8653 var _response = _requester.request(_url,
8654 "GET",
8655 body: _body,
8656 queryParams: _queryParams,
8657 uploadOptions: _uploadOptions,
8658 uploadMedia: _uploadMedia,
8659 downloadOptions: _downloadOptions);
8660 return _response.then((data) => new RouterAggregatedList.fromJson(data));
8661 }
8662
8663 /**
8664 * Deletes the specified Router resource.
8665 *
8666 * Request parameters:
8667 *
8668 * [project] - Project ID for this request.
8669 * Value must have pattern
8670 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
8671 *
8672 * [region] - Name of the region for this request.
8673 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
8674 *
8675 * [router] - Name of the Router resource to delete.
8529 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 8676 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
8530 * 8677 *
8531 * Completes with a [Operation]. 8678 * Completes with a [Operation].
8532 * 8679 *
8533 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 8680 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
8534 * error. 8681 * error.
8535 * 8682 *
8536 * If the used [http.Client] completes with an error when making a REST call, 8683 * If the used [http.Client] completes with an error when making a REST call,
8537 * this method will complete with the same error. 8684 * this method will complete with the same error.
8538 */ 8685 */
8539 async.Future<Operation> delete(core.String project, core.String route) { 8686 async.Future<Operation> delete(core.String project, core.String region, core.S tring router) {
8540 var _url = null; 8687 var _url = null;
8541 var _queryParams = new core.Map(); 8688 var _queryParams = new core.Map();
8542 var _uploadMedia = null; 8689 var _uploadMedia = null;
8543 var _uploadOptions = null; 8690 var _uploadOptions = null;
8544 var _downloadOptions = commons.DownloadOptions.Metadata; 8691 var _downloadOptions = commons.DownloadOptions.Metadata;
8545 var _body = null; 8692 var _body = null;
8546 8693
8547 if (project == null) { 8694 if (project == null) {
8548 throw new core.ArgumentError("Parameter project is required."); 8695 throw new core.ArgumentError("Parameter project is required.");
8549 } 8696 }
8550 if (route == null) { 8697 if (region == null) {
8551 throw new core.ArgumentError("Parameter route is required."); 8698 throw new core.ArgumentError("Parameter region is required.");
8699 }
8700 if (router == null) {
8701 throw new core.ArgumentError("Parameter router is required.");
8552 } 8702 }
8553 8703
8554 _url = commons.Escaper.ecapeVariable('$project') + '/global/routes/' + commo ns.Escaper.ecapeVariable('$route'); 8704 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/routers/' + commons.Escaper.ecapeVariable('$ro uter');
8555 8705
8556 var _response = _requester.request(_url, 8706 var _response = _requester.request(_url,
8557 "DELETE", 8707 "DELETE",
8558 body: _body, 8708 body: _body,
8559 queryParams: _queryParams, 8709 queryParams: _queryParams,
8560 uploadOptions: _uploadOptions, 8710 uploadOptions: _uploadOptions,
8561 uploadMedia: _uploadMedia, 8711 uploadMedia: _uploadMedia,
8562 downloadOptions: _downloadOptions); 8712 downloadOptions: _downloadOptions);
8563 return _response.then((data) => new Operation.fromJson(data)); 8713 return _response.then((data) => new Operation.fromJson(data));
8564 } 8714 }
8565 8715
8566 /** 8716 /**
8567 * Returns the specified Route resource. Get a list of available routes by 8717 * Returns the specified Router resource. Get a list of available routers by
8568 * making a list() request. 8718 * making a list() request.
8569 * 8719 *
8570 * Request parameters: 8720 * Request parameters:
8571 * 8721 *
8572 * [project] - Project ID for this request. 8722 * [project] - Project ID for this request.
8573 * Value must have pattern 8723 * Value must have pattern
8574 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 8724 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
8575 * 8725 *
8576 * [route] - Name of the Route resource to return. 8726 * [region] - Name of the region for this request.
8577 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 8727 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
8578 * 8728 *
8579 * Completes with a [Route]. 8729 * [router] - Name of the Router resource to return.
8730 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
8731 *
8732 * Completes with a [Router].
8580 * 8733 *
8581 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 8734 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
8582 * error. 8735 * error.
8583 * 8736 *
8584 * If the used [http.Client] completes with an error when making a REST call, 8737 * If the used [http.Client] completes with an error when making a REST call,
8585 * this method will complete with the same error. 8738 * this method will complete with the same error.
8586 */ 8739 */
8587 async.Future<Route> get(core.String project, core.String route) { 8740 async.Future<Router> get(core.String project, core.String region, core.String router) {
8588 var _url = null; 8741 var _url = null;
8589 var _queryParams = new core.Map(); 8742 var _queryParams = new core.Map();
8590 var _uploadMedia = null; 8743 var _uploadMedia = null;
8591 var _uploadOptions = null; 8744 var _uploadOptions = null;
8592 var _downloadOptions = commons.DownloadOptions.Metadata; 8745 var _downloadOptions = commons.DownloadOptions.Metadata;
8593 var _body = null; 8746 var _body = null;
8594 8747
8595 if (project == null) { 8748 if (project == null) {
8596 throw new core.ArgumentError("Parameter project is required."); 8749 throw new core.ArgumentError("Parameter project is required.");
8597 } 8750 }
8598 if (route == null) { 8751 if (region == null) {
8599 throw new core.ArgumentError("Parameter route is required."); 8752 throw new core.ArgumentError("Parameter region is required.");
8753 }
8754 if (router == null) {
8755 throw new core.ArgumentError("Parameter router is required.");
8600 } 8756 }
8601 8757
8602 _url = commons.Escaper.ecapeVariable('$project') + '/global/routes/' + commo ns.Escaper.ecapeVariable('$route'); 8758 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/routers/' + commons.Escaper.ecapeVariable('$ro uter');
8603 8759
8604 var _response = _requester.request(_url, 8760 var _response = _requester.request(_url,
8605 "GET", 8761 "GET",
8606 body: _body, 8762 body: _body,
8607 queryParams: _queryParams, 8763 queryParams: _queryParams,
8608 uploadOptions: _uploadOptions, 8764 uploadOptions: _uploadOptions,
8609 uploadMedia: _uploadMedia, 8765 uploadMedia: _uploadMedia,
8610 downloadOptions: _downloadOptions); 8766 downloadOptions: _downloadOptions);
8611 return _response.then((data) => new Route.fromJson(data)); 8767 return _response.then((data) => new Router.fromJson(data));
8612 } 8768 }
8613 8769
8614 /** 8770 /**
8615 * Creates a Route resource in the specified project using the data included 8771 * Retrieves runtime information of the specified router.
8616 * in the request. 8772 *
8773 * Request parameters:
8774 *
8775 * [project] - Project ID for this request.
8776 * Value must have pattern
8777 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
8778 *
8779 * [region] - Name of the region for this request.
8780 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
8781 *
8782 * [router] - Name of the Router resource to query.
8783 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
8784 *
8785 * Completes with a [RouterStatusResponse].
8786 *
8787 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
8788 * error.
8789 *
8790 * If the used [http.Client] completes with an error when making a REST call,
8791 * this method will complete with the same error.
8792 */
8793 async.Future<RouterStatusResponse> getRouterStatus(core.String project, core.S tring region, core.String router) {
8794 var _url = null;
8795 var _queryParams = new core.Map();
8796 var _uploadMedia = null;
8797 var _uploadOptions = null;
8798 var _downloadOptions = commons.DownloadOptions.Metadata;
8799 var _body = null;
8800
8801 if (project == null) {
8802 throw new core.ArgumentError("Parameter project is required.");
8803 }
8804 if (region == null) {
8805 throw new core.ArgumentError("Parameter region is required.");
8806 }
8807 if (router == null) {
8808 throw new core.ArgumentError("Parameter router is required.");
8809 }
8810
8811 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/routers/' + commons.Escaper.ecapeVariable('$ro uter') + '/getRouterStatus';
8812
8813 var _response = _requester.request(_url,
8814 "GET",
8815 body: _body,
8816 queryParams: _queryParams,
8817 uploadOptions: _uploadOptions,
8818 uploadMedia: _uploadMedia,
8819 downloadOptions: _downloadOptions);
8820 return _response.then((data) => new RouterStatusResponse.fromJson(data));
8821 }
8822
8823 /**
8824 * Creates a Router resource in the specified project and region using the
8825 * data included in the request.
8617 * 8826 *
8618 * [request] - The metadata request object. 8827 * [request] - The metadata request object.
8619 * 8828 *
8620 * Request parameters: 8829 * Request parameters:
8621 * 8830 *
8622 * [project] - Project ID for this request. 8831 * [project] - Project ID for this request.
8623 * Value must have pattern 8832 * Value must have pattern
8624 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 8833 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
8625 * 8834 *
8835 * [region] - Name of the region for this request.
8836 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
8837 *
8626 * Completes with a [Operation]. 8838 * Completes with a [Operation].
8627 * 8839 *
8628 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 8840 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
8629 * error. 8841 * error.
8630 * 8842 *
8631 * If the used [http.Client] completes with an error when making a REST call, 8843 * If the used [http.Client] completes with an error when making a REST call,
8632 * this method will complete with the same error. 8844 * this method will complete with the same error.
8633 */ 8845 */
8634 async.Future<Operation> insert(Route request, core.String project) { 8846 async.Future<Operation> insert(Router request, core.String project, core.Strin g region) {
8635 var _url = null; 8847 var _url = null;
8636 var _queryParams = new core.Map(); 8848 var _queryParams = new core.Map();
8637 var _uploadMedia = null; 8849 var _uploadMedia = null;
8638 var _uploadOptions = null; 8850 var _uploadOptions = null;
8639 var _downloadOptions = commons.DownloadOptions.Metadata; 8851 var _downloadOptions = commons.DownloadOptions.Metadata;
8640 var _body = null; 8852 var _body = null;
8641 8853
8642 if (request != null) { 8854 if (request != null) {
8643 _body = convert.JSON.encode((request).toJson()); 8855 _body = convert.JSON.encode((request).toJson());
8644 } 8856 }
8645 if (project == null) { 8857 if (project == null) {
8646 throw new core.ArgumentError("Parameter project is required."); 8858 throw new core.ArgumentError("Parameter project is required.");
8647 } 8859 }
8860 if (region == null) {
8861 throw new core.ArgumentError("Parameter region is required.");
8862 }
8648 8863
8649 _url = commons.Escaper.ecapeVariable('$project') + '/global/routes'; 8864 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/routers';
8650 8865
8651 var _response = _requester.request(_url, 8866 var _response = _requester.request(_url,
8652 "POST", 8867 "POST",
8653 body: _body, 8868 body: _body,
8654 queryParams: _queryParams, 8869 queryParams: _queryParams,
8655 uploadOptions: _uploadOptions, 8870 uploadOptions: _uploadOptions,
8656 uploadMedia: _uploadMedia, 8871 uploadMedia: _uploadMedia,
8657 downloadOptions: _downloadOptions); 8872 downloadOptions: _downloadOptions);
8658 return _response.then((data) => new Operation.fromJson(data)); 8873 return _response.then((data) => new Operation.fromJson(data));
8659 } 8874 }
8660 8875
8661 /** 8876 /**
8662 * Retrieves the list of Route resources available to the specified project. 8877 * Retrieves a list of Router resources available to the specified project.
8663 * 8878 *
8664 * Request parameters: 8879 * Request parameters:
8665 * 8880 *
8666 * [project] - Project ID for this request. 8881 * [project] - Project ID for this request.
8667 * Value must have pattern 8882 * Value must have pattern
8668 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 8883 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
8669 * 8884 *
8885 * [region] - Name of the region for this request.
8886 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
8887 *
8670 * [filter] - Sets a filter expression for filtering listed resources, in the 8888 * [filter] - Sets a filter expression for filtering listed resources, in the
8671 * form filter={expression}. Your {expression} must be in the format: 8889 * form filter={expression}. Your {expression} must be in the format:
8672 * field_name comparison_string literal_string. 8890 * field_name comparison_string literal_string.
8673 * 8891 *
8674 * The field_name is the name of the field you want to compare. Only atomic 8892 * The field_name is the name of the field you want to compare. Only atomic
8675 * field types are supported (string, number, boolean). The comparison_string 8893 * field types are supported (string, number, boolean). The comparison_string
8676 * must be either eq (equals) or ne (not equals). The literal_string is the 8894 * must be either eq (equals) or ne (not equals). The literal_string is the
8677 * string value to filter to. The literal value must be valid for the type of 8895 * string value to filter to. The literal value must be valid for the type of
8678 * field you are filtering by (string, number, boolean). For string fields, 8896 * field you are filtering by (string, number, boolean). For string fields,
8679 * the literal value is interpreted as a regular expression using RE2 syntax. 8897 * the literal value is interpreted as a regular expression using RE2 syntax.
(...skipping 17 matching lines...) Expand all
8697 * [maxResults] - The maximum number of results per page that should be 8915 * [maxResults] - The maximum number of results per page that should be
8698 * returned. If the number of available results is larger than maxResults, 8916 * returned. If the number of available results is larger than maxResults,
8699 * Compute Engine returns a nextPageToken that can be used to get the next 8917 * Compute Engine returns a nextPageToken that can be used to get the next
8700 * page of results in subsequent list requests. 8918 * page of results in subsequent list requests.
8701 * Value must be between "0" and "500". 8919 * Value must be between "0" and "500".
8702 * 8920 *
8703 * [pageToken] - Specifies a page token to use. Set pageToken to the 8921 * [pageToken] - Specifies a page token to use. Set pageToken to the
8704 * nextPageToken returned by a previous list request to get the next page of 8922 * nextPageToken returned by a previous list request to get the next page of
8705 * results. 8923 * results.
8706 * 8924 *
8707 * Completes with a [RouteList]. 8925 * Completes with a [RouterList].
8708 * 8926 *
8709 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 8927 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
8710 * error. 8928 * error.
8711 * 8929 *
8712 * If the used [http.Client] completes with an error when making a REST call, 8930 * If the used [http.Client] completes with an error when making a REST call,
8713 * this method will complete with the same error. 8931 * this method will complete with the same error.
8714 */ 8932 */
8715 async.Future<RouteList> list(core.String project, {core.String filter, core.in t maxResults, core.String pageToken}) { 8933 async.Future<RouterList> list(core.String project, core.String region, {core.S tring filter, core.int maxResults, core.String pageToken}) {
8716 var _url = null; 8934 var _url = null;
8717 var _queryParams = new core.Map(); 8935 var _queryParams = new core.Map();
8718 var _uploadMedia = null; 8936 var _uploadMedia = null;
8719 var _uploadOptions = null; 8937 var _uploadOptions = null;
8720 var _downloadOptions = commons.DownloadOptions.Metadata; 8938 var _downloadOptions = commons.DownloadOptions.Metadata;
8721 var _body = null; 8939 var _body = null;
8722 8940
8723 if (project == null) { 8941 if (project == null) {
8724 throw new core.ArgumentError("Parameter project is required."); 8942 throw new core.ArgumentError("Parameter project is required.");
8725 } 8943 }
8944 if (region == null) {
8945 throw new core.ArgumentError("Parameter region is required.");
8946 }
8726 if (filter != null) { 8947 if (filter != null) {
8727 _queryParams["filter"] = [filter]; 8948 _queryParams["filter"] = [filter];
8728 } 8949 }
8729 if (maxResults != null) { 8950 if (maxResults != null) {
8730 _queryParams["maxResults"] = ["${maxResults}"]; 8951 _queryParams["maxResults"] = ["${maxResults}"];
8731 } 8952 }
8732 if (pageToken != null) { 8953 if (pageToken != null) {
8733 _queryParams["pageToken"] = [pageToken]; 8954 _queryParams["pageToken"] = [pageToken];
8734 } 8955 }
8735 8956
8736 _url = commons.Escaper.ecapeVariable('$project') + '/global/routes'; 8957 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/routers';
8737 8958
8738 var _response = _requester.request(_url, 8959 var _response = _requester.request(_url,
8739 "GET", 8960 "GET",
8740 body: _body, 8961 body: _body,
8741 queryParams: _queryParams, 8962 queryParams: _queryParams,
8742 uploadOptions: _uploadOptions, 8963 uploadOptions: _uploadOptions,
8743 uploadMedia: _uploadMedia, 8964 uploadMedia: _uploadMedia,
8744 downloadOptions: _downloadOptions); 8965 downloadOptions: _downloadOptions);
8745 return _response.then((data) => new RouteList.fromJson(data)); 8966 return _response.then((data) => new RouterList.fromJson(data));
8746 } 8967 }
8747 8968
8748 }
8749
8750
8751 class SnapshotsResourceApi {
8752 final commons.ApiRequester _requester;
8753
8754 SnapshotsResourceApi(commons.ApiRequester client) :
8755 _requester = client;
8756
8757 /** 8969 /**
8758 * Deletes the specified Snapshot resource. Keep in mind that deleting a 8970 * Updates the entire content of the Router resource. This method supports
8759 * single snapshot might not necessarily delete all the data on that snapshot. 8971 * patch semantics.
8760 * If any data on the snapshot that is marked for deletion is needed for
8761 * subsequent snapshots, the data will be moved to the next corresponding
8762 * snapshot.
8763 * 8972 *
8764 * For more information, see Deleting snaphots. 8973 * [request] - The metadata request object.
8765 * 8974 *
8766 * Request parameters: 8975 * Request parameters:
8767 * 8976 *
8768 * [project] - Project ID for this request. 8977 * [project] - Project ID for this request.
8769 * Value must have pattern 8978 * Value must have pattern
8770 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 8979 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
8771 * 8980 *
8772 * [snapshot] - Name of the Snapshot resource to delete. 8981 * [region] - Name of the region for this request.
8982 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
8983 *
8984 * [router] - Name of the Router resource to update.
8773 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 8985 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
8774 * 8986 *
8775 * Completes with a [Operation]. 8987 * Completes with a [Operation].
8776 * 8988 *
8777 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 8989 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
8778 * error. 8990 * error.
8779 * 8991 *
8780 * If the used [http.Client] completes with an error when making a REST call, 8992 * If the used [http.Client] completes with an error when making a REST call,
8781 * this method will complete with the same error. 8993 * this method will complete with the same error.
8782 */ 8994 */
8783 async.Future<Operation> delete(core.String project, core.String snapshot) { 8995 async.Future<Operation> patch(Router request, core.String project, core.String region, core.String router) {
8784 var _url = null; 8996 var _url = null;
8785 var _queryParams = new core.Map(); 8997 var _queryParams = new core.Map();
8786 var _uploadMedia = null; 8998 var _uploadMedia = null;
8787 var _uploadOptions = null; 8999 var _uploadOptions = null;
8788 var _downloadOptions = commons.DownloadOptions.Metadata; 9000 var _downloadOptions = commons.DownloadOptions.Metadata;
8789 var _body = null; 9001 var _body = null;
8790 9002
9003 if (request != null) {
9004 _body = convert.JSON.encode((request).toJson());
9005 }
8791 if (project == null) { 9006 if (project == null) {
8792 throw new core.ArgumentError("Parameter project is required."); 9007 throw new core.ArgumentError("Parameter project is required.");
8793 } 9008 }
8794 if (snapshot == null) { 9009 if (region == null) {
8795 throw new core.ArgumentError("Parameter snapshot is required."); 9010 throw new core.ArgumentError("Parameter region is required.");
9011 }
9012 if (router == null) {
9013 throw new core.ArgumentError("Parameter router is required.");
8796 } 9014 }
8797 9015
8798 _url = commons.Escaper.ecapeVariable('$project') + '/global/snapshots/' + co mmons.Escaper.ecapeVariable('$snapshot'); 9016 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/routers/' + commons.Escaper.ecapeVariable('$ro uter');
8799 9017
8800 var _response = _requester.request(_url, 9018 var _response = _requester.request(_url,
8801 "DELETE", 9019 "PATCH",
8802 body: _body, 9020 body: _body,
8803 queryParams: _queryParams, 9021 queryParams: _queryParams,
8804 uploadOptions: _uploadOptions, 9022 uploadOptions: _uploadOptions,
8805 uploadMedia: _uploadMedia, 9023 uploadMedia: _uploadMedia,
8806 downloadOptions: _downloadOptions); 9024 downloadOptions: _downloadOptions);
8807 return _response.then((data) => new Operation.fromJson(data)); 9025 return _response.then((data) => new Operation.fromJson(data));
8808 } 9026 }
8809 9027
8810 /** 9028 /**
8811 * Returns the specified Snapshot resource. Get a list of available snapshots 9029 * Updates the entire content of the Router resource.
8812 * by making a list() request. 9030 *
9031 * [request] - The metadata request object.
8813 * 9032 *
8814 * Request parameters: 9033 * Request parameters:
8815 * 9034 *
8816 * [project] - Project ID for this request.
8817 * Value must have pattern
8818 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
8819 *
8820 * [snapshot] - Name of the Snapshot resource to return.
8821 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
8822 *
8823 * Completes with a [Snapshot].
8824 *
8825 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
8826 * error.
8827 *
8828 * If the used [http.Client] completes with an error when making a REST call,
8829 * this method will complete with the same error.
8830 */
8831 async.Future<Snapshot> get(core.String project, core.String snapshot) {
8832 var _url = null;
8833 var _queryParams = new core.Map();
8834 var _uploadMedia = null;
8835 var _uploadOptions = null;
8836 var _downloadOptions = commons.DownloadOptions.Metadata;
8837 var _body = null;
8838
8839 if (project == null) {
8840 throw new core.ArgumentError("Parameter project is required.");
8841 }
8842 if (snapshot == null) {
8843 throw new core.ArgumentError("Parameter snapshot is required.");
8844 }
8845
8846 _url = commons.Escaper.ecapeVariable('$project') + '/global/snapshots/' + co mmons.Escaper.ecapeVariable('$snapshot');
8847
8848 var _response = _requester.request(_url,
8849 "GET",
8850 body: _body,
8851 queryParams: _queryParams,
8852 uploadOptions: _uploadOptions,
8853 uploadMedia: _uploadMedia,
8854 downloadOptions: _downloadOptions);
8855 return _response.then((data) => new Snapshot.fromJson(data));
8856 }
8857
8858 /**
8859 * Retrieves the list of Snapshot resources contained within the specified
8860 * project.
8861 *
8862 * Request parameters:
8863 *
8864 * [project] - Project ID for this request. 9035 * [project] - Project ID for this request.
8865 * Value must have pattern 9036 * Value must have pattern
8866 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 9037 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
8867 * 9038 *
8868 * [filter] - Sets a filter expression for filtering listed resources, in the 9039 * [region] - Name of the region for this request.
8869 * form filter={expression}. Your {expression} must be in the format: 9040 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
8870 * field_name comparison_string literal_string.
8871 * 9041 *
8872 * The field_name is the name of the field you want to compare. Only atomic 9042 * [router] - Name of the Router resource to update.
8873 * field types are supported (string, number, boolean). The comparison_string 9043 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
8874 * must be either eq (equals) or ne (not equals). The literal_string is the
8875 * string value to filter to. The literal value must be valid for the type of
8876 * field you are filtering by (string, number, boolean). For string fields,
8877 * the literal value is interpreted as a regular expression using RE2 syntax.
8878 * The literal value must match the entire field.
8879 * 9044 *
8880 * For example, to filter for instances that do not have a name of 9045 * Completes with a [Operation].
8881 * example-instance, you would use filter=name ne example-instance.
8882 *
8883 * Compute Engine Beta API Only: When filtering in the Beta API, you can also
8884 * filter on nested fields. For example, you could filter on instances that
8885 * have set the scheduling.automaticRestart field to true. Use filtering on
8886 * nested fields to take advantage of labels to organize and search for
8887 * results based on label values.
8888 *
8889 * The Beta API also supports filtering on multiple expressions by providing
8890 * each separate expression within parentheses. For example,
8891 * (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple
8892 * expressions are treated as AND expressions, meaning that resources must
8893 * match all expressions to pass the filters.
8894 *
8895 * [maxResults] - The maximum number of results per page that should be
8896 * returned. If the number of available results is larger than maxResults,
8897 * Compute Engine returns a nextPageToken that can be used to get the next
8898 * page of results in subsequent list requests.
8899 * Value must be between "0" and "500".
8900 *
8901 * [pageToken] - Specifies a page token to use. Set pageToken to the
8902 * nextPageToken returned by a previous list request to get the next page of
8903 * results.
8904 *
8905 * Completes with a [SnapshotList].
8906 * 9046 *
8907 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 9047 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
8908 * error. 9048 * error.
8909 * 9049 *
8910 * If the used [http.Client] completes with an error when making a REST call, 9050 * If the used [http.Client] completes with an error when making a REST call,
8911 * this method will complete with the same error. 9051 * this method will complete with the same error.
8912 */ 9052 */
8913 async.Future<SnapshotList> list(core.String project, {core.String filter, core .int maxResults, core.String pageToken}) { 9053 async.Future<Operation> update(Router request, core.String project, core.Strin g region, core.String router) {
8914 var _url = null; 9054 var _url = null;
8915 var _queryParams = new core.Map(); 9055 var _queryParams = new core.Map();
8916 var _uploadMedia = null; 9056 var _uploadMedia = null;
8917 var _uploadOptions = null; 9057 var _uploadOptions = null;
8918 var _downloadOptions = commons.DownloadOptions.Metadata; 9058 var _downloadOptions = commons.DownloadOptions.Metadata;
8919 var _body = null; 9059 var _body = null;
8920 9060
9061 if (request != null) {
9062 _body = convert.JSON.encode((request).toJson());
9063 }
8921 if (project == null) { 9064 if (project == null) {
8922 throw new core.ArgumentError("Parameter project is required."); 9065 throw new core.ArgumentError("Parameter project is required.");
8923 } 9066 }
8924 if (filter != null) { 9067 if (region == null) {
8925 _queryParams["filter"] = [filter]; 9068 throw new core.ArgumentError("Parameter region is required.");
8926 } 9069 }
8927 if (maxResults != null) { 9070 if (router == null) {
8928 _queryParams["maxResults"] = ["${maxResults}"]; 9071 throw new core.ArgumentError("Parameter router is required.");
8929 }
8930 if (pageToken != null) {
8931 _queryParams["pageToken"] = [pageToken];
8932 } 9072 }
8933 9073
8934 _url = commons.Escaper.ecapeVariable('$project') + '/global/snapshots'; 9074 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/routers/' + commons.Escaper.ecapeVariable('$ro uter');
8935 9075
8936 var _response = _requester.request(_url, 9076 var _response = _requester.request(_url,
8937 "GET", 9077 "PUT",
8938 body: _body, 9078 body: _body,
8939 queryParams: _queryParams, 9079 queryParams: _queryParams,
8940 uploadOptions: _uploadOptions, 9080 uploadOptions: _uploadOptions,
8941 uploadMedia: _uploadMedia, 9081 uploadMedia: _uploadMedia,
8942 downloadOptions: _downloadOptions); 9082 downloadOptions: _downloadOptions);
8943 return _response.then((data) => new SnapshotList.fromJson(data)); 9083 return _response.then((data) => new Operation.fromJson(data));
8944 } 9084 }
8945 9085
8946 } 9086 }
8947 9087
8948 9088
8949 class SslCertificatesResourceApi { 9089 class RoutesResourceApi {
8950 final commons.ApiRequester _requester; 9090 final commons.ApiRequester _requester;
8951 9091
8952 SslCertificatesResourceApi(commons.ApiRequester client) : 9092 RoutesResourceApi(commons.ApiRequester client) :
8953 _requester = client; 9093 _requester = client;
8954 9094
8955 /** 9095 /**
8956 * Deletes the specified SslCertificate resource. 9096 * Deletes the specified Route resource.
8957 * 9097 *
8958 * Request parameters: 9098 * Request parameters:
8959 * 9099 *
8960 * [project] - Project ID for this request. 9100 * [project] - Project ID for this request.
8961 * Value must have pattern 9101 * Value must have pattern
8962 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 9102 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
8963 * 9103 *
8964 * [sslCertificate] - Name of the SslCertificate resource to delete. 9104 * [route] - Name of the Route resource to delete.
8965 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 9105 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
8966 * 9106 *
8967 * Completes with a [Operation]. 9107 * Completes with a [Operation].
8968 * 9108 *
8969 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 9109 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
8970 * error. 9110 * error.
8971 * 9111 *
8972 * If the used [http.Client] completes with an error when making a REST call, 9112 * If the used [http.Client] completes with an error when making a REST call,
8973 * this method will complete with the same error. 9113 * this method will complete with the same error.
8974 */ 9114 */
8975 async.Future<Operation> delete(core.String project, core.String sslCertificate ) { 9115 async.Future<Operation> delete(core.String project, core.String route) {
8976 var _url = null; 9116 var _url = null;
8977 var _queryParams = new core.Map(); 9117 var _queryParams = new core.Map();
8978 var _uploadMedia = null; 9118 var _uploadMedia = null;
8979 var _uploadOptions = null; 9119 var _uploadOptions = null;
8980 var _downloadOptions = commons.DownloadOptions.Metadata; 9120 var _downloadOptions = commons.DownloadOptions.Metadata;
8981 var _body = null; 9121 var _body = null;
8982 9122
8983 if (project == null) { 9123 if (project == null) {
8984 throw new core.ArgumentError("Parameter project is required."); 9124 throw new core.ArgumentError("Parameter project is required.");
8985 } 9125 }
8986 if (sslCertificate == null) { 9126 if (route == null) {
8987 throw new core.ArgumentError("Parameter sslCertificate is required."); 9127 throw new core.ArgumentError("Parameter route is required.");
8988 } 9128 }
8989 9129
8990 _url = commons.Escaper.ecapeVariable('$project') + '/global/sslCertificates/ ' + commons.Escaper.ecapeVariable('$sslCertificate'); 9130 _url = commons.Escaper.ecapeVariable('$project') + '/global/routes/' + commo ns.Escaper.ecapeVariable('$route');
8991 9131
8992 var _response = _requester.request(_url, 9132 var _response = _requester.request(_url,
8993 "DELETE", 9133 "DELETE",
8994 body: _body, 9134 body: _body,
8995 queryParams: _queryParams, 9135 queryParams: _queryParams,
8996 uploadOptions: _uploadOptions, 9136 uploadOptions: _uploadOptions,
8997 uploadMedia: _uploadMedia, 9137 uploadMedia: _uploadMedia,
8998 downloadOptions: _downloadOptions); 9138 downloadOptions: _downloadOptions);
8999 return _response.then((data) => new Operation.fromJson(data)); 9139 return _response.then((data) => new Operation.fromJson(data));
9000 } 9140 }
9001 9141
9002 /** 9142 /**
9003 * Returns the specified SslCertificate resource. Get a list of available SSL 9143 * Returns the specified Route resource. Get a list of available routes by
9004 * certificates by making a list() request. 9144 * making a list() request.
9005 * 9145 *
9006 * Request parameters: 9146 * Request parameters:
9007 * 9147 *
9008 * [project] - Project ID for this request. 9148 * [project] - Project ID for this request.
9009 * Value must have pattern 9149 * Value must have pattern
9010 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 9150 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
9011 * 9151 *
9012 * [sslCertificate] - Name of the SslCertificate resource to return. 9152 * [route] - Name of the Route resource to return.
9013 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 9153 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
9014 * 9154 *
9015 * Completes with a [SslCertificate]. 9155 * Completes with a [Route].
9016 * 9156 *
9017 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 9157 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
9018 * error. 9158 * error.
9019 * 9159 *
9020 * If the used [http.Client] completes with an error when making a REST call, 9160 * If the used [http.Client] completes with an error when making a REST call,
9021 * this method will complete with the same error. 9161 * this method will complete with the same error.
9022 */ 9162 */
9023 async.Future<SslCertificate> get(core.String project, core.String sslCertifica te) { 9163 async.Future<Route> get(core.String project, core.String route) {
9024 var _url = null; 9164 var _url = null;
9025 var _queryParams = new core.Map(); 9165 var _queryParams = new core.Map();
9026 var _uploadMedia = null; 9166 var _uploadMedia = null;
9027 var _uploadOptions = null; 9167 var _uploadOptions = null;
9028 var _downloadOptions = commons.DownloadOptions.Metadata; 9168 var _downloadOptions = commons.DownloadOptions.Metadata;
9029 var _body = null; 9169 var _body = null;
9030 9170
9031 if (project == null) { 9171 if (project == null) {
9032 throw new core.ArgumentError("Parameter project is required."); 9172 throw new core.ArgumentError("Parameter project is required.");
9033 } 9173 }
9034 if (sslCertificate == null) { 9174 if (route == null) {
9035 throw new core.ArgumentError("Parameter sslCertificate is required."); 9175 throw new core.ArgumentError("Parameter route is required.");
9036 } 9176 }
9037 9177
9038 _url = commons.Escaper.ecapeVariable('$project') + '/global/sslCertificates/ ' + commons.Escaper.ecapeVariable('$sslCertificate'); 9178 _url = commons.Escaper.ecapeVariable('$project') + '/global/routes/' + commo ns.Escaper.ecapeVariable('$route');
9039 9179
9040 var _response = _requester.request(_url, 9180 var _response = _requester.request(_url,
9041 "GET", 9181 "GET",
9042 body: _body, 9182 body: _body,
9043 queryParams: _queryParams, 9183 queryParams: _queryParams,
9044 uploadOptions: _uploadOptions, 9184 uploadOptions: _uploadOptions,
9045 uploadMedia: _uploadMedia, 9185 uploadMedia: _uploadMedia,
9046 downloadOptions: _downloadOptions); 9186 downloadOptions: _downloadOptions);
9047 return _response.then((data) => new SslCertificate.fromJson(data)); 9187 return _response.then((data) => new Route.fromJson(data));
9048 } 9188 }
9049 9189
9050 /** 9190 /**
9051 * Creates a SslCertificate resource in the specified project using the data 9191 * Creates a Route resource in the specified project using the data included
9052 * included in the request. 9192 * in the request.
9053 * 9193 *
9054 * [request] - The metadata request object. 9194 * [request] - The metadata request object.
9055 * 9195 *
9056 * Request parameters: 9196 * Request parameters:
9057 * 9197 *
9058 * [project] - Project ID for this request. 9198 * [project] - Project ID for this request.
9059 * Value must have pattern 9199 * Value must have pattern
9060 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 9200 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
9061 * 9201 *
9062 * Completes with a [Operation]. 9202 * Completes with a [Operation].
9063 * 9203 *
9064 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 9204 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
9065 * error. 9205 * error.
9066 * 9206 *
9067 * If the used [http.Client] completes with an error when making a REST call, 9207 * If the used [http.Client] completes with an error when making a REST call,
9068 * this method will complete with the same error. 9208 * this method will complete with the same error.
9069 */ 9209 */
9070 async.Future<Operation> insert(SslCertificate request, core.String project) { 9210 async.Future<Operation> insert(Route request, core.String project) {
9071 var _url = null; 9211 var _url = null;
9072 var _queryParams = new core.Map(); 9212 var _queryParams = new core.Map();
9073 var _uploadMedia = null; 9213 var _uploadMedia = null;
9074 var _uploadOptions = null; 9214 var _uploadOptions = null;
9075 var _downloadOptions = commons.DownloadOptions.Metadata; 9215 var _downloadOptions = commons.DownloadOptions.Metadata;
9076 var _body = null; 9216 var _body = null;
9077 9217
9078 if (request != null) { 9218 if (request != null) {
9079 _body = convert.JSON.encode((request).toJson()); 9219 _body = convert.JSON.encode((request).toJson());
9080 } 9220 }
9081 if (project == null) { 9221 if (project == null) {
9082 throw new core.ArgumentError("Parameter project is required."); 9222 throw new core.ArgumentError("Parameter project is required.");
9083 } 9223 }
9084 9224
9085 _url = commons.Escaper.ecapeVariable('$project') + '/global/sslCertificates' ; 9225 _url = commons.Escaper.ecapeVariable('$project') + '/global/routes';
9086 9226
9087 var _response = _requester.request(_url, 9227 var _response = _requester.request(_url,
9088 "POST", 9228 "POST",
9089 body: _body, 9229 body: _body,
9090 queryParams: _queryParams, 9230 queryParams: _queryParams,
9091 uploadOptions: _uploadOptions, 9231 uploadOptions: _uploadOptions,
9092 uploadMedia: _uploadMedia, 9232 uploadMedia: _uploadMedia,
9093 downloadOptions: _downloadOptions); 9233 downloadOptions: _downloadOptions);
9094 return _response.then((data) => new Operation.fromJson(data)); 9234 return _response.then((data) => new Operation.fromJson(data));
9095 } 9235 }
9096 9236
9097 /** 9237 /**
9098 * Retrieves the list of SslCertificate resources available to the specified 9238 * Retrieves the list of Route resources available to the specified project.
9099 * project.
9100 * 9239 *
9101 * Request parameters: 9240 * Request parameters:
9102 * 9241 *
9103 * [project] - Project ID for this request. 9242 * [project] - Project ID for this request.
9104 * Value must have pattern 9243 * Value must have pattern
9105 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 9244 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
9106 * 9245 *
9107 * [filter] - Sets a filter expression for filtering listed resources, in the 9246 * [filter] - Sets a filter expression for filtering listed resources, in the
9108 * form filter={expression}. Your {expression} must be in the format: 9247 * form filter={expression}. Your {expression} must be in the format:
9109 * field_name comparison_string literal_string. 9248 * field_name comparison_string literal_string.
(...skipping 24 matching lines...) Expand all
9134 * [maxResults] - The maximum number of results per page that should be 9273 * [maxResults] - The maximum number of results per page that should be
9135 * returned. If the number of available results is larger than maxResults, 9274 * returned. If the number of available results is larger than maxResults,
9136 * Compute Engine returns a nextPageToken that can be used to get the next 9275 * Compute Engine returns a nextPageToken that can be used to get the next
9137 * page of results in subsequent list requests. 9276 * page of results in subsequent list requests.
9138 * Value must be between "0" and "500". 9277 * Value must be between "0" and "500".
9139 * 9278 *
9140 * [pageToken] - Specifies a page token to use. Set pageToken to the 9279 * [pageToken] - Specifies a page token to use. Set pageToken to the
9141 * nextPageToken returned by a previous list request to get the next page of 9280 * nextPageToken returned by a previous list request to get the next page of
9142 * results. 9281 * results.
9143 * 9282 *
9144 * Completes with a [SslCertificateList]. 9283 * Completes with a [RouteList].
9145 * 9284 *
9146 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 9285 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
9147 * error. 9286 * error.
9148 * 9287 *
9149 * If the used [http.Client] completes with an error when making a REST call, 9288 * If the used [http.Client] completes with an error when making a REST call,
9150 * this method will complete with the same error. 9289 * this method will complete with the same error.
9151 */ 9290 */
9152 async.Future<SslCertificateList> list(core.String project, {core.String filter , core.int maxResults, core.String pageToken}) { 9291 async.Future<RouteList> list(core.String project, {core.String filter, core.in t maxResults, core.String pageToken}) {
9153 var _url = null; 9292 var _url = null;
9154 var _queryParams = new core.Map(); 9293 var _queryParams = new core.Map();
9155 var _uploadMedia = null; 9294 var _uploadMedia = null;
9156 var _uploadOptions = null; 9295 var _uploadOptions = null;
9157 var _downloadOptions = commons.DownloadOptions.Metadata; 9296 var _downloadOptions = commons.DownloadOptions.Metadata;
9158 var _body = null; 9297 var _body = null;
9159 9298
9160 if (project == null) { 9299 if (project == null) {
9161 throw new core.ArgumentError("Parameter project is required."); 9300 throw new core.ArgumentError("Parameter project is required.");
9162 } 9301 }
9163 if (filter != null) { 9302 if (filter != null) {
9164 _queryParams["filter"] = [filter]; 9303 _queryParams["filter"] = [filter];
9165 } 9304 }
9166 if (maxResults != null) { 9305 if (maxResults != null) {
9167 _queryParams["maxResults"] = ["${maxResults}"]; 9306 _queryParams["maxResults"] = ["${maxResults}"];
9168 } 9307 }
9169 if (pageToken != null) { 9308 if (pageToken != null) {
9170 _queryParams["pageToken"] = [pageToken]; 9309 _queryParams["pageToken"] = [pageToken];
9171 } 9310 }
9172 9311
9173 _url = commons.Escaper.ecapeVariable('$project') + '/global/sslCertificates' ; 9312 _url = commons.Escaper.ecapeVariable('$project') + '/global/routes';
9174 9313
9175 var _response = _requester.request(_url, 9314 var _response = _requester.request(_url,
9176 "GET", 9315 "GET",
9177 body: _body, 9316 body: _body,
9178 queryParams: _queryParams, 9317 queryParams: _queryParams,
9179 uploadOptions: _uploadOptions, 9318 uploadOptions: _uploadOptions,
9180 uploadMedia: _uploadMedia, 9319 uploadMedia: _uploadMedia,
9181 downloadOptions: _downloadOptions); 9320 downloadOptions: _downloadOptions);
9182 return _response.then((data) => new SslCertificateList.fromJson(data)); 9321 return _response.then((data) => new RouteList.fromJson(data));
9183 } 9322 }
9184 9323
9185 } 9324 }
9186 9325
9187 9326
9188 class SubnetworksResourceApi { 9327 class SnapshotsResourceApi {
9189 final commons.ApiRequester _requester; 9328 final commons.ApiRequester _requester;
9190 9329
9191 SubnetworksResourceApi(commons.ApiRequester client) : 9330 SnapshotsResourceApi(commons.ApiRequester client) :
9192 _requester = client; 9331 _requester = client;
9193 9332
9194 /** 9333 /**
9195 * Retrieves an aggregated list of subnetworks. 9334 * Deletes the specified Snapshot resource. Keep in mind that deleting a
9335 * single snapshot might not necessarily delete all the data on that snapshot.
9336 * If any data on the snapshot that is marked for deletion is needed for
9337 * subsequent snapshots, the data will be moved to the next corresponding
9338 * snapshot.
9339 *
9340 * For more information, see Deleting snaphots.
9196 * 9341 *
9197 * Request parameters: 9342 * Request parameters:
9198 * 9343 *
9199 * [project] - Project ID for this request. 9344 * [project] - Project ID for this request.
9200 * Value must have pattern 9345 * Value must have pattern
9201 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 9346 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
9202 * 9347 *
9203 * [filter] - Sets a filter expression for filtering listed resources, in the 9348 * [snapshot] - Name of the Snapshot resource to delete.
9204 * form filter={expression}. Your {expression} must be in the format: 9349 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
9205 * field_name comparison_string literal_string.
9206 * 9350 *
9207 * The field_name is the name of the field you want to compare. Only atomic 9351 * Completes with a [Operation].
9208 * field types are supported (string, number, boolean). The comparison_string
9209 * must be either eq (equals) or ne (not equals). The literal_string is the
9210 * string value to filter to. The literal value must be valid for the type of
9211 * field you are filtering by (string, number, boolean). For string fields,
9212 * the literal value is interpreted as a regular expression using RE2 syntax.
9213 * The literal value must match the entire field.
9214 *
9215 * For example, to filter for instances that do not have a name of
9216 * example-instance, you would use filter=name ne example-instance.
9217 *
9218 * Compute Engine Beta API Only: When filtering in the Beta API, you can also
9219 * filter on nested fields. For example, you could filter on instances that
9220 * have set the scheduling.automaticRestart field to true. Use filtering on
9221 * nested fields to take advantage of labels to organize and search for
9222 * results based on label values.
9223 *
9224 * The Beta API also supports filtering on multiple expressions by providing
9225 * each separate expression within parentheses. For example,
9226 * (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple
9227 * expressions are treated as AND expressions, meaning that resources must
9228 * match all expressions to pass the filters.
9229 *
9230 * [maxResults] - The maximum number of results per page that should be
9231 * returned. If the number of available results is larger than maxResults,
9232 * Compute Engine returns a nextPageToken that can be used to get the next
9233 * page of results in subsequent list requests.
9234 * Value must be between "0" and "500".
9235 *
9236 * [pageToken] - Specifies a page token to use. Set pageToken to the
9237 * nextPageToken returned by a previous list request to get the next page of
9238 * results.
9239 *
9240 * Completes with a [SubnetworkAggregatedList].
9241 * 9352 *
9242 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 9353 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
9243 * error. 9354 * error.
9244 * 9355 *
9245 * If the used [http.Client] completes with an error when making a REST call, 9356 * If the used [http.Client] completes with an error when making a REST call,
9246 * this method will complete with the same error. 9357 * this method will complete with the same error.
9247 */ 9358 */
9248 async.Future<SubnetworkAggregatedList> aggregatedList(core.String project, {co re.String filter, core.int maxResults, core.String pageToken}) { 9359 async.Future<Operation> delete(core.String project, core.String snapshot) {
9249 var _url = null; 9360 var _url = null;
9250 var _queryParams = new core.Map(); 9361 var _queryParams = new core.Map();
9251 var _uploadMedia = null; 9362 var _uploadMedia = null;
9252 var _uploadOptions = null; 9363 var _uploadOptions = null;
9253 var _downloadOptions = commons.DownloadOptions.Metadata; 9364 var _downloadOptions = commons.DownloadOptions.Metadata;
9254 var _body = null; 9365 var _body = null;
9255 9366
9256 if (project == null) { 9367 if (project == null) {
9257 throw new core.ArgumentError("Parameter project is required."); 9368 throw new core.ArgumentError("Parameter project is required.");
9258 } 9369 }
9259 if (filter != null) { 9370 if (snapshot == null) {
9260 _queryParams["filter"] = [filter]; 9371 throw new core.ArgumentError("Parameter snapshot is required.");
9261 }
9262 if (maxResults != null) {
9263 _queryParams["maxResults"] = ["${maxResults}"];
9264 }
9265 if (pageToken != null) {
9266 _queryParams["pageToken"] = [pageToken];
9267 } 9372 }
9268 9373
9269 _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/subnetworks' ; 9374 _url = commons.Escaper.ecapeVariable('$project') + '/global/snapshots/' + co mmons.Escaper.ecapeVariable('$snapshot');
9270 9375
9271 var _response = _requester.request(_url, 9376 var _response = _requester.request(_url,
9272 "GET", 9377 "DELETE",
9273 body: _body, 9378 body: _body,
9274 queryParams: _queryParams, 9379 queryParams: _queryParams,
9275 uploadOptions: _uploadOptions, 9380 uploadOptions: _uploadOptions,
9276 uploadMedia: _uploadMedia, 9381 uploadMedia: _uploadMedia,
9277 downloadOptions: _downloadOptions); 9382 downloadOptions: _downloadOptions);
9278 return _response.then((data) => new SubnetworkAggregatedList.fromJson(data)) ; 9383 return _response.then((data) => new Operation.fromJson(data));
9279 } 9384 }
9280 9385
9281 /** 9386 /**
9282 * Deletes the specified subnetwork. 9387 * Returns the specified Snapshot resource. Get a list of available snapshots
9388 * by making a list() request.
9283 * 9389 *
9284 * Request parameters: 9390 * Request parameters:
9285 * 9391 *
9286 * [project] - Project ID for this request. 9392 * [project] - Project ID for this request.
9287 * Value must have pattern 9393 * Value must have pattern
9288 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 9394 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
9289 * 9395 *
9290 * [region] - Name of the region scoping this request. 9396 * [snapshot] - Name of the Snapshot resource to return.
9291 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 9397 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
9292 * 9398 *
9293 * [subnetwork] - Name of the Subnetwork resource to delete. 9399 * Completes with a [Snapshot].
9294 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
9295 *
9296 * Completes with a [Operation].
9297 * 9400 *
9298 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 9401 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
9299 * error. 9402 * error.
9300 * 9403 *
9301 * If the used [http.Client] completes with an error when making a REST call, 9404 * If the used [http.Client] completes with an error when making a REST call,
9302 * this method will complete with the same error. 9405 * this method will complete with the same error.
9303 */ 9406 */
9304 async.Future<Operation> delete(core.String project, core.String region, core.S tring subnetwork) { 9407 async.Future<Snapshot> get(core.String project, core.String snapshot) {
9305 var _url = null; 9408 var _url = null;
9306 var _queryParams = new core.Map(); 9409 var _queryParams = new core.Map();
9307 var _uploadMedia = null; 9410 var _uploadMedia = null;
9308 var _uploadOptions = null; 9411 var _uploadOptions = null;
9309 var _downloadOptions = commons.DownloadOptions.Metadata; 9412 var _downloadOptions = commons.DownloadOptions.Metadata;
9310 var _body = null; 9413 var _body = null;
9311 9414
9312 if (project == null) { 9415 if (project == null) {
9313 throw new core.ArgumentError("Parameter project is required."); 9416 throw new core.ArgumentError("Parameter project is required.");
9314 } 9417 }
9315 if (region == null) { 9418 if (snapshot == null) {
9316 throw new core.ArgumentError("Parameter region is required."); 9419 throw new core.ArgumentError("Parameter snapshot is required.");
9317 }
9318 if (subnetwork == null) {
9319 throw new core.ArgumentError("Parameter subnetwork is required.");
9320 } 9420 }
9321 9421
9322 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/subnetworks/' + commons.Escaper.ecapeVariable( '$subnetwork'); 9422 _url = commons.Escaper.ecapeVariable('$project') + '/global/snapshots/' + co mmons.Escaper.ecapeVariable('$snapshot');
9323
9324 var _response = _requester.request(_url,
9325 "DELETE",
9326 body: _body,
9327 queryParams: _queryParams,
9328 uploadOptions: _uploadOptions,
9329 uploadMedia: _uploadMedia,
9330 downloadOptions: _downloadOptions);
9331 return _response.then((data) => new Operation.fromJson(data));
9332 }
9333
9334 /**
9335 * Returns the specified subnetwork. Get a list of available subnetworks
9336 * list() request.
9337 *
9338 * Request parameters:
9339 *
9340 * [project] - Project ID for this request.
9341 * Value must have pattern
9342 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
9343 *
9344 * [region] - Name of the region scoping this request.
9345 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
9346 *
9347 * [subnetwork] - Name of the Subnetwork resource to return.
9348 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
9349 *
9350 * Completes with a [Subnetwork].
9351 *
9352 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
9353 * error.
9354 *
9355 * If the used [http.Client] completes with an error when making a REST call,
9356 * this method will complete with the same error.
9357 */
9358 async.Future<Subnetwork> get(core.String project, core.String region, core.Str ing subnetwork) {
9359 var _url = null;
9360 var _queryParams = new core.Map();
9361 var _uploadMedia = null;
9362 var _uploadOptions = null;
9363 var _downloadOptions = commons.DownloadOptions.Metadata;
9364 var _body = null;
9365
9366 if (project == null) {
9367 throw new core.ArgumentError("Parameter project is required.");
9368 }
9369 if (region == null) {
9370 throw new core.ArgumentError("Parameter region is required.");
9371 }
9372 if (subnetwork == null) {
9373 throw new core.ArgumentError("Parameter subnetwork is required.");
9374 }
9375
9376 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/subnetworks/' + commons.Escaper.ecapeVariable( '$subnetwork');
9377 9423
9378 var _response = _requester.request(_url, 9424 var _response = _requester.request(_url,
9379 "GET", 9425 "GET",
9380 body: _body, 9426 body: _body,
9381 queryParams: _queryParams, 9427 queryParams: _queryParams,
9382 uploadOptions: _uploadOptions, 9428 uploadOptions: _uploadOptions,
9383 uploadMedia: _uploadMedia, 9429 uploadMedia: _uploadMedia,
9384 downloadOptions: _downloadOptions); 9430 downloadOptions: _downloadOptions);
9385 return _response.then((data) => new Subnetwork.fromJson(data)); 9431 return _response.then((data) => new Snapshot.fromJson(data));
9386 } 9432 }
9387 9433
9388 /** 9434 /**
9389 * Creates a subnetwork in the specified project using the data included in 9435 * Retrieves the list of Snapshot resources contained within the specified
9390 * the request. 9436 * project.
9391 *
9392 * [request] - The metadata request object.
9393 * 9437 *
9394 * Request parameters: 9438 * Request parameters:
9395 * 9439 *
9396 * [project] - Project ID for this request.
9397 * Value must have pattern
9398 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
9399 *
9400 * [region] - Name of the region scoping this request.
9401 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
9402 *
9403 * Completes with a [Operation].
9404 *
9405 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
9406 * error.
9407 *
9408 * If the used [http.Client] completes with an error when making a REST call,
9409 * this method will complete with the same error.
9410 */
9411 async.Future<Operation> insert(Subnetwork request, core.String project, core.S tring region) {
9412 var _url = null;
9413 var _queryParams = new core.Map();
9414 var _uploadMedia = null;
9415 var _uploadOptions = null;
9416 var _downloadOptions = commons.DownloadOptions.Metadata;
9417 var _body = null;
9418
9419 if (request != null) {
9420 _body = convert.JSON.encode((request).toJson());
9421 }
9422 if (project == null) {
9423 throw new core.ArgumentError("Parameter project is required.");
9424 }
9425 if (region == null) {
9426 throw new core.ArgumentError("Parameter region is required.");
9427 }
9428
9429 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/subnetworks';
9430
9431 var _response = _requester.request(_url,
9432 "POST",
9433 body: _body,
9434 queryParams: _queryParams,
9435 uploadOptions: _uploadOptions,
9436 uploadMedia: _uploadMedia,
9437 downloadOptions: _downloadOptions);
9438 return _response.then((data) => new Operation.fromJson(data));
9439 }
9440
9441 /**
9442 * Retrieves a list of subnetworks available to the specified project.
9443 *
9444 * Request parameters:
9445 *
9446 * [project] - Project ID for this request. 9440 * [project] - Project ID for this request.
9447 * Value must have pattern 9441 * Value must have pattern
9448 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 9442 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
9449 * 9443 *
9450 * [region] - Name of the region scoping this request.
9451 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
9452 *
9453 * [filter] - Sets a filter expression for filtering listed resources, in the 9444 * [filter] - Sets a filter expression for filtering listed resources, in the
9454 * form filter={expression}. Your {expression} must be in the format: 9445 * form filter={expression}. Your {expression} must be in the format:
9455 * field_name comparison_string literal_string. 9446 * field_name comparison_string literal_string.
9456 * 9447 *
9457 * The field_name is the name of the field you want to compare. Only atomic 9448 * The field_name is the name of the field you want to compare. Only atomic
9458 * field types are supported (string, number, boolean). The comparison_string 9449 * field types are supported (string, number, boolean). The comparison_string
9459 * must be either eq (equals) or ne (not equals). The literal_string is the 9450 * must be either eq (equals) or ne (not equals). The literal_string is the
9460 * string value to filter to. The literal value must be valid for the type of 9451 * string value to filter to. The literal value must be valid for the type of
9461 * field you are filtering by (string, number, boolean). For string fields, 9452 * field you are filtering by (string, number, boolean). For string fields,
9462 * the literal value is interpreted as a regular expression using RE2 syntax. 9453 * the literal value is interpreted as a regular expression using RE2 syntax.
(...skipping 17 matching lines...) Expand all
9480 * [maxResults] - The maximum number of results per page that should be 9471 * [maxResults] - The maximum number of results per page that should be
9481 * returned. If the number of available results is larger than maxResults, 9472 * returned. If the number of available results is larger than maxResults,
9482 * Compute Engine returns a nextPageToken that can be used to get the next 9473 * Compute Engine returns a nextPageToken that can be used to get the next
9483 * page of results in subsequent list requests. 9474 * page of results in subsequent list requests.
9484 * Value must be between "0" and "500". 9475 * Value must be between "0" and "500".
9485 * 9476 *
9486 * [pageToken] - Specifies a page token to use. Set pageToken to the 9477 * [pageToken] - Specifies a page token to use. Set pageToken to the
9487 * nextPageToken returned by a previous list request to get the next page of 9478 * nextPageToken returned by a previous list request to get the next page of
9488 * results. 9479 * results.
9489 * 9480 *
9490 * Completes with a [SubnetworkList]. 9481 * Completes with a [SnapshotList].
9491 * 9482 *
9492 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 9483 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
9493 * error. 9484 * error.
9494 * 9485 *
9495 * If the used [http.Client] completes with an error when making a REST call, 9486 * If the used [http.Client] completes with an error when making a REST call,
9496 * this method will complete with the same error. 9487 * this method will complete with the same error.
9497 */ 9488 */
9498 async.Future<SubnetworkList> list(core.String project, core.String region, {co re.String filter, core.int maxResults, core.String pageToken}) { 9489 async.Future<SnapshotList> list(core.String project, {core.String filter, core .int maxResults, core.String pageToken}) {
9499 var _url = null; 9490 var _url = null;
9500 var _queryParams = new core.Map(); 9491 var _queryParams = new core.Map();
9501 var _uploadMedia = null; 9492 var _uploadMedia = null;
9502 var _uploadOptions = null; 9493 var _uploadOptions = null;
9503 var _downloadOptions = commons.DownloadOptions.Metadata; 9494 var _downloadOptions = commons.DownloadOptions.Metadata;
9504 var _body = null; 9495 var _body = null;
9505 9496
9506 if (project == null) { 9497 if (project == null) {
9507 throw new core.ArgumentError("Parameter project is required."); 9498 throw new core.ArgumentError("Parameter project is required.");
9508 } 9499 }
9509 if (region == null) {
9510 throw new core.ArgumentError("Parameter region is required.");
9511 }
9512 if (filter != null) { 9500 if (filter != null) {
9513 _queryParams["filter"] = [filter]; 9501 _queryParams["filter"] = [filter];
9514 } 9502 }
9515 if (maxResults != null) { 9503 if (maxResults != null) {
9516 _queryParams["maxResults"] = ["${maxResults}"]; 9504 _queryParams["maxResults"] = ["${maxResults}"];
9517 } 9505 }
9518 if (pageToken != null) { 9506 if (pageToken != null) {
9519 _queryParams["pageToken"] = [pageToken]; 9507 _queryParams["pageToken"] = [pageToken];
9520 } 9508 }
9521 9509
9522 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/subnetworks'; 9510 _url = commons.Escaper.ecapeVariable('$project') + '/global/snapshots';
9523 9511
9524 var _response = _requester.request(_url, 9512 var _response = _requester.request(_url,
9525 "GET", 9513 "GET",
9526 body: _body, 9514 body: _body,
9527 queryParams: _queryParams, 9515 queryParams: _queryParams,
9528 uploadOptions: _uploadOptions, 9516 uploadOptions: _uploadOptions,
9529 uploadMedia: _uploadMedia, 9517 uploadMedia: _uploadMedia,
9530 downloadOptions: _downloadOptions); 9518 downloadOptions: _downloadOptions);
9531 return _response.then((data) => new SubnetworkList.fromJson(data)); 9519 return _response.then((data) => new SnapshotList.fromJson(data));
9532 } 9520 }
9533 9521
9534 } 9522 }
9535 9523
9536 9524
9537 class TargetHttpProxiesResourceApi { 9525 class SslCertificatesResourceApi {
9538 final commons.ApiRequester _requester; 9526 final commons.ApiRequester _requester;
9539 9527
9540 TargetHttpProxiesResourceApi(commons.ApiRequester client) : 9528 SslCertificatesResourceApi(commons.ApiRequester client) :
9541 _requester = client; 9529 _requester = client;
9542 9530
9543 /** 9531 /**
9544 * Deletes the specified TargetHttpProxy resource. 9532 * Deletes the specified SslCertificate resource.
9545 * 9533 *
9546 * Request parameters: 9534 * Request parameters:
9547 * 9535 *
9548 * [project] - Project ID for this request. 9536 * [project] - Project ID for this request.
9549 * Value must have pattern 9537 * Value must have pattern
9550 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 9538 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
9551 * 9539 *
9552 * [targetHttpProxy] - Name of the TargetHttpProxy resource to delete. 9540 * [sslCertificate] - Name of the SslCertificate resource to delete.
9553 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 9541 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
9554 * 9542 *
9555 * Completes with a [Operation]. 9543 * Completes with a [Operation].
9556 * 9544 *
9557 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 9545 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
9558 * error. 9546 * error.
9559 * 9547 *
9560 * If the used [http.Client] completes with an error when making a REST call, 9548 * If the used [http.Client] completes with an error when making a REST call,
9561 * this method will complete with the same error. 9549 * this method will complete with the same error.
9562 */ 9550 */
9563 async.Future<Operation> delete(core.String project, core.String targetHttpProx y) { 9551 async.Future<Operation> delete(core.String project, core.String sslCertificate ) {
9564 var _url = null; 9552 var _url = null;
9565 var _queryParams = new core.Map(); 9553 var _queryParams = new core.Map();
9566 var _uploadMedia = null; 9554 var _uploadMedia = null;
9567 var _uploadOptions = null; 9555 var _uploadOptions = null;
9568 var _downloadOptions = commons.DownloadOptions.Metadata; 9556 var _downloadOptions = commons.DownloadOptions.Metadata;
9569 var _body = null; 9557 var _body = null;
9570 9558
9571 if (project == null) { 9559 if (project == null) {
9572 throw new core.ArgumentError("Parameter project is required."); 9560 throw new core.ArgumentError("Parameter project is required.");
9573 } 9561 }
9574 if (targetHttpProxy == null) { 9562 if (sslCertificate == null) {
9575 throw new core.ArgumentError("Parameter targetHttpProxy is required."); 9563 throw new core.ArgumentError("Parameter sslCertificate is required.");
9576 } 9564 }
9577 9565
9578 _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpProxie s/' + commons.Escaper.ecapeVariable('$targetHttpProxy'); 9566 _url = commons.Escaper.ecapeVariable('$project') + '/global/sslCertificates/ ' + commons.Escaper.ecapeVariable('$sslCertificate');
9579 9567
9580 var _response = _requester.request(_url, 9568 var _response = _requester.request(_url,
9581 "DELETE", 9569 "DELETE",
9582 body: _body, 9570 body: _body,
9583 queryParams: _queryParams, 9571 queryParams: _queryParams,
9584 uploadOptions: _uploadOptions, 9572 uploadOptions: _uploadOptions,
9585 uploadMedia: _uploadMedia, 9573 uploadMedia: _uploadMedia,
9586 downloadOptions: _downloadOptions); 9574 downloadOptions: _downloadOptions);
9587 return _response.then((data) => new Operation.fromJson(data)); 9575 return _response.then((data) => new Operation.fromJson(data));
9588 } 9576 }
9589 9577
9590 /** 9578 /**
9591 * Returns the specified TargetHttpProxy resource. Get a list of available 9579 * Returns the specified SslCertificate resource. Get a list of available SSL
9592 * target HTTP proxies by making a list() request. 9580 * certificates by making a list() request.
9593 * 9581 *
9594 * Request parameters: 9582 * Request parameters:
9595 * 9583 *
9596 * [project] - Project ID for this request. 9584 * [project] - Project ID for this request.
9597 * Value must have pattern 9585 * Value must have pattern
9598 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 9586 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
9599 * 9587 *
9600 * [targetHttpProxy] - Name of the TargetHttpProxy resource to return. 9588 * [sslCertificate] - Name of the SslCertificate resource to return.
9601 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 9589 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
9602 * 9590 *
9603 * Completes with a [TargetHttpProxy]. 9591 * Completes with a [SslCertificate].
9604 * 9592 *
9605 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 9593 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
9606 * error. 9594 * error.
9607 * 9595 *
9608 * If the used [http.Client] completes with an error when making a REST call, 9596 * If the used [http.Client] completes with an error when making a REST call,
9609 * this method will complete with the same error. 9597 * this method will complete with the same error.
9610 */ 9598 */
9611 async.Future<TargetHttpProxy> get(core.String project, core.String targetHttpP roxy) { 9599 async.Future<SslCertificate> get(core.String project, core.String sslCertifica te) {
9612 var _url = null; 9600 var _url = null;
9613 var _queryParams = new core.Map(); 9601 var _queryParams = new core.Map();
9614 var _uploadMedia = null; 9602 var _uploadMedia = null;
9615 var _uploadOptions = null; 9603 var _uploadOptions = null;
9616 var _downloadOptions = commons.DownloadOptions.Metadata; 9604 var _downloadOptions = commons.DownloadOptions.Metadata;
9617 var _body = null; 9605 var _body = null;
9618 9606
9619 if (project == null) { 9607 if (project == null) {
9620 throw new core.ArgumentError("Parameter project is required."); 9608 throw new core.ArgumentError("Parameter project is required.");
9621 } 9609 }
9622 if (targetHttpProxy == null) { 9610 if (sslCertificate == null) {
9623 throw new core.ArgumentError("Parameter targetHttpProxy is required."); 9611 throw new core.ArgumentError("Parameter sslCertificate is required.");
9624 } 9612 }
9625 9613
9626 _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpProxie s/' + commons.Escaper.ecapeVariable('$targetHttpProxy'); 9614 _url = commons.Escaper.ecapeVariable('$project') + '/global/sslCertificates/ ' + commons.Escaper.ecapeVariable('$sslCertificate');
9627 9615
9628 var _response = _requester.request(_url, 9616 var _response = _requester.request(_url,
9629 "GET", 9617 "GET",
9630 body: _body, 9618 body: _body,
9631 queryParams: _queryParams, 9619 queryParams: _queryParams,
9632 uploadOptions: _uploadOptions, 9620 uploadOptions: _uploadOptions,
9633 uploadMedia: _uploadMedia, 9621 uploadMedia: _uploadMedia,
9634 downloadOptions: _downloadOptions); 9622 downloadOptions: _downloadOptions);
9635 return _response.then((data) => new TargetHttpProxy.fromJson(data)); 9623 return _response.then((data) => new SslCertificate.fromJson(data));
9636 } 9624 }
9637 9625
9638 /** 9626 /**
9639 * Creates a TargetHttpProxy resource in the specified project using the data 9627 * Creates a SslCertificate resource in the specified project using the data
9640 * included in the request. 9628 * included in the request.
9641 * 9629 *
9642 * [request] - The metadata request object. 9630 * [request] - The metadata request object.
9643 * 9631 *
9644 * Request parameters: 9632 * Request parameters:
9645 * 9633 *
9646 * [project] - Project ID for this request. 9634 * [project] - Project ID for this request.
9647 * Value must have pattern 9635 * Value must have pattern
9648 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 9636 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
9649 * 9637 *
9650 * Completes with a [Operation]. 9638 * Completes with a [Operation].
9651 * 9639 *
9652 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 9640 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
9653 * error. 9641 * error.
9654 * 9642 *
9655 * If the used [http.Client] completes with an error when making a REST call, 9643 * If the used [http.Client] completes with an error when making a REST call,
9656 * this method will complete with the same error. 9644 * this method will complete with the same error.
9657 */ 9645 */
9658 async.Future<Operation> insert(TargetHttpProxy request, core.String project) { 9646 async.Future<Operation> insert(SslCertificate request, core.String project) {
9659 var _url = null; 9647 var _url = null;
9660 var _queryParams = new core.Map(); 9648 var _queryParams = new core.Map();
9661 var _uploadMedia = null; 9649 var _uploadMedia = null;
9662 var _uploadOptions = null; 9650 var _uploadOptions = null;
9663 var _downloadOptions = commons.DownloadOptions.Metadata; 9651 var _downloadOptions = commons.DownloadOptions.Metadata;
9664 var _body = null; 9652 var _body = null;
9665 9653
9666 if (request != null) { 9654 if (request != null) {
9667 _body = convert.JSON.encode((request).toJson()); 9655 _body = convert.JSON.encode((request).toJson());
9668 } 9656 }
9669 if (project == null) { 9657 if (project == null) {
9670 throw new core.ArgumentError("Parameter project is required."); 9658 throw new core.ArgumentError("Parameter project is required.");
9671 } 9659 }
9672 9660
9673 _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpProxie s'; 9661 _url = commons.Escaper.ecapeVariable('$project') + '/global/sslCertificates' ;
9674 9662
9675 var _response = _requester.request(_url, 9663 var _response = _requester.request(_url,
9676 "POST", 9664 "POST",
9677 body: _body, 9665 body: _body,
9678 queryParams: _queryParams, 9666 queryParams: _queryParams,
9679 uploadOptions: _uploadOptions, 9667 uploadOptions: _uploadOptions,
9680 uploadMedia: _uploadMedia, 9668 uploadMedia: _uploadMedia,
9681 downloadOptions: _downloadOptions); 9669 downloadOptions: _downloadOptions);
9682 return _response.then((data) => new Operation.fromJson(data)); 9670 return _response.then((data) => new Operation.fromJson(data));
9683 } 9671 }
9684 9672
9685 /** 9673 /**
9686 * Retrieves the list of TargetHttpProxy resources available to the specified 9674 * Retrieves the list of SslCertificate resources available to the specified
9687 * project. 9675 * project.
9688 * 9676 *
9689 * Request parameters: 9677 * Request parameters:
9690 * 9678 *
9691 * [project] - Project ID for this request. 9679 * [project] - Project ID for this request.
9692 * Value must have pattern 9680 * Value must have pattern
9693 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 9681 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
9694 * 9682 *
9695 * [filter] - Sets a filter expression for filtering listed resources, in the 9683 * [filter] - Sets a filter expression for filtering listed resources, in the
9696 * form filter={expression}. Your {expression} must be in the format: 9684 * form filter={expression}. Your {expression} must be in the format:
(...skipping 25 matching lines...) Expand all
9722 * [maxResults] - The maximum number of results per page that should be 9710 * [maxResults] - The maximum number of results per page that should be
9723 * returned. If the number of available results is larger than maxResults, 9711 * returned. If the number of available results is larger than maxResults,
9724 * Compute Engine returns a nextPageToken that can be used to get the next 9712 * Compute Engine returns a nextPageToken that can be used to get the next
9725 * page of results in subsequent list requests. 9713 * page of results in subsequent list requests.
9726 * Value must be between "0" and "500". 9714 * Value must be between "0" and "500".
9727 * 9715 *
9728 * [pageToken] - Specifies a page token to use. Set pageToken to the 9716 * [pageToken] - Specifies a page token to use. Set pageToken to the
9729 * nextPageToken returned by a previous list request to get the next page of 9717 * nextPageToken returned by a previous list request to get the next page of
9730 * results. 9718 * results.
9731 * 9719 *
9732 * Completes with a [TargetHttpProxyList]. 9720 * Completes with a [SslCertificateList].
9733 * 9721 *
9734 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 9722 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
9735 * error. 9723 * error.
9736 * 9724 *
9737 * If the used [http.Client] completes with an error when making a REST call, 9725 * If the used [http.Client] completes with an error when making a REST call,
9738 * this method will complete with the same error. 9726 * this method will complete with the same error.
9739 */ 9727 */
9740 async.Future<TargetHttpProxyList> list(core.String project, {core.String filte r, core.int maxResults, core.String pageToken}) { 9728 async.Future<SslCertificateList> list(core.String project, {core.String filter , core.int maxResults, core.String pageToken}) {
9741 var _url = null; 9729 var _url = null;
9742 var _queryParams = new core.Map(); 9730 var _queryParams = new core.Map();
9743 var _uploadMedia = null; 9731 var _uploadMedia = null;
9744 var _uploadOptions = null; 9732 var _uploadOptions = null;
9745 var _downloadOptions = commons.DownloadOptions.Metadata; 9733 var _downloadOptions = commons.DownloadOptions.Metadata;
9746 var _body = null; 9734 var _body = null;
9747 9735
9748 if (project == null) { 9736 if (project == null) {
9749 throw new core.ArgumentError("Parameter project is required."); 9737 throw new core.ArgumentError("Parameter project is required.");
9750 } 9738 }
9751 if (filter != null) { 9739 if (filter != null) {
9752 _queryParams["filter"] = [filter]; 9740 _queryParams["filter"] = [filter];
9753 } 9741 }
9754 if (maxResults != null) { 9742 if (maxResults != null) {
9755 _queryParams["maxResults"] = ["${maxResults}"]; 9743 _queryParams["maxResults"] = ["${maxResults}"];
9756 } 9744 }
9757 if (pageToken != null) { 9745 if (pageToken != null) {
9758 _queryParams["pageToken"] = [pageToken]; 9746 _queryParams["pageToken"] = [pageToken];
9759 } 9747 }
9760 9748
9761 _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpProxie s'; 9749 _url = commons.Escaper.ecapeVariable('$project') + '/global/sslCertificates' ;
9762 9750
9763 var _response = _requester.request(_url, 9751 var _response = _requester.request(_url,
9764 "GET", 9752 "GET",
9765 body: _body, 9753 body: _body,
9766 queryParams: _queryParams, 9754 queryParams: _queryParams,
9767 uploadOptions: _uploadOptions, 9755 uploadOptions: _uploadOptions,
9768 uploadMedia: _uploadMedia, 9756 uploadMedia: _uploadMedia,
9769 downloadOptions: _downloadOptions); 9757 downloadOptions: _downloadOptions);
9770 return _response.then((data) => new TargetHttpProxyList.fromJson(data)); 9758 return _response.then((data) => new SslCertificateList.fromJson(data));
9771 } 9759 }
9772 9760
9761 }
9762
9763
9764 class SubnetworksResourceApi {
9765 final commons.ApiRequester _requester;
9766
9767 SubnetworksResourceApi(commons.ApiRequester client) :
9768 _requester = client;
9769
9773 /** 9770 /**
9774 * Changes the URL map for TargetHttpProxy. 9771 * Retrieves an aggregated list of subnetworks.
9775 *
9776 * [request] - The metadata request object.
9777 * 9772 *
9778 * Request parameters: 9773 * Request parameters:
9779 * 9774 *
9780 * [project] - Project ID for this request. 9775 * [project] - Project ID for this request.
9781 * Value must have pattern 9776 * Value must have pattern
9782 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 9777 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
9783 * 9778 *
9784 * [targetHttpProxy] - Name of the TargetHttpProxy to set a URL map for. 9779 * [filter] - Sets a filter expression for filtering listed resources, in the
9785 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 9780 * form filter={expression}. Your {expression} must be in the format:
9781 * field_name comparison_string literal_string.
9786 * 9782 *
9787 * Completes with a [Operation]. 9783 * The field_name is the name of the field you want to compare. Only atomic
9784 * field types are supported (string, number, boolean). The comparison_string
9785 * must be either eq (equals) or ne (not equals). The literal_string is the
9786 * string value to filter to. The literal value must be valid for the type of
9787 * field you are filtering by (string, number, boolean). For string fields,
9788 * the literal value is interpreted as a regular expression using RE2 syntax.
9789 * The literal value must match the entire field.
9790 *
9791 * For example, to filter for instances that do not have a name of
9792 * example-instance, you would use filter=name ne example-instance.
9793 *
9794 * Compute Engine Beta API Only: When filtering in the Beta API, you can also
9795 * filter on nested fields. For example, you could filter on instances that
9796 * have set the scheduling.automaticRestart field to true. Use filtering on
9797 * nested fields to take advantage of labels to organize and search for
9798 * results based on label values.
9799 *
9800 * The Beta API also supports filtering on multiple expressions by providing
9801 * each separate expression within parentheses. For example,
9802 * (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple
9803 * expressions are treated as AND expressions, meaning that resources must
9804 * match all expressions to pass the filters.
9805 *
9806 * [maxResults] - The maximum number of results per page that should be
9807 * returned. If the number of available results is larger than maxResults,
9808 * Compute Engine returns a nextPageToken that can be used to get the next
9809 * page of results in subsequent list requests.
9810 * Value must be between "0" and "500".
9811 *
9812 * [pageToken] - Specifies a page token to use. Set pageToken to the
9813 * nextPageToken returned by a previous list request to get the next page of
9814 * results.
9815 *
9816 * Completes with a [SubnetworkAggregatedList].
9788 * 9817 *
9789 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 9818 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
9790 * error. 9819 * error.
9791 * 9820 *
9792 * If the used [http.Client] completes with an error when making a REST call, 9821 * If the used [http.Client] completes with an error when making a REST call,
9793 * this method will complete with the same error. 9822 * this method will complete with the same error.
9794 */ 9823 */
9795 async.Future<Operation> setUrlMap(UrlMapReference request, core.String project , core.String targetHttpProxy) { 9824 async.Future<SubnetworkAggregatedList> aggregatedList(core.String project, {co re.String filter, core.int maxResults, core.String pageToken}) {
9796 var _url = null; 9825 var _url = null;
9797 var _queryParams = new core.Map(); 9826 var _queryParams = new core.Map();
9798 var _uploadMedia = null; 9827 var _uploadMedia = null;
9799 var _uploadOptions = null; 9828 var _uploadOptions = null;
9800 var _downloadOptions = commons.DownloadOptions.Metadata; 9829 var _downloadOptions = commons.DownloadOptions.Metadata;
9801 var _body = null; 9830 var _body = null;
9802 9831
9803 if (request != null) {
9804 _body = convert.JSON.encode((request).toJson());
9805 }
9806 if (project == null) { 9832 if (project == null) {
9807 throw new core.ArgumentError("Parameter project is required."); 9833 throw new core.ArgumentError("Parameter project is required.");
9808 } 9834 }
9809 if (targetHttpProxy == null) { 9835 if (filter != null) {
9810 throw new core.ArgumentError("Parameter targetHttpProxy is required."); 9836 _queryParams["filter"] = [filter];
9837 }
9838 if (maxResults != null) {
9839 _queryParams["maxResults"] = ["${maxResults}"];
9840 }
9841 if (pageToken != null) {
9842 _queryParams["pageToken"] = [pageToken];
9811 } 9843 }
9812 9844
9813 _url = commons.Escaper.ecapeVariable('$project') + '/targetHttpProxies/' + c ommons.Escaper.ecapeVariable('$targetHttpProxy') + '/setUrlMap'; 9845 _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/subnetworks' ;
9814 9846
9815 var _response = _requester.request(_url, 9847 var _response = _requester.request(_url,
9816 "POST", 9848 "GET",
9817 body: _body, 9849 body: _body,
9818 queryParams: _queryParams, 9850 queryParams: _queryParams,
9819 uploadOptions: _uploadOptions, 9851 uploadOptions: _uploadOptions,
9820 uploadMedia: _uploadMedia, 9852 uploadMedia: _uploadMedia,
9821 downloadOptions: _downloadOptions); 9853 downloadOptions: _downloadOptions);
9822 return _response.then((data) => new Operation.fromJson(data)); 9854 return _response.then((data) => new SubnetworkAggregatedList.fromJson(data)) ;
9823 } 9855 }
9824 9856
9825 }
9826
9827
9828 class TargetHttpsProxiesResourceApi {
9829 final commons.ApiRequester _requester;
9830
9831 TargetHttpsProxiesResourceApi(commons.ApiRequester client) :
9832 _requester = client;
9833
9834 /** 9857 /**
9835 * Deletes the specified TargetHttpsProxy resource. 9858 * Deletes the specified subnetwork.
9836 * 9859 *
9837 * Request parameters: 9860 * Request parameters:
9838 * 9861 *
9839 * [project] - Project ID for this request. 9862 * [project] - Project ID for this request.
9840 * Value must have pattern 9863 * Value must have pattern
9841 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 9864 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
9842 * 9865 *
9843 * [targetHttpsProxy] - Name of the TargetHttpsProxy resource to delete. 9866 * [region] - Name of the region scoping this request.
9867 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
9868 *
9869 * [subnetwork] - Name of the Subnetwork resource to delete.
9844 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 9870 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
9845 * 9871 *
9846 * Completes with a [Operation]. 9872 * Completes with a [Operation].
9847 * 9873 *
9848 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 9874 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
9849 * error. 9875 * error.
9850 * 9876 *
9851 * If the used [http.Client] completes with an error when making a REST call, 9877 * If the used [http.Client] completes with an error when making a REST call,
9852 * this method will complete with the same error. 9878 * this method will complete with the same error.
9853 */ 9879 */
9854 async.Future<Operation> delete(core.String project, core.String targetHttpsPro xy) { 9880 async.Future<Operation> delete(core.String project, core.String region, core.S tring subnetwork) {
9855 var _url = null; 9881 var _url = null;
9856 var _queryParams = new core.Map(); 9882 var _queryParams = new core.Map();
9857 var _uploadMedia = null; 9883 var _uploadMedia = null;
9858 var _uploadOptions = null; 9884 var _uploadOptions = null;
9859 var _downloadOptions = commons.DownloadOptions.Metadata; 9885 var _downloadOptions = commons.DownloadOptions.Metadata;
9860 var _body = null; 9886 var _body = null;
9861 9887
9862 if (project == null) { 9888 if (project == null) {
9863 throw new core.ArgumentError("Parameter project is required."); 9889 throw new core.ArgumentError("Parameter project is required.");
9864 } 9890 }
9865 if (targetHttpsProxy == null) { 9891 if (region == null) {
9866 throw new core.ArgumentError("Parameter targetHttpsProxy is required."); 9892 throw new core.ArgumentError("Parameter region is required.");
9893 }
9894 if (subnetwork == null) {
9895 throw new core.ArgumentError("Parameter subnetwork is required.");
9867 } 9896 }
9868 9897
9869 _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpsProxi es/' + commons.Escaper.ecapeVariable('$targetHttpsProxy'); 9898 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/subnetworks/' + commons.Escaper.ecapeVariable( '$subnetwork');
9870 9899
9871 var _response = _requester.request(_url, 9900 var _response = _requester.request(_url,
9872 "DELETE", 9901 "DELETE",
9873 body: _body, 9902 body: _body,
9874 queryParams: _queryParams, 9903 queryParams: _queryParams,
9875 uploadOptions: _uploadOptions, 9904 uploadOptions: _uploadOptions,
9876 uploadMedia: _uploadMedia, 9905 uploadMedia: _uploadMedia,
9877 downloadOptions: _downloadOptions); 9906 downloadOptions: _downloadOptions);
9878 return _response.then((data) => new Operation.fromJson(data)); 9907 return _response.then((data) => new Operation.fromJson(data));
9879 } 9908 }
9880 9909
9881 /** 9910 /**
9882 * Returns the specified TargetHttpsProxy resource. Get a list of available 9911 * Returns the specified subnetwork. Get a list of available subnetworks
9883 * target HTTPS proxies by making a list() request. 9912 * list() request.
9884 * 9913 *
9885 * Request parameters: 9914 * Request parameters:
9886 * 9915 *
9887 * [project] - Project ID for this request. 9916 * [project] - Project ID for this request.
9888 * Value must have pattern 9917 * Value must have pattern
9889 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 9918 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
9890 * 9919 *
9891 * [targetHttpsProxy] - Name of the TargetHttpsProxy resource to return. 9920 * [region] - Name of the region scoping this request.
9892 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 9921 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
9893 * 9922 *
9894 * Completes with a [TargetHttpsProxy]. 9923 * [subnetwork] - Name of the Subnetwork resource to return.
9924 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
9925 *
9926 * Completes with a [Subnetwork].
9895 * 9927 *
9896 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 9928 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
9897 * error. 9929 * error.
9898 * 9930 *
9899 * If the used [http.Client] completes with an error when making a REST call, 9931 * If the used [http.Client] completes with an error when making a REST call,
9900 * this method will complete with the same error. 9932 * this method will complete with the same error.
9901 */ 9933 */
9902 async.Future<TargetHttpsProxy> get(core.String project, core.String targetHttp sProxy) { 9934 async.Future<Subnetwork> get(core.String project, core.String region, core.Str ing subnetwork) {
9903 var _url = null; 9935 var _url = null;
9904 var _queryParams = new core.Map(); 9936 var _queryParams = new core.Map();
9905 var _uploadMedia = null; 9937 var _uploadMedia = null;
9906 var _uploadOptions = null; 9938 var _uploadOptions = null;
9907 var _downloadOptions = commons.DownloadOptions.Metadata; 9939 var _downloadOptions = commons.DownloadOptions.Metadata;
9908 var _body = null; 9940 var _body = null;
9909 9941
9910 if (project == null) { 9942 if (project == null) {
9911 throw new core.ArgumentError("Parameter project is required."); 9943 throw new core.ArgumentError("Parameter project is required.");
9912 } 9944 }
9913 if (targetHttpsProxy == null) { 9945 if (region == null) {
9914 throw new core.ArgumentError("Parameter targetHttpsProxy is required."); 9946 throw new core.ArgumentError("Parameter region is required.");
9947 }
9948 if (subnetwork == null) {
9949 throw new core.ArgumentError("Parameter subnetwork is required.");
9915 } 9950 }
9916 9951
9917 _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpsProxi es/' + commons.Escaper.ecapeVariable('$targetHttpsProxy'); 9952 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/subnetworks/' + commons.Escaper.ecapeVariable( '$subnetwork');
9918 9953
9919 var _response = _requester.request(_url, 9954 var _response = _requester.request(_url,
9920 "GET", 9955 "GET",
9921 body: _body, 9956 body: _body,
9922 queryParams: _queryParams, 9957 queryParams: _queryParams,
9923 uploadOptions: _uploadOptions, 9958 uploadOptions: _uploadOptions,
9924 uploadMedia: _uploadMedia, 9959 uploadMedia: _uploadMedia,
9925 downloadOptions: _downloadOptions); 9960 downloadOptions: _downloadOptions);
9926 return _response.then((data) => new TargetHttpsProxy.fromJson(data)); 9961 return _response.then((data) => new Subnetwork.fromJson(data));
9927 } 9962 }
9928 9963
9929 /** 9964 /**
9930 * Creates a TargetHttpsProxy resource in the specified project using the data 9965 * Creates a subnetwork in the specified project using the data included in
9931 * included in the request. 9966 * the request.
9932 * 9967 *
9933 * [request] - The metadata request object. 9968 * [request] - The metadata request object.
9934 * 9969 *
9935 * Request parameters: 9970 * Request parameters:
9936 * 9971 *
9937 * [project] - Project ID for this request. 9972 * [project] - Project ID for this request.
9938 * Value must have pattern 9973 * Value must have pattern
9939 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 9974 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
9940 * 9975 *
9976 * [region] - Name of the region scoping this request.
9977 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
9978 *
9941 * Completes with a [Operation]. 9979 * Completes with a [Operation].
9942 * 9980 *
9943 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 9981 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
9944 * error. 9982 * error.
9945 * 9983 *
9946 * If the used [http.Client] completes with an error when making a REST call, 9984 * If the used [http.Client] completes with an error when making a REST call,
9947 * this method will complete with the same error. 9985 * this method will complete with the same error.
9948 */ 9986 */
9949 async.Future<Operation> insert(TargetHttpsProxy request, core.String project) { 9987 async.Future<Operation> insert(Subnetwork request, core.String project, core.S tring region) {
9950 var _url = null; 9988 var _url = null;
9951 var _queryParams = new core.Map(); 9989 var _queryParams = new core.Map();
9952 var _uploadMedia = null; 9990 var _uploadMedia = null;
9953 var _uploadOptions = null; 9991 var _uploadOptions = null;
9954 var _downloadOptions = commons.DownloadOptions.Metadata; 9992 var _downloadOptions = commons.DownloadOptions.Metadata;
9955 var _body = null; 9993 var _body = null;
9956 9994
9957 if (request != null) { 9995 if (request != null) {
9958 _body = convert.JSON.encode((request).toJson()); 9996 _body = convert.JSON.encode((request).toJson());
9959 } 9997 }
9960 if (project == null) { 9998 if (project == null) {
9961 throw new core.ArgumentError("Parameter project is required."); 9999 throw new core.ArgumentError("Parameter project is required.");
9962 } 10000 }
10001 if (region == null) {
10002 throw new core.ArgumentError("Parameter region is required.");
10003 }
9963 10004
9964 _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpsProxi es'; 10005 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/subnetworks';
9965 10006
9966 var _response = _requester.request(_url, 10007 var _response = _requester.request(_url,
9967 "POST", 10008 "POST",
9968 body: _body, 10009 body: _body,
9969 queryParams: _queryParams, 10010 queryParams: _queryParams,
9970 uploadOptions: _uploadOptions, 10011 uploadOptions: _uploadOptions,
9971 uploadMedia: _uploadMedia, 10012 uploadMedia: _uploadMedia,
9972 downloadOptions: _downloadOptions); 10013 downloadOptions: _downloadOptions);
9973 return _response.then((data) => new Operation.fromJson(data)); 10014 return _response.then((data) => new Operation.fromJson(data));
9974 } 10015 }
9975 10016
9976 /** 10017 /**
9977 * Retrieves the list of TargetHttpsProxy resources available to the specified 10018 * Retrieves a list of subnetworks available to the specified project.
9978 * project.
9979 * 10019 *
9980 * Request parameters: 10020 * Request parameters:
9981 * 10021 *
9982 * [project] - Project ID for this request. 10022 * [project] - Project ID for this request.
9983 * Value must have pattern 10023 * Value must have pattern
9984 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 10024 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
9985 * 10025 *
10026 * [region] - Name of the region scoping this request.
10027 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
10028 *
9986 * [filter] - Sets a filter expression for filtering listed resources, in the 10029 * [filter] - Sets a filter expression for filtering listed resources, in the
9987 * form filter={expression}. Your {expression} must be in the format: 10030 * form filter={expression}. Your {expression} must be in the format:
9988 * field_name comparison_string literal_string. 10031 * field_name comparison_string literal_string.
9989 * 10032 *
9990 * The field_name is the name of the field you want to compare. Only atomic 10033 * The field_name is the name of the field you want to compare. Only atomic
9991 * field types are supported (string, number, boolean). The comparison_string 10034 * field types are supported (string, number, boolean). The comparison_string
9992 * must be either eq (equals) or ne (not equals). The literal_string is the 10035 * must be either eq (equals) or ne (not equals). The literal_string is the
9993 * string value to filter to. The literal value must be valid for the type of 10036 * string value to filter to. The literal value must be valid for the type of
9994 * field you are filtering by (string, number, boolean). For string fields, 10037 * field you are filtering by (string, number, boolean). For string fields,
9995 * the literal value is interpreted as a regular expression using RE2 syntax. 10038 * the literal value is interpreted as a regular expression using RE2 syntax.
(...skipping 17 matching lines...) Expand all
10013 * [maxResults] - The maximum number of results per page that should be 10056 * [maxResults] - The maximum number of results per page that should be
10014 * returned. If the number of available results is larger than maxResults, 10057 * returned. If the number of available results is larger than maxResults,
10015 * Compute Engine returns a nextPageToken that can be used to get the next 10058 * Compute Engine returns a nextPageToken that can be used to get the next
10016 * page of results in subsequent list requests. 10059 * page of results in subsequent list requests.
10017 * Value must be between "0" and "500". 10060 * Value must be between "0" and "500".
10018 * 10061 *
10019 * [pageToken] - Specifies a page token to use. Set pageToken to the 10062 * [pageToken] - Specifies a page token to use. Set pageToken to the
10020 * nextPageToken returned by a previous list request to get the next page of 10063 * nextPageToken returned by a previous list request to get the next page of
10021 * results. 10064 * results.
10022 * 10065 *
10023 * Completes with a [TargetHttpsProxyList]. 10066 * Completes with a [SubnetworkList].
10024 * 10067 *
10025 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 10068 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
10026 * error. 10069 * error.
10027 * 10070 *
10028 * If the used [http.Client] completes with an error when making a REST call, 10071 * If the used [http.Client] completes with an error when making a REST call,
10029 * this method will complete with the same error. 10072 * this method will complete with the same error.
10030 */ 10073 */
10031 async.Future<TargetHttpsProxyList> list(core.String project, {core.String filt er, core.int maxResults, core.String pageToken}) { 10074 async.Future<SubnetworkList> list(core.String project, core.String region, {co re.String filter, core.int maxResults, core.String pageToken}) {
10032 var _url = null; 10075 var _url = null;
10033 var _queryParams = new core.Map(); 10076 var _queryParams = new core.Map();
10034 var _uploadMedia = null; 10077 var _uploadMedia = null;
10035 var _uploadOptions = null; 10078 var _uploadOptions = null;
10036 var _downloadOptions = commons.DownloadOptions.Metadata; 10079 var _downloadOptions = commons.DownloadOptions.Metadata;
10037 var _body = null; 10080 var _body = null;
10038 10081
10039 if (project == null) { 10082 if (project == null) {
10040 throw new core.ArgumentError("Parameter project is required."); 10083 throw new core.ArgumentError("Parameter project is required.");
10041 } 10084 }
10085 if (region == null) {
10086 throw new core.ArgumentError("Parameter region is required.");
10087 }
10042 if (filter != null) { 10088 if (filter != null) {
10043 _queryParams["filter"] = [filter]; 10089 _queryParams["filter"] = [filter];
10044 } 10090 }
10045 if (maxResults != null) { 10091 if (maxResults != null) {
10046 _queryParams["maxResults"] = ["${maxResults}"]; 10092 _queryParams["maxResults"] = ["${maxResults}"];
10047 } 10093 }
10048 if (pageToken != null) { 10094 if (pageToken != null) {
10049 _queryParams["pageToken"] = [pageToken]; 10095 _queryParams["pageToken"] = [pageToken];
10050 } 10096 }
10051 10097
10052 _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpsProxi es'; 10098 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/subnetworks';
10053 10099
10054 var _response = _requester.request(_url, 10100 var _response = _requester.request(_url,
10055 "GET", 10101 "GET",
10056 body: _body, 10102 body: _body,
10057 queryParams: _queryParams, 10103 queryParams: _queryParams,
10058 uploadOptions: _uploadOptions, 10104 uploadOptions: _uploadOptions,
10059 uploadMedia: _uploadMedia, 10105 uploadMedia: _uploadMedia,
10060 downloadOptions: _downloadOptions); 10106 downloadOptions: _downloadOptions);
10061 return _response.then((data) => new TargetHttpsProxyList.fromJson(data)); 10107 return _response.then((data) => new SubnetworkList.fromJson(data));
10062 } 10108 }
10063 10109
10110 }
10111
10112
10113 class TargetHttpProxiesResourceApi {
10114 final commons.ApiRequester _requester;
10115
10116 TargetHttpProxiesResourceApi(commons.ApiRequester client) :
10117 _requester = client;
10118
10064 /** 10119 /**
10065 * Replaces SslCertificates for TargetHttpsProxy. 10120 * Deletes the specified TargetHttpProxy resource.
10066 *
10067 * [request] - The metadata request object.
10068 * 10121 *
10069 * Request parameters: 10122 * Request parameters:
10070 * 10123 *
10071 * [project] - Project ID for this request. 10124 * [project] - Project ID for this request.
10072 * Value must have pattern 10125 * Value must have pattern
10073 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 10126 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
10074 * 10127 *
10075 * [targetHttpsProxy] - Name of the TargetHttpsProxy resource to set an 10128 * [targetHttpProxy] - Name of the TargetHttpProxy resource to delete.
10076 * SslCertificates resource for.
10077 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 10129 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
10078 * 10130 *
10079 * Completes with a [Operation]. 10131 * Completes with a [Operation].
10080 * 10132 *
10081 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 10133 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
10082 * error. 10134 * error.
10083 * 10135 *
10084 * If the used [http.Client] completes with an error when making a REST call, 10136 * If the used [http.Client] completes with an error when making a REST call,
10085 * this method will complete with the same error. 10137 * this method will complete with the same error.
10086 */ 10138 */
10087 async.Future<Operation> setSslCertificates(TargetHttpsProxiesSetSslCertificate sRequest request, core.String project, core.String targetHttpsProxy) { 10139 async.Future<Operation> delete(core.String project, core.String targetHttpProx y) {
10088 var _url = null; 10140 var _url = null;
10089 var _queryParams = new core.Map(); 10141 var _queryParams = new core.Map();
10090 var _uploadMedia = null; 10142 var _uploadMedia = null;
10091 var _uploadOptions = null; 10143 var _uploadOptions = null;
10092 var _downloadOptions = commons.DownloadOptions.Metadata; 10144 var _downloadOptions = commons.DownloadOptions.Metadata;
10093 var _body = null; 10145 var _body = null;
10094 10146
10095 if (request != null) {
10096 _body = convert.JSON.encode((request).toJson());
10097 }
10098 if (project == null) { 10147 if (project == null) {
10099 throw new core.ArgumentError("Parameter project is required."); 10148 throw new core.ArgumentError("Parameter project is required.");
10100 } 10149 }
10101 if (targetHttpsProxy == null) { 10150 if (targetHttpProxy == null) {
10102 throw new core.ArgumentError("Parameter targetHttpsProxy is required."); 10151 throw new core.ArgumentError("Parameter targetHttpProxy is required.");
10103 } 10152 }
10104 10153
10105 _url = commons.Escaper.ecapeVariable('$project') + '/targetHttpsProxies/' + commons.Escaper.ecapeVariable('$targetHttpsProxy') + '/setSslCertificates'; 10154 _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpProxie s/' + commons.Escaper.ecapeVariable('$targetHttpProxy');
10106 10155
10107 var _response = _requester.request(_url, 10156 var _response = _requester.request(_url,
10108 "POST", 10157 "DELETE",
10109 body: _body, 10158 body: _body,
10110 queryParams: _queryParams, 10159 queryParams: _queryParams,
10111 uploadOptions: _uploadOptions, 10160 uploadOptions: _uploadOptions,
10112 uploadMedia: _uploadMedia, 10161 uploadMedia: _uploadMedia,
10113 downloadOptions: _downloadOptions); 10162 downloadOptions: _downloadOptions);
10114 return _response.then((data) => new Operation.fromJson(data)); 10163 return _response.then((data) => new Operation.fromJson(data));
10115 } 10164 }
10116 10165
10117 /** 10166 /**
10118 * Changes the URL map for TargetHttpsProxy. 10167 * Returns the specified TargetHttpProxy resource. Get a list of available
10119 * 10168 * target HTTP proxies by making a list() request.
10120 * [request] - The metadata request object.
10121 * 10169 *
10122 * Request parameters: 10170 * Request parameters:
10123 * 10171 *
10124 * [project] - Project ID for this request. 10172 * [project] - Project ID for this request.
10125 * Value must have pattern 10173 * Value must have pattern
10126 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 10174 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
10127 * 10175 *
10128 * [targetHttpsProxy] - Name of the TargetHttpsProxy resource whose URL map is 10176 * [targetHttpProxy] - Name of the TargetHttpProxy resource to return.
10129 * to be set.
10130 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 10177 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
10131 * 10178 *
10179 * Completes with a [TargetHttpProxy].
10180 *
10181 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
10182 * error.
10183 *
10184 * If the used [http.Client] completes with an error when making a REST call,
10185 * this method will complete with the same error.
10186 */
10187 async.Future<TargetHttpProxy> get(core.String project, core.String targetHttpP roxy) {
10188 var _url = null;
10189 var _queryParams = new core.Map();
10190 var _uploadMedia = null;
10191 var _uploadOptions = null;
10192 var _downloadOptions = commons.DownloadOptions.Metadata;
10193 var _body = null;
10194
10195 if (project == null) {
10196 throw new core.ArgumentError("Parameter project is required.");
10197 }
10198 if (targetHttpProxy == null) {
10199 throw new core.ArgumentError("Parameter targetHttpProxy is required.");
10200 }
10201
10202 _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpProxie s/' + commons.Escaper.ecapeVariable('$targetHttpProxy');
10203
10204 var _response = _requester.request(_url,
10205 "GET",
10206 body: _body,
10207 queryParams: _queryParams,
10208 uploadOptions: _uploadOptions,
10209 uploadMedia: _uploadMedia,
10210 downloadOptions: _downloadOptions);
10211 return _response.then((data) => new TargetHttpProxy.fromJson(data));
10212 }
10213
10214 /**
10215 * Creates a TargetHttpProxy resource in the specified project using the data
10216 * included in the request.
10217 *
10218 * [request] - The metadata request object.
10219 *
10220 * Request parameters:
10221 *
10222 * [project] - Project ID for this request.
10223 * Value must have pattern
10224 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
10225 *
10132 * Completes with a [Operation]. 10226 * Completes with a [Operation].
10133 * 10227 *
10134 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 10228 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
10135 * error. 10229 * error.
10136 * 10230 *
10137 * If the used [http.Client] completes with an error when making a REST call, 10231 * If the used [http.Client] completes with an error when making a REST call,
10138 * this method will complete with the same error. 10232 * this method will complete with the same error.
10139 */ 10233 */
10140 async.Future<Operation> setUrlMap(UrlMapReference request, core.String project , core.String targetHttpsProxy) { 10234 async.Future<Operation> insert(TargetHttpProxy request, core.String project) {
10141 var _url = null; 10235 var _url = null;
10142 var _queryParams = new core.Map(); 10236 var _queryParams = new core.Map();
10143 var _uploadMedia = null; 10237 var _uploadMedia = null;
10144 var _uploadOptions = null; 10238 var _uploadOptions = null;
10145 var _downloadOptions = commons.DownloadOptions.Metadata; 10239 var _downloadOptions = commons.DownloadOptions.Metadata;
10146 var _body = null; 10240 var _body = null;
10147 10241
10148 if (request != null) { 10242 if (request != null) {
10149 _body = convert.JSON.encode((request).toJson()); 10243 _body = convert.JSON.encode((request).toJson());
10150 } 10244 }
10151 if (project == null) { 10245 if (project == null) {
10152 throw new core.ArgumentError("Parameter project is required."); 10246 throw new core.ArgumentError("Parameter project is required.");
10153 } 10247 }
10154 if (targetHttpsProxy == null) {
10155 throw new core.ArgumentError("Parameter targetHttpsProxy is required.");
10156 }
10157 10248
10158 _url = commons.Escaper.ecapeVariable('$project') + '/targetHttpsProxies/' + commons.Escaper.ecapeVariable('$targetHttpsProxy') + '/setUrlMap'; 10249 _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpProxie s';
10159 10250
10160 var _response = _requester.request(_url, 10251 var _response = _requester.request(_url,
10161 "POST", 10252 "POST",
10162 body: _body, 10253 body: _body,
10163 queryParams: _queryParams, 10254 queryParams: _queryParams,
10164 uploadOptions: _uploadOptions, 10255 uploadOptions: _uploadOptions,
10165 uploadMedia: _uploadMedia, 10256 uploadMedia: _uploadMedia,
10166 downloadOptions: _downloadOptions); 10257 downloadOptions: _downloadOptions);
10167 return _response.then((data) => new Operation.fromJson(data)); 10258 return _response.then((data) => new Operation.fromJson(data));
10168 } 10259 }
10169 10260
10170 }
10171
10172
10173 class TargetInstancesResourceApi {
10174 final commons.ApiRequester _requester;
10175
10176 TargetInstancesResourceApi(commons.ApiRequester client) :
10177 _requester = client;
10178
10179 /** 10261 /**
10180 * Retrieves an aggregated list of target instances. 10262 * Retrieves the list of TargetHttpProxy resources available to the specified
10263 * project.
10181 * 10264 *
10182 * Request parameters: 10265 * Request parameters:
10183 * 10266 *
10184 * [project] - Project ID for this request. 10267 * [project] - Project ID for this request.
10185 * Value must have pattern 10268 * Value must have pattern
10186 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 10269 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
10187 * 10270 *
10188 * [filter] - Sets a filter expression for filtering listed resources, in the 10271 * [filter] - Sets a filter expression for filtering listed resources, in the
10189 * form filter={expression}. Your {expression} must be in the format: 10272 * form filter={expression}. Your {expression} must be in the format:
10190 * field_name comparison_string literal_string. 10273 * field_name comparison_string literal_string.
(...skipping 24 matching lines...) Expand all
10215 * [maxResults] - The maximum number of results per page that should be 10298 * [maxResults] - The maximum number of results per page that should be
10216 * returned. If the number of available results is larger than maxResults, 10299 * returned. If the number of available results is larger than maxResults,
10217 * Compute Engine returns a nextPageToken that can be used to get the next 10300 * Compute Engine returns a nextPageToken that can be used to get the next
10218 * page of results in subsequent list requests. 10301 * page of results in subsequent list requests.
10219 * Value must be between "0" and "500". 10302 * Value must be between "0" and "500".
10220 * 10303 *
10221 * [pageToken] - Specifies a page token to use. Set pageToken to the 10304 * [pageToken] - Specifies a page token to use. Set pageToken to the
10222 * nextPageToken returned by a previous list request to get the next page of 10305 * nextPageToken returned by a previous list request to get the next page of
10223 * results. 10306 * results.
10224 * 10307 *
10225 * Completes with a [TargetInstanceAggregatedList]. 10308 * Completes with a [TargetHttpProxyList].
10226 * 10309 *
10227 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 10310 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
10228 * error. 10311 * error.
10229 * 10312 *
10230 * If the used [http.Client] completes with an error when making a REST call, 10313 * If the used [http.Client] completes with an error when making a REST call,
10231 * this method will complete with the same error. 10314 * this method will complete with the same error.
10232 */ 10315 */
10233 async.Future<TargetInstanceAggregatedList> aggregatedList(core.String project, {core.String filter, core.int maxResults, core.String pageToken}) { 10316 async.Future<TargetHttpProxyList> list(core.String project, {core.String filte r, core.int maxResults, core.String pageToken}) {
10234 var _url = null; 10317 var _url = null;
10235 var _queryParams = new core.Map(); 10318 var _queryParams = new core.Map();
10236 var _uploadMedia = null; 10319 var _uploadMedia = null;
10237 var _uploadOptions = null; 10320 var _uploadOptions = null;
10238 var _downloadOptions = commons.DownloadOptions.Metadata; 10321 var _downloadOptions = commons.DownloadOptions.Metadata;
10239 var _body = null; 10322 var _body = null;
10240 10323
10241 if (project == null) { 10324 if (project == null) {
10242 throw new core.ArgumentError("Parameter project is required."); 10325 throw new core.ArgumentError("Parameter project is required.");
10243 } 10326 }
10244 if (filter != null) { 10327 if (filter != null) {
10245 _queryParams["filter"] = [filter]; 10328 _queryParams["filter"] = [filter];
10246 } 10329 }
10247 if (maxResults != null) { 10330 if (maxResults != null) {
10248 _queryParams["maxResults"] = ["${maxResults}"]; 10331 _queryParams["maxResults"] = ["${maxResults}"];
10249 } 10332 }
10250 if (pageToken != null) { 10333 if (pageToken != null) {
10251 _queryParams["pageToken"] = [pageToken]; 10334 _queryParams["pageToken"] = [pageToken];
10252 } 10335 }
10253 10336
10254 _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/targetInstan ces'; 10337 _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpProxie s';
10255 10338
10256 var _response = _requester.request(_url, 10339 var _response = _requester.request(_url,
10257 "GET", 10340 "GET",
10258 body: _body, 10341 body: _body,
10259 queryParams: _queryParams, 10342 queryParams: _queryParams,
10260 uploadOptions: _uploadOptions, 10343 uploadOptions: _uploadOptions,
10261 uploadMedia: _uploadMedia, 10344 uploadMedia: _uploadMedia,
10262 downloadOptions: _downloadOptions); 10345 downloadOptions: _downloadOptions);
10263 return _response.then((data) => new TargetInstanceAggregatedList.fromJson(da ta)); 10346 return _response.then((data) => new TargetHttpProxyList.fromJson(data));
10264 } 10347 }
10265 10348
10266 /** 10349 /**
10267 * Deletes the specified TargetInstance resource. 10350 * Changes the URL map for TargetHttpProxy.
10351 *
10352 * [request] - The metadata request object.
10268 * 10353 *
10269 * Request parameters: 10354 * Request parameters:
10270 * 10355 *
10271 * [project] - Project ID for this request. 10356 * [project] - Project ID for this request.
10272 * Value must have pattern 10357 * Value must have pattern
10273 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 10358 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
10274 * 10359 *
10275 * [zone] - Name of the zone scoping this request. 10360 * [targetHttpProxy] - Name of the TargetHttpProxy to set a URL map for.
10276 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
10277 *
10278 * [targetInstance] - Name of the TargetInstance resource to delete.
10279 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 10361 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
10280 * 10362 *
10281 * Completes with a [Operation]. 10363 * Completes with a [Operation].
10282 * 10364 *
10283 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 10365 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
10284 * error. 10366 * error.
10285 * 10367 *
10286 * If the used [http.Client] completes with an error when making a REST call, 10368 * If the used [http.Client] completes with an error when making a REST call,
10287 * this method will complete with the same error. 10369 * this method will complete with the same error.
10288 */ 10370 */
10289 async.Future<Operation> delete(core.String project, core.String zone, core.Str ing targetInstance) { 10371 async.Future<Operation> setUrlMap(UrlMapReference request, core.String project , core.String targetHttpProxy) {
10290 var _url = null; 10372 var _url = null;
10291 var _queryParams = new core.Map(); 10373 var _queryParams = new core.Map();
10292 var _uploadMedia = null; 10374 var _uploadMedia = null;
10293 var _uploadOptions = null; 10375 var _uploadOptions = null;
10294 var _downloadOptions = commons.DownloadOptions.Metadata; 10376 var _downloadOptions = commons.DownloadOptions.Metadata;
10295 var _body = null; 10377 var _body = null;
10296 10378
10379 if (request != null) {
10380 _body = convert.JSON.encode((request).toJson());
10381 }
10297 if (project == null) { 10382 if (project == null) {
10298 throw new core.ArgumentError("Parameter project is required."); 10383 throw new core.ArgumentError("Parameter project is required.");
10299 } 10384 }
10300 if (zone == null) { 10385 if (targetHttpProxy == null) {
10301 throw new core.ArgumentError("Parameter zone is required."); 10386 throw new core.ArgumentError("Parameter targetHttpProxy is required.");
10302 }
10303 if (targetInstance == null) {
10304 throw new core.ArgumentError("Parameter targetInstance is required.");
10305 } 10387 }
10306 10388
10307 _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escap er.ecapeVariable('$zone') + '/targetInstances/' + commons.Escaper.ecapeVariable( '$targetInstance'); 10389 _url = commons.Escaper.ecapeVariable('$project') + '/targetHttpProxies/' + c ommons.Escaper.ecapeVariable('$targetHttpProxy') + '/setUrlMap';
10308 10390
10309 var _response = _requester.request(_url, 10391 var _response = _requester.request(_url,
10310 "DELETE", 10392 "POST",
10311 body: _body, 10393 body: _body,
10312 queryParams: _queryParams, 10394 queryParams: _queryParams,
10313 uploadOptions: _uploadOptions, 10395 uploadOptions: _uploadOptions,
10314 uploadMedia: _uploadMedia, 10396 uploadMedia: _uploadMedia,
10315 downloadOptions: _downloadOptions); 10397 downloadOptions: _downloadOptions);
10316 return _response.then((data) => new Operation.fromJson(data)); 10398 return _response.then((data) => new Operation.fromJson(data));
10317 } 10399 }
10318 10400
10401 }
10402
10403
10404 class TargetHttpsProxiesResourceApi {
10405 final commons.ApiRequester _requester;
10406
10407 TargetHttpsProxiesResourceApi(commons.ApiRequester client) :
10408 _requester = client;
10409
10319 /** 10410 /**
10320 * Returns the specified TargetInstance resource. Get a list of available 10411 * Deletes the specified TargetHttpsProxy resource.
10321 * target instances by making a list() request.
10322 * 10412 *
10323 * Request parameters: 10413 * Request parameters:
10324 * 10414 *
10325 * [project] - Project ID for this request. 10415 * [project] - Project ID for this request.
10326 * Value must have pattern 10416 * Value must have pattern
10327 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 10417 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
10328 * 10418 *
10329 * [zone] - Name of the zone scoping this request. 10419 * [targetHttpsProxy] - Name of the TargetHttpsProxy resource to delete.
10330 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 10420 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
10331 * 10421 *
10332 * [targetInstance] - Name of the TargetInstance resource to return. 10422 * Completes with a [Operation].
10333 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
10334 *
10335 * Completes with a [TargetInstance].
10336 * 10423 *
10337 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 10424 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
10338 * error. 10425 * error.
10339 * 10426 *
10340 * If the used [http.Client] completes with an error when making a REST call, 10427 * If the used [http.Client] completes with an error when making a REST call,
10341 * this method will complete with the same error. 10428 * this method will complete with the same error.
10342 */ 10429 */
10343 async.Future<TargetInstance> get(core.String project, core.String zone, core.S tring targetInstance) { 10430 async.Future<Operation> delete(core.String project, core.String targetHttpsPro xy) {
10344 var _url = null; 10431 var _url = null;
10345 var _queryParams = new core.Map(); 10432 var _queryParams = new core.Map();
10346 var _uploadMedia = null; 10433 var _uploadMedia = null;
10347 var _uploadOptions = null; 10434 var _uploadOptions = null;
10348 var _downloadOptions = commons.DownloadOptions.Metadata; 10435 var _downloadOptions = commons.DownloadOptions.Metadata;
10349 var _body = null; 10436 var _body = null;
10350 10437
10351 if (project == null) { 10438 if (project == null) {
10352 throw new core.ArgumentError("Parameter project is required."); 10439 throw new core.ArgumentError("Parameter project is required.");
10353 } 10440 }
10354 if (zone == null) { 10441 if (targetHttpsProxy == null) {
10355 throw new core.ArgumentError("Parameter zone is required."); 10442 throw new core.ArgumentError("Parameter targetHttpsProxy is required.");
10356 }
10357 if (targetInstance == null) {
10358 throw new core.ArgumentError("Parameter targetInstance is required.");
10359 } 10443 }
10360 10444
10361 _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escap er.ecapeVariable('$zone') + '/targetInstances/' + commons.Escaper.ecapeVariable( '$targetInstance'); 10445 _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpsProxi es/' + commons.Escaper.ecapeVariable('$targetHttpsProxy');
10362 10446
10363 var _response = _requester.request(_url, 10447 var _response = _requester.request(_url,
10364 "GET", 10448 "DELETE",
10365 body: _body, 10449 body: _body,
10366 queryParams: _queryParams, 10450 queryParams: _queryParams,
10367 uploadOptions: _uploadOptions, 10451 uploadOptions: _uploadOptions,
10368 uploadMedia: _uploadMedia, 10452 uploadMedia: _uploadMedia,
10369 downloadOptions: _downloadOptions); 10453 downloadOptions: _downloadOptions);
10370 return _response.then((data) => new TargetInstance.fromJson(data)); 10454 return _response.then((data) => new Operation.fromJson(data));
10371 } 10455 }
10372 10456
10373 /** 10457 /**
10374 * Creates a TargetInstance resource in the specified project and zone using 10458 * Returns the specified TargetHttpsProxy resource. Get a list of available
10375 * the data included in the request. 10459 * target HTTPS proxies by making a list() request.
10376 *
10377 * [request] - The metadata request object.
10378 * 10460 *
10379 * Request parameters: 10461 * Request parameters:
10380 * 10462 *
10381 * [project] - Project ID for this request. 10463 * [project] - Project ID for this request.
10382 * Value must have pattern 10464 * Value must have pattern
10383 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 10465 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
10384 * 10466 *
10385 * [zone] - Name of the zone scoping this request. 10467 * [targetHttpsProxy] - Name of the TargetHttpsProxy resource to return.
10386 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 10468 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
10387 * 10469 *
10470 * Completes with a [TargetHttpsProxy].
10471 *
10472 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
10473 * error.
10474 *
10475 * If the used [http.Client] completes with an error when making a REST call,
10476 * this method will complete with the same error.
10477 */
10478 async.Future<TargetHttpsProxy> get(core.String project, core.String targetHttp sProxy) {
10479 var _url = null;
10480 var _queryParams = new core.Map();
10481 var _uploadMedia = null;
10482 var _uploadOptions = null;
10483 var _downloadOptions = commons.DownloadOptions.Metadata;
10484 var _body = null;
10485
10486 if (project == null) {
10487 throw new core.ArgumentError("Parameter project is required.");
10488 }
10489 if (targetHttpsProxy == null) {
10490 throw new core.ArgumentError("Parameter targetHttpsProxy is required.");
10491 }
10492
10493 _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpsProxi es/' + commons.Escaper.ecapeVariable('$targetHttpsProxy');
10494
10495 var _response = _requester.request(_url,
10496 "GET",
10497 body: _body,
10498 queryParams: _queryParams,
10499 uploadOptions: _uploadOptions,
10500 uploadMedia: _uploadMedia,
10501 downloadOptions: _downloadOptions);
10502 return _response.then((data) => new TargetHttpsProxy.fromJson(data));
10503 }
10504
10505 /**
10506 * Creates a TargetHttpsProxy resource in the specified project using the data
10507 * included in the request.
10508 *
10509 * [request] - The metadata request object.
10510 *
10511 * Request parameters:
10512 *
10513 * [project] - Project ID for this request.
10514 * Value must have pattern
10515 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
10516 *
10388 * Completes with a [Operation]. 10517 * Completes with a [Operation].
10389 * 10518 *
10390 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 10519 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
10391 * error. 10520 * error.
10392 * 10521 *
10393 * If the used [http.Client] completes with an error when making a REST call, 10522 * If the used [http.Client] completes with an error when making a REST call,
10394 * this method will complete with the same error. 10523 * this method will complete with the same error.
10395 */ 10524 */
10396 async.Future<Operation> insert(TargetInstance request, core.String project, co re.String zone) { 10525 async.Future<Operation> insert(TargetHttpsProxy request, core.String project) {
10397 var _url = null; 10526 var _url = null;
10398 var _queryParams = new core.Map(); 10527 var _queryParams = new core.Map();
10399 var _uploadMedia = null; 10528 var _uploadMedia = null;
10400 var _uploadOptions = null; 10529 var _uploadOptions = null;
10401 var _downloadOptions = commons.DownloadOptions.Metadata; 10530 var _downloadOptions = commons.DownloadOptions.Metadata;
10402 var _body = null; 10531 var _body = null;
10403 10532
10404 if (request != null) { 10533 if (request != null) {
10405 _body = convert.JSON.encode((request).toJson()); 10534 _body = convert.JSON.encode((request).toJson());
10406 } 10535 }
10407 if (project == null) { 10536 if (project == null) {
10408 throw new core.ArgumentError("Parameter project is required."); 10537 throw new core.ArgumentError("Parameter project is required.");
10409 } 10538 }
10410 if (zone == null) {
10411 throw new core.ArgumentError("Parameter zone is required.");
10412 }
10413 10539
10414 _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escap er.ecapeVariable('$zone') + '/targetInstances'; 10540 _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpsProxi es';
10415 10541
10416 var _response = _requester.request(_url, 10542 var _response = _requester.request(_url,
10417 "POST", 10543 "POST",
10418 body: _body, 10544 body: _body,
10419 queryParams: _queryParams, 10545 queryParams: _queryParams,
10420 uploadOptions: _uploadOptions, 10546 uploadOptions: _uploadOptions,
10421 uploadMedia: _uploadMedia, 10547 uploadMedia: _uploadMedia,
10422 downloadOptions: _downloadOptions); 10548 downloadOptions: _downloadOptions);
10423 return _response.then((data) => new Operation.fromJson(data)); 10549 return _response.then((data) => new Operation.fromJson(data));
10424 } 10550 }
10425 10551
10426 /** 10552 /**
10427 * Retrieves a list of TargetInstance resources available to the specified 10553 * Retrieves the list of TargetHttpsProxy resources available to the specified
10428 * project and zone. 10554 * project.
10429 * 10555 *
10430 * Request parameters: 10556 * Request parameters:
10431 * 10557 *
10432 * [project] - Project ID for this request. 10558 * [project] - Project ID for this request.
10433 * Value must have pattern 10559 * Value must have pattern
10434 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 10560 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
10435 * 10561 *
10436 * [zone] - Name of the zone scoping this request.
10437 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
10438 *
10439 * [filter] - Sets a filter expression for filtering listed resources, in the 10562 * [filter] - Sets a filter expression for filtering listed resources, in the
10440 * form filter={expression}. Your {expression} must be in the format: 10563 * form filter={expression}. Your {expression} must be in the format:
10441 * field_name comparison_string literal_string. 10564 * field_name comparison_string literal_string.
10442 * 10565 *
10443 * The field_name is the name of the field you want to compare. Only atomic 10566 * The field_name is the name of the field you want to compare. Only atomic
10444 * field types are supported (string, number, boolean). The comparison_string 10567 * field types are supported (string, number, boolean). The comparison_string
10445 * must be either eq (equals) or ne (not equals). The literal_string is the 10568 * must be either eq (equals) or ne (not equals). The literal_string is the
10446 * string value to filter to. The literal value must be valid for the type of 10569 * string value to filter to. The literal value must be valid for the type of
10447 * field you are filtering by (string, number, boolean). For string fields, 10570 * field you are filtering by (string, number, boolean). For string fields,
10448 * the literal value is interpreted as a regular expression using RE2 syntax. 10571 * the literal value is interpreted as a regular expression using RE2 syntax.
(...skipping 17 matching lines...) Expand all
10466 * [maxResults] - The maximum number of results per page that should be 10589 * [maxResults] - The maximum number of results per page that should be
10467 * returned. If the number of available results is larger than maxResults, 10590 * returned. If the number of available results is larger than maxResults,
10468 * Compute Engine returns a nextPageToken that can be used to get the next 10591 * Compute Engine returns a nextPageToken that can be used to get the next
10469 * page of results in subsequent list requests. 10592 * page of results in subsequent list requests.
10470 * Value must be between "0" and "500". 10593 * Value must be between "0" and "500".
10471 * 10594 *
10472 * [pageToken] - Specifies a page token to use. Set pageToken to the 10595 * [pageToken] - Specifies a page token to use. Set pageToken to the
10473 * nextPageToken returned by a previous list request to get the next page of 10596 * nextPageToken returned by a previous list request to get the next page of
10474 * results. 10597 * results.
10475 * 10598 *
10476 * Completes with a [TargetInstanceList]. 10599 * Completes with a [TargetHttpsProxyList].
10477 * 10600 *
10478 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 10601 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
10479 * error. 10602 * error.
10480 * 10603 *
10481 * If the used [http.Client] completes with an error when making a REST call, 10604 * If the used [http.Client] completes with an error when making a REST call,
10482 * this method will complete with the same error. 10605 * this method will complete with the same error.
10483 */ 10606 */
10484 async.Future<TargetInstanceList> list(core.String project, core.String zone, { core.String filter, core.int maxResults, core.String pageToken}) { 10607 async.Future<TargetHttpsProxyList> list(core.String project, {core.String filt er, core.int maxResults, core.String pageToken}) {
10485 var _url = null; 10608 var _url = null;
10486 var _queryParams = new core.Map(); 10609 var _queryParams = new core.Map();
10487 var _uploadMedia = null; 10610 var _uploadMedia = null;
10488 var _uploadOptions = null; 10611 var _uploadOptions = null;
10489 var _downloadOptions = commons.DownloadOptions.Metadata; 10612 var _downloadOptions = commons.DownloadOptions.Metadata;
10490 var _body = null; 10613 var _body = null;
10491 10614
10492 if (project == null) { 10615 if (project == null) {
10493 throw new core.ArgumentError("Parameter project is required."); 10616 throw new core.ArgumentError("Parameter project is required.");
10494 } 10617 }
10495 if (zone == null) {
10496 throw new core.ArgumentError("Parameter zone is required.");
10497 }
10498 if (filter != null) { 10618 if (filter != null) {
10499 _queryParams["filter"] = [filter]; 10619 _queryParams["filter"] = [filter];
10500 } 10620 }
10501 if (maxResults != null) { 10621 if (maxResults != null) {
10502 _queryParams["maxResults"] = ["${maxResults}"]; 10622 _queryParams["maxResults"] = ["${maxResults}"];
10503 } 10623 }
10504 if (pageToken != null) { 10624 if (pageToken != null) {
10505 _queryParams["pageToken"] = [pageToken]; 10625 _queryParams["pageToken"] = [pageToken];
10506 } 10626 }
10507 10627
10508 _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escap er.ecapeVariable('$zone') + '/targetInstances'; 10628 _url = commons.Escaper.ecapeVariable('$project') + '/global/targetHttpsProxi es';
10509 10629
10510 var _response = _requester.request(_url, 10630 var _response = _requester.request(_url,
10511 "GET", 10631 "GET",
10512 body: _body, 10632 body: _body,
10513 queryParams: _queryParams, 10633 queryParams: _queryParams,
10514 uploadOptions: _uploadOptions, 10634 uploadOptions: _uploadOptions,
10515 uploadMedia: _uploadMedia, 10635 uploadMedia: _uploadMedia,
10516 downloadOptions: _downloadOptions); 10636 downloadOptions: _downloadOptions);
10517 return _response.then((data) => new TargetInstanceList.fromJson(data)); 10637 return _response.then((data) => new TargetHttpsProxyList.fromJson(data));
10518 } 10638 }
10519 10639
10520 }
10521
10522
10523 class TargetPoolsResourceApi {
10524 final commons.ApiRequester _requester;
10525
10526 TargetPoolsResourceApi(commons.ApiRequester client) :
10527 _requester = client;
10528
10529 /** 10640 /**
10530 * Adds health check URLs to a target pool. 10641 * Replaces SslCertificates for TargetHttpsProxy.
10531 * 10642 *
10532 * [request] - The metadata request object. 10643 * [request] - The metadata request object.
10533 * 10644 *
10534 * Request parameters: 10645 * Request parameters:
10535 * 10646 *
10536 * [project] - Project ID for this request. 10647 * [project] - Project ID for this request.
10537 * Value must have pattern 10648 * Value must have pattern
10538 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 10649 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
10539 * 10650 *
10540 * [region] - Name of the region scoping this request. 10651 * [targetHttpsProxy] - Name of the TargetHttpsProxy resource to set an
10541 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 10652 * SslCertificates resource for.
10542 *
10543 * [targetPool] - Name of the target pool to add a health check to.
10544 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 10653 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
10545 * 10654 *
10546 * Completes with a [Operation]. 10655 * Completes with a [Operation].
10547 * 10656 *
10548 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 10657 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
10549 * error. 10658 * error.
10550 * 10659 *
10551 * If the used [http.Client] completes with an error when making a REST call, 10660 * If the used [http.Client] completes with an error when making a REST call,
10552 * this method will complete with the same error. 10661 * this method will complete with the same error.
10553 */ 10662 */
10554 async.Future<Operation> addHealthCheck(TargetPoolsAddHealthCheckRequest reques t, core.String project, core.String region, core.String targetPool) { 10663 async.Future<Operation> setSslCertificates(TargetHttpsProxiesSetSslCertificate sRequest request, core.String project, core.String targetHttpsProxy) {
10555 var _url = null; 10664 var _url = null;
10556 var _queryParams = new core.Map(); 10665 var _queryParams = new core.Map();
10557 var _uploadMedia = null; 10666 var _uploadMedia = null;
10558 var _uploadOptions = null; 10667 var _uploadOptions = null;
10559 var _downloadOptions = commons.DownloadOptions.Metadata; 10668 var _downloadOptions = commons.DownloadOptions.Metadata;
10560 var _body = null; 10669 var _body = null;
10561 10670
10562 if (request != null) { 10671 if (request != null) {
10563 _body = convert.JSON.encode((request).toJson()); 10672 _body = convert.JSON.encode((request).toJson());
10564 } 10673 }
10565 if (project == null) { 10674 if (project == null) {
10566 throw new core.ArgumentError("Parameter project is required."); 10675 throw new core.ArgumentError("Parameter project is required.");
10567 } 10676 }
10568 if (region == null) { 10677 if (targetHttpsProxy == null) {
10569 throw new core.ArgumentError("Parameter region is required."); 10678 throw new core.ArgumentError("Parameter targetHttpsProxy is required.");
10570 }
10571 if (targetPool == null) {
10572 throw new core.ArgumentError("Parameter targetPool is required.");
10573 } 10679 }
10574 10680
10575 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable( '$targetPool') + '/addHealthCheck'; 10681 _url = commons.Escaper.ecapeVariable('$project') + '/targetHttpsProxies/' + commons.Escaper.ecapeVariable('$targetHttpsProxy') + '/setSslCertificates';
10576 10682
10577 var _response = _requester.request(_url, 10683 var _response = _requester.request(_url,
10578 "POST", 10684 "POST",
10579 body: _body, 10685 body: _body,
10580 queryParams: _queryParams, 10686 queryParams: _queryParams,
10581 uploadOptions: _uploadOptions, 10687 uploadOptions: _uploadOptions,
10582 uploadMedia: _uploadMedia, 10688 uploadMedia: _uploadMedia,
10583 downloadOptions: _downloadOptions); 10689 downloadOptions: _downloadOptions);
10584 return _response.then((data) => new Operation.fromJson(data)); 10690 return _response.then((data) => new Operation.fromJson(data));
10585 } 10691 }
10586 10692
10587 /** 10693 /**
10588 * Adds an instance to a target pool. 10694 * Changes the URL map for TargetHttpsProxy.
10589 * 10695 *
10590 * [request] - The metadata request object. 10696 * [request] - The metadata request object.
10591 * 10697 *
10592 * Request parameters: 10698 * Request parameters:
10593 * 10699 *
10594 * [project] - Project ID for this request. 10700 * [project] - Project ID for this request.
10595 * Value must have pattern 10701 * Value must have pattern
10596 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 10702 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
10597 * 10703 *
10598 * [region] - Name of the region scoping this request. 10704 * [targetHttpsProxy] - Name of the TargetHttpsProxy resource whose URL map is
10599 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 10705 * to be set.
10600 *
10601 * [targetPool] - Name of the TargetPool resource to add instances to.
10602 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 10706 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
10603 * 10707 *
10604 * Completes with a [Operation]. 10708 * Completes with a [Operation].
10605 * 10709 *
10606 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 10710 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
10607 * error. 10711 * error.
10608 * 10712 *
10609 * If the used [http.Client] completes with an error when making a REST call, 10713 * If the used [http.Client] completes with an error when making a REST call,
10610 * this method will complete with the same error. 10714 * this method will complete with the same error.
10611 */ 10715 */
10612 async.Future<Operation> addInstance(TargetPoolsAddInstanceRequest request, cor e.String project, core.String region, core.String targetPool) { 10716 async.Future<Operation> setUrlMap(UrlMapReference request, core.String project , core.String targetHttpsProxy) {
10613 var _url = null; 10717 var _url = null;
10614 var _queryParams = new core.Map(); 10718 var _queryParams = new core.Map();
10615 var _uploadMedia = null; 10719 var _uploadMedia = null;
10616 var _uploadOptions = null; 10720 var _uploadOptions = null;
10617 var _downloadOptions = commons.DownloadOptions.Metadata; 10721 var _downloadOptions = commons.DownloadOptions.Metadata;
10618 var _body = null; 10722 var _body = null;
10619 10723
10620 if (request != null) { 10724 if (request != null) {
10621 _body = convert.JSON.encode((request).toJson()); 10725 _body = convert.JSON.encode((request).toJson());
10622 } 10726 }
10623 if (project == null) { 10727 if (project == null) {
10624 throw new core.ArgumentError("Parameter project is required."); 10728 throw new core.ArgumentError("Parameter project is required.");
10625 } 10729 }
10626 if (region == null) { 10730 if (targetHttpsProxy == null) {
10627 throw new core.ArgumentError("Parameter region is required."); 10731 throw new core.ArgumentError("Parameter targetHttpsProxy is required.");
10628 }
10629 if (targetPool == null) {
10630 throw new core.ArgumentError("Parameter targetPool is required.");
10631 } 10732 }
10632 10733
10633 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable( '$targetPool') + '/addInstance'; 10734 _url = commons.Escaper.ecapeVariable('$project') + '/targetHttpsProxies/' + commons.Escaper.ecapeVariable('$targetHttpsProxy') + '/setUrlMap';
10634 10735
10635 var _response = _requester.request(_url, 10736 var _response = _requester.request(_url,
10636 "POST", 10737 "POST",
10637 body: _body, 10738 body: _body,
10638 queryParams: _queryParams, 10739 queryParams: _queryParams,
10639 uploadOptions: _uploadOptions, 10740 uploadOptions: _uploadOptions,
10640 uploadMedia: _uploadMedia, 10741 uploadMedia: _uploadMedia,
10641 downloadOptions: _downloadOptions); 10742 downloadOptions: _downloadOptions);
10642 return _response.then((data) => new Operation.fromJson(data)); 10743 return _response.then((data) => new Operation.fromJson(data));
10643 } 10744 }
10644 10745
10746 }
10747
10748
10749 class TargetInstancesResourceApi {
10750 final commons.ApiRequester _requester;
10751
10752 TargetInstancesResourceApi(commons.ApiRequester client) :
10753 _requester = client;
10754
10645 /** 10755 /**
10646 * Retrieves an aggregated list of target pools. 10756 * Retrieves an aggregated list of target instances.
10647 * 10757 *
10648 * Request parameters: 10758 * Request parameters:
10649 * 10759 *
10650 * [project] - Project ID for this request. 10760 * [project] - Project ID for this request.
10651 * Value must have pattern 10761 * Value must have pattern
10652 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 10762 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
10653 * 10763 *
10654 * [filter] - Sets a filter expression for filtering listed resources, in the 10764 * [filter] - Sets a filter expression for filtering listed resources, in the
10655 * form filter={expression}. Your {expression} must be in the format: 10765 * form filter={expression}. Your {expression} must be in the format:
10656 * field_name comparison_string literal_string. 10766 * field_name comparison_string literal_string.
(...skipping 24 matching lines...) Expand all
10681 * [maxResults] - The maximum number of results per page that should be 10791 * [maxResults] - The maximum number of results per page that should be
10682 * returned. If the number of available results is larger than maxResults, 10792 * returned. If the number of available results is larger than maxResults,
10683 * Compute Engine returns a nextPageToken that can be used to get the next 10793 * Compute Engine returns a nextPageToken that can be used to get the next
10684 * page of results in subsequent list requests. 10794 * page of results in subsequent list requests.
10685 * Value must be between "0" and "500". 10795 * Value must be between "0" and "500".
10686 * 10796 *
10687 * [pageToken] - Specifies a page token to use. Set pageToken to the 10797 * [pageToken] - Specifies a page token to use. Set pageToken to the
10688 * nextPageToken returned by a previous list request to get the next page of 10798 * nextPageToken returned by a previous list request to get the next page of
10689 * results. 10799 * results.
10690 * 10800 *
10691 * Completes with a [TargetPoolAggregatedList]. 10801 * Completes with a [TargetInstanceAggregatedList].
10692 * 10802 *
10693 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 10803 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
10694 * error. 10804 * error.
10695 * 10805 *
10696 * If the used [http.Client] completes with an error when making a REST call, 10806 * If the used [http.Client] completes with an error when making a REST call,
10697 * this method will complete with the same error. 10807 * this method will complete with the same error.
10698 */ 10808 */
10699 async.Future<TargetPoolAggregatedList> aggregatedList(core.String project, {co re.String filter, core.int maxResults, core.String pageToken}) { 10809 async.Future<TargetInstanceAggregatedList> aggregatedList(core.String project, {core.String filter, core.int maxResults, core.String pageToken}) {
10700 var _url = null; 10810 var _url = null;
10701 var _queryParams = new core.Map(); 10811 var _queryParams = new core.Map();
10702 var _uploadMedia = null; 10812 var _uploadMedia = null;
10703 var _uploadOptions = null; 10813 var _uploadOptions = null;
10704 var _downloadOptions = commons.DownloadOptions.Metadata; 10814 var _downloadOptions = commons.DownloadOptions.Metadata;
10705 var _body = null; 10815 var _body = null;
10706 10816
10707 if (project == null) { 10817 if (project == null) {
10708 throw new core.ArgumentError("Parameter project is required."); 10818 throw new core.ArgumentError("Parameter project is required.");
10709 } 10819 }
10710 if (filter != null) { 10820 if (filter != null) {
10711 _queryParams["filter"] = [filter]; 10821 _queryParams["filter"] = [filter];
10712 } 10822 }
10713 if (maxResults != null) { 10823 if (maxResults != null) {
10714 _queryParams["maxResults"] = ["${maxResults}"]; 10824 _queryParams["maxResults"] = ["${maxResults}"];
10715 } 10825 }
10716 if (pageToken != null) { 10826 if (pageToken != null) {
10717 _queryParams["pageToken"] = [pageToken]; 10827 _queryParams["pageToken"] = [pageToken];
10718 } 10828 }
10719 10829
10720 _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/targetPools' ; 10830 _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/targetInstan ces';
10721 10831
10722 var _response = _requester.request(_url, 10832 var _response = _requester.request(_url,
10723 "GET", 10833 "GET",
10724 body: _body, 10834 body: _body,
10725 queryParams: _queryParams, 10835 queryParams: _queryParams,
10726 uploadOptions: _uploadOptions, 10836 uploadOptions: _uploadOptions,
10727 uploadMedia: _uploadMedia, 10837 uploadMedia: _uploadMedia,
10728 downloadOptions: _downloadOptions); 10838 downloadOptions: _downloadOptions);
10729 return _response.then((data) => new TargetPoolAggregatedList.fromJson(data)) ; 10839 return _response.then((data) => new TargetInstanceAggregatedList.fromJson(da ta));
10730 } 10840 }
10731 10841
10732 /** 10842 /**
10733 * Deletes the specified target pool. 10843 * Deletes the specified TargetInstance resource.
10734 * 10844 *
10735 * Request parameters: 10845 * Request parameters:
10736 * 10846 *
10737 * [project] - Project ID for this request. 10847 * [project] - Project ID for this request.
10738 * Value must have pattern 10848 * Value must have pattern
10739 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 10849 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
10740 * 10850 *
10741 * [region] - Name of the region scoping this request. 10851 * [zone] - Name of the zone scoping this request.
10742 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 10852 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
10743 * 10853 *
10744 * [targetPool] - Name of the TargetPool resource to delete. 10854 * [targetInstance] - Name of the TargetInstance resource to delete.
10745 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 10855 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
10746 * 10856 *
10747 * Completes with a [Operation]. 10857 * Completes with a [Operation].
10748 * 10858 *
10749 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 10859 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
10750 * error. 10860 * error.
10751 * 10861 *
10752 * If the used [http.Client] completes with an error when making a REST call, 10862 * If the used [http.Client] completes with an error when making a REST call,
10753 * this method will complete with the same error. 10863 * this method will complete with the same error.
10754 */ 10864 */
10755 async.Future<Operation> delete(core.String project, core.String region, core.S tring targetPool) { 10865 async.Future<Operation> delete(core.String project, core.String zone, core.Str ing targetInstance) {
10756 var _url = null; 10866 var _url = null;
10757 var _queryParams = new core.Map(); 10867 var _queryParams = new core.Map();
10758 var _uploadMedia = null; 10868 var _uploadMedia = null;
10759 var _uploadOptions = null; 10869 var _uploadOptions = null;
10760 var _downloadOptions = commons.DownloadOptions.Metadata; 10870 var _downloadOptions = commons.DownloadOptions.Metadata;
10761 var _body = null; 10871 var _body = null;
10762 10872
10763 if (project == null) { 10873 if (project == null) {
10764 throw new core.ArgumentError("Parameter project is required."); 10874 throw new core.ArgumentError("Parameter project is required.");
10765 } 10875 }
10766 if (region == null) { 10876 if (zone == null) {
10767 throw new core.ArgumentError("Parameter region is required."); 10877 throw new core.ArgumentError("Parameter zone is required.");
10768 } 10878 }
10769 if (targetPool == null) { 10879 if (targetInstance == null) {
10770 throw new core.ArgumentError("Parameter targetPool is required."); 10880 throw new core.ArgumentError("Parameter targetInstance is required.");
10771 } 10881 }
10772 10882
10773 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable( '$targetPool'); 10883 _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escap er.ecapeVariable('$zone') + '/targetInstances/' + commons.Escaper.ecapeVariable( '$targetInstance');
10774 10884
10775 var _response = _requester.request(_url, 10885 var _response = _requester.request(_url,
10776 "DELETE", 10886 "DELETE",
10777 body: _body, 10887 body: _body,
10778 queryParams: _queryParams, 10888 queryParams: _queryParams,
10779 uploadOptions: _uploadOptions, 10889 uploadOptions: _uploadOptions,
10780 uploadMedia: _uploadMedia, 10890 uploadMedia: _uploadMedia,
10781 downloadOptions: _downloadOptions); 10891 downloadOptions: _downloadOptions);
10782 return _response.then((data) => new Operation.fromJson(data)); 10892 return _response.then((data) => new Operation.fromJson(data));
10783 } 10893 }
10784 10894
10785 /** 10895 /**
10786 * Returns the specified target pool. Get a list of available target pools by 10896 * Returns the specified TargetInstance resource. Get a list of available
10787 * making a list() request. 10897 * target instances by making a list() request.
10788 * 10898 *
10789 * Request parameters: 10899 * Request parameters:
10790 * 10900 *
10791 * [project] - Project ID for this request. 10901 * [project] - Project ID for this request.
10792 * Value must have pattern 10902 * Value must have pattern
10793 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 10903 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
10794 * 10904 *
10795 * [region] - Name of the region scoping this request. 10905 * [zone] - Name of the zone scoping this request.
10796 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 10906 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
10797 * 10907 *
10798 * [targetPool] - Name of the TargetPool resource to return. 10908 * [targetInstance] - Name of the TargetInstance resource to return.
10799 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 10909 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
10800 * 10910 *
10801 * Completes with a [TargetPool]. 10911 * Completes with a [TargetInstance].
10802 * 10912 *
10803 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 10913 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
10804 * error. 10914 * error.
10805 * 10915 *
10806 * If the used [http.Client] completes with an error when making a REST call, 10916 * If the used [http.Client] completes with an error when making a REST call,
10807 * this method will complete with the same error. 10917 * this method will complete with the same error.
10808 */ 10918 */
10809 async.Future<TargetPool> get(core.String project, core.String region, core.Str ing targetPool) { 10919 async.Future<TargetInstance> get(core.String project, core.String zone, core.S tring targetInstance) {
10810 var _url = null; 10920 var _url = null;
10811 var _queryParams = new core.Map(); 10921 var _queryParams = new core.Map();
10812 var _uploadMedia = null; 10922 var _uploadMedia = null;
10813 var _uploadOptions = null; 10923 var _uploadOptions = null;
10814 var _downloadOptions = commons.DownloadOptions.Metadata; 10924 var _downloadOptions = commons.DownloadOptions.Metadata;
10815 var _body = null; 10925 var _body = null;
10816 10926
10817 if (project == null) { 10927 if (project == null) {
10818 throw new core.ArgumentError("Parameter project is required."); 10928 throw new core.ArgumentError("Parameter project is required.");
10819 } 10929 }
10820 if (region == null) { 10930 if (zone == null) {
10821 throw new core.ArgumentError("Parameter region is required."); 10931 throw new core.ArgumentError("Parameter zone is required.");
10822 } 10932 }
10823 if (targetPool == null) { 10933 if (targetInstance == null) {
10824 throw new core.ArgumentError("Parameter targetPool is required."); 10934 throw new core.ArgumentError("Parameter targetInstance is required.");
10825 } 10935 }
10826 10936
10827 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable( '$targetPool'); 10937 _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escap er.ecapeVariable('$zone') + '/targetInstances/' + commons.Escaper.ecapeVariable( '$targetInstance');
10828 10938
10829 var _response = _requester.request(_url, 10939 var _response = _requester.request(_url,
10830 "GET", 10940 "GET",
10831 body: _body, 10941 body: _body,
10832 queryParams: _queryParams, 10942 queryParams: _queryParams,
10833 uploadOptions: _uploadOptions, 10943 uploadOptions: _uploadOptions,
10834 uploadMedia: _uploadMedia, 10944 uploadMedia: _uploadMedia,
10835 downloadOptions: _downloadOptions); 10945 downloadOptions: _downloadOptions);
10836 return _response.then((data) => new TargetPool.fromJson(data)); 10946 return _response.then((data) => new TargetInstance.fromJson(data));
10837 } 10947 }
10838 10948
10839 /** 10949 /**
10840 * Gets the most recent health check results for each IP for the instance that 10950 * Creates a TargetInstance resource in the specified project and zone using
10841 * is referenced by the given target pool. 10951 * the data included in the request.
10842 * 10952 *
10843 * [request] - The metadata request object. 10953 * [request] - The metadata request object.
10844 * 10954 *
10845 * Request parameters: 10955 * Request parameters:
10846 * 10956 *
10847 * [project] - Project ID for this request. 10957 * [project] - Project ID for this request.
10848 * Value must have pattern 10958 * Value must have pattern
10849 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 10959 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
10850 * 10960 *
10851 * [region] - Name of the region scoping this request. 10961 * [zone] - Name of the zone scoping this request.
10852 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 10962 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
10853 * 10963 *
10854 * [targetPool] - Name of the TargetPool resource to which the queried 10964 * Completes with a [Operation].
10855 * instance belongs.
10856 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
10857 *
10858 * Completes with a [TargetPoolInstanceHealth].
10859 * 10965 *
10860 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 10966 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
10861 * error. 10967 * error.
10862 * 10968 *
10863 * If the used [http.Client] completes with an error when making a REST call, 10969 * If the used [http.Client] completes with an error when making a REST call,
10864 * this method will complete with the same error. 10970 * this method will complete with the same error.
10865 */ 10971 */
10866 async.Future<TargetPoolInstanceHealth> getHealth(InstanceReference request, co re.String project, core.String region, core.String targetPool) { 10972 async.Future<Operation> insert(TargetInstance request, core.String project, co re.String zone) {
10867 var _url = null; 10973 var _url = null;
10868 var _queryParams = new core.Map(); 10974 var _queryParams = new core.Map();
10869 var _uploadMedia = null; 10975 var _uploadMedia = null;
10870 var _uploadOptions = null; 10976 var _uploadOptions = null;
10871 var _downloadOptions = commons.DownloadOptions.Metadata; 10977 var _downloadOptions = commons.DownloadOptions.Metadata;
10872 var _body = null; 10978 var _body = null;
10873 10979
10874 if (request != null) { 10980 if (request != null) {
10875 _body = convert.JSON.encode((request).toJson()); 10981 _body = convert.JSON.encode((request).toJson());
10876 } 10982 }
10877 if (project == null) { 10983 if (project == null) {
10878 throw new core.ArgumentError("Parameter project is required."); 10984 throw new core.ArgumentError("Parameter project is required.");
10879 } 10985 }
10880 if (region == null) { 10986 if (zone == null) {
10881 throw new core.ArgumentError("Parameter region is required."); 10987 throw new core.ArgumentError("Parameter zone is required.");
10882 }
10883 if (targetPool == null) {
10884 throw new core.ArgumentError("Parameter targetPool is required.");
10885 } 10988 }
10886 10989
10887 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable( '$targetPool') + '/getHealth'; 10990 _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escap er.ecapeVariable('$zone') + '/targetInstances';
10888 10991
10889 var _response = _requester.request(_url, 10992 var _response = _requester.request(_url,
10890 "POST", 10993 "POST",
10891 body: _body, 10994 body: _body,
10892 queryParams: _queryParams, 10995 queryParams: _queryParams,
10893 uploadOptions: _uploadOptions, 10996 uploadOptions: _uploadOptions,
10894 uploadMedia: _uploadMedia, 10997 uploadMedia: _uploadMedia,
10895 downloadOptions: _downloadOptions); 10998 downloadOptions: _downloadOptions);
10896 return _response.then((data) => new TargetPoolInstanceHealth.fromJson(data)) ; 10999 return _response.then((data) => new Operation.fromJson(data));
10897 } 11000 }
10898 11001
10899 /** 11002 /**
10900 * Creates a target pool in the specified project and region using the data 11003 * Retrieves a list of TargetInstance resources available to the specified
10901 * included in the request. 11004 * project and zone.
10902 *
10903 * [request] - The metadata request object.
10904 * 11005 *
10905 * Request parameters: 11006 * Request parameters:
10906 * 11007 *
10907 * [project] - Project ID for this request. 11008 * [project] - Project ID for this request.
10908 * Value must have pattern 11009 * Value must have pattern
10909 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 11010 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
10910 * 11011 *
10911 * [region] - Name of the region scoping this request. 11012 * [zone] - Name of the zone scoping this request.
10912 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
10913 *
10914 * Completes with a [Operation].
10915 *
10916 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
10917 * error.
10918 *
10919 * If the used [http.Client] completes with an error when making a REST call,
10920 * this method will complete with the same error.
10921 */
10922 async.Future<Operation> insert(TargetPool request, core.String project, core.S tring region) {
10923 var _url = null;
10924 var _queryParams = new core.Map();
10925 var _uploadMedia = null;
10926 var _uploadOptions = null;
10927 var _downloadOptions = commons.DownloadOptions.Metadata;
10928 var _body = null;
10929
10930 if (request != null) {
10931 _body = convert.JSON.encode((request).toJson());
10932 }
10933 if (project == null) {
10934 throw new core.ArgumentError("Parameter project is required.");
10935 }
10936 if (region == null) {
10937 throw new core.ArgumentError("Parameter region is required.");
10938 }
10939
10940 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetPools';
10941
10942 var _response = _requester.request(_url,
10943 "POST",
10944 body: _body,
10945 queryParams: _queryParams,
10946 uploadOptions: _uploadOptions,
10947 uploadMedia: _uploadMedia,
10948 downloadOptions: _downloadOptions);
10949 return _response.then((data) => new Operation.fromJson(data));
10950 }
10951
10952 /**
10953 * Retrieves a list of target pools available to the specified project and
10954 * region.
10955 *
10956 * Request parameters:
10957 *
10958 * [project] - Project ID for this request.
10959 * Value must have pattern
10960 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
10961 *
10962 * [region] - Name of the region scoping this request.
10963 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 11013 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
10964 * 11014 *
10965 * [filter] - Sets a filter expression for filtering listed resources, in the 11015 * [filter] - Sets a filter expression for filtering listed resources, in the
10966 * form filter={expression}. Your {expression} must be in the format: 11016 * form filter={expression}. Your {expression} must be in the format:
10967 * field_name comparison_string literal_string. 11017 * field_name comparison_string literal_string.
10968 * 11018 *
10969 * The field_name is the name of the field you want to compare. Only atomic 11019 * The field_name is the name of the field you want to compare. Only atomic
10970 * field types are supported (string, number, boolean). The comparison_string 11020 * field types are supported (string, number, boolean). The comparison_string
10971 * must be either eq (equals) or ne (not equals). The literal_string is the 11021 * must be either eq (equals) or ne (not equals). The literal_string is the
10972 * string value to filter to. The literal value must be valid for the type of 11022 * string value to filter to. The literal value must be valid for the type of
(...skipping 19 matching lines...) Expand all
10992 * [maxResults] - The maximum number of results per page that should be 11042 * [maxResults] - The maximum number of results per page that should be
10993 * returned. If the number of available results is larger than maxResults, 11043 * returned. If the number of available results is larger than maxResults,
10994 * Compute Engine returns a nextPageToken that can be used to get the next 11044 * Compute Engine returns a nextPageToken that can be used to get the next
10995 * page of results in subsequent list requests. 11045 * page of results in subsequent list requests.
10996 * Value must be between "0" and "500". 11046 * Value must be between "0" and "500".
10997 * 11047 *
10998 * [pageToken] - Specifies a page token to use. Set pageToken to the 11048 * [pageToken] - Specifies a page token to use. Set pageToken to the
10999 * nextPageToken returned by a previous list request to get the next page of 11049 * nextPageToken returned by a previous list request to get the next page of
11000 * results. 11050 * results.
11001 * 11051 *
11002 * Completes with a [TargetPoolList]. 11052 * Completes with a [TargetInstanceList].
11003 * 11053 *
11004 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 11054 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
11005 * error. 11055 * error.
11006 * 11056 *
11007 * If the used [http.Client] completes with an error when making a REST call, 11057 * If the used [http.Client] completes with an error when making a REST call,
11008 * this method will complete with the same error. 11058 * this method will complete with the same error.
11009 */ 11059 */
11010 async.Future<TargetPoolList> list(core.String project, core.String region, {co re.String filter, core.int maxResults, core.String pageToken}) { 11060 async.Future<TargetInstanceList> list(core.String project, core.String zone, { core.String filter, core.int maxResults, core.String pageToken}) {
11011 var _url = null; 11061 var _url = null;
11012 var _queryParams = new core.Map(); 11062 var _queryParams = new core.Map();
11013 var _uploadMedia = null; 11063 var _uploadMedia = null;
11014 var _uploadOptions = null; 11064 var _uploadOptions = null;
11015 var _downloadOptions = commons.DownloadOptions.Metadata; 11065 var _downloadOptions = commons.DownloadOptions.Metadata;
11016 var _body = null; 11066 var _body = null;
11017 11067
11018 if (project == null) { 11068 if (project == null) {
11019 throw new core.ArgumentError("Parameter project is required."); 11069 throw new core.ArgumentError("Parameter project is required.");
11020 } 11070 }
11021 if (region == null) { 11071 if (zone == null) {
11022 throw new core.ArgumentError("Parameter region is required."); 11072 throw new core.ArgumentError("Parameter zone is required.");
11023 } 11073 }
11024 if (filter != null) { 11074 if (filter != null) {
11025 _queryParams["filter"] = [filter]; 11075 _queryParams["filter"] = [filter];
11026 } 11076 }
11027 if (maxResults != null) { 11077 if (maxResults != null) {
11028 _queryParams["maxResults"] = ["${maxResults}"]; 11078 _queryParams["maxResults"] = ["${maxResults}"];
11029 } 11079 }
11030 if (pageToken != null) { 11080 if (pageToken != null) {
11031 _queryParams["pageToken"] = [pageToken]; 11081 _queryParams["pageToken"] = [pageToken];
11032 } 11082 }
11033 11083
11034 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetPools'; 11084 _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escap er.ecapeVariable('$zone') + '/targetInstances';
11035 11085
11036 var _response = _requester.request(_url, 11086 var _response = _requester.request(_url,
11037 "GET", 11087 "GET",
11038 body: _body, 11088 body: _body,
11039 queryParams: _queryParams, 11089 queryParams: _queryParams,
11040 uploadOptions: _uploadOptions, 11090 uploadOptions: _uploadOptions,
11041 uploadMedia: _uploadMedia, 11091 uploadMedia: _uploadMedia,
11042 downloadOptions: _downloadOptions); 11092 downloadOptions: _downloadOptions);
11043 return _response.then((data) => new TargetPoolList.fromJson(data)); 11093 return _response.then((data) => new TargetInstanceList.fromJson(data));
11044 } 11094 }
11045 11095
11096 }
11097
11098
11099 class TargetPoolsResourceApi {
11100 final commons.ApiRequester _requester;
11101
11102 TargetPoolsResourceApi(commons.ApiRequester client) :
11103 _requester = client;
11104
11046 /** 11105 /**
11047 * Removes health check URL from a target pool. 11106 * Adds health check URLs to a target pool.
11048 * 11107 *
11049 * [request] - The metadata request object. 11108 * [request] - The metadata request object.
11050 * 11109 *
11051 * Request parameters:
11052 *
11053 * [project] - Project ID for this request.
11054 * Value must have pattern
11055 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
11056 *
11057 * [region] - Name of the region for this request.
11058 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11059 *
11060 * [targetPool] - Name of the target pool to remove health checks from.
11061 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11062 *
11063 * Completes with a [Operation].
11064 *
11065 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
11066 * error.
11067 *
11068 * If the used [http.Client] completes with an error when making a REST call,
11069 * this method will complete with the same error.
11070 */
11071 async.Future<Operation> removeHealthCheck(TargetPoolsRemoveHealthCheckRequest request, core.String project, core.String region, core.String targetPool) {
11072 var _url = null;
11073 var _queryParams = new core.Map();
11074 var _uploadMedia = null;
11075 var _uploadOptions = null;
11076 var _downloadOptions = commons.DownloadOptions.Metadata;
11077 var _body = null;
11078
11079 if (request != null) {
11080 _body = convert.JSON.encode((request).toJson());
11081 }
11082 if (project == null) {
11083 throw new core.ArgumentError("Parameter project is required.");
11084 }
11085 if (region == null) {
11086 throw new core.ArgumentError("Parameter region is required.");
11087 }
11088 if (targetPool == null) {
11089 throw new core.ArgumentError("Parameter targetPool is required.");
11090 }
11091
11092 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable( '$targetPool') + '/removeHealthCheck';
11093
11094 var _response = _requester.request(_url,
11095 "POST",
11096 body: _body,
11097 queryParams: _queryParams,
11098 uploadOptions: _uploadOptions,
11099 uploadMedia: _uploadMedia,
11100 downloadOptions: _downloadOptions);
11101 return _response.then((data) => new Operation.fromJson(data));
11102 }
11103
11104 /**
11105 * Removes instance URL from a target pool.
11106 *
11107 * [request] - The metadata request object.
11108 *
11109 * Request parameters: 11110 * Request parameters:
11110 * 11111 *
11111 * [project] - Project ID for this request. 11112 * [project] - Project ID for this request.
11112 * Value must have pattern 11113 * Value must have pattern
11113 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 11114 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
11114 * 11115 *
11115 * [region] - Name of the region scoping this request. 11116 * [region] - Name of the region scoping this request.
11116 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 11117 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11117 * 11118 *
11118 * [targetPool] - Name of the TargetPool resource to remove instances from. 11119 * [targetPool] - Name of the target pool to add a health check to.
11119 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 11120 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11120 * 11121 *
11121 * Completes with a [Operation]. 11122 * Completes with a [Operation].
11122 * 11123 *
11123 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 11124 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
11124 * error. 11125 * error.
11125 * 11126 *
11126 * If the used [http.Client] completes with an error when making a REST call, 11127 * If the used [http.Client] completes with an error when making a REST call,
11127 * this method will complete with the same error. 11128 * this method will complete with the same error.
11128 */ 11129 */
11129 async.Future<Operation> removeInstance(TargetPoolsRemoveInstanceRequest reques t, core.String project, core.String region, core.String targetPool) { 11130 async.Future<Operation> addHealthCheck(TargetPoolsAddHealthCheckRequest reques t, core.String project, core.String region, core.String targetPool) {
11130 var _url = null; 11131 var _url = null;
11131 var _queryParams = new core.Map(); 11132 var _queryParams = new core.Map();
11132 var _uploadMedia = null; 11133 var _uploadMedia = null;
11133 var _uploadOptions = null; 11134 var _uploadOptions = null;
11134 var _downloadOptions = commons.DownloadOptions.Metadata; 11135 var _downloadOptions = commons.DownloadOptions.Metadata;
11135 var _body = null; 11136 var _body = null;
11136 11137
11137 if (request != null) { 11138 if (request != null) {
11138 _body = convert.JSON.encode((request).toJson()); 11139 _body = convert.JSON.encode((request).toJson());
11139 } 11140 }
11140 if (project == null) { 11141 if (project == null) {
11141 throw new core.ArgumentError("Parameter project is required."); 11142 throw new core.ArgumentError("Parameter project is required.");
11142 } 11143 }
11143 if (region == null) { 11144 if (region == null) {
11144 throw new core.ArgumentError("Parameter region is required."); 11145 throw new core.ArgumentError("Parameter region is required.");
11145 } 11146 }
11146 if (targetPool == null) { 11147 if (targetPool == null) {
11147 throw new core.ArgumentError("Parameter targetPool is required."); 11148 throw new core.ArgumentError("Parameter targetPool is required.");
11148 } 11149 }
11149 11150
11150 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable( '$targetPool') + '/removeInstance'; 11151 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable( '$targetPool') + '/addHealthCheck';
11151 11152
11152 var _response = _requester.request(_url, 11153 var _response = _requester.request(_url,
11153 "POST", 11154 "POST",
11154 body: _body, 11155 body: _body,
11155 queryParams: _queryParams, 11156 queryParams: _queryParams,
11156 uploadOptions: _uploadOptions, 11157 uploadOptions: _uploadOptions,
11157 uploadMedia: _uploadMedia, 11158 uploadMedia: _uploadMedia,
11158 downloadOptions: _downloadOptions); 11159 downloadOptions: _downloadOptions);
11159 return _response.then((data) => new Operation.fromJson(data)); 11160 return _response.then((data) => new Operation.fromJson(data));
11160 } 11161 }
11161 11162
11162 /** 11163 /**
11163 * Changes a backup target pool's configurations. 11164 * Adds an instance to a target pool.
11164 * 11165 *
11165 * [request] - The metadata request object. 11166 * [request] - The metadata request object.
11166 * 11167 *
11167 * Request parameters: 11168 * Request parameters:
11168 * 11169 *
11169 * [project] - Project ID for this request. 11170 * [project] - Project ID for this request.
11170 * Value must have pattern 11171 * Value must have pattern
11171 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 11172 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
11172 * 11173 *
11173 * [region] - Name of the region scoping this request. 11174 * [region] - Name of the region scoping this request.
11174 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 11175 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11175 * 11176 *
11176 * [targetPool] - Name of the TargetPool resource to set a backup pool for. 11177 * [targetPool] - Name of the TargetPool resource to add instances to.
11177 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 11178 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11178 * 11179 *
11179 * [failoverRatio] - New failoverRatio value for the target pool.
11180 *
11181 * Completes with a [Operation]. 11180 * Completes with a [Operation].
11182 * 11181 *
11183 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 11182 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
11184 * error. 11183 * error.
11185 * 11184 *
11186 * If the used [http.Client] completes with an error when making a REST call, 11185 * If the used [http.Client] completes with an error when making a REST call,
11187 * this method will complete with the same error. 11186 * this method will complete with the same error.
11188 */ 11187 */
11189 async.Future<Operation> setBackup(TargetReference request, core.String project , core.String region, core.String targetPool, {core.double failoverRatio}) { 11188 async.Future<Operation> addInstance(TargetPoolsAddInstanceRequest request, cor e.String project, core.String region, core.String targetPool) {
11190 var _url = null; 11189 var _url = null;
11191 var _queryParams = new core.Map(); 11190 var _queryParams = new core.Map();
11192 var _uploadMedia = null; 11191 var _uploadMedia = null;
11193 var _uploadOptions = null; 11192 var _uploadOptions = null;
11194 var _downloadOptions = commons.DownloadOptions.Metadata; 11193 var _downloadOptions = commons.DownloadOptions.Metadata;
11195 var _body = null; 11194 var _body = null;
11196 11195
11197 if (request != null) { 11196 if (request != null) {
11198 _body = convert.JSON.encode((request).toJson()); 11197 _body = convert.JSON.encode((request).toJson());
11199 } 11198 }
11200 if (project == null) { 11199 if (project == null) {
11201 throw new core.ArgumentError("Parameter project is required."); 11200 throw new core.ArgumentError("Parameter project is required.");
11202 } 11201 }
11203 if (region == null) { 11202 if (region == null) {
11204 throw new core.ArgumentError("Parameter region is required."); 11203 throw new core.ArgumentError("Parameter region is required.");
11205 } 11204 }
11206 if (targetPool == null) { 11205 if (targetPool == null) {
11207 throw new core.ArgumentError("Parameter targetPool is required."); 11206 throw new core.ArgumentError("Parameter targetPool is required.");
11208 } 11207 }
11209 if (failoverRatio != null) {
11210 _queryParams["failoverRatio"] = ["${failoverRatio}"];
11211 }
11212 11208
11213 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable( '$targetPool') + '/setBackup'; 11209 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable( '$targetPool') + '/addInstance';
11214 11210
11215 var _response = _requester.request(_url, 11211 var _response = _requester.request(_url,
11216 "POST", 11212 "POST",
11217 body: _body, 11213 body: _body,
11218 queryParams: _queryParams, 11214 queryParams: _queryParams,
11219 uploadOptions: _uploadOptions, 11215 uploadOptions: _uploadOptions,
11220 uploadMedia: _uploadMedia, 11216 uploadMedia: _uploadMedia,
11221 downloadOptions: _downloadOptions); 11217 downloadOptions: _downloadOptions);
11222 return _response.then((data) => new Operation.fromJson(data)); 11218 return _response.then((data) => new Operation.fromJson(data));
11223 } 11219 }
11224 11220
11225 }
11226
11227
11228 class TargetVpnGatewaysResourceApi {
11229 final commons.ApiRequester _requester;
11230
11231 TargetVpnGatewaysResourceApi(commons.ApiRequester client) :
11232 _requester = client;
11233
11234 /** 11221 /**
11235 * Retrieves an aggregated list of target VPN gateways. 11222 * Retrieves an aggregated list of target pools.
11236 * 11223 *
11237 * Request parameters: 11224 * Request parameters:
11238 * 11225 *
11239 * [project] - Project ID for this request. 11226 * [project] - Project ID for this request.
11240 * Value must have pattern 11227 * Value must have pattern
11241 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 11228 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
11242 * 11229 *
11243 * [filter] - Sets a filter expression for filtering listed resources, in the 11230 * [filter] - Sets a filter expression for filtering listed resources, in the
11244 * form filter={expression}. Your {expression} must be in the format: 11231 * form filter={expression}. Your {expression} must be in the format:
11245 * field_name comparison_string literal_string. 11232 * field_name comparison_string literal_string.
(...skipping 24 matching lines...) Expand all
11270 * [maxResults] - The maximum number of results per page that should be 11257 * [maxResults] - The maximum number of results per page that should be
11271 * returned. If the number of available results is larger than maxResults, 11258 * returned. If the number of available results is larger than maxResults,
11272 * Compute Engine returns a nextPageToken that can be used to get the next 11259 * Compute Engine returns a nextPageToken that can be used to get the next
11273 * page of results in subsequent list requests. 11260 * page of results in subsequent list requests.
11274 * Value must be between "0" and "500". 11261 * Value must be between "0" and "500".
11275 * 11262 *
11276 * [pageToken] - Specifies a page token to use. Set pageToken to the 11263 * [pageToken] - Specifies a page token to use. Set pageToken to the
11277 * nextPageToken returned by a previous list request to get the next page of 11264 * nextPageToken returned by a previous list request to get the next page of
11278 * results. 11265 * results.
11279 * 11266 *
11280 * Completes with a [TargetVpnGatewayAggregatedList]. 11267 * Completes with a [TargetPoolAggregatedList].
11281 * 11268 *
11282 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 11269 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
11283 * error. 11270 * error.
11284 * 11271 *
11285 * If the used [http.Client] completes with an error when making a REST call, 11272 * If the used [http.Client] completes with an error when making a REST call,
11286 * this method will complete with the same error. 11273 * this method will complete with the same error.
11287 */ 11274 */
11288 async.Future<TargetVpnGatewayAggregatedList> aggregatedList(core.String projec t, {core.String filter, core.int maxResults, core.String pageToken}) { 11275 async.Future<TargetPoolAggregatedList> aggregatedList(core.String project, {co re.String filter, core.int maxResults, core.String pageToken}) {
11289 var _url = null; 11276 var _url = null;
11290 var _queryParams = new core.Map(); 11277 var _queryParams = new core.Map();
11291 var _uploadMedia = null; 11278 var _uploadMedia = null;
11292 var _uploadOptions = null; 11279 var _uploadOptions = null;
11293 var _downloadOptions = commons.DownloadOptions.Metadata; 11280 var _downloadOptions = commons.DownloadOptions.Metadata;
11294 var _body = null; 11281 var _body = null;
11295 11282
11296 if (project == null) { 11283 if (project == null) {
11297 throw new core.ArgumentError("Parameter project is required."); 11284 throw new core.ArgumentError("Parameter project is required.");
11298 } 11285 }
11299 if (filter != null) { 11286 if (filter != null) {
11300 _queryParams["filter"] = [filter]; 11287 _queryParams["filter"] = [filter];
11301 } 11288 }
11302 if (maxResults != null) { 11289 if (maxResults != null) {
11303 _queryParams["maxResults"] = ["${maxResults}"]; 11290 _queryParams["maxResults"] = ["${maxResults}"];
11304 } 11291 }
11305 if (pageToken != null) { 11292 if (pageToken != null) {
11306 _queryParams["pageToken"] = [pageToken]; 11293 _queryParams["pageToken"] = [pageToken];
11307 } 11294 }
11308 11295
11309 _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/targetVpnGat eways'; 11296 _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/targetPools' ;
11310 11297
11311 var _response = _requester.request(_url, 11298 var _response = _requester.request(_url,
11312 "GET", 11299 "GET",
11313 body: _body, 11300 body: _body,
11314 queryParams: _queryParams, 11301 queryParams: _queryParams,
11315 uploadOptions: _uploadOptions, 11302 uploadOptions: _uploadOptions,
11316 uploadMedia: _uploadMedia, 11303 uploadMedia: _uploadMedia,
11317 downloadOptions: _downloadOptions); 11304 downloadOptions: _downloadOptions);
11318 return _response.then((data) => new TargetVpnGatewayAggregatedList.fromJson( data)); 11305 return _response.then((data) => new TargetPoolAggregatedList.fromJson(data)) ;
11319 } 11306 }
11320 11307
11321 /** 11308 /**
11322 * Deletes the specified target VPN gateway. 11309 * Deletes the specified target pool.
11323 * 11310 *
11324 * Request parameters: 11311 * Request parameters:
11325 * 11312 *
11326 * [project] - Project ID for this request. 11313 * [project] - Project ID for this request.
11327 * Value must have pattern 11314 * Value must have pattern
11328 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 11315 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
11329 * 11316 *
11330 * [region] - Name of the region for this request. 11317 * [region] - Name of the region scoping this request.
11331 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 11318 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11332 * 11319 *
11333 * [targetVpnGateway] - Name of the target VPN gateway to delete. 11320 * [targetPool] - Name of the TargetPool resource to delete.
11334 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 11321 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11335 * 11322 *
11336 * Completes with a [Operation]. 11323 * Completes with a [Operation].
11337 * 11324 *
11338 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 11325 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
11339 * error. 11326 * error.
11340 * 11327 *
11341 * If the used [http.Client] completes with an error when making a REST call, 11328 * If the used [http.Client] completes with an error when making a REST call,
11342 * this method will complete with the same error. 11329 * this method will complete with the same error.
11343 */ 11330 */
11344 async.Future<Operation> delete(core.String project, core.String region, core.S tring targetVpnGateway) { 11331 async.Future<Operation> delete(core.String project, core.String region, core.S tring targetPool) {
11345 var _url = null; 11332 var _url = null;
11346 var _queryParams = new core.Map(); 11333 var _queryParams = new core.Map();
11347 var _uploadMedia = null; 11334 var _uploadMedia = null;
11348 var _uploadOptions = null; 11335 var _uploadOptions = null;
11349 var _downloadOptions = commons.DownloadOptions.Metadata; 11336 var _downloadOptions = commons.DownloadOptions.Metadata;
11350 var _body = null; 11337 var _body = null;
11351 11338
11352 if (project == null) { 11339 if (project == null) {
11353 throw new core.ArgumentError("Parameter project is required."); 11340 throw new core.ArgumentError("Parameter project is required.");
11354 } 11341 }
11355 if (region == null) { 11342 if (region == null) {
11356 throw new core.ArgumentError("Parameter region is required."); 11343 throw new core.ArgumentError("Parameter region is required.");
11357 } 11344 }
11358 if (targetVpnGateway == null) { 11345 if (targetPool == null) {
11359 throw new core.ArgumentError("Parameter targetVpnGateway is required."); 11346 throw new core.ArgumentError("Parameter targetPool is required.");
11360 } 11347 }
11361 11348
11362 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetVpnGateways/' + commons.Escaper.ecapeVar iable('$targetVpnGateway'); 11349 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable( '$targetPool');
11363 11350
11364 var _response = _requester.request(_url, 11351 var _response = _requester.request(_url,
11365 "DELETE", 11352 "DELETE",
11366 body: _body, 11353 body: _body,
11367 queryParams: _queryParams, 11354 queryParams: _queryParams,
11368 uploadOptions: _uploadOptions, 11355 uploadOptions: _uploadOptions,
11369 uploadMedia: _uploadMedia, 11356 uploadMedia: _uploadMedia,
11370 downloadOptions: _downloadOptions); 11357 downloadOptions: _downloadOptions);
11371 return _response.then((data) => new Operation.fromJson(data)); 11358 return _response.then((data) => new Operation.fromJson(data));
11372 } 11359 }
11373 11360
11374 /** 11361 /**
11375 * Returns the specified target VPN gateway. Get a list of available target 11362 * Returns the specified target pool. Get a list of available target pools by
11376 * VPN gateways by making a list() request. 11363 * making a list() request.
11377 * 11364 *
11378 * Request parameters: 11365 * Request parameters:
11379 * 11366 *
11380 * [project] - Project ID for this request. 11367 * [project] - Project ID for this request.
11381 * Value must have pattern 11368 * Value must have pattern
11382 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 11369 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
11383 * 11370 *
11384 * [region] - Name of the region for this request. 11371 * [region] - Name of the region scoping this request.
11385 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 11372 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11386 * 11373 *
11387 * [targetVpnGateway] - Name of the target VPN gateway to return. 11374 * [targetPool] - Name of the TargetPool resource to return.
11388 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 11375 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11389 * 11376 *
11390 * Completes with a [TargetVpnGateway]. 11377 * Completes with a [TargetPool].
11391 * 11378 *
11392 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 11379 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
11393 * error. 11380 * error.
11394 * 11381 *
11395 * If the used [http.Client] completes with an error when making a REST call, 11382 * If the used [http.Client] completes with an error when making a REST call,
11396 * this method will complete with the same error. 11383 * this method will complete with the same error.
11397 */ 11384 */
11398 async.Future<TargetVpnGateway> get(core.String project, core.String region, co re.String targetVpnGateway) { 11385 async.Future<TargetPool> get(core.String project, core.String region, core.Str ing targetPool) {
11399 var _url = null; 11386 var _url = null;
11400 var _queryParams = new core.Map(); 11387 var _queryParams = new core.Map();
11401 var _uploadMedia = null; 11388 var _uploadMedia = null;
11402 var _uploadOptions = null; 11389 var _uploadOptions = null;
11403 var _downloadOptions = commons.DownloadOptions.Metadata; 11390 var _downloadOptions = commons.DownloadOptions.Metadata;
11404 var _body = null; 11391 var _body = null;
11405 11392
11406 if (project == null) { 11393 if (project == null) {
11407 throw new core.ArgumentError("Parameter project is required."); 11394 throw new core.ArgumentError("Parameter project is required.");
11408 } 11395 }
11409 if (region == null) { 11396 if (region == null) {
11410 throw new core.ArgumentError("Parameter region is required."); 11397 throw new core.ArgumentError("Parameter region is required.");
11411 } 11398 }
11412 if (targetVpnGateway == null) { 11399 if (targetPool == null) {
11413 throw new core.ArgumentError("Parameter targetVpnGateway is required."); 11400 throw new core.ArgumentError("Parameter targetPool is required.");
11414 } 11401 }
11415 11402
11416 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetVpnGateways/' + commons.Escaper.ecapeVar iable('$targetVpnGateway'); 11403 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable( '$targetPool');
11417 11404
11418 var _response = _requester.request(_url, 11405 var _response = _requester.request(_url,
11419 "GET", 11406 "GET",
11420 body: _body, 11407 body: _body,
11421 queryParams: _queryParams, 11408 queryParams: _queryParams,
11422 uploadOptions: _uploadOptions, 11409 uploadOptions: _uploadOptions,
11423 uploadMedia: _uploadMedia, 11410 uploadMedia: _uploadMedia,
11424 downloadOptions: _downloadOptions); 11411 downloadOptions: _downloadOptions);
11425 return _response.then((data) => new TargetVpnGateway.fromJson(data)); 11412 return _response.then((data) => new TargetPool.fromJson(data));
11426 } 11413 }
11427 11414
11428 /** 11415 /**
11429 * Creates a target VPN gateway in the specified project and region using the 11416 * Gets the most recent health check results for each IP for the instance that
11430 * data included in the request. 11417 * is referenced by the given target pool.
11431 * 11418 *
11432 * [request] - The metadata request object. 11419 * [request] - The metadata request object.
11433 * 11420 *
11434 * Request parameters: 11421 * Request parameters:
11435 * 11422 *
11436 * [project] - Project ID for this request. 11423 * [project] - Project ID for this request.
11437 * Value must have pattern 11424 * Value must have pattern
11438 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 11425 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
11439 * 11426 *
11440 * [region] - Name of the region for this request. 11427 * [region] - Name of the region scoping this request.
11428 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11429 *
11430 * [targetPool] - Name of the TargetPool resource to which the queried
11431 * instance belongs.
11432 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11433 *
11434 * Completes with a [TargetPoolInstanceHealth].
11435 *
11436 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
11437 * error.
11438 *
11439 * If the used [http.Client] completes with an error when making a REST call,
11440 * this method will complete with the same error.
11441 */
11442 async.Future<TargetPoolInstanceHealth> getHealth(InstanceReference request, co re.String project, core.String region, core.String targetPool) {
11443 var _url = null;
11444 var _queryParams = new core.Map();
11445 var _uploadMedia = null;
11446 var _uploadOptions = null;
11447 var _downloadOptions = commons.DownloadOptions.Metadata;
11448 var _body = null;
11449
11450 if (request != null) {
11451 _body = convert.JSON.encode((request).toJson());
11452 }
11453 if (project == null) {
11454 throw new core.ArgumentError("Parameter project is required.");
11455 }
11456 if (region == null) {
11457 throw new core.ArgumentError("Parameter region is required.");
11458 }
11459 if (targetPool == null) {
11460 throw new core.ArgumentError("Parameter targetPool is required.");
11461 }
11462
11463 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable( '$targetPool') + '/getHealth';
11464
11465 var _response = _requester.request(_url,
11466 "POST",
11467 body: _body,
11468 queryParams: _queryParams,
11469 uploadOptions: _uploadOptions,
11470 uploadMedia: _uploadMedia,
11471 downloadOptions: _downloadOptions);
11472 return _response.then((data) => new TargetPoolInstanceHealth.fromJson(data)) ;
11473 }
11474
11475 /**
11476 * Creates a target pool in the specified project and region using the data
11477 * included in the request.
11478 *
11479 * [request] - The metadata request object.
11480 *
11481 * Request parameters:
11482 *
11483 * [project] - Project ID for this request.
11484 * Value must have pattern
11485 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
11486 *
11487 * [region] - Name of the region scoping this request.
11441 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 11488 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11442 * 11489 *
11443 * Completes with a [Operation]. 11490 * Completes with a [Operation].
11444 * 11491 *
11445 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 11492 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
11446 * error. 11493 * error.
11447 * 11494 *
11448 * If the used [http.Client] completes with an error when making a REST call, 11495 * If the used [http.Client] completes with an error when making a REST call,
11449 * this method will complete with the same error. 11496 * this method will complete with the same error.
11450 */ 11497 */
11451 async.Future<Operation> insert(TargetVpnGateway request, core.String project, core.String region) { 11498 async.Future<Operation> insert(TargetPool request, core.String project, core.S tring region) {
11452 var _url = null; 11499 var _url = null;
11453 var _queryParams = new core.Map(); 11500 var _queryParams = new core.Map();
11454 var _uploadMedia = null; 11501 var _uploadMedia = null;
11455 var _uploadOptions = null; 11502 var _uploadOptions = null;
11456 var _downloadOptions = commons.DownloadOptions.Metadata; 11503 var _downloadOptions = commons.DownloadOptions.Metadata;
11457 var _body = null; 11504 var _body = null;
11458 11505
11459 if (request != null) { 11506 if (request != null) {
11460 _body = convert.JSON.encode((request).toJson()); 11507 _body = convert.JSON.encode((request).toJson());
11461 } 11508 }
11462 if (project == null) { 11509 if (project == null) {
11463 throw new core.ArgumentError("Parameter project is required."); 11510 throw new core.ArgumentError("Parameter project is required.");
11464 } 11511 }
11465 if (region == null) { 11512 if (region == null) {
11466 throw new core.ArgumentError("Parameter region is required."); 11513 throw new core.ArgumentError("Parameter region is required.");
11467 } 11514 }
11468 11515
11469 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetVpnGateways'; 11516 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetPools';
11470 11517
11471 var _response = _requester.request(_url, 11518 var _response = _requester.request(_url,
11472 "POST", 11519 "POST",
11473 body: _body, 11520 body: _body,
11474 queryParams: _queryParams, 11521 queryParams: _queryParams,
11475 uploadOptions: _uploadOptions, 11522 uploadOptions: _uploadOptions,
11476 uploadMedia: _uploadMedia, 11523 uploadMedia: _uploadMedia,
11477 downloadOptions: _downloadOptions); 11524 downloadOptions: _downloadOptions);
11478 return _response.then((data) => new Operation.fromJson(data)); 11525 return _response.then((data) => new Operation.fromJson(data));
11479 } 11526 }
11480 11527
11481 /** 11528 /**
11482 * Retrieves a list of target VPN gateways available to the specified project 11529 * Retrieves a list of target pools available to the specified project and
11483 * and region. 11530 * region.
11484 * 11531 *
11485 * Request parameters: 11532 * Request parameters:
11486 * 11533 *
11487 * [project] - Project ID for this request. 11534 * [project] - Project ID for this request.
11488 * Value must have pattern 11535 * Value must have pattern
11489 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 11536 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
11490 * 11537 *
11491 * [region] - Name of the region for this request. 11538 * [region] - Name of the region scoping this request.
11492 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 11539 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11493 * 11540 *
11494 * [filter] - Sets a filter expression for filtering listed resources, in the 11541 * [filter] - Sets a filter expression for filtering listed resources, in the
11495 * form filter={expression}. Your {expression} must be in the format: 11542 * form filter={expression}. Your {expression} must be in the format:
11496 * field_name comparison_string literal_string. 11543 * field_name comparison_string literal_string.
11497 * 11544 *
11498 * The field_name is the name of the field you want to compare. Only atomic 11545 * The field_name is the name of the field you want to compare. Only atomic
11499 * field types are supported (string, number, boolean). The comparison_string 11546 * field types are supported (string, number, boolean). The comparison_string
11500 * must be either eq (equals) or ne (not equals). The literal_string is the 11547 * must be either eq (equals) or ne (not equals). The literal_string is the
11501 * string value to filter to. The literal value must be valid for the type of 11548 * string value to filter to. The literal value must be valid for the type of
(...skipping 19 matching lines...) Expand all
11521 * [maxResults] - The maximum number of results per page that should be 11568 * [maxResults] - The maximum number of results per page that should be
11522 * returned. If the number of available results is larger than maxResults, 11569 * returned. If the number of available results is larger than maxResults,
11523 * Compute Engine returns a nextPageToken that can be used to get the next 11570 * Compute Engine returns a nextPageToken that can be used to get the next
11524 * page of results in subsequent list requests. 11571 * page of results in subsequent list requests.
11525 * Value must be between "0" and "500". 11572 * Value must be between "0" and "500".
11526 * 11573 *
11527 * [pageToken] - Specifies a page token to use. Set pageToken to the 11574 * [pageToken] - Specifies a page token to use. Set pageToken to the
11528 * nextPageToken returned by a previous list request to get the next page of 11575 * nextPageToken returned by a previous list request to get the next page of
11529 * results. 11576 * results.
11530 * 11577 *
11531 * Completes with a [TargetVpnGatewayList]. 11578 * Completes with a [TargetPoolList].
11532 * 11579 *
11533 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 11580 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
11534 * error. 11581 * error.
11535 * 11582 *
11536 * If the used [http.Client] completes with an error when making a REST call, 11583 * If the used [http.Client] completes with an error when making a REST call,
11537 * this method will complete with the same error. 11584 * this method will complete with the same error.
11538 */ 11585 */
11539 async.Future<TargetVpnGatewayList> list(core.String project, core.String regio n, {core.String filter, core.int maxResults, core.String pageToken}) { 11586 async.Future<TargetPoolList> list(core.String project, core.String region, {co re.String filter, core.int maxResults, core.String pageToken}) {
11540 var _url = null; 11587 var _url = null;
11541 var _queryParams = new core.Map(); 11588 var _queryParams = new core.Map();
11542 var _uploadMedia = null; 11589 var _uploadMedia = null;
11543 var _uploadOptions = null; 11590 var _uploadOptions = null;
11544 var _downloadOptions = commons.DownloadOptions.Metadata; 11591 var _downloadOptions = commons.DownloadOptions.Metadata;
11545 var _body = null; 11592 var _body = null;
11546 11593
11547 if (project == null) { 11594 if (project == null) {
11548 throw new core.ArgumentError("Parameter project is required."); 11595 throw new core.ArgumentError("Parameter project is required.");
11549 } 11596 }
11550 if (region == null) { 11597 if (region == null) {
11551 throw new core.ArgumentError("Parameter region is required."); 11598 throw new core.ArgumentError("Parameter region is required.");
11552 } 11599 }
11553 if (filter != null) { 11600 if (filter != null) {
11554 _queryParams["filter"] = [filter]; 11601 _queryParams["filter"] = [filter];
11555 } 11602 }
11556 if (maxResults != null) { 11603 if (maxResults != null) {
11557 _queryParams["maxResults"] = ["${maxResults}"]; 11604 _queryParams["maxResults"] = ["${maxResults}"];
11558 } 11605 }
11559 if (pageToken != null) { 11606 if (pageToken != null) {
11560 _queryParams["pageToken"] = [pageToken]; 11607 _queryParams["pageToken"] = [pageToken];
11561 } 11608 }
11562 11609
11563 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetVpnGateways'; 11610 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetPools';
11564 11611
11565 var _response = _requester.request(_url, 11612 var _response = _requester.request(_url,
11566 "GET", 11613 "GET",
11567 body: _body, 11614 body: _body,
11568 queryParams: _queryParams, 11615 queryParams: _queryParams,
11569 uploadOptions: _uploadOptions, 11616 uploadOptions: _uploadOptions,
11570 uploadMedia: _uploadMedia, 11617 uploadMedia: _uploadMedia,
11571 downloadOptions: _downloadOptions); 11618 downloadOptions: _downloadOptions);
11572 return _response.then((data) => new TargetVpnGatewayList.fromJson(data)); 11619 return _response.then((data) => new TargetPoolList.fromJson(data));
11573 } 11620 }
11574 11621
11575 }
11576
11577
11578 class UrlMapsResourceApi {
11579 final commons.ApiRequester _requester;
11580
11581 UrlMapsResourceApi(commons.ApiRequester client) :
11582 _requester = client;
11583
11584 /** 11622 /**
11585 * Deletes the specified UrlMap resource. 11623 * Removes health check URL from a target pool.
11624 *
11625 * [request] - The metadata request object.
11586 * 11626 *
11587 * Request parameters: 11627 * Request parameters:
11588 * 11628 *
11589 * [project] - Project ID for this request. 11629 * [project] - Project ID for this request.
11590 * Value must have pattern 11630 * Value must have pattern
11591 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 11631 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
11592 * 11632 *
11593 * [urlMap] - Name of the UrlMap resource to delete. 11633 * [region] - Name of the region for this request.
11634 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11635 *
11636 * [targetPool] - Name of the target pool to remove health checks from.
11594 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 11637 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11595 * 11638 *
11596 * Completes with a [Operation]. 11639 * Completes with a [Operation].
11597 * 11640 *
11598 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 11641 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
11599 * error. 11642 * error.
11600 * 11643 *
11601 * If the used [http.Client] completes with an error when making a REST call, 11644 * If the used [http.Client] completes with an error when making a REST call,
11602 * this method will complete with the same error. 11645 * this method will complete with the same error.
11603 */ 11646 */
11604 async.Future<Operation> delete(core.String project, core.String urlMap) { 11647 async.Future<Operation> removeHealthCheck(TargetPoolsRemoveHealthCheckRequest request, core.String project, core.String region, core.String targetPool) {
11605 var _url = null; 11648 var _url = null;
11606 var _queryParams = new core.Map(); 11649 var _queryParams = new core.Map();
11607 var _uploadMedia = null; 11650 var _uploadMedia = null;
11608 var _uploadOptions = null; 11651 var _uploadOptions = null;
11609 var _downloadOptions = commons.DownloadOptions.Metadata; 11652 var _downloadOptions = commons.DownloadOptions.Metadata;
11610 var _body = null; 11653 var _body = null;
11611 11654
11655 if (request != null) {
11656 _body = convert.JSON.encode((request).toJson());
11657 }
11612 if (project == null) { 11658 if (project == null) {
11613 throw new core.ArgumentError("Parameter project is required."); 11659 throw new core.ArgumentError("Parameter project is required.");
11614 } 11660 }
11615 if (urlMap == null) { 11661 if (region == null) {
11616 throw new core.ArgumentError("Parameter urlMap is required."); 11662 throw new core.ArgumentError("Parameter region is required.");
11663 }
11664 if (targetPool == null) {
11665 throw new core.ArgumentError("Parameter targetPool is required.");
11617 } 11666 }
11618 11667
11619 _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + comm ons.Escaper.ecapeVariable('$urlMap'); 11668 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable( '$targetPool') + '/removeHealthCheck';
11620 11669
11621 var _response = _requester.request(_url, 11670 var _response = _requester.request(_url,
11622 "DELETE", 11671 "POST",
11623 body: _body, 11672 body: _body,
11624 queryParams: _queryParams, 11673 queryParams: _queryParams,
11625 uploadOptions: _uploadOptions, 11674 uploadOptions: _uploadOptions,
11626 uploadMedia: _uploadMedia, 11675 uploadMedia: _uploadMedia,
11627 downloadOptions: _downloadOptions); 11676 downloadOptions: _downloadOptions);
11628 return _response.then((data) => new Operation.fromJson(data)); 11677 return _response.then((data) => new Operation.fromJson(data));
11629 } 11678 }
11630 11679
11631 /** 11680 /**
11632 * Returns the specified UrlMap resource. Get a list of available URL maps by 11681 * Removes instance URL from a target pool.
11633 * making a list() request. 11682 *
11683 * [request] - The metadata request object.
11634 * 11684 *
11635 * Request parameters: 11685 * Request parameters:
11636 * 11686 *
11637 * [project] - Project ID for this request. 11687 * [project] - Project ID for this request.
11638 * Value must have pattern 11688 * Value must have pattern
11639 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 11689 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
11640 * 11690 *
11641 * [urlMap] - Name of the UrlMap resource to return. 11691 * [region] - Name of the region scoping this request.
11642 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 11692 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11643 * 11693 *
11644 * Completes with a [UrlMap]. 11694 * [targetPool] - Name of the TargetPool resource to remove instances from.
11695 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11696 *
11697 * Completes with a [Operation].
11645 * 11698 *
11646 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 11699 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
11647 * error. 11700 * error.
11648 * 11701 *
11649 * If the used [http.Client] completes with an error when making a REST call, 11702 * If the used [http.Client] completes with an error when making a REST call,
11650 * this method will complete with the same error. 11703 * this method will complete with the same error.
11651 */ 11704 */
11652 async.Future<UrlMap> get(core.String project, core.String urlMap) { 11705 async.Future<Operation> removeInstance(TargetPoolsRemoveInstanceRequest reques t, core.String project, core.String region, core.String targetPool) {
11653 var _url = null; 11706 var _url = null;
11654 var _queryParams = new core.Map(); 11707 var _queryParams = new core.Map();
11655 var _uploadMedia = null; 11708 var _uploadMedia = null;
11656 var _uploadOptions = null; 11709 var _uploadOptions = null;
11657 var _downloadOptions = commons.DownloadOptions.Metadata; 11710 var _downloadOptions = commons.DownloadOptions.Metadata;
11658 var _body = null; 11711 var _body = null;
11659 11712
11713 if (request != null) {
11714 _body = convert.JSON.encode((request).toJson());
11715 }
11660 if (project == null) { 11716 if (project == null) {
11661 throw new core.ArgumentError("Parameter project is required."); 11717 throw new core.ArgumentError("Parameter project is required.");
11662 } 11718 }
11663 if (urlMap == null) { 11719 if (region == null) {
11664 throw new core.ArgumentError("Parameter urlMap is required."); 11720 throw new core.ArgumentError("Parameter region is required.");
11721 }
11722 if (targetPool == null) {
11723 throw new core.ArgumentError("Parameter targetPool is required.");
11665 } 11724 }
11666 11725
11667 _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + comm ons.Escaper.ecapeVariable('$urlMap'); 11726 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable( '$targetPool') + '/removeInstance';
11668 11727
11669 var _response = _requester.request(_url, 11728 var _response = _requester.request(_url,
11670 "GET", 11729 "POST",
11671 body: _body, 11730 body: _body,
11672 queryParams: _queryParams, 11731 queryParams: _queryParams,
11673 uploadOptions: _uploadOptions, 11732 uploadOptions: _uploadOptions,
11674 uploadMedia: _uploadMedia, 11733 uploadMedia: _uploadMedia,
11675 downloadOptions: _downloadOptions); 11734 downloadOptions: _downloadOptions);
11676 return _response.then((data) => new UrlMap.fromJson(data)); 11735 return _response.then((data) => new Operation.fromJson(data));
11677 } 11736 }
11678 11737
11679 /** 11738 /**
11680 * Creates a UrlMap resource in the specified project using the data included 11739 * Changes a backup target pool's configurations.
11681 * in the request.
11682 * 11740 *
11683 * [request] - The metadata request object. 11741 * [request] - The metadata request object.
11684 * 11742 *
11685 * Request parameters: 11743 * Request parameters:
11686 * 11744 *
11687 * [project] - Project ID for this request. 11745 * [project] - Project ID for this request.
11688 * Value must have pattern 11746 * Value must have pattern
11689 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 11747 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
11690 * 11748 *
11749 * [region] - Name of the region scoping this request.
11750 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11751 *
11752 * [targetPool] - Name of the TargetPool resource to set a backup pool for.
11753 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11754 *
11755 * [failoverRatio] - New failoverRatio value for the target pool.
11756 *
11691 * Completes with a [Operation]. 11757 * Completes with a [Operation].
11692 * 11758 *
11693 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 11759 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
11694 * error. 11760 * error.
11695 * 11761 *
11696 * If the used [http.Client] completes with an error when making a REST call, 11762 * If the used [http.Client] completes with an error when making a REST call,
11697 * this method will complete with the same error. 11763 * this method will complete with the same error.
11698 */ 11764 */
11699 async.Future<Operation> insert(UrlMap request, core.String project) { 11765 async.Future<Operation> setBackup(TargetReference request, core.String project , core.String region, core.String targetPool, {core.double failoverRatio}) {
11700 var _url = null; 11766 var _url = null;
11701 var _queryParams = new core.Map(); 11767 var _queryParams = new core.Map();
11702 var _uploadMedia = null; 11768 var _uploadMedia = null;
11703 var _uploadOptions = null; 11769 var _uploadOptions = null;
11704 var _downloadOptions = commons.DownloadOptions.Metadata; 11770 var _downloadOptions = commons.DownloadOptions.Metadata;
11705 var _body = null; 11771 var _body = null;
11706 11772
11707 if (request != null) { 11773 if (request != null) {
11708 _body = convert.JSON.encode((request).toJson()); 11774 _body = convert.JSON.encode((request).toJson());
11709 } 11775 }
11710 if (project == null) { 11776 if (project == null) {
11711 throw new core.ArgumentError("Parameter project is required."); 11777 throw new core.ArgumentError("Parameter project is required.");
11712 } 11778 }
11779 if (region == null) {
11780 throw new core.ArgumentError("Parameter region is required.");
11781 }
11782 if (targetPool == null) {
11783 throw new core.ArgumentError("Parameter targetPool is required.");
11784 }
11785 if (failoverRatio != null) {
11786 _queryParams["failoverRatio"] = ["${failoverRatio}"];
11787 }
11713 11788
11714 _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps'; 11789 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetPools/' + commons.Escaper.ecapeVariable( '$targetPool') + '/setBackup';
11715 11790
11716 var _response = _requester.request(_url, 11791 var _response = _requester.request(_url,
11717 "POST", 11792 "POST",
11718 body: _body, 11793 body: _body,
11719 queryParams: _queryParams, 11794 queryParams: _queryParams,
11720 uploadOptions: _uploadOptions, 11795 uploadOptions: _uploadOptions,
11721 uploadMedia: _uploadMedia, 11796 uploadMedia: _uploadMedia,
11722 downloadOptions: _downloadOptions); 11797 downloadOptions: _downloadOptions);
11723 return _response.then((data) => new Operation.fromJson(data)); 11798 return _response.then((data) => new Operation.fromJson(data));
11724 } 11799 }
11725 11800
11801 }
11802
11803
11804 class TargetVpnGatewaysResourceApi {
11805 final commons.ApiRequester _requester;
11806
11807 TargetVpnGatewaysResourceApi(commons.ApiRequester client) :
11808 _requester = client;
11809
11726 /** 11810 /**
11727 * Retrieves the list of UrlMap resources available to the specified project. 11811 * Retrieves an aggregated list of target VPN gateways.
11728 * 11812 *
11729 * Request parameters: 11813 * Request parameters:
11730 * 11814 *
11731 * [project] - Project ID for this request. 11815 * [project] - Project ID for this request.
11732 * Value must have pattern 11816 * Value must have pattern
11733 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 11817 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
11734 * 11818 *
11735 * [filter] - Sets a filter expression for filtering listed resources, in the 11819 * [filter] - Sets a filter expression for filtering listed resources, in the
11736 * form filter={expression}. Your {expression} must be in the format: 11820 * form filter={expression}. Your {expression} must be in the format:
11737 * field_name comparison_string literal_string. 11821 * field_name comparison_string literal_string.
(...skipping 24 matching lines...) Expand all
11762 * [maxResults] - The maximum number of results per page that should be 11846 * [maxResults] - The maximum number of results per page that should be
11763 * returned. If the number of available results is larger than maxResults, 11847 * returned. If the number of available results is larger than maxResults,
11764 * Compute Engine returns a nextPageToken that can be used to get the next 11848 * Compute Engine returns a nextPageToken that can be used to get the next
11765 * page of results in subsequent list requests. 11849 * page of results in subsequent list requests.
11766 * Value must be between "0" and "500". 11850 * Value must be between "0" and "500".
11767 * 11851 *
11768 * [pageToken] - Specifies a page token to use. Set pageToken to the 11852 * [pageToken] - Specifies a page token to use. Set pageToken to the
11769 * nextPageToken returned by a previous list request to get the next page of 11853 * nextPageToken returned by a previous list request to get the next page of
11770 * results. 11854 * results.
11771 * 11855 *
11772 * Completes with a [UrlMapList]. 11856 * Completes with a [TargetVpnGatewayAggregatedList].
11773 * 11857 *
11774 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 11858 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
11775 * error. 11859 * error.
11776 * 11860 *
11777 * If the used [http.Client] completes with an error when making a REST call, 11861 * If the used [http.Client] completes with an error when making a REST call,
11778 * this method will complete with the same error. 11862 * this method will complete with the same error.
11779 */ 11863 */
11780 async.Future<UrlMapList> list(core.String project, {core.String filter, core.i nt maxResults, core.String pageToken}) { 11864 async.Future<TargetVpnGatewayAggregatedList> aggregatedList(core.String projec t, {core.String filter, core.int maxResults, core.String pageToken}) {
11781 var _url = null; 11865 var _url = null;
11782 var _queryParams = new core.Map(); 11866 var _queryParams = new core.Map();
11783 var _uploadMedia = null; 11867 var _uploadMedia = null;
11784 var _uploadOptions = null; 11868 var _uploadOptions = null;
11785 var _downloadOptions = commons.DownloadOptions.Metadata; 11869 var _downloadOptions = commons.DownloadOptions.Metadata;
11786 var _body = null; 11870 var _body = null;
11787 11871
11788 if (project == null) { 11872 if (project == null) {
11789 throw new core.ArgumentError("Parameter project is required."); 11873 throw new core.ArgumentError("Parameter project is required.");
11790 } 11874 }
11791 if (filter != null) { 11875 if (filter != null) {
11792 _queryParams["filter"] = [filter]; 11876 _queryParams["filter"] = [filter];
11793 } 11877 }
11794 if (maxResults != null) { 11878 if (maxResults != null) {
11795 _queryParams["maxResults"] = ["${maxResults}"]; 11879 _queryParams["maxResults"] = ["${maxResults}"];
11796 } 11880 }
11797 if (pageToken != null) { 11881 if (pageToken != null) {
11798 _queryParams["pageToken"] = [pageToken]; 11882 _queryParams["pageToken"] = [pageToken];
11799 } 11883 }
11800 11884
11801 _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps'; 11885 _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/targetVpnGat eways';
11802 11886
11803 var _response = _requester.request(_url, 11887 var _response = _requester.request(_url,
11804 "GET", 11888 "GET",
11805 body: _body, 11889 body: _body,
11806 queryParams: _queryParams, 11890 queryParams: _queryParams,
11807 uploadOptions: _uploadOptions, 11891 uploadOptions: _uploadOptions,
11808 uploadMedia: _uploadMedia, 11892 uploadMedia: _uploadMedia,
11809 downloadOptions: _downloadOptions); 11893 downloadOptions: _downloadOptions);
11810 return _response.then((data) => new UrlMapList.fromJson(data)); 11894 return _response.then((data) => new TargetVpnGatewayAggregatedList.fromJson( data));
11811 } 11895 }
11812 11896
11813 /** 11897 /**
11814 * Updates the entire content of the UrlMap resource. This method supports 11898 * Deletes the specified target VPN gateway.
11815 * patch semantics.
11816 *
11817 * [request] - The metadata request object.
11818 * 11899 *
11819 * Request parameters: 11900 * Request parameters:
11820 * 11901 *
11821 * [project] - Project ID for this request. 11902 * [project] - Project ID for this request.
11822 * Value must have pattern 11903 * Value must have pattern
11823 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 11904 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
11824 * 11905 *
11825 * [urlMap] - Name of the UrlMap resource to update. 11906 * [region] - Name of the region for this request.
11907 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11908 *
11909 * [targetVpnGateway] - Name of the target VPN gateway to delete.
11826 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 11910 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11827 * 11911 *
11828 * Completes with a [Operation]. 11912 * Completes with a [Operation].
11829 * 11913 *
11830 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 11914 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
11831 * error. 11915 * error.
11832 * 11916 *
11833 * If the used [http.Client] completes with an error when making a REST call, 11917 * If the used [http.Client] completes with an error when making a REST call,
11834 * this method will complete with the same error. 11918 * this method will complete with the same error.
11835 */ 11919 */
11836 async.Future<Operation> patch(UrlMap request, core.String project, core.String urlMap) { 11920 async.Future<Operation> delete(core.String project, core.String region, core.S tring targetVpnGateway) {
11837 var _url = null; 11921 var _url = null;
11838 var _queryParams = new core.Map(); 11922 var _queryParams = new core.Map();
11839 var _uploadMedia = null; 11923 var _uploadMedia = null;
11840 var _uploadOptions = null; 11924 var _uploadOptions = null;
11841 var _downloadOptions = commons.DownloadOptions.Metadata; 11925 var _downloadOptions = commons.DownloadOptions.Metadata;
11842 var _body = null; 11926 var _body = null;
11843 11927
11844 if (request != null) {
11845 _body = convert.JSON.encode((request).toJson());
11846 }
11847 if (project == null) { 11928 if (project == null) {
11848 throw new core.ArgumentError("Parameter project is required."); 11929 throw new core.ArgumentError("Parameter project is required.");
11849 } 11930 }
11850 if (urlMap == null) { 11931 if (region == null) {
11851 throw new core.ArgumentError("Parameter urlMap is required."); 11932 throw new core.ArgumentError("Parameter region is required.");
11933 }
11934 if (targetVpnGateway == null) {
11935 throw new core.ArgumentError("Parameter targetVpnGateway is required.");
11852 } 11936 }
11853 11937
11854 _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + comm ons.Escaper.ecapeVariable('$urlMap'); 11938 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetVpnGateways/' + commons.Escaper.ecapeVar iable('$targetVpnGateway');
11855 11939
11856 var _response = _requester.request(_url, 11940 var _response = _requester.request(_url,
11857 "PATCH", 11941 "DELETE",
11858 body: _body, 11942 body: _body,
11859 queryParams: _queryParams, 11943 queryParams: _queryParams,
11860 uploadOptions: _uploadOptions, 11944 uploadOptions: _uploadOptions,
11861 uploadMedia: _uploadMedia, 11945 uploadMedia: _uploadMedia,
11862 downloadOptions: _downloadOptions); 11946 downloadOptions: _downloadOptions);
11863 return _response.then((data) => new Operation.fromJson(data)); 11947 return _response.then((data) => new Operation.fromJson(data));
11864 } 11948 }
11865 11949
11866 /** 11950 /**
11867 * Updates the entire content of the UrlMap resource. 11951 * Returns the specified target VPN gateway. Get a list of available target
11868 * 11952 * VPN gateways by making a list() request.
11869 * [request] - The metadata request object.
11870 * 11953 *
11871 * Request parameters: 11954 * Request parameters:
11872 * 11955 *
11873 * [project] - Project ID for this request. 11956 * [project] - Project ID for this request.
11874 * Value must have pattern 11957 * Value must have pattern
11875 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 11958 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
11876 * 11959 *
11877 * [urlMap] - Name of the UrlMap resource to update. 11960 * [region] - Name of the region for this request.
11878 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 11961 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11879 * 11962 *
11880 * Completes with a [Operation]. 11963 * [targetVpnGateway] - Name of the target VPN gateway to return.
11964 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11965 *
11966 * Completes with a [TargetVpnGateway].
11881 * 11967 *
11882 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 11968 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
11883 * error. 11969 * error.
11884 * 11970 *
11885 * If the used [http.Client] completes with an error when making a REST call, 11971 * If the used [http.Client] completes with an error when making a REST call,
11886 * this method will complete with the same error. 11972 * this method will complete with the same error.
11887 */ 11973 */
11888 async.Future<Operation> update(UrlMap request, core.String project, core.Strin g urlMap) { 11974 async.Future<TargetVpnGateway> get(core.String project, core.String region, co re.String targetVpnGateway) {
11889 var _url = null; 11975 var _url = null;
11890 var _queryParams = new core.Map(); 11976 var _queryParams = new core.Map();
11891 var _uploadMedia = null; 11977 var _uploadMedia = null;
11892 var _uploadOptions = null; 11978 var _uploadOptions = null;
11893 var _downloadOptions = commons.DownloadOptions.Metadata; 11979 var _downloadOptions = commons.DownloadOptions.Metadata;
11894 var _body = null; 11980 var _body = null;
11895 11981
11896 if (request != null) {
11897 _body = convert.JSON.encode((request).toJson());
11898 }
11899 if (project == null) { 11982 if (project == null) {
11900 throw new core.ArgumentError("Parameter project is required."); 11983 throw new core.ArgumentError("Parameter project is required.");
11901 } 11984 }
11902 if (urlMap == null) { 11985 if (region == null) {
11903 throw new core.ArgumentError("Parameter urlMap is required."); 11986 throw new core.ArgumentError("Parameter region is required.");
11987 }
11988 if (targetVpnGateway == null) {
11989 throw new core.ArgumentError("Parameter targetVpnGateway is required.");
11904 } 11990 }
11905 11991
11906 _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + comm ons.Escaper.ecapeVariable('$urlMap'); 11992 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetVpnGateways/' + commons.Escaper.ecapeVar iable('$targetVpnGateway');
11907 11993
11908 var _response = _requester.request(_url, 11994 var _response = _requester.request(_url,
11909 "PUT", 11995 "GET",
11910 body: _body, 11996 body: _body,
11911 queryParams: _queryParams, 11997 queryParams: _queryParams,
11912 uploadOptions: _uploadOptions, 11998 uploadOptions: _uploadOptions,
11913 uploadMedia: _uploadMedia, 11999 uploadMedia: _uploadMedia,
11914 downloadOptions: _downloadOptions); 12000 downloadOptions: _downloadOptions);
11915 return _response.then((data) => new Operation.fromJson(data)); 12001 return _response.then((data) => new TargetVpnGateway.fromJson(data));
11916 } 12002 }
11917 12003
11918 /** 12004 /**
11919 * Runs static validation for the UrlMap. In particular, the tests of the 12005 * Creates a target VPN gateway in the specified project and region using the
11920 * provided UrlMap will be run. Calling this method does NOT create the 12006 * data included in the request.
11921 * UrlMap.
11922 * 12007 *
11923 * [request] - The metadata request object. 12008 * [request] - The metadata request object.
11924 * 12009 *
11925 * Request parameters: 12010 * Request parameters:
11926 * 12011 *
11927 * [project] - Project ID for this request. 12012 * [project] - Project ID for this request.
11928 * Value must have pattern 12013 * Value must have pattern
11929 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 12014 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
11930 * 12015 *
11931 * [urlMap] - Name of the UrlMap resource to be validated as. 12016 * [region] - Name of the region for this request.
11932 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 12017 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
11933 * 12018 *
11934 * Completes with a [UrlMapsValidateResponse]. 12019 * Completes with a [Operation].
11935 * 12020 *
11936 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 12021 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
11937 * error. 12022 * error.
11938 * 12023 *
11939 * If the used [http.Client] completes with an error when making a REST call, 12024 * If the used [http.Client] completes with an error when making a REST call,
11940 * this method will complete with the same error. 12025 * this method will complete with the same error.
11941 */ 12026 */
11942 async.Future<UrlMapsValidateResponse> validate(UrlMapsValidateRequest request, core.String project, core.String urlMap) { 12027 async.Future<Operation> insert(TargetVpnGateway request, core.String project, core.String region) {
11943 var _url = null; 12028 var _url = null;
11944 var _queryParams = new core.Map(); 12029 var _queryParams = new core.Map();
11945 var _uploadMedia = null; 12030 var _uploadMedia = null;
11946 var _uploadOptions = null; 12031 var _uploadOptions = null;
11947 var _downloadOptions = commons.DownloadOptions.Metadata; 12032 var _downloadOptions = commons.DownloadOptions.Metadata;
11948 var _body = null; 12033 var _body = null;
11949 12034
11950 if (request != null) { 12035 if (request != null) {
11951 _body = convert.JSON.encode((request).toJson()); 12036 _body = convert.JSON.encode((request).toJson());
11952 } 12037 }
11953 if (project == null) { 12038 if (project == null) {
11954 throw new core.ArgumentError("Parameter project is required."); 12039 throw new core.ArgumentError("Parameter project is required.");
11955 } 12040 }
11956 if (urlMap == null) { 12041 if (region == null) {
11957 throw new core.ArgumentError("Parameter urlMap is required."); 12042 throw new core.ArgumentError("Parameter region is required.");
11958 } 12043 }
11959 12044
11960 _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + comm ons.Escaper.ecapeVariable('$urlMap') + '/validate'; 12045 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetVpnGateways';
11961 12046
11962 var _response = _requester.request(_url, 12047 var _response = _requester.request(_url,
11963 "POST", 12048 "POST",
11964 body: _body, 12049 body: _body,
11965 queryParams: _queryParams, 12050 queryParams: _queryParams,
11966 uploadOptions: _uploadOptions, 12051 uploadOptions: _uploadOptions,
11967 uploadMedia: _uploadMedia, 12052 uploadMedia: _uploadMedia,
11968 downloadOptions: _downloadOptions); 12053 downloadOptions: _downloadOptions);
11969 return _response.then((data) => new UrlMapsValidateResponse.fromJson(data)); 12054 return _response.then((data) => new Operation.fromJson(data));
11970 } 12055 }
11971 12056
11972 }
11973
11974
11975 class VpnTunnelsResourceApi {
11976 final commons.ApiRequester _requester;
11977
11978 VpnTunnelsResourceApi(commons.ApiRequester client) :
11979 _requester = client;
11980
11981 /** 12057 /**
11982 * Retrieves an aggregated list of VPN tunnels. 12058 * Retrieves a list of target VPN gateways available to the specified project
12059 * and region.
11983 * 12060 *
11984 * Request parameters: 12061 * Request parameters:
11985 * 12062 *
11986 * [project] - Project ID for this request. 12063 * [project] - Project ID for this request.
11987 * Value must have pattern 12064 * Value must have pattern
11988 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 12065 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
11989 * 12066 *
12067 * [region] - Name of the region for this request.
12068 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12069 *
11990 * [filter] - Sets a filter expression for filtering listed resources, in the 12070 * [filter] - Sets a filter expression for filtering listed resources, in the
11991 * form filter={expression}. Your {expression} must be in the format: 12071 * form filter={expression}. Your {expression} must be in the format:
11992 * field_name comparison_string literal_string. 12072 * field_name comparison_string literal_string.
11993 * 12073 *
11994 * The field_name is the name of the field you want to compare. Only atomic 12074 * The field_name is the name of the field you want to compare. Only atomic
11995 * field types are supported (string, number, boolean). The comparison_string 12075 * field types are supported (string, number, boolean). The comparison_string
11996 * must be either eq (equals) or ne (not equals). The literal_string is the 12076 * must be either eq (equals) or ne (not equals). The literal_string is the
11997 * string value to filter to. The literal value must be valid for the type of 12077 * string value to filter to. The literal value must be valid for the type of
11998 * field you are filtering by (string, number, boolean). For string fields, 12078 * field you are filtering by (string, number, boolean). For string fields,
11999 * the literal value is interpreted as a regular expression using RE2 syntax. 12079 * the literal value is interpreted as a regular expression using RE2 syntax.
(...skipping 17 matching lines...) Expand all
12017 * [maxResults] - The maximum number of results per page that should be 12097 * [maxResults] - The maximum number of results per page that should be
12018 * returned. If the number of available results is larger than maxResults, 12098 * returned. If the number of available results is larger than maxResults,
12019 * Compute Engine returns a nextPageToken that can be used to get the next 12099 * Compute Engine returns a nextPageToken that can be used to get the next
12020 * page of results in subsequent list requests. 12100 * page of results in subsequent list requests.
12021 * Value must be between "0" and "500". 12101 * Value must be between "0" and "500".
12022 * 12102 *
12023 * [pageToken] - Specifies a page token to use. Set pageToken to the 12103 * [pageToken] - Specifies a page token to use. Set pageToken to the
12024 * nextPageToken returned by a previous list request to get the next page of 12104 * nextPageToken returned by a previous list request to get the next page of
12025 * results. 12105 * results.
12026 * 12106 *
12027 * Completes with a [VpnTunnelAggregatedList]. 12107 * Completes with a [TargetVpnGatewayList].
12028 * 12108 *
12029 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 12109 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
12030 * error. 12110 * error.
12031 * 12111 *
12032 * If the used [http.Client] completes with an error when making a REST call, 12112 * If the used [http.Client] completes with an error when making a REST call,
12033 * this method will complete with the same error. 12113 * this method will complete with the same error.
12034 */ 12114 */
12035 async.Future<VpnTunnelAggregatedList> aggregatedList(core.String project, {cor e.String filter, core.int maxResults, core.String pageToken}) { 12115 async.Future<TargetVpnGatewayList> list(core.String project, core.String regio n, {core.String filter, core.int maxResults, core.String pageToken}) {
12036 var _url = null; 12116 var _url = null;
12037 var _queryParams = new core.Map(); 12117 var _queryParams = new core.Map();
12038 var _uploadMedia = null; 12118 var _uploadMedia = null;
12039 var _uploadOptions = null; 12119 var _uploadOptions = null;
12040 var _downloadOptions = commons.DownloadOptions.Metadata; 12120 var _downloadOptions = commons.DownloadOptions.Metadata;
12041 var _body = null; 12121 var _body = null;
12042 12122
12043 if (project == null) { 12123 if (project == null) {
12044 throw new core.ArgumentError("Parameter project is required."); 12124 throw new core.ArgumentError("Parameter project is required.");
12045 } 12125 }
12126 if (region == null) {
12127 throw new core.ArgumentError("Parameter region is required.");
12128 }
12046 if (filter != null) { 12129 if (filter != null) {
12047 _queryParams["filter"] = [filter]; 12130 _queryParams["filter"] = [filter];
12048 } 12131 }
12049 if (maxResults != null) { 12132 if (maxResults != null) {
12050 _queryParams["maxResults"] = ["${maxResults}"]; 12133 _queryParams["maxResults"] = ["${maxResults}"];
12051 } 12134 }
12052 if (pageToken != null) { 12135 if (pageToken != null) {
12053 _queryParams["pageToken"] = [pageToken]; 12136 _queryParams["pageToken"] = [pageToken];
12054 } 12137 }
12055 12138
12056 _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/vpnTunnels'; 12139 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/targetVpnGateways';
12057 12140
12058 var _response = _requester.request(_url, 12141 var _response = _requester.request(_url,
12059 "GET", 12142 "GET",
12060 body: _body, 12143 body: _body,
12061 queryParams: _queryParams, 12144 queryParams: _queryParams,
12062 uploadOptions: _uploadOptions, 12145 uploadOptions: _uploadOptions,
12063 uploadMedia: _uploadMedia, 12146 uploadMedia: _uploadMedia,
12064 downloadOptions: _downloadOptions); 12147 downloadOptions: _downloadOptions);
12065 return _response.then((data) => new VpnTunnelAggregatedList.fromJson(data)); 12148 return _response.then((data) => new TargetVpnGatewayList.fromJson(data));
12066 } 12149 }
12067 12150
12151 }
12152
12153
12154 class UrlMapsResourceApi {
12155 final commons.ApiRequester _requester;
12156
12157 UrlMapsResourceApi(commons.ApiRequester client) :
12158 _requester = client;
12159
12068 /** 12160 /**
12069 * Deletes the specified VpnTunnel resource. 12161 * Deletes the specified UrlMap resource.
12070 * 12162 *
12071 * Request parameters: 12163 * Request parameters:
12072 * 12164 *
12073 * [project] - Project ID for this request. 12165 * [project] - Project ID for this request.
12074 * Value must have pattern 12166 * Value must have pattern
12075 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 12167 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
12076 * 12168 *
12077 * [region] - Name of the region for this request. 12169 * [urlMap] - Name of the UrlMap resource to delete.
12078 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12079 *
12080 * [vpnTunnel] - Name of the VpnTunnel resource to delete.
12081 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 12170 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12082 * 12171 *
12083 * Completes with a [Operation]. 12172 * Completes with a [Operation].
12084 * 12173 *
12085 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 12174 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
12086 * error. 12175 * error.
12087 * 12176 *
12088 * If the used [http.Client] completes with an error when making a REST call, 12177 * If the used [http.Client] completes with an error when making a REST call,
12089 * this method will complete with the same error. 12178 * this method will complete with the same error.
12090 */ 12179 */
12091 async.Future<Operation> delete(core.String project, core.String region, core.S tring vpnTunnel) { 12180 async.Future<Operation> delete(core.String project, core.String urlMap) {
12092 var _url = null; 12181 var _url = null;
12093 var _queryParams = new core.Map(); 12182 var _queryParams = new core.Map();
12094 var _uploadMedia = null; 12183 var _uploadMedia = null;
12095 var _uploadOptions = null; 12184 var _uploadOptions = null;
12096 var _downloadOptions = commons.DownloadOptions.Metadata; 12185 var _downloadOptions = commons.DownloadOptions.Metadata;
12097 var _body = null; 12186 var _body = null;
12098 12187
12099 if (project == null) { 12188 if (project == null) {
12100 throw new core.ArgumentError("Parameter project is required."); 12189 throw new core.ArgumentError("Parameter project is required.");
12101 } 12190 }
12102 if (region == null) { 12191 if (urlMap == null) {
12103 throw new core.ArgumentError("Parameter region is required."); 12192 throw new core.ArgumentError("Parameter urlMap is required.");
12104 }
12105 if (vpnTunnel == null) {
12106 throw new core.ArgumentError("Parameter vpnTunnel is required.");
12107 } 12193 }
12108 12194
12109 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/vpnTunnels/' + commons.Escaper.ecapeVariable(' $vpnTunnel'); 12195 _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + comm ons.Escaper.ecapeVariable('$urlMap');
12110 12196
12111 var _response = _requester.request(_url, 12197 var _response = _requester.request(_url,
12112 "DELETE", 12198 "DELETE",
12113 body: _body, 12199 body: _body,
12114 queryParams: _queryParams, 12200 queryParams: _queryParams,
12115 uploadOptions: _uploadOptions, 12201 uploadOptions: _uploadOptions,
12116 uploadMedia: _uploadMedia, 12202 uploadMedia: _uploadMedia,
12117 downloadOptions: _downloadOptions); 12203 downloadOptions: _downloadOptions);
12118 return _response.then((data) => new Operation.fromJson(data)); 12204 return _response.then((data) => new Operation.fromJson(data));
12119 } 12205 }
12120 12206
12121 /** 12207 /**
12122 * Returns the specified VpnTunnel resource. Get a list of available VPN 12208 * Returns the specified UrlMap resource. Get a list of available URL maps by
12123 * tunnels by making a list() request. 12209 * making a list() request.
12124 * 12210 *
12125 * Request parameters: 12211 * Request parameters:
12126 * 12212 *
12127 * [project] - Project ID for this request. 12213 * [project] - Project ID for this request.
12128 * Value must have pattern 12214 * Value must have pattern
12129 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 12215 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
12130 * 12216 *
12131 * [region] - Name of the region for this request. 12217 * [urlMap] - Name of the UrlMap resource to return.
12132 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 12218 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12133 * 12219 *
12134 * [vpnTunnel] - Name of the VpnTunnel resource to return. 12220 * Completes with a [UrlMap].
12135 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12136 *
12137 * Completes with a [VpnTunnel].
12138 * 12221 *
12139 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 12222 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
12140 * error. 12223 * error.
12141 * 12224 *
12142 * If the used [http.Client] completes with an error when making a REST call, 12225 * If the used [http.Client] completes with an error when making a REST call,
12143 * this method will complete with the same error. 12226 * this method will complete with the same error.
12144 */ 12227 */
12145 async.Future<VpnTunnel> get(core.String project, core.String region, core.Stri ng vpnTunnel) { 12228 async.Future<UrlMap> get(core.String project, core.String urlMap) {
12146 var _url = null; 12229 var _url = null;
12147 var _queryParams = new core.Map(); 12230 var _queryParams = new core.Map();
12148 var _uploadMedia = null; 12231 var _uploadMedia = null;
12149 var _uploadOptions = null; 12232 var _uploadOptions = null;
12150 var _downloadOptions = commons.DownloadOptions.Metadata; 12233 var _downloadOptions = commons.DownloadOptions.Metadata;
12151 var _body = null; 12234 var _body = null;
12152 12235
12153 if (project == null) { 12236 if (project == null) {
12154 throw new core.ArgumentError("Parameter project is required."); 12237 throw new core.ArgumentError("Parameter project is required.");
12155 } 12238 }
12156 if (region == null) { 12239 if (urlMap == null) {
12157 throw new core.ArgumentError("Parameter region is required."); 12240 throw new core.ArgumentError("Parameter urlMap is required.");
12158 }
12159 if (vpnTunnel == null) {
12160 throw new core.ArgumentError("Parameter vpnTunnel is required.");
12161 } 12241 }
12162 12242
12163 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/vpnTunnels/' + commons.Escaper.ecapeVariable(' $vpnTunnel'); 12243 _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + comm ons.Escaper.ecapeVariable('$urlMap');
12164 12244
12165 var _response = _requester.request(_url, 12245 var _response = _requester.request(_url,
12166 "GET", 12246 "GET",
12167 body: _body, 12247 body: _body,
12168 queryParams: _queryParams, 12248 queryParams: _queryParams,
12169 uploadOptions: _uploadOptions, 12249 uploadOptions: _uploadOptions,
12170 uploadMedia: _uploadMedia, 12250 uploadMedia: _uploadMedia,
12171 downloadOptions: _downloadOptions); 12251 downloadOptions: _downloadOptions);
12172 return _response.then((data) => new VpnTunnel.fromJson(data)); 12252 return _response.then((data) => new UrlMap.fromJson(data));
12173 } 12253 }
12174 12254
12175 /** 12255 /**
12176 * Creates a VpnTunnel resource in the specified project and region using the 12256 * Creates a UrlMap resource in the specified project using the data included
12177 * data included in the request. 12257 * in the request.
12178 * 12258 *
12179 * [request] - The metadata request object. 12259 * [request] - The metadata request object.
12180 * 12260 *
12181 * Request parameters: 12261 * Request parameters:
12182 * 12262 *
12183 * [project] - Project ID for this request. 12263 * [project] - Project ID for this request.
12184 * Value must have pattern 12264 * Value must have pattern
12185 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 12265 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
12186 * 12266 *
12187 * [region] - Name of the region for this request.
12188 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12189 *
12190 * Completes with a [Operation]. 12267 * Completes with a [Operation].
12191 * 12268 *
12192 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 12269 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
12193 * error. 12270 * error.
12194 * 12271 *
12195 * If the used [http.Client] completes with an error when making a REST call, 12272 * If the used [http.Client] completes with an error when making a REST call,
12196 * this method will complete with the same error. 12273 * this method will complete with the same error.
12197 */ 12274 */
12198 async.Future<Operation> insert(VpnTunnel request, core.String project, core.St ring region) { 12275 async.Future<Operation> insert(UrlMap request, core.String project) {
12199 var _url = null; 12276 var _url = null;
12200 var _queryParams = new core.Map(); 12277 var _queryParams = new core.Map();
12201 var _uploadMedia = null; 12278 var _uploadMedia = null;
12202 var _uploadOptions = null; 12279 var _uploadOptions = null;
12203 var _downloadOptions = commons.DownloadOptions.Metadata; 12280 var _downloadOptions = commons.DownloadOptions.Metadata;
12204 var _body = null; 12281 var _body = null;
12205 12282
12206 if (request != null) { 12283 if (request != null) {
12207 _body = convert.JSON.encode((request).toJson()); 12284 _body = convert.JSON.encode((request).toJson());
12208 } 12285 }
12209 if (project == null) { 12286 if (project == null) {
12210 throw new core.ArgumentError("Parameter project is required."); 12287 throw new core.ArgumentError("Parameter project is required.");
12211 } 12288 }
12212 if (region == null) {
12213 throw new core.ArgumentError("Parameter region is required.");
12214 }
12215 12289
12216 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/vpnTunnels'; 12290 _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps';
12217 12291
12218 var _response = _requester.request(_url, 12292 var _response = _requester.request(_url,
12219 "POST", 12293 "POST",
12220 body: _body, 12294 body: _body,
12221 queryParams: _queryParams, 12295 queryParams: _queryParams,
12222 uploadOptions: _uploadOptions, 12296 uploadOptions: _uploadOptions,
12223 uploadMedia: _uploadMedia, 12297 uploadMedia: _uploadMedia,
12224 downloadOptions: _downloadOptions); 12298 downloadOptions: _downloadOptions);
12225 return _response.then((data) => new Operation.fromJson(data)); 12299 return _response.then((data) => new Operation.fromJson(data));
12226 } 12300 }
12227 12301
12228 /** 12302 /**
12229 * Retrieves a list of VpnTunnel resources contained in the specified project 12303 * Retrieves the list of UrlMap resources available to the specified project.
12230 * and region.
12231 * 12304 *
12232 * Request parameters: 12305 * Request parameters:
12233 * 12306 *
12234 * [project] - Project ID for this request. 12307 * [project] - Project ID for this request.
12235 * Value must have pattern 12308 * Value must have pattern
12236 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 12309 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
12237 * 12310 *
12238 * [region] - Name of the region for this request.
12239 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12240 *
12241 * [filter] - Sets a filter expression for filtering listed resources, in the 12311 * [filter] - Sets a filter expression for filtering listed resources, in the
12242 * form filter={expression}. Your {expression} must be in the format: 12312 * form filter={expression}. Your {expression} must be in the format:
12243 * field_name comparison_string literal_string. 12313 * field_name comparison_string literal_string.
12244 * 12314 *
12245 * The field_name is the name of the field you want to compare. Only atomic 12315 * The field_name is the name of the field you want to compare. Only atomic
12246 * field types are supported (string, number, boolean). The comparison_string 12316 * field types are supported (string, number, boolean). The comparison_string
12247 * must be either eq (equals) or ne (not equals). The literal_string is the 12317 * must be either eq (equals) or ne (not equals). The literal_string is the
12248 * string value to filter to. The literal value must be valid for the type of 12318 * string value to filter to. The literal value must be valid for the type of
12249 * field you are filtering by (string, number, boolean). For string fields, 12319 * field you are filtering by (string, number, boolean). For string fields,
12250 * the literal value is interpreted as a regular expression using RE2 syntax. 12320 * the literal value is interpreted as a regular expression using RE2 syntax.
(...skipping 17 matching lines...) Expand all
12268 * [maxResults] - The maximum number of results per page that should be 12338 * [maxResults] - The maximum number of results per page that should be
12269 * returned. If the number of available results is larger than maxResults, 12339 * returned. If the number of available results is larger than maxResults,
12270 * Compute Engine returns a nextPageToken that can be used to get the next 12340 * Compute Engine returns a nextPageToken that can be used to get the next
12271 * page of results in subsequent list requests. 12341 * page of results in subsequent list requests.
12272 * Value must be between "0" and "500". 12342 * Value must be between "0" and "500".
12273 * 12343 *
12274 * [pageToken] - Specifies a page token to use. Set pageToken to the 12344 * [pageToken] - Specifies a page token to use. Set pageToken to the
12275 * nextPageToken returned by a previous list request to get the next page of 12345 * nextPageToken returned by a previous list request to get the next page of
12276 * results. 12346 * results.
12277 * 12347 *
12278 * Completes with a [VpnTunnelList]. 12348 * Completes with a [UrlMapList].
12279 * 12349 *
12280 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 12350 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
12281 * error. 12351 * error.
12282 * 12352 *
12283 * If the used [http.Client] completes with an error when making a REST call, 12353 * If the used [http.Client] completes with an error when making a REST call,
12284 * this method will complete with the same error. 12354 * this method will complete with the same error.
12285 */ 12355 */
12286 async.Future<VpnTunnelList> list(core.String project, core.String region, {cor e.String filter, core.int maxResults, core.String pageToken}) { 12356 async.Future<UrlMapList> list(core.String project, {core.String filter, core.i nt maxResults, core.String pageToken}) {
12287 var _url = null; 12357 var _url = null;
12288 var _queryParams = new core.Map(); 12358 var _queryParams = new core.Map();
12289 var _uploadMedia = null; 12359 var _uploadMedia = null;
12290 var _uploadOptions = null; 12360 var _uploadOptions = null;
12291 var _downloadOptions = commons.DownloadOptions.Metadata; 12361 var _downloadOptions = commons.DownloadOptions.Metadata;
12292 var _body = null; 12362 var _body = null;
12293 12363
12294 if (project == null) { 12364 if (project == null) {
12295 throw new core.ArgumentError("Parameter project is required."); 12365 throw new core.ArgumentError("Parameter project is required.");
12296 } 12366 }
12297 if (region == null) {
12298 throw new core.ArgumentError("Parameter region is required.");
12299 }
12300 if (filter != null) { 12367 if (filter != null) {
12301 _queryParams["filter"] = [filter]; 12368 _queryParams["filter"] = [filter];
12302 } 12369 }
12303 if (maxResults != null) { 12370 if (maxResults != null) {
12304 _queryParams["maxResults"] = ["${maxResults}"]; 12371 _queryParams["maxResults"] = ["${maxResults}"];
12305 } 12372 }
12306 if (pageToken != null) { 12373 if (pageToken != null) {
12307 _queryParams["pageToken"] = [pageToken]; 12374 _queryParams["pageToken"] = [pageToken];
12308 } 12375 }
12309 12376
12310 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/vpnTunnels'; 12377 _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps';
12311 12378
12312 var _response = _requester.request(_url, 12379 var _response = _requester.request(_url,
12313 "GET", 12380 "GET",
12314 body: _body, 12381 body: _body,
12315 queryParams: _queryParams, 12382 queryParams: _queryParams,
12316 uploadOptions: _uploadOptions, 12383 uploadOptions: _uploadOptions,
12317 uploadMedia: _uploadMedia, 12384 uploadMedia: _uploadMedia,
12318 downloadOptions: _downloadOptions); 12385 downloadOptions: _downloadOptions);
12319 return _response.then((data) => new VpnTunnelList.fromJson(data)); 12386 return _response.then((data) => new UrlMapList.fromJson(data));
12320 } 12387 }
12321 12388
12322 }
12323
12324
12325 class ZoneOperationsResourceApi {
12326 final commons.ApiRequester _requester;
12327
12328 ZoneOperationsResourceApi(commons.ApiRequester client) :
12329 _requester = client;
12330
12331 /** 12389 /**
12332 * Deletes the specified zone-specific Operations resource. 12390 * Updates the entire content of the UrlMap resource. This method supports
12391 * patch semantics.
12392 *
12393 * [request] - The metadata request object.
12333 * 12394 *
12334 * Request parameters: 12395 * Request parameters:
12335 * 12396 *
12336 * [project] - Project ID for this request. 12397 * [project] - Project ID for this request.
12337 * Value must have pattern 12398 * Value must have pattern
12338 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 12399 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
12339 * 12400 *
12340 * [zone] - Name of the zone for this request. 12401 * [urlMap] - Name of the UrlMap resource to update.
12341 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 12402 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12342 * 12403 *
12343 * [operation] - Name of the Operations resource to delete. 12404 * Completes with a [Operation].
12344 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12345 * 12405 *
12346 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 12406 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
12347 * error. 12407 * error.
12348 * 12408 *
12349 * If the used [http.Client] completes with an error when making a REST call, 12409 * If the used [http.Client] completes with an error when making a REST call,
12350 * this method will complete with the same error. 12410 * this method will complete with the same error.
12351 */ 12411 */
12352 async.Future delete(core.String project, core.String zone, core.String operati on) { 12412 async.Future<Operation> patch(UrlMap request, core.String project, core.String urlMap) {
12353 var _url = null; 12413 var _url = null;
12354 var _queryParams = new core.Map(); 12414 var _queryParams = new core.Map();
12355 var _uploadMedia = null; 12415 var _uploadMedia = null;
12356 var _uploadOptions = null; 12416 var _uploadOptions = null;
12357 var _downloadOptions = commons.DownloadOptions.Metadata; 12417 var _downloadOptions = commons.DownloadOptions.Metadata;
12358 var _body = null; 12418 var _body = null;
12359 12419
12420 if (request != null) {
12421 _body = convert.JSON.encode((request).toJson());
12422 }
12360 if (project == null) { 12423 if (project == null) {
12361 throw new core.ArgumentError("Parameter project is required."); 12424 throw new core.ArgumentError("Parameter project is required.");
12362 } 12425 }
12363 if (zone == null) { 12426 if (urlMap == null) {
12364 throw new core.ArgumentError("Parameter zone is required."); 12427 throw new core.ArgumentError("Parameter urlMap is required.");
12365 }
12366 if (operation == null) {
12367 throw new core.ArgumentError("Parameter operation is required.");
12368 } 12428 }
12369 12429
12370 _downloadOptions = null; 12430 _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + comm ons.Escaper.ecapeVariable('$urlMap');
12371
12372 _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escap er.ecapeVariable('$zone') + '/operations/' + commons.Escaper.ecapeVariable('$ope ration');
12373 12431
12374 var _response = _requester.request(_url, 12432 var _response = _requester.request(_url,
12375 "DELETE", 12433 "PATCH",
12376 body: _body, 12434 body: _body,
12377 queryParams: _queryParams, 12435 queryParams: _queryParams,
12378 uploadOptions: _uploadOptions, 12436 uploadOptions: _uploadOptions,
12379 uploadMedia: _uploadMedia, 12437 uploadMedia: _uploadMedia,
12380 downloadOptions: _downloadOptions); 12438 downloadOptions: _downloadOptions);
12381 return _response.then((data) => null); 12439 return _response.then((data) => new Operation.fromJson(data));
12382 } 12440 }
12383 12441
12384 /** 12442 /**
12385 * Retrieves the specified zone-specific Operations resource. 12443 * Updates the entire content of the UrlMap resource.
12444 *
12445 * [request] - The metadata request object.
12386 * 12446 *
12387 * Request parameters: 12447 * Request parameters:
12388 * 12448 *
12389 * [project] - Project ID for this request. 12449 * [project] - Project ID for this request.
12390 * Value must have pattern 12450 * Value must have pattern
12391 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 12451 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
12392 * 12452 *
12393 * [zone] - Name of the zone for this request. 12453 * [urlMap] - Name of the UrlMap resource to update.
12394 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12395 *
12396 * [operation] - Name of the Operations resource to return.
12397 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 12454 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12398 * 12455 *
12399 * Completes with a [Operation]. 12456 * Completes with a [Operation].
12400 * 12457 *
12401 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 12458 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
12402 * error. 12459 * error.
12403 * 12460 *
12404 * If the used [http.Client] completes with an error when making a REST call, 12461 * If the used [http.Client] completes with an error when making a REST call,
12405 * this method will complete with the same error. 12462 * this method will complete with the same error.
12406 */ 12463 */
12407 async.Future<Operation> get(core.String project, core.String zone, core.String operation) { 12464 async.Future<Operation> update(UrlMap request, core.String project, core.Strin g urlMap) {
12408 var _url = null; 12465 var _url = null;
12409 var _queryParams = new core.Map(); 12466 var _queryParams = new core.Map();
12410 var _uploadMedia = null; 12467 var _uploadMedia = null;
12411 var _uploadOptions = null; 12468 var _uploadOptions = null;
12412 var _downloadOptions = commons.DownloadOptions.Metadata; 12469 var _downloadOptions = commons.DownloadOptions.Metadata;
12413 var _body = null; 12470 var _body = null;
12414 12471
12472 if (request != null) {
12473 _body = convert.JSON.encode((request).toJson());
12474 }
12415 if (project == null) { 12475 if (project == null) {
12416 throw new core.ArgumentError("Parameter project is required."); 12476 throw new core.ArgumentError("Parameter project is required.");
12417 } 12477 }
12418 if (zone == null) { 12478 if (urlMap == null) {
12419 throw new core.ArgumentError("Parameter zone is required."); 12479 throw new core.ArgumentError("Parameter urlMap is required.");
12420 }
12421 if (operation == null) {
12422 throw new core.ArgumentError("Parameter operation is required.");
12423 } 12480 }
12424 12481
12425 _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escap er.ecapeVariable('$zone') + '/operations/' + commons.Escaper.ecapeVariable('$ope ration'); 12482 _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + comm ons.Escaper.ecapeVariable('$urlMap');
12426 12483
12427 var _response = _requester.request(_url, 12484 var _response = _requester.request(_url,
12428 "GET", 12485 "PUT",
12429 body: _body, 12486 body: _body,
12430 queryParams: _queryParams, 12487 queryParams: _queryParams,
12431 uploadOptions: _uploadOptions, 12488 uploadOptions: _uploadOptions,
12432 uploadMedia: _uploadMedia, 12489 uploadMedia: _uploadMedia,
12433 downloadOptions: _downloadOptions); 12490 downloadOptions: _downloadOptions);
12434 return _response.then((data) => new Operation.fromJson(data)); 12491 return _response.then((data) => new Operation.fromJson(data));
12435 } 12492 }
12436 12493
12437 /** 12494 /**
12438 * Retrieves a list of Operation resources contained within the specified 12495 * Runs static validation for the UrlMap. In particular, the tests of the
12439 * zone. 12496 * provided UrlMap will be run. Calling this method does NOT create the
12497 * UrlMap.
12498 *
12499 * [request] - The metadata request object.
12440 * 12500 *
12441 * Request parameters: 12501 * Request parameters:
12442 * 12502 *
12443 * [project] - Project ID for this request. 12503 * [project] - Project ID for this request.
12444 * Value must have pattern 12504 * Value must have pattern
12445 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 12505 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
12446 * 12506 *
12447 * [zone] - Name of the zone for request. 12507 * [urlMap] - Name of the UrlMap resource to be validated as.
12448 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 12508 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12449 * 12509 *
12510 * Completes with a [UrlMapsValidateResponse].
12511 *
12512 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
12513 * error.
12514 *
12515 * If the used [http.Client] completes with an error when making a REST call,
12516 * this method will complete with the same error.
12517 */
12518 async.Future<UrlMapsValidateResponse> validate(UrlMapsValidateRequest request, core.String project, core.String urlMap) {
12519 var _url = null;
12520 var _queryParams = new core.Map();
12521 var _uploadMedia = null;
12522 var _uploadOptions = null;
12523 var _downloadOptions = commons.DownloadOptions.Metadata;
12524 var _body = null;
12525
12526 if (request != null) {
12527 _body = convert.JSON.encode((request).toJson());
12528 }
12529 if (project == null) {
12530 throw new core.ArgumentError("Parameter project is required.");
12531 }
12532 if (urlMap == null) {
12533 throw new core.ArgumentError("Parameter urlMap is required.");
12534 }
12535
12536 _url = commons.Escaper.ecapeVariable('$project') + '/global/urlMaps/' + comm ons.Escaper.ecapeVariable('$urlMap') + '/validate';
12537
12538 var _response = _requester.request(_url,
12539 "POST",
12540 body: _body,
12541 queryParams: _queryParams,
12542 uploadOptions: _uploadOptions,
12543 uploadMedia: _uploadMedia,
12544 downloadOptions: _downloadOptions);
12545 return _response.then((data) => new UrlMapsValidateResponse.fromJson(data));
12546 }
12547
12548 }
12549
12550
12551 class VpnTunnelsResourceApi {
12552 final commons.ApiRequester _requester;
12553
12554 VpnTunnelsResourceApi(commons.ApiRequester client) :
12555 _requester = client;
12556
12557 /**
12558 * Retrieves an aggregated list of VPN tunnels.
12559 *
12560 * Request parameters:
12561 *
12562 * [project] - Project ID for this request.
12563 * Value must have pattern
12564 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
12565 *
12450 * [filter] - Sets a filter expression for filtering listed resources, in the 12566 * [filter] - Sets a filter expression for filtering listed resources, in the
12451 * form filter={expression}. Your {expression} must be in the format: 12567 * form filter={expression}. Your {expression} must be in the format:
12452 * field_name comparison_string literal_string. 12568 * field_name comparison_string literal_string.
12453 * 12569 *
12454 * The field_name is the name of the field you want to compare. Only atomic 12570 * The field_name is the name of the field you want to compare. Only atomic
12455 * field types are supported (string, number, boolean). The comparison_string 12571 * field types are supported (string, number, boolean). The comparison_string
12456 * must be either eq (equals) or ne (not equals). The literal_string is the 12572 * must be either eq (equals) or ne (not equals). The literal_string is the
12457 * string value to filter to. The literal value must be valid for the type of 12573 * string value to filter to. The literal value must be valid for the type of
12458 * field you are filtering by (string, number, boolean). For string fields, 12574 * field you are filtering by (string, number, boolean). For string fields,
12459 * the literal value is interpreted as a regular expression using RE2 syntax. 12575 * the literal value is interpreted as a regular expression using RE2 syntax.
(...skipping 17 matching lines...) Expand all
12477 * [maxResults] - The maximum number of results per page that should be 12593 * [maxResults] - The maximum number of results per page that should be
12478 * returned. If the number of available results is larger than maxResults, 12594 * returned. If the number of available results is larger than maxResults,
12479 * Compute Engine returns a nextPageToken that can be used to get the next 12595 * Compute Engine returns a nextPageToken that can be used to get the next
12480 * page of results in subsequent list requests. 12596 * page of results in subsequent list requests.
12481 * Value must be between "0" and "500". 12597 * Value must be between "0" and "500".
12482 * 12598 *
12483 * [pageToken] - Specifies a page token to use. Set pageToken to the 12599 * [pageToken] - Specifies a page token to use. Set pageToken to the
12484 * nextPageToken returned by a previous list request to get the next page of 12600 * nextPageToken returned by a previous list request to get the next page of
12485 * results. 12601 * results.
12486 * 12602 *
12487 * Completes with a [OperationList]. 12603 * Completes with a [VpnTunnelAggregatedList].
12488 * 12604 *
12489 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 12605 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
12490 * error. 12606 * error.
12491 * 12607 *
12492 * If the used [http.Client] completes with an error when making a REST call, 12608 * If the used [http.Client] completes with an error when making a REST call,
12493 * this method will complete with the same error. 12609 * this method will complete with the same error.
12494 */ 12610 */
12495 async.Future<OperationList> list(core.String project, core.String zone, {core. String filter, core.int maxResults, core.String pageToken}) { 12611 async.Future<VpnTunnelAggregatedList> aggregatedList(core.String project, {cor e.String filter, core.int maxResults, core.String pageToken}) {
12496 var _url = null; 12612 var _url = null;
12497 var _queryParams = new core.Map(); 12613 var _queryParams = new core.Map();
12498 var _uploadMedia = null; 12614 var _uploadMedia = null;
12499 var _uploadOptions = null; 12615 var _uploadOptions = null;
12500 var _downloadOptions = commons.DownloadOptions.Metadata; 12616 var _downloadOptions = commons.DownloadOptions.Metadata;
12501 var _body = null; 12617 var _body = null;
12502 12618
12503 if (project == null) { 12619 if (project == null) {
12504 throw new core.ArgumentError("Parameter project is required."); 12620 throw new core.ArgumentError("Parameter project is required.");
12505 } 12621 }
12506 if (zone == null) {
12507 throw new core.ArgumentError("Parameter zone is required.");
12508 }
12509 if (filter != null) { 12622 if (filter != null) {
12510 _queryParams["filter"] = [filter]; 12623 _queryParams["filter"] = [filter];
12511 } 12624 }
12512 if (maxResults != null) { 12625 if (maxResults != null) {
12513 _queryParams["maxResults"] = ["${maxResults}"]; 12626 _queryParams["maxResults"] = ["${maxResults}"];
12514 } 12627 }
12515 if (pageToken != null) { 12628 if (pageToken != null) {
12516 _queryParams["pageToken"] = [pageToken]; 12629 _queryParams["pageToken"] = [pageToken];
12517 } 12630 }
12518 12631
12519 _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escap er.ecapeVariable('$zone') + '/operations'; 12632 _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/vpnTunnels';
12520 12633
12521 var _response = _requester.request(_url, 12634 var _response = _requester.request(_url,
12522 "GET", 12635 "GET",
12523 body: _body, 12636 body: _body,
12524 queryParams: _queryParams, 12637 queryParams: _queryParams,
12525 uploadOptions: _uploadOptions, 12638 uploadOptions: _uploadOptions,
12526 uploadMedia: _uploadMedia, 12639 uploadMedia: _uploadMedia,
12527 downloadOptions: _downloadOptions); 12640 downloadOptions: _downloadOptions);
12528 return _response.then((data) => new OperationList.fromJson(data)); 12641 return _response.then((data) => new VpnTunnelAggregatedList.fromJson(data));
12529 } 12642 }
12530 12643
12531 }
12532
12533
12534 class ZonesResourceApi {
12535 final commons.ApiRequester _requester;
12536
12537 ZonesResourceApi(commons.ApiRequester client) :
12538 _requester = client;
12539
12540 /** 12644 /**
12541 * Returns the specified Zone resource. Get a list of available zones by 12645 * Deletes the specified VpnTunnel resource.
12542 * making a list() request.
12543 * 12646 *
12544 * Request parameters: 12647 * Request parameters:
12545 * 12648 *
12546 * [project] - Project ID for this request. 12649 * [project] - Project ID for this request.
12547 * Value must have pattern 12650 * Value must have pattern
12548 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 12651 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
12549 * 12652 *
12550 * [zone] - Name of the zone resource to return. 12653 * [region] - Name of the region for this request.
12551 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?". 12654 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12552 * 12655 *
12553 * Completes with a [Zone]. 12656 * [vpnTunnel] - Name of the VpnTunnel resource to delete.
12657 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12658 *
12659 * Completes with a [Operation].
12554 * 12660 *
12555 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 12661 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
12556 * error. 12662 * error.
12557 * 12663 *
12558 * If the used [http.Client] completes with an error when making a REST call, 12664 * If the used [http.Client] completes with an error when making a REST call,
12559 * this method will complete with the same error. 12665 * this method will complete with the same error.
12560 */ 12666 */
12561 async.Future<Zone> get(core.String project, core.String zone) { 12667 async.Future<Operation> delete(core.String project, core.String region, core.S tring vpnTunnel) {
12562 var _url = null; 12668 var _url = null;
12563 var _queryParams = new core.Map(); 12669 var _queryParams = new core.Map();
12564 var _uploadMedia = null; 12670 var _uploadMedia = null;
12565 var _uploadOptions = null; 12671 var _uploadOptions = null;
12566 var _downloadOptions = commons.DownloadOptions.Metadata; 12672 var _downloadOptions = commons.DownloadOptions.Metadata;
12567 var _body = null; 12673 var _body = null;
12568 12674
12569 if (project == null) { 12675 if (project == null) {
12570 throw new core.ArgumentError("Parameter project is required."); 12676 throw new core.ArgumentError("Parameter project is required.");
12571 } 12677 }
12572 if (zone == null) { 12678 if (region == null) {
12573 throw new core.ArgumentError("Parameter zone is required."); 12679 throw new core.ArgumentError("Parameter region is required.");
12680 }
12681 if (vpnTunnel == null) {
12682 throw new core.ArgumentError("Parameter vpnTunnel is required.");
12574 } 12683 }
12575 12684
12576 _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escap er.ecapeVariable('$zone'); 12685 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/vpnTunnels/' + commons.Escaper.ecapeVariable(' $vpnTunnel');
12577 12686
12578 var _response = _requester.request(_url, 12687 var _response = _requester.request(_url,
12579 "GET", 12688 "DELETE",
12580 body: _body, 12689 body: _body,
12581 queryParams: _queryParams, 12690 queryParams: _queryParams,
12582 uploadOptions: _uploadOptions, 12691 uploadOptions: _uploadOptions,
12583 uploadMedia: _uploadMedia, 12692 uploadMedia: _uploadMedia,
12584 downloadOptions: _downloadOptions); 12693 downloadOptions: _downloadOptions);
12585 return _response.then((data) => new Zone.fromJson(data)); 12694 return _response.then((data) => new Operation.fromJson(data));
12586 } 12695 }
12587 12696
12588 /** 12697 /**
12589 * Retrieves the list of Zone resources available to the specified project. 12698 * Returns the specified VpnTunnel resource. Get a list of available VPN
12699 * tunnels by making a list() request.
12590 * 12700 *
12591 * Request parameters: 12701 * Request parameters:
12592 * 12702 *
12593 * [project] - Project ID for this request. 12703 * [project] - Project ID for this request.
12594 * Value must have pattern 12704 * Value must have pattern
12595 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))". 12705 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
12596 * 12706 *
12707 * [region] - Name of the region for this request.
12708 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12709 *
12710 * [vpnTunnel] - Name of the VpnTunnel resource to return.
12711 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12712 *
12713 * Completes with a [VpnTunnel].
12714 *
12715 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
12716 * error.
12717 *
12718 * If the used [http.Client] completes with an error when making a REST call,
12719 * this method will complete with the same error.
12720 */
12721 async.Future<VpnTunnel> get(core.String project, core.String region, core.Stri ng vpnTunnel) {
12722 var _url = null;
12723 var _queryParams = new core.Map();
12724 var _uploadMedia = null;
12725 var _uploadOptions = null;
12726 var _downloadOptions = commons.DownloadOptions.Metadata;
12727 var _body = null;
12728
12729 if (project == null) {
12730 throw new core.ArgumentError("Parameter project is required.");
12731 }
12732 if (region == null) {
12733 throw new core.ArgumentError("Parameter region is required.");
12734 }
12735 if (vpnTunnel == null) {
12736 throw new core.ArgumentError("Parameter vpnTunnel is required.");
12737 }
12738
12739 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/vpnTunnels/' + commons.Escaper.ecapeVariable(' $vpnTunnel');
12740
12741 var _response = _requester.request(_url,
12742 "GET",
12743 body: _body,
12744 queryParams: _queryParams,
12745 uploadOptions: _uploadOptions,
12746 uploadMedia: _uploadMedia,
12747 downloadOptions: _downloadOptions);
12748 return _response.then((data) => new VpnTunnel.fromJson(data));
12749 }
12750
12751 /**
12752 * Creates a VpnTunnel resource in the specified project and region using the
12753 * data included in the request.
12754 *
12755 * [request] - The metadata request object.
12756 *
12757 * Request parameters:
12758 *
12759 * [project] - Project ID for this request.
12760 * Value must have pattern
12761 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
12762 *
12763 * [region] - Name of the region for this request.
12764 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12765 *
12766 * Completes with a [Operation].
12767 *
12768 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
12769 * error.
12770 *
12771 * If the used [http.Client] completes with an error when making a REST call,
12772 * this method will complete with the same error.
12773 */
12774 async.Future<Operation> insert(VpnTunnel request, core.String project, core.St ring region) {
12775 var _url = null;
12776 var _queryParams = new core.Map();
12777 var _uploadMedia = null;
12778 var _uploadOptions = null;
12779 var _downloadOptions = commons.DownloadOptions.Metadata;
12780 var _body = null;
12781
12782 if (request != null) {
12783 _body = convert.JSON.encode((request).toJson());
12784 }
12785 if (project == null) {
12786 throw new core.ArgumentError("Parameter project is required.");
12787 }
12788 if (region == null) {
12789 throw new core.ArgumentError("Parameter region is required.");
12790 }
12791
12792 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/vpnTunnels';
12793
12794 var _response = _requester.request(_url,
12795 "POST",
12796 body: _body,
12797 queryParams: _queryParams,
12798 uploadOptions: _uploadOptions,
12799 uploadMedia: _uploadMedia,
12800 downloadOptions: _downloadOptions);
12801 return _response.then((data) => new Operation.fromJson(data));
12802 }
12803
12804 /**
12805 * Retrieves a list of VpnTunnel resources contained in the specified project
12806 * and region.
12807 *
12808 * Request parameters:
12809 *
12810 * [project] - Project ID for this request.
12811 * Value must have pattern
12812 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
12813 *
12814 * [region] - Name of the region for this request.
12815 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12816 *
12597 * [filter] - Sets a filter expression for filtering listed resources, in the 12817 * [filter] - Sets a filter expression for filtering listed resources, in the
12598 * form filter={expression}. Your {expression} must be in the format: 12818 * form filter={expression}. Your {expression} must be in the format:
12599 * field_name comparison_string literal_string. 12819 * field_name comparison_string literal_string.
12600 * 12820 *
12601 * The field_name is the name of the field you want to compare. Only atomic 12821 * The field_name is the name of the field you want to compare. Only atomic
12602 * field types are supported (string, number, boolean). The comparison_string 12822 * field types are supported (string, number, boolean). The comparison_string
12603 * must be either eq (equals) or ne (not equals). The literal_string is the 12823 * must be either eq (equals) or ne (not equals). The literal_string is the
12604 * string value to filter to. The literal value must be valid for the type of 12824 * string value to filter to. The literal value must be valid for the type of
12605 * field you are filtering by (string, number, boolean). For string fields, 12825 * field you are filtering by (string, number, boolean). For string fields,
12606 * the literal value is interpreted as a regular expression using RE2 syntax. 12826 * the literal value is interpreted as a regular expression using RE2 syntax.
(...skipping 17 matching lines...) Expand all
12624 * [maxResults] - The maximum number of results per page that should be 12844 * [maxResults] - The maximum number of results per page that should be
12625 * returned. If the number of available results is larger than maxResults, 12845 * returned. If the number of available results is larger than maxResults,
12626 * Compute Engine returns a nextPageToken that can be used to get the next 12846 * Compute Engine returns a nextPageToken that can be used to get the next
12627 * page of results in subsequent list requests. 12847 * page of results in subsequent list requests.
12628 * Value must be between "0" and "500". 12848 * Value must be between "0" and "500".
12629 * 12849 *
12630 * [pageToken] - Specifies a page token to use. Set pageToken to the 12850 * [pageToken] - Specifies a page token to use. Set pageToken to the
12631 * nextPageToken returned by a previous list request to get the next page of 12851 * nextPageToken returned by a previous list request to get the next page of
12632 * results. 12852 * results.
12633 * 12853 *
12634 * Completes with a [ZoneList]. 12854 * Completes with a [VpnTunnelList].
12635 * 12855 *
12636 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 12856 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
12637 * error. 12857 * error.
12638 * 12858 *
12639 * If the used [http.Client] completes with an error when making a REST call, 12859 * If the used [http.Client] completes with an error when making a REST call,
12640 * this method will complete with the same error. 12860 * this method will complete with the same error.
12641 */ 12861 */
12642 async.Future<ZoneList> list(core.String project, {core.String filter, core.int maxResults, core.String pageToken}) { 12862 async.Future<VpnTunnelList> list(core.String project, core.String region, {cor e.String filter, core.int maxResults, core.String pageToken}) {
12643 var _url = null; 12863 var _url = null;
12644 var _queryParams = new core.Map(); 12864 var _queryParams = new core.Map();
12645 var _uploadMedia = null; 12865 var _uploadMedia = null;
12646 var _uploadOptions = null; 12866 var _uploadOptions = null;
12647 var _downloadOptions = commons.DownloadOptions.Metadata; 12867 var _downloadOptions = commons.DownloadOptions.Metadata;
12648 var _body = null; 12868 var _body = null;
12649 12869
12650 if (project == null) { 12870 if (project == null) {
12651 throw new core.ArgumentError("Parameter project is required."); 12871 throw new core.ArgumentError("Parameter project is required.");
12652 } 12872 }
12873 if (region == null) {
12874 throw new core.ArgumentError("Parameter region is required.");
12875 }
12653 if (filter != null) { 12876 if (filter != null) {
12654 _queryParams["filter"] = [filter]; 12877 _queryParams["filter"] = [filter];
12655 } 12878 }
12656 if (maxResults != null) { 12879 if (maxResults != null) {
12657 _queryParams["maxResults"] = ["${maxResults}"]; 12880 _queryParams["maxResults"] = ["${maxResults}"];
12658 } 12881 }
12659 if (pageToken != null) { 12882 if (pageToken != null) {
12660 _queryParams["pageToken"] = [pageToken]; 12883 _queryParams["pageToken"] = [pageToken];
12661 } 12884 }
12662 12885
12663 _url = commons.Escaper.ecapeVariable('$project') + '/zones'; 12886 _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Esc aper.ecapeVariable('$region') + '/vpnTunnels';
12664 12887
12665 var _response = _requester.request(_url, 12888 var _response = _requester.request(_url,
12666 "GET", 12889 "GET",
12667 body: _body, 12890 body: _body,
12668 queryParams: _queryParams, 12891 queryParams: _queryParams,
12669 uploadOptions: _uploadOptions, 12892 uploadOptions: _uploadOptions,
12670 uploadMedia: _uploadMedia, 12893 uploadMedia: _uploadMedia,
12671 downloadOptions: _downloadOptions); 12894 downloadOptions: _downloadOptions);
12895 return _response.then((data) => new VpnTunnelList.fromJson(data));
12896 }
12897
12898 }
12899
12900
12901 class ZoneOperationsResourceApi {
12902 final commons.ApiRequester _requester;
12903
12904 ZoneOperationsResourceApi(commons.ApiRequester client) :
12905 _requester = client;
12906
12907 /**
12908 * Deletes the specified zone-specific Operations resource.
12909 *
12910 * Request parameters:
12911 *
12912 * [project] - Project ID for this request.
12913 * Value must have pattern
12914 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
12915 *
12916 * [zone] - Name of the zone for this request.
12917 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12918 *
12919 * [operation] - Name of the Operations resource to delete.
12920 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12921 *
12922 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
12923 * error.
12924 *
12925 * If the used [http.Client] completes with an error when making a REST call,
12926 * this method will complete with the same error.
12927 */
12928 async.Future delete(core.String project, core.String zone, core.String operati on) {
12929 var _url = null;
12930 var _queryParams = new core.Map();
12931 var _uploadMedia = null;
12932 var _uploadOptions = null;
12933 var _downloadOptions = commons.DownloadOptions.Metadata;
12934 var _body = null;
12935
12936 if (project == null) {
12937 throw new core.ArgumentError("Parameter project is required.");
12938 }
12939 if (zone == null) {
12940 throw new core.ArgumentError("Parameter zone is required.");
12941 }
12942 if (operation == null) {
12943 throw new core.ArgumentError("Parameter operation is required.");
12944 }
12945
12946 _downloadOptions = null;
12947
12948 _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escap er.ecapeVariable('$zone') + '/operations/' + commons.Escaper.ecapeVariable('$ope ration');
12949
12950 var _response = _requester.request(_url,
12951 "DELETE",
12952 body: _body,
12953 queryParams: _queryParams,
12954 uploadOptions: _uploadOptions,
12955 uploadMedia: _uploadMedia,
12956 downloadOptions: _downloadOptions);
12957 return _response.then((data) => null);
12958 }
12959
12960 /**
12961 * Retrieves the specified zone-specific Operations resource.
12962 *
12963 * Request parameters:
12964 *
12965 * [project] - Project ID for this request.
12966 * Value must have pattern
12967 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
12968 *
12969 * [zone] - Name of the zone for this request.
12970 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12971 *
12972 * [operation] - Name of the Operations resource to return.
12973 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
12974 *
12975 * Completes with a [Operation].
12976 *
12977 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
12978 * error.
12979 *
12980 * If the used [http.Client] completes with an error when making a REST call,
12981 * this method will complete with the same error.
12982 */
12983 async.Future<Operation> get(core.String project, core.String zone, core.String operation) {
12984 var _url = null;
12985 var _queryParams = new core.Map();
12986 var _uploadMedia = null;
12987 var _uploadOptions = null;
12988 var _downloadOptions = commons.DownloadOptions.Metadata;
12989 var _body = null;
12990
12991 if (project == null) {
12992 throw new core.ArgumentError("Parameter project is required.");
12993 }
12994 if (zone == null) {
12995 throw new core.ArgumentError("Parameter zone is required.");
12996 }
12997 if (operation == null) {
12998 throw new core.ArgumentError("Parameter operation is required.");
12999 }
13000
13001 _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escap er.ecapeVariable('$zone') + '/operations/' + commons.Escaper.ecapeVariable('$ope ration');
13002
13003 var _response = _requester.request(_url,
13004 "GET",
13005 body: _body,
13006 queryParams: _queryParams,
13007 uploadOptions: _uploadOptions,
13008 uploadMedia: _uploadMedia,
13009 downloadOptions: _downloadOptions);
13010 return _response.then((data) => new Operation.fromJson(data));
13011 }
13012
13013 /**
13014 * Retrieves a list of Operation resources contained within the specified
13015 * zone.
13016 *
13017 * Request parameters:
13018 *
13019 * [project] - Project ID for this request.
13020 * Value must have pattern
13021 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
13022 *
13023 * [zone] - Name of the zone for request.
13024 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
13025 *
13026 * [filter] - Sets a filter expression for filtering listed resources, in the
13027 * form filter={expression}. Your {expression} must be in the format:
13028 * field_name comparison_string literal_string.
13029 *
13030 * The field_name is the name of the field you want to compare. Only atomic
13031 * field types are supported (string, number, boolean). The comparison_string
13032 * must be either eq (equals) or ne (not equals). The literal_string is the
13033 * string value to filter to. The literal value must be valid for the type of
13034 * field you are filtering by (string, number, boolean). For string fields,
13035 * the literal value is interpreted as a regular expression using RE2 syntax.
13036 * The literal value must match the entire field.
13037 *
13038 * For example, to filter for instances that do not have a name of
13039 * example-instance, you would use filter=name ne example-instance.
13040 *
13041 * Compute Engine Beta API Only: When filtering in the Beta API, you can also
13042 * filter on nested fields. For example, you could filter on instances that
13043 * have set the scheduling.automaticRestart field to true. Use filtering on
13044 * nested fields to take advantage of labels to organize and search for
13045 * results based on label values.
13046 *
13047 * The Beta API also supports filtering on multiple expressions by providing
13048 * each separate expression within parentheses. For example,
13049 * (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple
13050 * expressions are treated as AND expressions, meaning that resources must
13051 * match all expressions to pass the filters.
13052 *
13053 * [maxResults] - The maximum number of results per page that should be
13054 * returned. If the number of available results is larger than maxResults,
13055 * Compute Engine returns a nextPageToken that can be used to get the next
13056 * page of results in subsequent list requests.
13057 * Value must be between "0" and "500".
13058 *
13059 * [pageToken] - Specifies a page token to use. Set pageToken to the
13060 * nextPageToken returned by a previous list request to get the next page of
13061 * results.
13062 *
13063 * Completes with a [OperationList].
13064 *
13065 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
13066 * error.
13067 *
13068 * If the used [http.Client] completes with an error when making a REST call,
13069 * this method will complete with the same error.
13070 */
13071 async.Future<OperationList> list(core.String project, core.String zone, {core. String filter, core.int maxResults, core.String pageToken}) {
13072 var _url = null;
13073 var _queryParams = new core.Map();
13074 var _uploadMedia = null;
13075 var _uploadOptions = null;
13076 var _downloadOptions = commons.DownloadOptions.Metadata;
13077 var _body = null;
13078
13079 if (project == null) {
13080 throw new core.ArgumentError("Parameter project is required.");
13081 }
13082 if (zone == null) {
13083 throw new core.ArgumentError("Parameter zone is required.");
13084 }
13085 if (filter != null) {
13086 _queryParams["filter"] = [filter];
13087 }
13088 if (maxResults != null) {
13089 _queryParams["maxResults"] = ["${maxResults}"];
13090 }
13091 if (pageToken != null) {
13092 _queryParams["pageToken"] = [pageToken];
13093 }
13094
13095 _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escap er.ecapeVariable('$zone') + '/operations';
13096
13097 var _response = _requester.request(_url,
13098 "GET",
13099 body: _body,
13100 queryParams: _queryParams,
13101 uploadOptions: _uploadOptions,
13102 uploadMedia: _uploadMedia,
13103 downloadOptions: _downloadOptions);
13104 return _response.then((data) => new OperationList.fromJson(data));
13105 }
13106
13107 }
13108
13109
13110 class ZonesResourceApi {
13111 final commons.ApiRequester _requester;
13112
13113 ZonesResourceApi(commons.ApiRequester client) :
13114 _requester = client;
13115
13116 /**
13117 * Returns the specified Zone resource. Get a list of available zones by
13118 * making a list() request.
13119 *
13120 * Request parameters:
13121 *
13122 * [project] - Project ID for this request.
13123 * Value must have pattern
13124 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
13125 *
13126 * [zone] - Name of the zone resource to return.
13127 * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
13128 *
13129 * Completes with a [Zone].
13130 *
13131 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
13132 * error.
13133 *
13134 * If the used [http.Client] completes with an error when making a REST call,
13135 * this method will complete with the same error.
13136 */
13137 async.Future<Zone> get(core.String project, core.String zone) {
13138 var _url = null;
13139 var _queryParams = new core.Map();
13140 var _uploadMedia = null;
13141 var _uploadOptions = null;
13142 var _downloadOptions = commons.DownloadOptions.Metadata;
13143 var _body = null;
13144
13145 if (project == null) {
13146 throw new core.ArgumentError("Parameter project is required.");
13147 }
13148 if (zone == null) {
13149 throw new core.ArgumentError("Parameter zone is required.");
13150 }
13151
13152 _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escap er.ecapeVariable('$zone');
13153
13154 var _response = _requester.request(_url,
13155 "GET",
13156 body: _body,
13157 queryParams: _queryParams,
13158 uploadOptions: _uploadOptions,
13159 uploadMedia: _uploadMedia,
13160 downloadOptions: _downloadOptions);
13161 return _response.then((data) => new Zone.fromJson(data));
13162 }
13163
13164 /**
13165 * Retrieves the list of Zone resources available to the specified project.
13166 *
13167 * Request parameters:
13168 *
13169 * [project] - Project ID for this request.
13170 * Value must have pattern
13171 * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{ 1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
13172 *
13173 * [filter] - Sets a filter expression for filtering listed resources, in the
13174 * form filter={expression}. Your {expression} must be in the format:
13175 * field_name comparison_string literal_string.
13176 *
13177 * The field_name is the name of the field you want to compare. Only atomic
13178 * field types are supported (string, number, boolean). The comparison_string
13179 * must be either eq (equals) or ne (not equals). The literal_string is the
13180 * string value to filter to. The literal value must be valid for the type of
13181 * field you are filtering by (string, number, boolean). For string fields,
13182 * the literal value is interpreted as a regular expression using RE2 syntax.
13183 * The literal value must match the entire field.
13184 *
13185 * For example, to filter for instances that do not have a name of
13186 * example-instance, you would use filter=name ne example-instance.
13187 *
13188 * Compute Engine Beta API Only: When filtering in the Beta API, you can also
13189 * filter on nested fields. For example, you could filter on instances that
13190 * have set the scheduling.automaticRestart field to true. Use filtering on
13191 * nested fields to take advantage of labels to organize and search for
13192 * results based on label values.
13193 *
13194 * The Beta API also supports filtering on multiple expressions by providing
13195 * each separate expression within parentheses. For example,
13196 * (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple
13197 * expressions are treated as AND expressions, meaning that resources must
13198 * match all expressions to pass the filters.
13199 *
13200 * [maxResults] - The maximum number of results per page that should be
13201 * returned. If the number of available results is larger than maxResults,
13202 * Compute Engine returns a nextPageToken that can be used to get the next
13203 * page of results in subsequent list requests.
13204 * Value must be between "0" and "500".
13205 *
13206 * [pageToken] - Specifies a page token to use. Set pageToken to the
13207 * nextPageToken returned by a previous list request to get the next page of
13208 * results.
13209 *
13210 * Completes with a [ZoneList].
13211 *
13212 * Completes with a [commons.ApiRequestError] if the API endpoint returned an
13213 * error.
13214 *
13215 * If the used [http.Client] completes with an error when making a REST call,
13216 * this method will complete with the same error.
13217 */
13218 async.Future<ZoneList> list(core.String project, {core.String filter, core.int maxResults, core.String pageToken}) {
13219 var _url = null;
13220 var _queryParams = new core.Map();
13221 var _uploadMedia = null;
13222 var _uploadOptions = null;
13223 var _downloadOptions = commons.DownloadOptions.Metadata;
13224 var _body = null;
13225
13226 if (project == null) {
13227 throw new core.ArgumentError("Parameter project is required.");
13228 }
13229 if (filter != null) {
13230 _queryParams["filter"] = [filter];
13231 }
13232 if (maxResults != null) {
13233 _queryParams["maxResults"] = ["${maxResults}"];
13234 }
13235 if (pageToken != null) {
13236 _queryParams["pageToken"] = [pageToken];
13237 }
13238
13239 _url = commons.Escaper.ecapeVariable('$project') + '/zones';
13240
13241 var _response = _requester.request(_url,
13242 "GET",
13243 body: _body,
13244 queryParams: _queryParams,
13245 uploadOptions: _uploadOptions,
13246 uploadMedia: _uploadMedia,
13247 downloadOptions: _downloadOptions);
12672 return _response.then((data) => new ZoneList.fromJson(data)); 13248 return _response.then((data) => new ZoneList.fromJson(data));
12673 } 13249 }
12674 13250
12675 } 13251 }
12676 13252
12677 13253
12678 13254
12679 /** An access configuration attached to an instance's network interface. */ 13255 /** An access configuration attached to an instance's network interface. */
12680 class AccessConfig { 13256 class AccessConfig {
12681 /** 13257 /**
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
12749 /** 13325 /**
12750 * [Output Only] The unique identifier for the resource. This identifier is 13326 * [Output Only] The unique identifier for the resource. This identifier is
12751 * defined by the server. 13327 * defined by the server.
12752 */ 13328 */
12753 core.String id; 13329 core.String id;
12754 /** 13330 /**
12755 * [Output Only] Type of the resource. Always compute#address for addresses. 13331 * [Output Only] Type of the resource. Always compute#address for addresses.
12756 */ 13332 */
12757 core.String kind; 13333 core.String kind;
12758 /** 13334 /**
13335 * Name of the resource. Provided by the client when the resource is created.
13336 * The name must be 1-63 characters long, and comply with RFC1035.
13337 * Specifically, the name must be 1-63 characters long and match the regular
13338 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
13339 * be a lowercase letter, and all following characters must be a dash,
13340 * lowercase letter, or digit, except the last character, which cannot be a
13341 * dash.
13342 */
13343 core.String name;
13344 /**
13345 * [Output Only] URL of the region where the regional address resides. This
13346 * field is not applicable to global addresses.
13347 */
13348 core.String region;
13349 /** [Output Only] Server-defined URL for the resource. */
13350 core.String selfLink;
13351 /**
13352 * [Output Only] The status of the address, which can be either IN_USE or
13353 * RESERVED. An address that is RESERVED is currently reserved and available
13354 * to use. An IN_USE address is currently being used by another resource and
13355 * is not available.
13356 * Possible string values are:
13357 * - "IN_USE"
13358 * - "RESERVED"
13359 */
13360 core.String status;
13361 /** [Output Only] The URLs of the resources that are using this address. */
13362 core.List<core.String> users;
13363
13364 Address();
13365
13366 Address.fromJson(core.Map _json) {
13367 if (_json.containsKey("address")) {
13368 address = _json["address"];
13369 }
13370 if (_json.containsKey("creationTimestamp")) {
13371 creationTimestamp = _json["creationTimestamp"];
13372 }
13373 if (_json.containsKey("description")) {
13374 description = _json["description"];
13375 }
13376 if (_json.containsKey("id")) {
13377 id = _json["id"];
13378 }
13379 if (_json.containsKey("kind")) {
13380 kind = _json["kind"];
13381 }
13382 if (_json.containsKey("name")) {
13383 name = _json["name"];
13384 }
13385 if (_json.containsKey("region")) {
13386 region = _json["region"];
13387 }
13388 if (_json.containsKey("selfLink")) {
13389 selfLink = _json["selfLink"];
13390 }
13391 if (_json.containsKey("status")) {
13392 status = _json["status"];
13393 }
13394 if (_json.containsKey("users")) {
13395 users = _json["users"];
13396 }
13397 }
13398
13399 core.Map toJson() {
13400 var _json = new core.Map();
13401 if (address != null) {
13402 _json["address"] = address;
13403 }
13404 if (creationTimestamp != null) {
13405 _json["creationTimestamp"] = creationTimestamp;
13406 }
13407 if (description != null) {
13408 _json["description"] = description;
13409 }
13410 if (id != null) {
13411 _json["id"] = id;
13412 }
13413 if (kind != null) {
13414 _json["kind"] = kind;
13415 }
13416 if (name != null) {
13417 _json["name"] = name;
13418 }
13419 if (region != null) {
13420 _json["region"] = region;
13421 }
13422 if (selfLink != null) {
13423 _json["selfLink"] = selfLink;
13424 }
13425 if (status != null) {
13426 _json["status"] = status;
13427 }
13428 if (users != null) {
13429 _json["users"] = users;
13430 }
13431 return _json;
13432 }
13433 }
13434
13435 class AddressAggregatedList {
13436 /**
13437 * [Output Only] Unique identifier for the resource; defined by the server.
13438 */
13439 core.String id;
13440 /** [Output Only] A map of scoped address lists. */
13441 core.Map<core.String, AddressesScopedList> items;
13442 /**
13443 * [Output Only] Type of resource. Always compute#addressAggregatedList for
13444 * aggregated lists of addresses.
13445 */
13446 core.String kind;
13447 /**
13448 * [Output Only] This token allows you to get the next page of results for
13449 * list requests. If the number of results is larger than maxResults, use the
13450 * nextPageToken as a value for the query parameter pageToken in the next list
13451 * request. Subsequent list requests will have their own nextPageToken to
13452 * continue paging through the results.
13453 */
13454 core.String nextPageToken;
13455 /** [Output Only] Server-defined URL for this resource. */
13456 core.String selfLink;
13457
13458 AddressAggregatedList();
13459
13460 AddressAggregatedList.fromJson(core.Map _json) {
13461 if (_json.containsKey("id")) {
13462 id = _json["id"];
13463 }
13464 if (_json.containsKey("items")) {
13465 items = commons.mapMap(_json["items"], (item) => new AddressesScopedList.f romJson(item));
13466 }
13467 if (_json.containsKey("kind")) {
13468 kind = _json["kind"];
13469 }
13470 if (_json.containsKey("nextPageToken")) {
13471 nextPageToken = _json["nextPageToken"];
13472 }
13473 if (_json.containsKey("selfLink")) {
13474 selfLink = _json["selfLink"];
13475 }
13476 }
13477
13478 core.Map toJson() {
13479 var _json = new core.Map();
13480 if (id != null) {
13481 _json["id"] = id;
13482 }
13483 if (items != null) {
13484 _json["items"] = commons.mapMap(items, (item) => (item).toJson());
13485 }
13486 if (kind != null) {
13487 _json["kind"] = kind;
13488 }
13489 if (nextPageToken != null) {
13490 _json["nextPageToken"] = nextPageToken;
13491 }
13492 if (selfLink != null) {
13493 _json["selfLink"] = selfLink;
13494 }
13495 return _json;
13496 }
13497 }
13498
13499 /** Contains a list of addresses. */
13500 class AddressList {
13501 /**
13502 * [Output Only] The unique identifier for the resource. This identifier is
13503 * defined by the server.
13504 */
13505 core.String id;
13506 /** [Output Only] A list of addresses. */
13507 core.List<Address> items;
13508 /**
13509 * [Output Only] Type of resource. Always compute#addressList for lists of
13510 * addresses.
13511 */
13512 core.String kind;
13513 /**
13514 * [Output Only] This token allows you to get the next page of results for
13515 * list requests. If the number of results is larger than maxResults, use the
13516 * nextPageToken as a value for the query parameter pageToken in the next list
13517 * request. Subsequent list requests will have their own nextPageToken to
13518 * continue paging through the results.
13519 */
13520 core.String nextPageToken;
13521 /** [Output Only] Server-defined URL for the resource. */
13522 core.String selfLink;
13523
13524 AddressList();
13525
13526 AddressList.fromJson(core.Map _json) {
13527 if (_json.containsKey("id")) {
13528 id = _json["id"];
13529 }
13530 if (_json.containsKey("items")) {
13531 items = _json["items"].map((value) => new Address.fromJson(value)).toList( );
13532 }
13533 if (_json.containsKey("kind")) {
13534 kind = _json["kind"];
13535 }
13536 if (_json.containsKey("nextPageToken")) {
13537 nextPageToken = _json["nextPageToken"];
13538 }
13539 if (_json.containsKey("selfLink")) {
13540 selfLink = _json["selfLink"];
13541 }
13542 }
13543
13544 core.Map toJson() {
13545 var _json = new core.Map();
13546 if (id != null) {
13547 _json["id"] = id;
13548 }
13549 if (items != null) {
13550 _json["items"] = items.map((value) => (value).toJson()).toList();
13551 }
13552 if (kind != null) {
13553 _json["kind"] = kind;
13554 }
13555 if (nextPageToken != null) {
13556 _json["nextPageToken"] = nextPageToken;
13557 }
13558 if (selfLink != null) {
13559 _json["selfLink"] = selfLink;
13560 }
13561 return _json;
13562 }
13563 }
13564
13565 class AddressesScopedListWarningData {
13566 /**
13567 * [Output Only] A key that provides more detail on the warning being
13568 * returned. For example, for warnings where there are no results in a list
13569 * request for a particular zone, this key might be scope and the key value
13570 * might be the zone name. Other examples might be a key indicating a
13571 * deprecated resource and a suggested replacement, or a warning about invalid
13572 * network settings (for example, if an instance attempts to perform IP
13573 * forwarding but is not enabled for IP forwarding).
13574 */
13575 core.String key;
13576 /** [Output Only] A warning data value corresponding to the key. */
13577 core.String value;
13578
13579 AddressesScopedListWarningData();
13580
13581 AddressesScopedListWarningData.fromJson(core.Map _json) {
13582 if (_json.containsKey("key")) {
13583 key = _json["key"];
13584 }
13585 if (_json.containsKey("value")) {
13586 value = _json["value"];
13587 }
13588 }
13589
13590 core.Map toJson() {
13591 var _json = new core.Map();
13592 if (key != null) {
13593 _json["key"] = key;
13594 }
13595 if (value != null) {
13596 _json["value"] = value;
13597 }
13598 return _json;
13599 }
13600 }
13601
13602 /**
13603 * [Output Only] Informational warning which replaces the list of addresses when
13604 * the list is empty.
13605 */
13606 class AddressesScopedListWarning {
13607 /**
13608 * [Output Only] A warning code, if applicable. For example, Compute Engine
13609 * returns NO_RESULTS_ON_PAGE if there are no results in the response.
13610 * Possible string values are:
13611 * - "CLEANUP_FAILED"
13612 * - "DEPRECATED_RESOURCE_USED"
13613 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
13614 * - "INJECTED_KERNELS_DEPRECATED"
13615 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
13616 * - "NEXT_HOP_CANNOT_IP_FORWARD"
13617 * - "NEXT_HOP_INSTANCE_NOT_FOUND"
13618 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
13619 * - "NEXT_HOP_NOT_RUNNING"
13620 * - "NOT_CRITICAL_ERROR"
13621 * - "NO_RESULTS_ON_PAGE"
13622 * - "REQUIRED_TOS_AGREEMENT"
13623 * - "RESOURCE_NOT_DELETED"
13624 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
13625 * - "UNREACHABLE"
13626 */
13627 core.String code;
13628 /**
13629 * [Output Only] Metadata about this warning in key: value format. For
13630 * example:
13631 * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
13632 */
13633 core.List<AddressesScopedListWarningData> data;
13634 /** [Output Only] A human-readable description of the warning code. */
13635 core.String message;
13636
13637 AddressesScopedListWarning();
13638
13639 AddressesScopedListWarning.fromJson(core.Map _json) {
13640 if (_json.containsKey("code")) {
13641 code = _json["code"];
13642 }
13643 if (_json.containsKey("data")) {
13644 data = _json["data"].map((value) => new AddressesScopedListWarningData.fro mJson(value)).toList();
13645 }
13646 if (_json.containsKey("message")) {
13647 message = _json["message"];
13648 }
13649 }
13650
13651 core.Map toJson() {
13652 var _json = new core.Map();
13653 if (code != null) {
13654 _json["code"] = code;
13655 }
13656 if (data != null) {
13657 _json["data"] = data.map((value) => (value).toJson()).toList();
13658 }
13659 if (message != null) {
13660 _json["message"] = message;
13661 }
13662 return _json;
13663 }
13664 }
13665
13666 class AddressesScopedList {
13667 /** [Output Only] List of addresses contained in this scope. */
13668 core.List<Address> addresses;
13669 /**
13670 * [Output Only] Informational warning which replaces the list of addresses
13671 * when the list is empty.
13672 */
13673 AddressesScopedListWarning warning;
13674
13675 AddressesScopedList();
13676
13677 AddressesScopedList.fromJson(core.Map _json) {
13678 if (_json.containsKey("addresses")) {
13679 addresses = _json["addresses"].map((value) => new Address.fromJson(value)) .toList();
13680 }
13681 if (_json.containsKey("warning")) {
13682 warning = new AddressesScopedListWarning.fromJson(_json["warning"]);
13683 }
13684 }
13685
13686 core.Map toJson() {
13687 var _json = new core.Map();
13688 if (addresses != null) {
13689 _json["addresses"] = addresses.map((value) => (value).toJson()).toList();
13690 }
13691 if (warning != null) {
13692 _json["warning"] = (warning).toJson();
13693 }
13694 return _json;
13695 }
13696 }
13697
13698 /** An instance-attached disk resource. */
13699 class AttachedDisk {
13700 /**
13701 * Specifies whether the disk will be auto-deleted when the instance is
13702 * deleted (but not when the disk is detached from the instance).
13703 */
13704 core.bool autoDelete;
13705 /**
13706 * Indicates that this is a boot disk. The virtual machine will use the first
13707 * partition of the disk for its root filesystem.
13708 */
13709 core.bool boot;
13710 /**
13711 * Specifies a unique device name of your choice that is reflected into the
13712 * /dev/disk/by-id/google-* tree of a Linux operating system running within
13713 * the instance. This name can be used to reference the device for mounting,
13714 * resizing, and so on, from within the instance.
13715 *
13716 * If not specified, the server chooses a default device name to apply to this
13717 * disk, in the form persistent-disks-x, where x is a number assigned by
13718 * Google Compute Engine. This field is only applicable for persistent disks.
13719 */
13720 core.String deviceName;
13721 /**
13722 * Encrypts or decrypts a disk using a customer-supplied encryption key.
13723 *
13724 * If you are creating a new disk, this field encrypts the new disk using an
13725 * encryption key that you provide. If you are attaching an existing disk that
13726 * is already encrypted, this field decrypts the disk using the
13727 * customer-supplied encryption key.
13728 *
13729 * If you encrypt a disk using a customer-supplied key, you must provide the
13730 * same key again when you attempt to use this resource at a later time. For
13731 * example, you must provide the key when you create a snapshot or an image
13732 * from the disk or when you attach the disk to a virtual machine instance.
13733 *
13734 * If you do not provide an encryption key, then the disk will be encrypted
13735 * using an automatically generated key and you do not need to provide a key
13736 * to use the disk later.
13737 *
13738 * Instance templates do not store customer-supplied encryption keys, so you
13739 * cannot use your own keys to encrypt disks in a managed instance group.
13740 */
13741 CustomerEncryptionKey diskEncryptionKey;
13742 /**
13743 * Assigns a zero-based index to this disk, where 0 is reserved for the boot
13744 * disk. For example, if you have many disks attached to an instance, each
13745 * disk would have a unique index number. If not specified, the server will
13746 * choose an appropriate value.
13747 */
13748 core.int index;
13749 /**
13750 * [Input Only] Specifies the parameters for a new disk that will be created
13751 * alongside the new instance. Use initialization parameters to create boot
13752 * disks or local SSDs attached to the new instance.
13753 *
13754 * This property is mutually exclusive with the source property; you can only
13755 * define one or the other, but not both.
13756 */
13757 AttachedDiskInitializeParams initializeParams;
13758 /**
13759 * Specifies the disk interface to use for attaching this disk, which is
13760 * either SCSI or NVME. The default is SCSI. Persistent disks must always use
13761 * SCSI and the request will fail if you attempt to attach a persistent disk
13762 * in any other format than SCSI. Local SSDs can use either NVME or SCSI. For
13763 * performance characteristics of SCSI over NVMe, see Local SSD performance.
13764 * Possible string values are:
13765 * - "NVME"
13766 * - "SCSI"
13767 */
13768 core.String interface;
13769 /**
13770 * [Output Only] Type of the resource. Always compute#attachedDisk for
13771 * attached disks.
13772 */
13773 core.String kind;
13774 /** [Output Only] Any valid publicly visible licenses. */
13775 core.List<core.String> licenses;
13776 /**
13777 * The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If
13778 * not specified, the default is to attach the disk in READ_WRITE mode.
13779 * Possible string values are:
13780 * - "READ_ONLY"
13781 * - "READ_WRITE"
13782 */
13783 core.String mode;
13784 /**
13785 * Specifies a valid partial or full URL to an existing Persistent Disk
13786 * resource. This field is only applicable for persistent disks.
13787 */
13788 core.String source;
13789 /**
13790 * Specifies the type of the disk, either SCRATCH or PERSISTENT. If not
13791 * specified, the default is PERSISTENT.
13792 * Possible string values are:
13793 * - "PERSISTENT"
13794 * - "SCRATCH"
13795 */
13796 core.String type;
13797
13798 AttachedDisk();
13799
13800 AttachedDisk.fromJson(core.Map _json) {
13801 if (_json.containsKey("autoDelete")) {
13802 autoDelete = _json["autoDelete"];
13803 }
13804 if (_json.containsKey("boot")) {
13805 boot = _json["boot"];
13806 }
13807 if (_json.containsKey("deviceName")) {
13808 deviceName = _json["deviceName"];
13809 }
13810 if (_json.containsKey("diskEncryptionKey")) {
13811 diskEncryptionKey = new CustomerEncryptionKey.fromJson(_json["diskEncrypti onKey"]);
13812 }
13813 if (_json.containsKey("index")) {
13814 index = _json["index"];
13815 }
13816 if (_json.containsKey("initializeParams")) {
13817 initializeParams = new AttachedDiskInitializeParams.fromJson(_json["initia lizeParams"]);
13818 }
13819 if (_json.containsKey("interface")) {
13820 interface = _json["interface"];
13821 }
13822 if (_json.containsKey("kind")) {
13823 kind = _json["kind"];
13824 }
13825 if (_json.containsKey("licenses")) {
13826 licenses = _json["licenses"];
13827 }
13828 if (_json.containsKey("mode")) {
13829 mode = _json["mode"];
13830 }
13831 if (_json.containsKey("source")) {
13832 source = _json["source"];
13833 }
13834 if (_json.containsKey("type")) {
13835 type = _json["type"];
13836 }
13837 }
13838
13839 core.Map toJson() {
13840 var _json = new core.Map();
13841 if (autoDelete != null) {
13842 _json["autoDelete"] = autoDelete;
13843 }
13844 if (boot != null) {
13845 _json["boot"] = boot;
13846 }
13847 if (deviceName != null) {
13848 _json["deviceName"] = deviceName;
13849 }
13850 if (diskEncryptionKey != null) {
13851 _json["diskEncryptionKey"] = (diskEncryptionKey).toJson();
13852 }
13853 if (index != null) {
13854 _json["index"] = index;
13855 }
13856 if (initializeParams != null) {
13857 _json["initializeParams"] = (initializeParams).toJson();
13858 }
13859 if (interface != null) {
13860 _json["interface"] = interface;
13861 }
13862 if (kind != null) {
13863 _json["kind"] = kind;
13864 }
13865 if (licenses != null) {
13866 _json["licenses"] = licenses;
13867 }
13868 if (mode != null) {
13869 _json["mode"] = mode;
13870 }
13871 if (source != null) {
13872 _json["source"] = source;
13873 }
13874 if (type != null) {
13875 _json["type"] = type;
13876 }
13877 return _json;
13878 }
13879 }
13880
13881 /**
13882 * [Input Only] Specifies the parameters for a new disk that will be created
13883 * alongside the new instance. Use initialization parameters to create boot
13884 * disks or local SSDs attached to the new instance.
13885 *
13886 * This property is mutually exclusive with the source property; you can only
13887 * define one or the other, but not both.
13888 */
13889 class AttachedDiskInitializeParams {
13890 /**
13891 * Specifies the disk name. If not specified, the default is to use the name
13892 * of the instance.
13893 */
13894 core.String diskName;
13895 /** Specifies the size of the disk in base-2 GB. */
13896 core.String diskSizeGb;
13897 /**
13898 * Specifies the disk type to use to create the instance. If not specified,
13899 * the default is pd-standard, specified using the full URL. For example:
13900 *
13901 * https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes /pd-standard
13902 *
13903 * Other values include pd-ssd and local-ssd. If you define this field, you
13904 * can provide either the full or partial URL. For example, the following are
13905 * valid values:
13906 * -
13907 * https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes /diskType
13908 * - projects/project/zones/zone/diskTypes/diskType
13909 * - zones/zone/diskTypes/diskType
13910 */
13911 core.String diskType;
13912 /**
13913 * The source image used to create this disk. If the source image is deleted,
13914 * this field will not be set.
13915 *
13916 * To create a disk with one of the public operating system images, specify
13917 * the image by its family name. For example, specify family/debian-8 to use
13918 * the latest Debian 8 image:
13919 *
13920 * projects/debian-cloud/global/images/family/debian-8
13921 *
13922 * Alternatively, use a specific version of a public operating system image:
13923 *
13924 * projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD
13925 *
13926 * To create a disk with a private image that you created, specify the image
13927 * name in the following format:
13928 *
13929 * global/images/my-private-image
13930 *
13931 * You can also specify a private image by its image family, which returns the
13932 * latest version of the image in that family. Replace the image name with
13933 * family/family-name:
13934 *
13935 * global/images/family/my-private-family
13936 */
13937 core.String sourceImage;
13938 /**
13939 * The customer-supplied encryption key of the source image. Required if the
13940 * source image is protected by a customer-supplied encryption key.
13941 *
13942 * Instance templates do not store customer-supplied encryption keys, so you
13943 * cannot create disks for instances in a managed instance group if the source
13944 * images are encrypted with your own keys.
13945 */
13946 CustomerEncryptionKey sourceImageEncryptionKey;
13947
13948 AttachedDiskInitializeParams();
13949
13950 AttachedDiskInitializeParams.fromJson(core.Map _json) {
13951 if (_json.containsKey("diskName")) {
13952 diskName = _json["diskName"];
13953 }
13954 if (_json.containsKey("diskSizeGb")) {
13955 diskSizeGb = _json["diskSizeGb"];
13956 }
13957 if (_json.containsKey("diskType")) {
13958 diskType = _json["diskType"];
13959 }
13960 if (_json.containsKey("sourceImage")) {
13961 sourceImage = _json["sourceImage"];
13962 }
13963 if (_json.containsKey("sourceImageEncryptionKey")) {
13964 sourceImageEncryptionKey = new CustomerEncryptionKey.fromJson(_json["sourc eImageEncryptionKey"]);
13965 }
13966 }
13967
13968 core.Map toJson() {
13969 var _json = new core.Map();
13970 if (diskName != null) {
13971 _json["diskName"] = diskName;
13972 }
13973 if (diskSizeGb != null) {
13974 _json["diskSizeGb"] = diskSizeGb;
13975 }
13976 if (diskType != null) {
13977 _json["diskType"] = diskType;
13978 }
13979 if (sourceImage != null) {
13980 _json["sourceImage"] = sourceImage;
13981 }
13982 if (sourceImageEncryptionKey != null) {
13983 _json["sourceImageEncryptionKey"] = (sourceImageEncryptionKey).toJson();
13984 }
13985 return _json;
13986 }
13987 }
13988
13989 /**
13990 * Represents an Autoscaler resource. Autoscalers allow you to automatically
13991 * scale virtual machine instances in managed instance groups according to an
13992 * autoscaling policy that you define. For more information, read Autoscaling
13993 * Groups of Instances.
13994 */
13995 class Autoscaler {
13996 /**
13997 * The configuration parameters for the autoscaling algorithm. You can define
13998 * one or more of the policies for an autoscaler: cpuUtilization,
13999 * customMetricUtilizations, and loadBalancingUtilization.
14000 *
14001 * If none of these are specified, the default will be to autoscale based on
14002 * cpuUtilization to 0.8 or 80%.
14003 */
14004 AutoscalingPolicy autoscalingPolicy;
14005 /** [Output Only] Creation timestamp in RFC3339 text format. */
14006 core.String creationTimestamp;
14007 /**
14008 * An optional description of this resource. Provide this property when you
14009 * create the resource.
14010 */
14011 core.String description;
14012 /**
14013 * [Output Only] The unique identifier for the resource. This identifier is
14014 * defined by the server.
14015 */
14016 core.String id;
14017 /**
14018 * [Output Only] Type of the resource. Always compute#autoscaler for
14019 * autoscalers.
14020 */
14021 core.String kind;
14022 /**
12759 * Name of the resource. Provided by the client when the resource is created. 14023 * Name of the resource. Provided by the client when the resource is created.
12760 * The name must be 1-63 characters long, and comply with RFC1035. 14024 * The name must be 1-63 characters long, and comply with RFC1035.
12761 * Specifically, the name must be 1-63 characters long and match the regular 14025 * Specifically, the name must be 1-63 characters long and match the regular
12762 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must 14026 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
12763 * be a lowercase letter, and all following characters must be a dash, 14027 * be a lowercase letter, and all following characters must be a dash,
12764 * lowercase letter, or digit, except the last character, which cannot be a 14028 * lowercase letter, or digit, except the last character, which cannot be a
12765 * dash. 14029 * dash.
12766 */ 14030 */
12767 core.String name; 14031 core.String name;
12768 /**
12769 * [Output Only] URL of the region where the regional address resides. This
12770 * field is not applicable to global addresses.
12771 */
12772 core.String region;
12773 /** [Output Only] Server-defined URL for the resource. */ 14032 /** [Output Only] Server-defined URL for the resource. */
12774 core.String selfLink; 14033 core.String selfLink;
12775 /** 14034 /** URL of the managed instance group that this autoscaler will scale. */
12776 * [Output Only] The status of the address, which can be either IN_USE or 14035 core.String target;
12777 * RESERVED. An address that is RESERVED is currently reserved and available 14036 /** [Output Only] URL of the zone where the instance group resides. */
12778 * to use. An IN_USE address is currently being used by another resource and 14037 core.String zone;
12779 * is not available.
12780 * Possible string values are:
12781 * - "IN_USE"
12782 * - "RESERVED"
12783 */
12784 core.String status;
12785 /** [Output Only] The URLs of the resources that are using this address. */
12786 core.List<core.String> users;
12787 14038
12788 Address(); 14039 Autoscaler();
12789 14040
12790 Address.fromJson(core.Map _json) { 14041 Autoscaler.fromJson(core.Map _json) {
12791 if (_json.containsKey("address")) { 14042 if (_json.containsKey("autoscalingPolicy")) {
12792 address = _json["address"]; 14043 autoscalingPolicy = new AutoscalingPolicy.fromJson(_json["autoscalingPolic y"]);
12793 } 14044 }
12794 if (_json.containsKey("creationTimestamp")) { 14045 if (_json.containsKey("creationTimestamp")) {
12795 creationTimestamp = _json["creationTimestamp"]; 14046 creationTimestamp = _json["creationTimestamp"];
12796 } 14047 }
12797 if (_json.containsKey("description")) { 14048 if (_json.containsKey("description")) {
12798 description = _json["description"]; 14049 description = _json["description"];
12799 } 14050 }
12800 if (_json.containsKey("id")) { 14051 if (_json.containsKey("id")) {
12801 id = _json["id"]; 14052 id = _json["id"];
12802 } 14053 }
12803 if (_json.containsKey("kind")) { 14054 if (_json.containsKey("kind")) {
12804 kind = _json["kind"]; 14055 kind = _json["kind"];
12805 } 14056 }
12806 if (_json.containsKey("name")) { 14057 if (_json.containsKey("name")) {
12807 name = _json["name"]; 14058 name = _json["name"];
12808 } 14059 }
12809 if (_json.containsKey("region")) {
12810 region = _json["region"];
12811 }
12812 if (_json.containsKey("selfLink")) { 14060 if (_json.containsKey("selfLink")) {
12813 selfLink = _json["selfLink"]; 14061 selfLink = _json["selfLink"];
12814 } 14062 }
12815 if (_json.containsKey("status")) { 14063 if (_json.containsKey("target")) {
12816 status = _json["status"]; 14064 target = _json["target"];
12817 } 14065 }
12818 if (_json.containsKey("users")) { 14066 if (_json.containsKey("zone")) {
12819 users = _json["users"]; 14067 zone = _json["zone"];
12820 } 14068 }
12821 } 14069 }
12822 14070
12823 core.Map toJson() { 14071 core.Map toJson() {
12824 var _json = new core.Map(); 14072 var _json = new core.Map();
12825 if (address != null) { 14073 if (autoscalingPolicy != null) {
12826 _json["address"] = address; 14074 _json["autoscalingPolicy"] = (autoscalingPolicy).toJson();
12827 } 14075 }
12828 if (creationTimestamp != null) { 14076 if (creationTimestamp != null) {
12829 _json["creationTimestamp"] = creationTimestamp; 14077 _json["creationTimestamp"] = creationTimestamp;
12830 } 14078 }
12831 if (description != null) { 14079 if (description != null) {
12832 _json["description"] = description; 14080 _json["description"] = description;
12833 } 14081 }
12834 if (id != null) { 14082 if (id != null) {
12835 _json["id"] = id; 14083 _json["id"] = id;
12836 } 14084 }
12837 if (kind != null) { 14085 if (kind != null) {
12838 _json["kind"] = kind; 14086 _json["kind"] = kind;
12839 } 14087 }
12840 if (name != null) { 14088 if (name != null) {
12841 _json["name"] = name; 14089 _json["name"] = name;
12842 } 14090 }
12843 if (region != null) {
12844 _json["region"] = region;
12845 }
12846 if (selfLink != null) { 14091 if (selfLink != null) {
12847 _json["selfLink"] = selfLink; 14092 _json["selfLink"] = selfLink;
12848 } 14093 }
12849 if (status != null) { 14094 if (target != null) {
12850 _json["status"] = status; 14095 _json["target"] = target;
12851 } 14096 }
12852 if (users != null) { 14097 if (zone != null) {
12853 _json["users"] = users; 14098 _json["zone"] = zone;
12854 } 14099 }
12855 return _json; 14100 return _json;
12856 } 14101 }
12857 } 14102 }
12858 14103
12859 class AddressAggregatedList { 14104 class AutoscalerAggregatedList {
12860 /** 14105 /**
12861 * [Output Only] Unique identifier for the resource; defined by the server. 14106 * [Output Only] The unique identifier for the resource. This identifier is
14107 * defined by the server.
12862 */ 14108 */
12863 core.String id; 14109 core.String id;
12864 /** [Output Only] A map of scoped address lists. */ 14110 /** A map of scoped autoscaler lists. */
12865 core.Map<core.String, AddressesScopedList> items; 14111 core.Map<core.String, AutoscalersScopedList> items;
12866 /** 14112 /**
12867 * [Output Only] Type of resource. Always compute#addressAggregatedList for 14113 * [Output Only] Type of resource. Always compute#autoscalerAggregatedList for
12868 * aggregated lists of addresses. 14114 * aggregated lists of autoscalers.
12869 */ 14115 */
12870 core.String kind; 14116 core.String kind;
12871 /** 14117 /**
12872 * [Output Only] This token allows you to get the next page of results for 14118 * [Output Only] This token allows you to get the next page of results for
12873 * list requests. If the number of results is larger than maxResults, use the 14119 * list requests. If the number of results is larger than maxResults, use the
12874 * nextPageToken as a value for the query parameter pageToken in the next list 14120 * nextPageToken as a value for the query parameter pageToken in the next list
12875 * request. Subsequent list requests will have their own nextPageToken to 14121 * request. Subsequent list requests will have their own nextPageToken to
12876 * continue paging through the results. 14122 * continue paging through the results.
12877 */ 14123 */
12878 core.String nextPageToken; 14124 core.String nextPageToken;
12879 /** [Output Only] Server-defined URL for this resource. */ 14125 /** [Output Only] Server-defined URL for this resource. */
12880 core.String selfLink; 14126 core.String selfLink;
12881 14127
12882 AddressAggregatedList(); 14128 AutoscalerAggregatedList();
12883 14129
12884 AddressAggregatedList.fromJson(core.Map _json) { 14130 AutoscalerAggregatedList.fromJson(core.Map _json) {
12885 if (_json.containsKey("id")) { 14131 if (_json.containsKey("id")) {
12886 id = _json["id"]; 14132 id = _json["id"];
12887 } 14133 }
12888 if (_json.containsKey("items")) { 14134 if (_json.containsKey("items")) {
12889 items = commons.mapMap(_json["items"], (item) => new AddressesScopedList.f romJson(item)); 14135 items = commons.mapMap(_json["items"], (item) => new AutoscalersScopedList .fromJson(item));
12890 } 14136 }
12891 if (_json.containsKey("kind")) { 14137 if (_json.containsKey("kind")) {
12892 kind = _json["kind"]; 14138 kind = _json["kind"];
12893 } 14139 }
12894 if (_json.containsKey("nextPageToken")) { 14140 if (_json.containsKey("nextPageToken")) {
12895 nextPageToken = _json["nextPageToken"]; 14141 nextPageToken = _json["nextPageToken"];
12896 } 14142 }
12897 if (_json.containsKey("selfLink")) { 14143 if (_json.containsKey("selfLink")) {
12898 selfLink = _json["selfLink"]; 14144 selfLink = _json["selfLink"];
12899 } 14145 }
(...skipping 13 matching lines...) Expand all
12913 if (nextPageToken != null) { 14159 if (nextPageToken != null) {
12914 _json["nextPageToken"] = nextPageToken; 14160 _json["nextPageToken"] = nextPageToken;
12915 } 14161 }
12916 if (selfLink != null) { 14162 if (selfLink != null) {
12917 _json["selfLink"] = selfLink; 14163 _json["selfLink"] = selfLink;
12918 } 14164 }
12919 return _json; 14165 return _json;
12920 } 14166 }
12921 } 14167 }
12922 14168
12923 /** Contains a list of addresses. */ 14169 /** Contains a list of Autoscaler resources. */
12924 class AddressList { 14170 class AutoscalerList {
12925 /** 14171 /**
12926 * [Output Only] The unique identifier for the resource. This identifier is 14172 * [Output Only] The unique identifier for the resource. This identifier is
12927 * defined by the server. 14173 * defined by the server.
12928 */ 14174 */
12929 core.String id; 14175 core.String id;
12930 /** [Output Only] A list of addresses. */ 14176 /** A list of Autoscaler resources. */
12931 core.List<Address> items; 14177 core.List<Autoscaler> items;
12932 /** 14178 /**
12933 * [Output Only] Type of resource. Always compute#addressList for lists of 14179 * [Output Only] Type of resource. Always compute#autoscalerList for lists of
12934 * addresses. 14180 * autoscalers.
12935 */ 14181 */
12936 core.String kind; 14182 core.String kind;
12937 /** 14183 /**
12938 * [Output Only] This token allows you to get the next page of results for 14184 * [Output Only] This token allows you to get the next page of results for
12939 * list requests. If the number of results is larger than maxResults, use the 14185 * list requests. If the number of results is larger than maxResults, use the
12940 * nextPageToken as a value for the query parameter pageToken in the next list 14186 * nextPageToken as a value for the query parameter pageToken in the next list
12941 * request. Subsequent list requests will have their own nextPageToken to 14187 * request. Subsequent list requests will have their own nextPageToken to
12942 * continue paging through the results. 14188 * continue paging through the results.
12943 */ 14189 */
12944 core.String nextPageToken; 14190 core.String nextPageToken;
12945 /** [Output Only] Server-defined URL for the resource. */ 14191 /** [Output Only] Server-defined URL for this resource. */
12946 core.String selfLink; 14192 core.String selfLink;
12947 14193
12948 AddressList(); 14194 AutoscalerList();
12949 14195
12950 AddressList.fromJson(core.Map _json) { 14196 AutoscalerList.fromJson(core.Map _json) {
12951 if (_json.containsKey("id")) { 14197 if (_json.containsKey("id")) {
12952 id = _json["id"]; 14198 id = _json["id"];
12953 } 14199 }
12954 if (_json.containsKey("items")) { 14200 if (_json.containsKey("items")) {
12955 items = _json["items"].map((value) => new Address.fromJson(value)).toList( ); 14201 items = _json["items"].map((value) => new Autoscaler.fromJson(value)).toLi st();
12956 } 14202 }
12957 if (_json.containsKey("kind")) { 14203 if (_json.containsKey("kind")) {
12958 kind = _json["kind"]; 14204 kind = _json["kind"];
12959 } 14205 }
12960 if (_json.containsKey("nextPageToken")) { 14206 if (_json.containsKey("nextPageToken")) {
12961 nextPageToken = _json["nextPageToken"]; 14207 nextPageToken = _json["nextPageToken"];
12962 } 14208 }
12963 if (_json.containsKey("selfLink")) { 14209 if (_json.containsKey("selfLink")) {
12964 selfLink = _json["selfLink"]; 14210 selfLink = _json["selfLink"];
12965 } 14211 }
(...skipping 13 matching lines...) Expand all
12979 if (nextPageToken != null) { 14225 if (nextPageToken != null) {
12980 _json["nextPageToken"] = nextPageToken; 14226 _json["nextPageToken"] = nextPageToken;
12981 } 14227 }
12982 if (selfLink != null) { 14228 if (selfLink != null) {
12983 _json["selfLink"] = selfLink; 14229 _json["selfLink"] = selfLink;
12984 } 14230 }
12985 return _json; 14231 return _json;
12986 } 14232 }
12987 } 14233 }
12988 14234
12989 class AddressesScopedListWarningData { 14235 class AutoscalersScopedListWarningData {
12990 /** 14236 /**
12991 * [Output Only] A key that provides more detail on the warning being 14237 * [Output Only] A key that provides more detail on the warning being
12992 * returned. For example, for warnings where there are no results in a list 14238 * returned. For example, for warnings where there are no results in a list
12993 * request for a particular zone, this key might be scope and the key value 14239 * request for a particular zone, this key might be scope and the key value
12994 * might be the zone name. Other examples might be a key indicating a 14240 * might be the zone name. Other examples might be a key indicating a
12995 * deprecated resource and a suggested replacement, or a warning about invalid 14241 * deprecated resource and a suggested replacement, or a warning about invalid
12996 * network settings (for example, if an instance attempts to perform IP 14242 * network settings (for example, if an instance attempts to perform IP
12997 * forwarding but is not enabled for IP forwarding). 14243 * forwarding but is not enabled for IP forwarding).
12998 */ 14244 */
12999 core.String key; 14245 core.String key;
13000 /** [Output Only] A warning data value corresponding to the key. */ 14246 /** [Output Only] A warning data value corresponding to the key. */
13001 core.String value; 14247 core.String value;
13002 14248
13003 AddressesScopedListWarningData(); 14249 AutoscalersScopedListWarningData();
13004 14250
13005 AddressesScopedListWarningData.fromJson(core.Map _json) { 14251 AutoscalersScopedListWarningData.fromJson(core.Map _json) {
13006 if (_json.containsKey("key")) { 14252 if (_json.containsKey("key")) {
13007 key = _json["key"]; 14253 key = _json["key"];
13008 } 14254 }
13009 if (_json.containsKey("value")) { 14255 if (_json.containsKey("value")) {
13010 value = _json["value"]; 14256 value = _json["value"];
13011 } 14257 }
13012 } 14258 }
13013 14259
13014 core.Map toJson() { 14260 core.Map toJson() {
13015 var _json = new core.Map(); 14261 var _json = new core.Map();
13016 if (key != null) { 14262 if (key != null) {
13017 _json["key"] = key; 14263 _json["key"] = key;
13018 } 14264 }
13019 if (value != null) { 14265 if (value != null) {
13020 _json["value"] = value; 14266 _json["value"] = value;
13021 } 14267 }
13022 return _json; 14268 return _json;
13023 } 14269 }
13024 } 14270 }
13025 14271
13026 /** 14272 /**
13027 * [Output Only] Informational warning which replaces the list of addresses when 14273 * [Output Only] Informational warning which replaces the list of autoscalers
13028 * the list is empty. 14274 * when the list is empty.
13029 */ 14275 */
13030 class AddressesScopedListWarning { 14276 class AutoscalersScopedListWarning {
13031 /** 14277 /**
13032 * [Output Only] A warning code, if applicable. For example, Compute Engine 14278 * [Output Only] A warning code, if applicable. For example, Compute Engine
13033 * returns NO_RESULTS_ON_PAGE if there are no results in the response. 14279 * returns NO_RESULTS_ON_PAGE if there are no results in the response.
13034 * Possible string values are: 14280 * Possible string values are:
13035 * - "CLEANUP_FAILED" 14281 * - "CLEANUP_FAILED"
13036 * - "DEPRECATED_RESOURCE_USED" 14282 * - "DEPRECATED_RESOURCE_USED"
13037 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" 14283 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
13038 * - "INJECTED_KERNELS_DEPRECATED" 14284 * - "INJECTED_KERNELS_DEPRECATED"
13039 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED" 14285 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
13040 * - "NEXT_HOP_CANNOT_IP_FORWARD" 14286 * - "NEXT_HOP_CANNOT_IP_FORWARD"
13041 * - "NEXT_HOP_INSTANCE_NOT_FOUND" 14287 * - "NEXT_HOP_INSTANCE_NOT_FOUND"
13042 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" 14288 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
13043 * - "NEXT_HOP_NOT_RUNNING" 14289 * - "NEXT_HOP_NOT_RUNNING"
13044 * - "NOT_CRITICAL_ERROR" 14290 * - "NOT_CRITICAL_ERROR"
13045 * - "NO_RESULTS_ON_PAGE" 14291 * - "NO_RESULTS_ON_PAGE"
13046 * - "REQUIRED_TOS_AGREEMENT" 14292 * - "REQUIRED_TOS_AGREEMENT"
13047 * - "RESOURCE_NOT_DELETED" 14293 * - "RESOURCE_NOT_DELETED"
13048 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE" 14294 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
13049 * - "UNREACHABLE" 14295 * - "UNREACHABLE"
13050 */ 14296 */
13051 core.String code; 14297 core.String code;
13052 /** 14298 /**
13053 * [Output Only] Metadata about this warning in key: value format. For 14299 * [Output Only] Metadata about this warning in key: value format. For
13054 * example: 14300 * example:
13055 * "data": [ { "key": "scope", "value": "zones/us-east1-d" } 14301 * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
13056 */ 14302 */
13057 core.List<AddressesScopedListWarningData> data; 14303 core.List<AutoscalersScopedListWarningData> data;
13058 /** [Output Only] A human-readable description of the warning code. */ 14304 /** [Output Only] A human-readable description of the warning code. */
13059 core.String message; 14305 core.String message;
13060 14306
13061 AddressesScopedListWarning(); 14307 AutoscalersScopedListWarning();
13062 14308
13063 AddressesScopedListWarning.fromJson(core.Map _json) { 14309 AutoscalersScopedListWarning.fromJson(core.Map _json) {
13064 if (_json.containsKey("code")) { 14310 if (_json.containsKey("code")) {
13065 code = _json["code"]; 14311 code = _json["code"];
13066 } 14312 }
13067 if (_json.containsKey("data")) { 14313 if (_json.containsKey("data")) {
13068 data = _json["data"].map((value) => new AddressesScopedListWarningData.fro mJson(value)).toList(); 14314 data = _json["data"].map((value) => new AutoscalersScopedListWarningData.f romJson(value)).toList();
13069 } 14315 }
13070 if (_json.containsKey("message")) { 14316 if (_json.containsKey("message")) {
13071 message = _json["message"]; 14317 message = _json["message"];
13072 } 14318 }
13073 } 14319 }
13074 14320
13075 core.Map toJson() { 14321 core.Map toJson() {
13076 var _json = new core.Map(); 14322 var _json = new core.Map();
13077 if (code != null) { 14323 if (code != null) {
13078 _json["code"] = code; 14324 _json["code"] = code;
13079 } 14325 }
13080 if (data != null) { 14326 if (data != null) {
13081 _json["data"] = data.map((value) => (value).toJson()).toList(); 14327 _json["data"] = data.map((value) => (value).toJson()).toList();
13082 } 14328 }
13083 if (message != null) { 14329 if (message != null) {
13084 _json["message"] = message; 14330 _json["message"] = message;
13085 } 14331 }
13086 return _json; 14332 return _json;
13087 } 14333 }
13088 } 14334 }
13089 14335
13090 class AddressesScopedList { 14336 class AutoscalersScopedList {
13091 /** [Output Only] List of addresses contained in this scope. */ 14337 /** [Output Only] List of autoscalers contained in this scope. */
13092 core.List<Address> addresses; 14338 core.List<Autoscaler> autoscalers;
13093 /** 14339 /**
13094 * [Output Only] Informational warning which replaces the list of addresses 14340 * [Output Only] Informational warning which replaces the list of autoscalers
13095 * when the list is empty. 14341 * when the list is empty.
13096 */ 14342 */
13097 AddressesScopedListWarning warning; 14343 AutoscalersScopedListWarning warning;
13098 14344
13099 AddressesScopedList(); 14345 AutoscalersScopedList();
13100 14346
13101 AddressesScopedList.fromJson(core.Map _json) { 14347 AutoscalersScopedList.fromJson(core.Map _json) {
13102 if (_json.containsKey("addresses")) { 14348 if (_json.containsKey("autoscalers")) {
13103 addresses = _json["addresses"].map((value) => new Address.fromJson(value)) .toList(); 14349 autoscalers = _json["autoscalers"].map((value) => new Autoscaler.fromJson( value)).toList();
13104 } 14350 }
13105 if (_json.containsKey("warning")) { 14351 if (_json.containsKey("warning")) {
13106 warning = new AddressesScopedListWarning.fromJson(_json["warning"]); 14352 warning = new AutoscalersScopedListWarning.fromJson(_json["warning"]);
13107 } 14353 }
13108 } 14354 }
13109 14355
13110 core.Map toJson() { 14356 core.Map toJson() {
13111 var _json = new core.Map(); 14357 var _json = new core.Map();
13112 if (addresses != null) { 14358 if (autoscalers != null) {
13113 _json["addresses"] = addresses.map((value) => (value).toJson()).toList(); 14359 _json["autoscalers"] = autoscalers.map((value) => (value).toJson()).toList ();
13114 } 14360 }
13115 if (warning != null) { 14361 if (warning != null) {
13116 _json["warning"] = (warning).toJson(); 14362 _json["warning"] = (warning).toJson();
13117 } 14363 }
13118 return _json; 14364 return _json;
13119 } 14365 }
13120 } 14366 }
13121 14367
13122 /** An instance-attached disk resource. */ 14368 /** Cloud Autoscaler policy. */
13123 class AttachedDisk { 14369 class AutoscalingPolicy {
13124 /** 14370 /**
13125 * Specifies whether the disk will be auto-deleted when the instance is 14371 * The number of seconds that the autoscaler should wait before it starts
13126 * deleted (but not when the disk is detached from the instance). 14372 * collecting information from a new instance. This prevents the autoscaler
13127 */ 14373 * from collecting information when the instance is initializing, during which
13128 core.bool autoDelete; 14374 * the collected usage would not be reliable. The default time autoscaler
13129 /** 14375 * waits is 60 seconds.
13130 * Indicates that this is a boot disk. The virtual machine will use the first 14376 *
13131 * partition of the disk for its root filesystem. 14377 * Virtual machine initialization times might vary because of numerous
13132 */ 14378 * factors. We recommend that you test how long an instance may take to
13133 core.bool boot; 14379 * initialize. To do this, create an instance and time the startup process.
13134 /** 14380 */
13135 * Specifies a unique device name of your choice that is reflected into the 14381 core.int coolDownPeriodSec;
13136 * /dev/disk/by-id/google-* tree of a Linux operating system running within 14382 /**
13137 * the instance. This name can be used to reference the device for mounting, 14383 * Defines the CPU utilization policy that allows the autoscaler to scale
13138 * resizing, and so on, from within the instance. 14384 * based on the average CPU utilization of a managed instance group.
13139 * 14385 */
13140 * If not specified, the server chooses a default device name to apply to this 14386 AutoscalingPolicyCpuUtilization cpuUtilization;
13141 * disk, in the form persistent-disks-x, where x is a number assigned by 14387 /** Configuration parameters of autoscaling based on a custom metric. */
13142 * Google Compute Engine. This field is only applicable for persistent disks. 14388 core.List<AutoscalingPolicyCustomMetricUtilization> customMetricUtilizations;
13143 */ 14389 /** Configuration parameters of autoscaling based on load balancer. */
13144 core.String deviceName; 14390 AutoscalingPolicyLoadBalancingUtilization loadBalancingUtilization;
13145 /** 14391 /**
13146 * Assigns a zero-based index to this disk, where 0 is reserved for the boot 14392 * The maximum number of instances that the autoscaler can scale up to. This
13147 * disk. For example, if you have many disks attached to an instance, each 14393 * is required when creating or updating an autoscaler. The maximum number of
13148 * disk would have a unique index number. If not specified, the server will 14394 * replicas should not be lower than minimal number of replicas.
13149 * choose an appropriate value. 14395 */
13150 */ 14396 core.int maxNumReplicas;
13151 core.int index; 14397 /**
13152 /** 14398 * The minimum number of replicas that the autoscaler can scale down to. This
13153 * [Input Only] Specifies the parameters for a new disk that will be created 14399 * cannot be less than 0. If not provided, autoscaler will choose a default
13154 * alongside the new instance. Use initialization parameters to create boot 14400 * value depending on maximum number of instances allowed.
13155 * disks or local SSDs attached to the new instance. 14401 */
13156 * 14402 core.int minNumReplicas;
13157 * This property is mutually exclusive with the source property; you can only 14403
13158 * define one or the other, but not both. 14404 AutoscalingPolicy();
13159 */ 14405
13160 AttachedDiskInitializeParams initializeParams; 14406 AutoscalingPolicy.fromJson(core.Map _json) {
13161 /** 14407 if (_json.containsKey("coolDownPeriodSec")) {
13162 * Specifies the disk interface to use for attaching this disk, which is 14408 coolDownPeriodSec = _json["coolDownPeriodSec"];
13163 * either SCSI or NVME. The default is SCSI. Persistent disks must always use 14409 }
13164 * SCSI and the request will fail if you attempt to attach a persistent disk 14410 if (_json.containsKey("cpuUtilization")) {
13165 * in any other format than SCSI. Local SSDs can use either NVME or SCSI. For 14411 cpuUtilization = new AutoscalingPolicyCpuUtilization.fromJson(_json["cpuUt ilization"]);
13166 * performance characteristics of SCSI over NVMe, see Local SSD performance. 14412 }
14413 if (_json.containsKey("customMetricUtilizations")) {
14414 customMetricUtilizations = _json["customMetricUtilizations"].map((value) = > new AutoscalingPolicyCustomMetricUtilization.fromJson(value)).toList();
14415 }
14416 if (_json.containsKey("loadBalancingUtilization")) {
14417 loadBalancingUtilization = new AutoscalingPolicyLoadBalancingUtilization.f romJson(_json["loadBalancingUtilization"]);
14418 }
14419 if (_json.containsKey("maxNumReplicas")) {
14420 maxNumReplicas = _json["maxNumReplicas"];
14421 }
14422 if (_json.containsKey("minNumReplicas")) {
14423 minNumReplicas = _json["minNumReplicas"];
14424 }
14425 }
14426
14427 core.Map toJson() {
14428 var _json = new core.Map();
14429 if (coolDownPeriodSec != null) {
14430 _json["coolDownPeriodSec"] = coolDownPeriodSec;
14431 }
14432 if (cpuUtilization != null) {
14433 _json["cpuUtilization"] = (cpuUtilization).toJson();
14434 }
14435 if (customMetricUtilizations != null) {
14436 _json["customMetricUtilizations"] = customMetricUtilizations.map((value) = > (value).toJson()).toList();
14437 }
14438 if (loadBalancingUtilization != null) {
14439 _json["loadBalancingUtilization"] = (loadBalancingUtilization).toJson();
14440 }
14441 if (maxNumReplicas != null) {
14442 _json["maxNumReplicas"] = maxNumReplicas;
14443 }
14444 if (minNumReplicas != null) {
14445 _json["minNumReplicas"] = minNumReplicas;
14446 }
14447 return _json;
14448 }
14449 }
14450
14451 /** CPU utilization policy. */
14452 class AutoscalingPolicyCpuUtilization {
14453 /**
14454 * The target CPU utilization that the autoscaler should maintain. Must be a
14455 * float value in the range (0, 1]. If not specified, the default is 0.8.
14456 *
14457 * If the CPU level is below the target utilization, the autoscaler scales
14458 * down the number of instances until it reaches the minimum number of
14459 * instances you specified or until the average CPU of your instances reaches
14460 * the target utilization.
14461 *
14462 * If the average CPU is above the target utilization, the autoscaler scales
14463 * up until it reaches the maximum number of instances you specified or until
14464 * the average utilization reaches the target utilization.
14465 */
14466 core.double utilizationTarget;
14467
14468 AutoscalingPolicyCpuUtilization();
14469
14470 AutoscalingPolicyCpuUtilization.fromJson(core.Map _json) {
14471 if (_json.containsKey("utilizationTarget")) {
14472 utilizationTarget = _json["utilizationTarget"];
14473 }
14474 }
14475
14476 core.Map toJson() {
14477 var _json = new core.Map();
14478 if (utilizationTarget != null) {
14479 _json["utilizationTarget"] = utilizationTarget;
14480 }
14481 return _json;
14482 }
14483 }
14484
14485 /** Custom utilization metric policy. */
14486 class AutoscalingPolicyCustomMetricUtilization {
14487 /**
14488 * The identifier of the Cloud Monitoring metric. The metric cannot have
14489 * negative values and should be a utilization metric, which means that the
14490 * number of virtual machines handling requests should increase or decrease
14491 * proportionally to the metric. The metric must also have a label of
14492 * compute.googleapis.com/resource_id with the value of the instance's unique
14493 * ID, although this alone does not guarantee that the metric is valid.
14494 *
14495 * For example, the following is a valid metric:
14496 * compute.googleapis.com/instance/network/received_bytes_count
14497 *
14498 *
14499 * The following is not a valid metric because it does not increase or
14500 * decrease based on usage:
14501 * compute.googleapis.com/instance/cpu/reserved_cores
14502 */
14503 core.String metric;
14504 /**
14505 * Target value of the metric which autoscaler should maintain. Must be a
14506 * positive value.
14507 */
14508 core.double utilizationTarget;
14509 /**
14510 * Defines how target utilization value is expressed for a Cloud Monitoring
14511 * metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. If not
14512 * specified, the default is GAUGE.
13167 * Possible string values are: 14513 * Possible string values are:
13168 * - "NVME" 14514 * - "DELTA_PER_MINUTE"
13169 * - "SCSI" 14515 * - "DELTA_PER_SECOND"
13170 */ 14516 * - "GAUGE"
13171 core.String interface; 14517 */
13172 /** 14518 core.String utilizationTargetType;
13173 * [Output Only] Type of the resource. Always compute#attachedDisk for 14519
13174 * attached disks. 14520 AutoscalingPolicyCustomMetricUtilization();
13175 */ 14521
13176 core.String kind; 14522 AutoscalingPolicyCustomMetricUtilization.fromJson(core.Map _json) {
13177 /** [Output Only] Any valid publicly visible licenses. */ 14523 if (_json.containsKey("metric")) {
13178 core.List<core.String> licenses; 14524 metric = _json["metric"];
13179 /** 14525 }
13180 * The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If 14526 if (_json.containsKey("utilizationTarget")) {
13181 * not specified, the default is to attach the disk in READ_WRITE mode. 14527 utilizationTarget = _json["utilizationTarget"];
14528 }
14529 if (_json.containsKey("utilizationTargetType")) {
14530 utilizationTargetType = _json["utilizationTargetType"];
14531 }
14532 }
14533
14534 core.Map toJson() {
14535 var _json = new core.Map();
14536 if (metric != null) {
14537 _json["metric"] = metric;
14538 }
14539 if (utilizationTarget != null) {
14540 _json["utilizationTarget"] = utilizationTarget;
14541 }
14542 if (utilizationTargetType != null) {
14543 _json["utilizationTargetType"] = utilizationTargetType;
14544 }
14545 return _json;
14546 }
14547 }
14548
14549 /** Configuration parameters of autoscaling based on load balancing. */
14550 class AutoscalingPolicyLoadBalancingUtilization {
14551 /**
14552 * Fraction of backend capacity utilization (set in HTTP(s) load balancing
14553 * configuration) that autoscaler should maintain. Must be a positive float
14554 * value. If not defined, the default is 0.8.
14555 */
14556 core.double utilizationTarget;
14557
14558 AutoscalingPolicyLoadBalancingUtilization();
14559
14560 AutoscalingPolicyLoadBalancingUtilization.fromJson(core.Map _json) {
14561 if (_json.containsKey("utilizationTarget")) {
14562 utilizationTarget = _json["utilizationTarget"];
14563 }
14564 }
14565
14566 core.Map toJson() {
14567 var _json = new core.Map();
14568 if (utilizationTarget != null) {
14569 _json["utilizationTarget"] = utilizationTarget;
14570 }
14571 return _json;
14572 }
14573 }
14574
14575 /** Message containing information of one individual backend. */
14576 class Backend {
14577 /**
14578 * Specifies the balancing mode for this backend. For global HTTP(S) load
14579 * balancing, the default is UTILIZATION. Valid values are UTILIZATION and
14580 * RATE.
13182 * Possible string values are: 14581 * Possible string values are:
13183 * - "READ_ONLY" 14582 * - "RATE"
13184 * - "READ_WRITE" 14583 * - "UTILIZATION"
13185 */ 14584 */
13186 core.String mode; 14585 core.String balancingMode;
13187 /** 14586 /**
13188 * Specifies a valid partial or full URL to an existing Persistent Disk 14587 * A multiplier applied to the group's maximum servicing capacity (either
13189 * resource. This field is only applicable for persistent disks. 14588 * UTILIZATION or RATE). Default value is 1, which means the group will serve
13190 */ 14589 * up to 100% of its configured CPU or RPS (depending on balancingMode). A
13191 core.String source; 14590 * setting of 0 means the group is completely drained, offering 0% of its
13192 /** 14591 * available CPU or RPS. Valid range is [0.0,1.0].
13193 * Specifies the type of the disk, either SCRATCH or PERSISTENT. If not 14592 */
13194 * specified, the default is PERSISTENT. 14593 core.double capacityScaler;
13195 * Possible string values are: 14594 /**
13196 * - "PERSISTENT" 14595 * An optional description of this resource. Provide this property when you
13197 * - "SCRATCH" 14596 * create the resource.
13198 */ 14597 */
13199 core.String type; 14598 core.String description;
13200 14599 /**
13201 AttachedDisk(); 14600 * The fully-qualified URL of a zonal Instance Group resource. This instance
13202 14601 * group defines the list of instances that serve traffic. Member virtual
13203 AttachedDisk.fromJson(core.Map _json) { 14602 * machine instances from each instance group must live in the same zone as
13204 if (_json.containsKey("autoDelete")) { 14603 * the instance group itself. No two backends in a backend service are allowed
13205 autoDelete = _json["autoDelete"]; 14604 * to use same Instance Group resource.
13206 } 14605 *
13207 if (_json.containsKey("boot")) { 14606 * Note that you must specify an Instance Group resource using the
13208 boot = _json["boot"]; 14607 * fully-qualified URL, rather than a partial URL.
13209 } 14608 */
13210 if (_json.containsKey("deviceName")) { 14609 core.String group;
13211 deviceName = _json["deviceName"]; 14610 /**
13212 } 14611 * The max requests per second (RPS) of the group. Can be used with either
13213 if (_json.containsKey("index")) { 14612 * RATE or UTILIZATION balancing modes, but required if RATE mode. For RATE
13214 index = _json["index"]; 14613 * mode, either maxRate or maxRatePerInstance must be set.
13215 } 14614 */
13216 if (_json.containsKey("initializeParams")) { 14615 core.int maxRate;
13217 initializeParams = new AttachedDiskInitializeParams.fromJson(_json["initia lizeParams"]); 14616 /**
13218 } 14617 * The max requests per second (RPS) that a single backend instance can
13219 if (_json.containsKey("interface")) { 14618 * handle.This is used to calculate the capacity of the group. Can be used in
13220 interface = _json["interface"]; 14619 * either balancing mode. For RATE mode, either maxRate or maxRatePerInstance
13221 } 14620 * must be set.
13222 if (_json.containsKey("kind")) { 14621 */
13223 kind = _json["kind"]; 14622 core.double maxRatePerInstance;
13224 } 14623 /**
13225 if (_json.containsKey("licenses")) { 14624 * Used when balancingMode is UTILIZATION. This ratio defines the CPU
13226 licenses = _json["licenses"]; 14625 * utilization target for the group. The default is 0.8. Valid range is [0.0,
13227 } 14626 * 1.0].
13228 if (_json.containsKey("mode")) { 14627 */
13229 mode = _json["mode"]; 14628 core.double maxUtilization;
13230 } 14629
13231 if (_json.containsKey("source")) { 14630 Backend();
13232 source = _json["source"]; 14631
13233 } 14632 Backend.fromJson(core.Map _json) {
13234 if (_json.containsKey("type")) { 14633 if (_json.containsKey("balancingMode")) {
13235 type = _json["type"]; 14634 balancingMode = _json["balancingMode"];
13236 } 14635 }
13237 } 14636 if (_json.containsKey("capacityScaler")) {
13238 14637 capacityScaler = _json["capacityScaler"];
13239 core.Map toJson() { 14638 }
13240 var _json = new core.Map(); 14639 if (_json.containsKey("description")) {
13241 if (autoDelete != null) { 14640 description = _json["description"];
13242 _json["autoDelete"] = autoDelete; 14641 }
13243 } 14642 if (_json.containsKey("group")) {
13244 if (boot != null) { 14643 group = _json["group"];
13245 _json["boot"] = boot; 14644 }
13246 } 14645 if (_json.containsKey("maxRate")) {
13247 if (deviceName != null) { 14646 maxRate = _json["maxRate"];
13248 _json["deviceName"] = deviceName; 14647 }
13249 } 14648 if (_json.containsKey("maxRatePerInstance")) {
13250 if (index != null) { 14649 maxRatePerInstance = _json["maxRatePerInstance"];
13251 _json["index"] = index; 14650 }
13252 } 14651 if (_json.containsKey("maxUtilization")) {
13253 if (initializeParams != null) { 14652 maxUtilization = _json["maxUtilization"];
13254 _json["initializeParams"] = (initializeParams).toJson(); 14653 }
13255 } 14654 }
13256 if (interface != null) { 14655
13257 _json["interface"] = interface; 14656 core.Map toJson() {
13258 } 14657 var _json = new core.Map();
13259 if (kind != null) { 14658 if (balancingMode != null) {
13260 _json["kind"] = kind; 14659 _json["balancingMode"] = balancingMode;
13261 } 14660 }
13262 if (licenses != null) { 14661 if (capacityScaler != null) {
13263 _json["licenses"] = licenses; 14662 _json["capacityScaler"] = capacityScaler;
13264 } 14663 }
13265 if (mode != null) { 14664 if (description != null) {
13266 _json["mode"] = mode; 14665 _json["description"] = description;
13267 } 14666 }
13268 if (source != null) { 14667 if (group != null) {
13269 _json["source"] = source; 14668 _json["group"] = group;
13270 } 14669 }
13271 if (type != null) { 14670 if (maxRate != null) {
13272 _json["type"] = type; 14671 _json["maxRate"] = maxRate;
14672 }
14673 if (maxRatePerInstance != null) {
14674 _json["maxRatePerInstance"] = maxRatePerInstance;
14675 }
14676 if (maxUtilization != null) {
14677 _json["maxUtilization"] = maxUtilization;
13273 } 14678 }
13274 return _json; 14679 return _json;
13275 } 14680 }
13276 } 14681 }
13277 14682
13278 /** 14683 /**
13279 * [Input Only] Specifies the parameters for a new disk that will be created 14684 * A BackendService resource. This resource defines a group of backend virtual
13280 * alongside the new instance. Use initialization parameters to create boot 14685 * machines and their serving capacity.
13281 * disks or local SSDs attached to the new instance.
13282 *
13283 * This property is mutually exclusive with the source property; you can only
13284 * define one or the other, but not both.
13285 */ 14686 */
13286 class AttachedDiskInitializeParams { 14687 class BackendService {
13287 /** 14688 /** The list of backends that serve this BackendService. */
13288 * Specifies the disk name. If not specified, the default is to use the name 14689 core.List<Backend> backends;
13289 * of the instance.
13290 */
13291 core.String diskName;
13292 /** Specifies the size of the disk in base-2 GB. */
13293 core.String diskSizeGb;
13294 /**
13295 * Specifies the disk type to use to create the instance. If not specified,
13296 * the default is pd-standard, specified using the full URL. For example:
13297 *
13298 * https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes /pd-standard
13299 *
13300 * Other values include pd-ssd and local-ssd. If you define this field, you
13301 * can provide either the full or partial URL. For example, the following are
13302 * valid values:
13303 * -
13304 * https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes /diskType
13305 * - projects/project/zones/zone/diskTypes/diskType
13306 * - zones/zone/diskTypes/diskType
13307 */
13308 core.String diskType;
13309 /**
13310 * The source image used to create this disk. If the source image is deleted,
13311 * this field will not be set.
13312 *
13313 * To create a disk with one of the public operating system images, specify
13314 * the image by its family name. For example, specify family/debian-8 to use
13315 * the latest Debian 8 image:
13316 *
13317 * projects/debian-cloud/global/images/family/debian-8
13318 *
13319 * Alternatively, use a specific version of a public operating system image:
13320 *
13321 * projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD
13322 *
13323 * To create a disk with a private image that you created, specify the image
13324 * name in the following format:
13325 *
13326 * global/images/my-private-image
13327 *
13328 * You can also specify a private image by its image family, which returns the
13329 * latest version of the image in that family. Replace the image name with
13330 * family/family-name:
13331 *
13332 * global/images/family/my-private-family
13333 */
13334 core.String sourceImage;
13335
13336 AttachedDiskInitializeParams();
13337
13338 AttachedDiskInitializeParams.fromJson(core.Map _json) {
13339 if (_json.containsKey("diskName")) {
13340 diskName = _json["diskName"];
13341 }
13342 if (_json.containsKey("diskSizeGb")) {
13343 diskSizeGb = _json["diskSizeGb"];
13344 }
13345 if (_json.containsKey("diskType")) {
13346 diskType = _json["diskType"];
13347 }
13348 if (_json.containsKey("sourceImage")) {
13349 sourceImage = _json["sourceImage"];
13350 }
13351 }
13352
13353 core.Map toJson() {
13354 var _json = new core.Map();
13355 if (diskName != null) {
13356 _json["diskName"] = diskName;
13357 }
13358 if (diskSizeGb != null) {
13359 _json["diskSizeGb"] = diskSizeGb;
13360 }
13361 if (diskType != null) {
13362 _json["diskType"] = diskType;
13363 }
13364 if (sourceImage != null) {
13365 _json["sourceImage"] = sourceImage;
13366 }
13367 return _json;
13368 }
13369 }
13370
13371 /**
13372 * Represents an Autoscaler resource. Autoscalers allow you to automatically
13373 * scale virtual machine instances in managed instance groups according to an
13374 * autoscaling policy that you define. For more information, read Autoscaling
13375 * Groups of Instances.
13376 */
13377 class Autoscaler {
13378 /**
13379 * The configuration parameters for the autoscaling algorithm. You can define
13380 * one or more of the policies for an autoscaler: cpuUtilization,
13381 * customMetricUtilizations, and loadBalancingUtilization.
13382 *
13383 * If none of these are specified, the default will be to autoscale based on
13384 * cpuUtilization to 0.8 or 80%.
13385 */
13386 AutoscalingPolicy autoscalingPolicy;
13387 /** [Output Only] Creation timestamp in RFC3339 text format. */ 14690 /** [Output Only] Creation timestamp in RFC3339 text format. */
13388 core.String creationTimestamp; 14691 core.String creationTimestamp;
13389 /** 14692 /**
13390 * An optional description of this resource. Provide this property when you 14693 * An optional description of this resource. Provide this property when you
13391 * create the resource. 14694 * create the resource.
13392 */ 14695 */
13393 core.String description; 14696 core.String description;
13394 /** 14697 /**
14698 * Fingerprint of this resource. A hash of the contents stored in this object.
14699 * This field is used in optimistic locking. This field will be ignored when
14700 * inserting a BackendService. An up-to-date fingerprint must be provided in
14701 * order to update the BackendService.
14702 */
14703 core.String fingerprint;
14704 core.List<core.int> get fingerprintAsBytes {
14705 return convert.BASE64.decode(fingerprint);
14706 }
14707
14708 void set fingerprintAsBytes(core.List<core.int> _bytes) {
14709 fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll( "+", "-");
14710 }
14711 /**
14712 * The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for
14713 * health checking this BackendService. Currently at most one health check can
14714 * be specified, and a health check is required.
14715 */
14716 core.List<core.String> healthChecks;
14717 /**
13395 * [Output Only] The unique identifier for the resource. This identifier is 14718 * [Output Only] The unique identifier for the resource. This identifier is
13396 * defined by the server. 14719 * defined by the server.
13397 */ 14720 */
13398 core.String id; 14721 core.String id;
13399 /** 14722 /**
13400 * [Output Only] Type of the resource. Always compute#autoscaler for 14723 * [Output Only] Type of resource. Always compute#backendService for backend
13401 * autoscalers. 14724 * services.
13402 */ 14725 */
13403 core.String kind; 14726 core.String kind;
13404 /** 14727 /**
13405 * Name of the resource. Provided by the client when the resource is created. 14728 * Name of the resource. Provided by the client when the resource is created.
13406 * The name must be 1-63 characters long, and comply with RFC1035. 14729 * The name must be 1-63 characters long, and comply with RFC1035.
13407 * Specifically, the name must be 1-63 characters long and match the regular 14730 * Specifically, the name must be 1-63 characters long and match the regular
13408 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must 14731 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
13409 * be a lowercase letter, and all following characters must be a dash, 14732 * be a lowercase letter, and all following characters must be a dash,
13410 * lowercase letter, or digit, except the last character, which cannot be a 14733 * lowercase letter, or digit, except the last character, which cannot be a
13411 * dash. 14734 * dash.
13412 */ 14735 */
13413 core.String name; 14736 core.String name;
14737 /**
14738 * Deprecated in favor of portName. The TCP port to connect on the backend.
14739 * The default value is 80.
14740 */
14741 core.int port;
14742 /**
14743 * Name of backend port. The same name should appear in the instance groups
14744 * referenced by this service. Required.
14745 */
14746 core.String portName;
14747 /**
14748 * The protocol this BackendService uses to communicate with backends.
14749 *
14750 * Possible values are HTTP, HTTPS, HTTP2, TCP and SSL.
14751 * Possible string values are:
14752 * - "HTTP"
14753 * - "HTTPS"
14754 */
14755 core.String protocol;
14756 /**
14757 * [Output Only] URL of the region where the regional backend service resides.
14758 * This field is not applicable to global backend services.
14759 */
14760 core.String region;
13414 /** [Output Only] Server-defined URL for the resource. */ 14761 /** [Output Only] Server-defined URL for the resource. */
13415 core.String selfLink; 14762 core.String selfLink;
13416 /** URL of the managed instance group that this autoscaler will scale. */ 14763 /**
13417 core.String target; 14764 * How many seconds to wait for the backend before considering it a failed
13418 /** [Output Only] URL of the zone where the instance group resides. */ 14765 * request. Default is 30 seconds.
13419 core.String zone; 14766 */
14767 core.int timeoutSec;
13420 14768
13421 Autoscaler(); 14769 BackendService();
13422 14770
13423 Autoscaler.fromJson(core.Map _json) { 14771 BackendService.fromJson(core.Map _json) {
13424 if (_json.containsKey("autoscalingPolicy")) { 14772 if (_json.containsKey("backends")) {
13425 autoscalingPolicy = new AutoscalingPolicy.fromJson(_json["autoscalingPolic y"]); 14773 backends = _json["backends"].map((value) => new Backend.fromJson(value)).t oList();
13426 } 14774 }
13427 if (_json.containsKey("creationTimestamp")) { 14775 if (_json.containsKey("creationTimestamp")) {
13428 creationTimestamp = _json["creationTimestamp"]; 14776 creationTimestamp = _json["creationTimestamp"];
13429 } 14777 }
13430 if (_json.containsKey("description")) { 14778 if (_json.containsKey("description")) {
13431 description = _json["description"]; 14779 description = _json["description"];
13432 } 14780 }
14781 if (_json.containsKey("fingerprint")) {
14782 fingerprint = _json["fingerprint"];
14783 }
14784 if (_json.containsKey("healthChecks")) {
14785 healthChecks = _json["healthChecks"];
14786 }
13433 if (_json.containsKey("id")) { 14787 if (_json.containsKey("id")) {
13434 id = _json["id"]; 14788 id = _json["id"];
13435 } 14789 }
13436 if (_json.containsKey("kind")) { 14790 if (_json.containsKey("kind")) {
13437 kind = _json["kind"]; 14791 kind = _json["kind"];
13438 } 14792 }
13439 if (_json.containsKey("name")) { 14793 if (_json.containsKey("name")) {
13440 name = _json["name"]; 14794 name = _json["name"];
13441 } 14795 }
14796 if (_json.containsKey("port")) {
14797 port = _json["port"];
14798 }
14799 if (_json.containsKey("portName")) {
14800 portName = _json["portName"];
14801 }
14802 if (_json.containsKey("protocol")) {
14803 protocol = _json["protocol"];
14804 }
14805 if (_json.containsKey("region")) {
14806 region = _json["region"];
14807 }
13442 if (_json.containsKey("selfLink")) { 14808 if (_json.containsKey("selfLink")) {
13443 selfLink = _json["selfLink"]; 14809 selfLink = _json["selfLink"];
13444 } 14810 }
13445 if (_json.containsKey("target")) { 14811 if (_json.containsKey("timeoutSec")) {
13446 target = _json["target"]; 14812 timeoutSec = _json["timeoutSec"];
13447 }
13448 if (_json.containsKey("zone")) {
13449 zone = _json["zone"];
13450 } 14813 }
13451 } 14814 }
13452 14815
13453 core.Map toJson() { 14816 core.Map toJson() {
13454 var _json = new core.Map(); 14817 var _json = new core.Map();
13455 if (autoscalingPolicy != null) { 14818 if (backends != null) {
13456 _json["autoscalingPolicy"] = (autoscalingPolicy).toJson(); 14819 _json["backends"] = backends.map((value) => (value).toJson()).toList();
13457 } 14820 }
13458 if (creationTimestamp != null) { 14821 if (creationTimestamp != null) {
13459 _json["creationTimestamp"] = creationTimestamp; 14822 _json["creationTimestamp"] = creationTimestamp;
13460 } 14823 }
13461 if (description != null) { 14824 if (description != null) {
13462 _json["description"] = description; 14825 _json["description"] = description;
13463 } 14826 }
14827 if (fingerprint != null) {
14828 _json["fingerprint"] = fingerprint;
14829 }
14830 if (healthChecks != null) {
14831 _json["healthChecks"] = healthChecks;
14832 }
13464 if (id != null) { 14833 if (id != null) {
13465 _json["id"] = id; 14834 _json["id"] = id;
13466 } 14835 }
13467 if (kind != null) { 14836 if (kind != null) {
13468 _json["kind"] = kind; 14837 _json["kind"] = kind;
13469 } 14838 }
13470 if (name != null) { 14839 if (name != null) {
13471 _json["name"] = name; 14840 _json["name"] = name;
13472 } 14841 }
14842 if (port != null) {
14843 _json["port"] = port;
14844 }
14845 if (portName != null) {
14846 _json["portName"] = portName;
14847 }
14848 if (protocol != null) {
14849 _json["protocol"] = protocol;
14850 }
14851 if (region != null) {
14852 _json["region"] = region;
14853 }
13473 if (selfLink != null) { 14854 if (selfLink != null) {
13474 _json["selfLink"] = selfLink; 14855 _json["selfLink"] = selfLink;
13475 } 14856 }
13476 if (target != null) { 14857 if (timeoutSec != null) {
13477 _json["target"] = target; 14858 _json["timeoutSec"] = timeoutSec;
13478 } 14859 }
13479 if (zone != null) { 14860 return _json;
13480 _json["zone"] = zone; 14861 }
13481 } 14862 }
13482 return _json; 14863
13483 } 14864 class BackendServiceGroupHealth {
13484 } 14865 core.List<HealthStatus> healthStatus;
13485 14866 /**
13486 class AutoscalerAggregatedList { 14867 * [Output Only] Type of resource. Always compute#backendServiceGroupHealth
14868 * for the health of backend services.
14869 */
14870 core.String kind;
14871
14872 BackendServiceGroupHealth();
14873
14874 BackendServiceGroupHealth.fromJson(core.Map _json) {
14875 if (_json.containsKey("healthStatus")) {
14876 healthStatus = _json["healthStatus"].map((value) => new HealthStatus.fromJ son(value)).toList();
14877 }
14878 if (_json.containsKey("kind")) {
14879 kind = _json["kind"];
14880 }
14881 }
14882
14883 core.Map toJson() {
14884 var _json = new core.Map();
14885 if (healthStatus != null) {
14886 _json["healthStatus"] = healthStatus.map((value) => (value).toJson()).toLi st();
14887 }
14888 if (kind != null) {
14889 _json["kind"] = kind;
14890 }
14891 return _json;
14892 }
14893 }
14894
14895 /** Contains a list of BackendService resources. */
14896 class BackendServiceList {
13487 /** 14897 /**
13488 * [Output Only] The unique identifier for the resource. This identifier is 14898 * [Output Only] The unique identifier for the resource. This identifier is
13489 * defined by the server. 14899 * defined by the server.
13490 */ 14900 */
13491 core.String id; 14901 core.String id;
13492 /** A map of scoped autoscaler lists. */ 14902 /** A list of BackendService resources. */
13493 core.Map<core.String, AutoscalersScopedList> items; 14903 core.List<BackendService> items;
13494 /** 14904 /**
13495 * [Output Only] Type of resource. Always compute#autoscalerAggregatedList for 14905 * [Output Only] Type of resource. Always compute#backendServiceList for lists
13496 * aggregated lists of autoscalers. 14906 * of backend services.
13497 */ 14907 */
13498 core.String kind; 14908 core.String kind;
13499 /** 14909 /**
13500 * [Output Only] This token allows you to get the next page of results for 14910 * [Output Only] This token allows you to get the next page of results for
13501 * list requests. If the number of results is larger than maxResults, use the 14911 * list requests. If the number of results is larger than maxResults, use the
13502 * nextPageToken as a value for the query parameter pageToken in the next list 14912 * nextPageToken as a value for the query parameter pageToken in the next list
13503 * request. Subsequent list requests will have their own nextPageToken to 14913 * request. Subsequent list requests will have their own nextPageToken to
13504 * continue paging through the results. 14914 * continue paging through the results.
13505 */ 14915 */
13506 core.String nextPageToken; 14916 core.String nextPageToken;
13507 /** [Output Only] Server-defined URL for this resource. */ 14917 /** [Output Only] Server-defined URL for this resource. */
13508 core.String selfLink; 14918 core.String selfLink;
13509 14919
13510 AutoscalerAggregatedList(); 14920 BackendServiceList();
13511 14921
13512 AutoscalerAggregatedList.fromJson(core.Map _json) { 14922 BackendServiceList.fromJson(core.Map _json) {
13513 if (_json.containsKey("id")) { 14923 if (_json.containsKey("id")) {
13514 id = _json["id"]; 14924 id = _json["id"];
13515 } 14925 }
13516 if (_json.containsKey("items")) { 14926 if (_json.containsKey("items")) {
13517 items = commons.mapMap(_json["items"], (item) => new AutoscalersScopedList .fromJson(item)); 14927 items = _json["items"].map((value) => new BackendService.fromJson(value)). toList();
13518 } 14928 }
13519 if (_json.containsKey("kind")) { 14929 if (_json.containsKey("kind")) {
13520 kind = _json["kind"]; 14930 kind = _json["kind"];
13521 } 14931 }
13522 if (_json.containsKey("nextPageToken")) { 14932 if (_json.containsKey("nextPageToken")) {
13523 nextPageToken = _json["nextPageToken"]; 14933 nextPageToken = _json["nextPageToken"];
13524 } 14934 }
13525 if (_json.containsKey("selfLink")) { 14935 if (_json.containsKey("selfLink")) {
13526 selfLink = _json["selfLink"]; 14936 selfLink = _json["selfLink"];
13527 } 14937 }
13528 } 14938 }
13529 14939
13530 core.Map toJson() { 14940 core.Map toJson() {
13531 var _json = new core.Map(); 14941 var _json = new core.Map();
13532 if (id != null) { 14942 if (id != null) {
13533 _json["id"] = id; 14943 _json["id"] = id;
13534 } 14944 }
13535 if (items != null) { 14945 if (items != null) {
13536 _json["items"] = commons.mapMap(items, (item) => (item).toJson()); 14946 _json["items"] = items.map((value) => (value).toJson()).toList();
13537 } 14947 }
13538 if (kind != null) { 14948 if (kind != null) {
13539 _json["kind"] = kind; 14949 _json["kind"] = kind;
13540 } 14950 }
13541 if (nextPageToken != null) { 14951 if (nextPageToken != null) {
13542 _json["nextPageToken"] = nextPageToken; 14952 _json["nextPageToken"] = nextPageToken;
13543 } 14953 }
13544 if (selfLink != null) { 14954 if (selfLink != null) {
13545 _json["selfLink"] = selfLink; 14955 _json["selfLink"] = selfLink;
13546 } 14956 }
13547 return _json; 14957 return _json;
13548 } 14958 }
13549 } 14959 }
13550 14960
13551 /** Contains a list of Autoscaler resources. */ 14961 /** Represents a customer-supplied encryption key */
13552 class AutoscalerList { 14962 class CustomerEncryptionKey {
14963 /**
14964 * Specifies a 256-bit customer-supplied encryption key, encoded in base64 to
14965 * either encrypt or decrypt this resource.
14966 */
14967 core.String rawKey;
14968 /**
14969 * [Output only] The base64 encoded SHA-256 hash of the customer-supplied
14970 * encryption key that protects this resource.
14971 */
14972 core.String sha256;
14973
14974 CustomerEncryptionKey();
14975
14976 CustomerEncryptionKey.fromJson(core.Map _json) {
14977 if (_json.containsKey("rawKey")) {
14978 rawKey = _json["rawKey"];
14979 }
14980 if (_json.containsKey("sha256")) {
14981 sha256 = _json["sha256"];
14982 }
14983 }
14984
14985 core.Map toJson() {
14986 var _json = new core.Map();
14987 if (rawKey != null) {
14988 _json["rawKey"] = rawKey;
14989 }
14990 if (sha256 != null) {
14991 _json["sha256"] = sha256;
14992 }
14993 return _json;
14994 }
14995 }
14996
14997 class CustomerEncryptionKeyProtectedDisk {
14998 /**
14999 * Decrypts data associated with the disk with a customer-supplied encryption
15000 * key.
15001 */
15002 CustomerEncryptionKey diskEncryptionKey;
15003 /**
15004 * Specifies a valid partial or full URL to an existing Persistent Disk
15005 * resource. This field is only applicable for persistent disks.
15006 */
15007 core.String source;
15008
15009 CustomerEncryptionKeyProtectedDisk();
15010
15011 CustomerEncryptionKeyProtectedDisk.fromJson(core.Map _json) {
15012 if (_json.containsKey("diskEncryptionKey")) {
15013 diskEncryptionKey = new CustomerEncryptionKey.fromJson(_json["diskEncrypti onKey"]);
15014 }
15015 if (_json.containsKey("source")) {
15016 source = _json["source"];
15017 }
15018 }
15019
15020 core.Map toJson() {
15021 var _json = new core.Map();
15022 if (diskEncryptionKey != null) {
15023 _json["diskEncryptionKey"] = (diskEncryptionKey).toJson();
15024 }
15025 if (source != null) {
15026 _json["source"] = source;
15027 }
15028 return _json;
15029 }
15030 }
15031
15032 /** Deprecation status for a public resource. */
15033 class DeprecationStatus {
15034 /**
15035 * An optional RFC3339 timestamp on or after which the deprecation state of
15036 * this resource will be changed to DELETED.
15037 */
15038 core.String deleted;
15039 /**
15040 * An optional RFC3339 timestamp on or after which the deprecation state of
15041 * this resource will be changed to DEPRECATED.
15042 */
15043 core.String deprecated;
15044 /**
15045 * An optional RFC3339 timestamp on or after which the deprecation state of
15046 * this resource will be changed to OBSOLETE.
15047 */
15048 core.String obsolete;
15049 /**
15050 * The URL of the suggested replacement for a deprecated resource. The
15051 * suggested replacement resource must be the same kind of resource as the
15052 * deprecated resource.
15053 */
15054 core.String replacement;
15055 /**
15056 * The deprecation state of this resource. This can be DEPRECATED, OBSOLETE,
15057 * or DELETED. Operations which create a new resource using a DEPRECATED
15058 * resource will return successfully, but with a warning indicating the
15059 * deprecated resource and recommending its replacement. Operations which use
15060 * OBSOLETE or DELETED resources will be rejected and result in an error.
15061 * Possible string values are:
15062 * - "DELETED"
15063 * - "DEPRECATED"
15064 * - "OBSOLETE"
15065 */
15066 core.String state;
15067
15068 DeprecationStatus();
15069
15070 DeprecationStatus.fromJson(core.Map _json) {
15071 if (_json.containsKey("deleted")) {
15072 deleted = _json["deleted"];
15073 }
15074 if (_json.containsKey("deprecated")) {
15075 deprecated = _json["deprecated"];
15076 }
15077 if (_json.containsKey("obsolete")) {
15078 obsolete = _json["obsolete"];
15079 }
15080 if (_json.containsKey("replacement")) {
15081 replacement = _json["replacement"];
15082 }
15083 if (_json.containsKey("state")) {
15084 state = _json["state"];
15085 }
15086 }
15087
15088 core.Map toJson() {
15089 var _json = new core.Map();
15090 if (deleted != null) {
15091 _json["deleted"] = deleted;
15092 }
15093 if (deprecated != null) {
15094 _json["deprecated"] = deprecated;
15095 }
15096 if (obsolete != null) {
15097 _json["obsolete"] = obsolete;
15098 }
15099 if (replacement != null) {
15100 _json["replacement"] = replacement;
15101 }
15102 if (state != null) {
15103 _json["state"] = state;
15104 }
15105 return _json;
15106 }
15107 }
15108
15109 /** A Disk resource. */
15110 class Disk {
15111 /** [Output Only] Creation timestamp in RFC3339 text format. */
15112 core.String creationTimestamp;
15113 /**
15114 * An optional description of this resource. Provide this property when you
15115 * create the resource.
15116 */
15117 core.String description;
15118 /**
15119 * Encrypts the disk using a customer-supplied encryption key.
15120 *
15121 * After you encrypt a disk with a customer-supplied key, you must provide the
15122 * same key if you use the disk later (e.g. to create a disk snapshot or an
15123 * image, or to attach the disk to a virtual machine).
15124 *
15125 * Customer-supplied encryption keys do not protect access to metadata of the
15126 * disk.
15127 *
15128 * If you do not provide an encryption key when creating the disk, then the
15129 * disk will be encrypted using an automatically generated key and you do not
15130 * need to provide a key to use the disk later.
15131 */
15132 CustomerEncryptionKey diskEncryptionKey;
13553 /** 15133 /**
13554 * [Output Only] The unique identifier for the resource. This identifier is 15134 * [Output Only] The unique identifier for the resource. This identifier is
13555 * defined by the server. 15135 * defined by the server.
13556 */ 15136 */
13557 core.String id; 15137 core.String id;
13558 /** A list of Autoscaler resources. */ 15138 /** [Output Only] Type of the resource. Always compute#disk for disks. */
13559 core.List<Autoscaler> items; 15139 core.String kind;
13560 /** 15140 /** [Output Only] Last attach timestamp in RFC3339 text format. */
13561 * [Output Only] Type of resource. Always compute#autoscalerList for lists of 15141 core.String lastAttachTimestamp;
13562 * autoscalers. 15142 /** [Output Only] Last detach timestamp in RFC3339 text format. */
15143 core.String lastDetachTimestamp;
15144 /** [Output Only] Any applicable publicly visible licenses. */
15145 core.List<core.String> licenses;
15146 /**
15147 * Name of the resource. Provided by the client when the resource is created.
15148 * The name must be 1-63 characters long, and comply with RFC1035.
15149 * Specifically, the name must be 1-63 characters long and match the regular
15150 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
15151 * be a lowercase letter, and all following characters must be a dash,
15152 * lowercase letter, or digit, except the last character, which cannot be a
15153 * dash.
15154 */
15155 core.String name;
15156 /** Internal use only. */
15157 core.String options;
15158 /** [Output Only] Server-defined fully-qualified URL for this resource. */
15159 core.String selfLink;
15160 /**
15161 * Size of the persistent disk, specified in GB. You can specify this field
15162 * when creating a persistent disk using the sourceImage or sourceSnapshot
15163 * parameter, or specify it alone to create an empty persistent disk.
15164 *
15165 * If you specify this field along with sourceImage or sourceSnapshot, the
15166 * value of sizeGb must not be less than the size of the sourceImage or the
15167 * size of the snapshot.
15168 */
15169 core.String sizeGb;
15170 /**
15171 * The source image used to create this disk. If the source image is deleted,
15172 * this field will not be set.
15173 *
15174 * To create a disk with one of the public operating system images, specify
15175 * the image by its family name. For example, specify family/debian-8 to use
15176 * the latest Debian 8 image:
15177 *
15178 * projects/debian-cloud/global/images/family/debian-8
15179 *
15180 * Alternatively, use a specific version of a public operating system image:
15181 *
15182 * projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD
15183 *
15184 * To create a disk with a private image that you created, specify the image
15185 * name in the following format:
15186 *
15187 * global/images/my-private-image
15188 *
15189 * You can also specify a private image by its image family, which returns the
15190 * latest version of the image in that family. Replace the image name with
15191 * family/family-name:
15192 *
15193 * global/images/family/my-private-family
15194 */
15195 core.String sourceImage;
15196 /**
15197 * The customer-supplied encryption key of the source image. Required if the
15198 * source image is protected by a customer-supplied encryption key.
15199 */
15200 CustomerEncryptionKey sourceImageEncryptionKey;
15201 /**
15202 * [Output Only] The ID value of the image used to create this disk. This
15203 * value identifies the exact image that was used to create this persistent
15204 * disk. For example, if you created the persistent disk from an image that
15205 * was later deleted and recreated under the same name, the source image ID
15206 * would identify the exact version of the image that was used.
15207 */
15208 core.String sourceImageId;
15209 /**
15210 * The source snapshot used to create this disk. You can provide this as a
15211 * partial or full URL to the resource. For example, the following are valid
15212 * values:
15213 * -
15214 * https://www.googleapis.com/compute/v1/projects/project/global/snapshots/sna pshot
15215 * - projects/project/global/snapshots/snapshot
15216 * - global/snapshots/snapshot
15217 */
15218 core.String sourceSnapshot;
15219 /**
15220 * The customer-supplied encryption key of the source snapshot. Required if
15221 * the source snapshot is protected by a customer-supplied encryption key.
15222 */
15223 CustomerEncryptionKey sourceSnapshotEncryptionKey;
15224 /**
15225 * [Output Only] The unique ID of the snapshot used to create this disk. This
15226 * value identifies the exact snapshot that was used to create this persistent
15227 * disk. For example, if you created the persistent disk from a snapshot that
15228 * was later deleted and recreated under the same name, the source snapshot ID
15229 * would identify the exact version of the snapshot that was used.
15230 */
15231 core.String sourceSnapshotId;
15232 /**
15233 * [Output Only] The status of disk creation. Applicable statuses includes:
15234 * CREATING, FAILED, READY, RESTORING.
15235 * Possible string values are:
15236 * - "CREATING"
15237 * - "FAILED"
15238 * - "READY"
15239 * - "RESTORING"
15240 */
15241 core.String status;
15242 /**
15243 * URL of the disk type resource describing which disk type to use to create
15244 * the disk. Provide this when creating the disk.
15245 */
15246 core.String type;
15247 /**
15248 * [Output Only] Links to the users of the disk (attached instances) in form:
15249 * project/zones/zone/instances/instance
15250 */
15251 core.List<core.String> users;
15252 /** [Output Only] URL of the zone where the disk resides. */
15253 core.String zone;
15254
15255 Disk();
15256
15257 Disk.fromJson(core.Map _json) {
15258 if (_json.containsKey("creationTimestamp")) {
15259 creationTimestamp = _json["creationTimestamp"];
15260 }
15261 if (_json.containsKey("description")) {
15262 description = _json["description"];
15263 }
15264 if (_json.containsKey("diskEncryptionKey")) {
15265 diskEncryptionKey = new CustomerEncryptionKey.fromJson(_json["diskEncrypti onKey"]);
15266 }
15267 if (_json.containsKey("id")) {
15268 id = _json["id"];
15269 }
15270 if (_json.containsKey("kind")) {
15271 kind = _json["kind"];
15272 }
15273 if (_json.containsKey("lastAttachTimestamp")) {
15274 lastAttachTimestamp = _json["lastAttachTimestamp"];
15275 }
15276 if (_json.containsKey("lastDetachTimestamp")) {
15277 lastDetachTimestamp = _json["lastDetachTimestamp"];
15278 }
15279 if (_json.containsKey("licenses")) {
15280 licenses = _json["licenses"];
15281 }
15282 if (_json.containsKey("name")) {
15283 name = _json["name"];
15284 }
15285 if (_json.containsKey("options")) {
15286 options = _json["options"];
15287 }
15288 if (_json.containsKey("selfLink")) {
15289 selfLink = _json["selfLink"];
15290 }
15291 if (_json.containsKey("sizeGb")) {
15292 sizeGb = _json["sizeGb"];
15293 }
15294 if (_json.containsKey("sourceImage")) {
15295 sourceImage = _json["sourceImage"];
15296 }
15297 if (_json.containsKey("sourceImageEncryptionKey")) {
15298 sourceImageEncryptionKey = new CustomerEncryptionKey.fromJson(_json["sourc eImageEncryptionKey"]);
15299 }
15300 if (_json.containsKey("sourceImageId")) {
15301 sourceImageId = _json["sourceImageId"];
15302 }
15303 if (_json.containsKey("sourceSnapshot")) {
15304 sourceSnapshot = _json["sourceSnapshot"];
15305 }
15306 if (_json.containsKey("sourceSnapshotEncryptionKey")) {
15307 sourceSnapshotEncryptionKey = new CustomerEncryptionKey.fromJson(_json["so urceSnapshotEncryptionKey"]);
15308 }
15309 if (_json.containsKey("sourceSnapshotId")) {
15310 sourceSnapshotId = _json["sourceSnapshotId"];
15311 }
15312 if (_json.containsKey("status")) {
15313 status = _json["status"];
15314 }
15315 if (_json.containsKey("type")) {
15316 type = _json["type"];
15317 }
15318 if (_json.containsKey("users")) {
15319 users = _json["users"];
15320 }
15321 if (_json.containsKey("zone")) {
15322 zone = _json["zone"];
15323 }
15324 }
15325
15326 core.Map toJson() {
15327 var _json = new core.Map();
15328 if (creationTimestamp != null) {
15329 _json["creationTimestamp"] = creationTimestamp;
15330 }
15331 if (description != null) {
15332 _json["description"] = description;
15333 }
15334 if (diskEncryptionKey != null) {
15335 _json["diskEncryptionKey"] = (diskEncryptionKey).toJson();
15336 }
15337 if (id != null) {
15338 _json["id"] = id;
15339 }
15340 if (kind != null) {
15341 _json["kind"] = kind;
15342 }
15343 if (lastAttachTimestamp != null) {
15344 _json["lastAttachTimestamp"] = lastAttachTimestamp;
15345 }
15346 if (lastDetachTimestamp != null) {
15347 _json["lastDetachTimestamp"] = lastDetachTimestamp;
15348 }
15349 if (licenses != null) {
15350 _json["licenses"] = licenses;
15351 }
15352 if (name != null) {
15353 _json["name"] = name;
15354 }
15355 if (options != null) {
15356 _json["options"] = options;
15357 }
15358 if (selfLink != null) {
15359 _json["selfLink"] = selfLink;
15360 }
15361 if (sizeGb != null) {
15362 _json["sizeGb"] = sizeGb;
15363 }
15364 if (sourceImage != null) {
15365 _json["sourceImage"] = sourceImage;
15366 }
15367 if (sourceImageEncryptionKey != null) {
15368 _json["sourceImageEncryptionKey"] = (sourceImageEncryptionKey).toJson();
15369 }
15370 if (sourceImageId != null) {
15371 _json["sourceImageId"] = sourceImageId;
15372 }
15373 if (sourceSnapshot != null) {
15374 _json["sourceSnapshot"] = sourceSnapshot;
15375 }
15376 if (sourceSnapshotEncryptionKey != null) {
15377 _json["sourceSnapshotEncryptionKey"] = (sourceSnapshotEncryptionKey).toJso n();
15378 }
15379 if (sourceSnapshotId != null) {
15380 _json["sourceSnapshotId"] = sourceSnapshotId;
15381 }
15382 if (status != null) {
15383 _json["status"] = status;
15384 }
15385 if (type != null) {
15386 _json["type"] = type;
15387 }
15388 if (users != null) {
15389 _json["users"] = users;
15390 }
15391 if (zone != null) {
15392 _json["zone"] = zone;
15393 }
15394 return _json;
15395 }
15396 }
15397
15398 class DiskAggregatedList {
15399 /**
15400 * [Output Only] The unique identifier for the resource. This identifier is
15401 * defined by the server.
15402 */
15403 core.String id;
15404 /** [Output Only] A map of scoped disk lists. */
15405 core.Map<core.String, DisksScopedList> items;
15406 /**
15407 * [Output Only] Type of resource. Always compute#diskAggregatedList for
15408 * aggregated lists of persistent disks.
13563 */ 15409 */
13564 core.String kind; 15410 core.String kind;
13565 /** 15411 /**
13566 * [Output Only] This token allows you to get the next page of results for 15412 * [Output Only] This token allows you to get the next page of results for
13567 * list requests. If the number of results is larger than maxResults, use the 15413 * list requests. If the number of results is larger than maxResults, use the
13568 * nextPageToken as a value for the query parameter pageToken in the next list 15414 * nextPageToken as a value for the query parameter pageToken in the next list
13569 * request. Subsequent list requests will have their own nextPageToken to 15415 * request. Subsequent list requests will have their own nextPageToken to
13570 * continue paging through the results. 15416 * continue paging through the results.
13571 */ 15417 */
13572 core.String nextPageToken; 15418 core.String nextPageToken;
13573 /** [Output Only] Server-defined URL for this resource. */ 15419 /** [Output Only] Server-defined URL for this resource. */
13574 core.String selfLink; 15420 core.String selfLink;
13575 15421
13576 AutoscalerList(); 15422 DiskAggregatedList();
13577 15423
13578 AutoscalerList.fromJson(core.Map _json) { 15424 DiskAggregatedList.fromJson(core.Map _json) {
13579 if (_json.containsKey("id")) { 15425 if (_json.containsKey("id")) {
13580 id = _json["id"]; 15426 id = _json["id"];
13581 } 15427 }
13582 if (_json.containsKey("items")) { 15428 if (_json.containsKey("items")) {
13583 items = _json["items"].map((value) => new Autoscaler.fromJson(value)).toLi st(); 15429 items = commons.mapMap(_json["items"], (item) => new DisksScopedList.fromJ son(item));
13584 } 15430 }
13585 if (_json.containsKey("kind")) { 15431 if (_json.containsKey("kind")) {
13586 kind = _json["kind"]; 15432 kind = _json["kind"];
13587 } 15433 }
13588 if (_json.containsKey("nextPageToken")) { 15434 if (_json.containsKey("nextPageToken")) {
13589 nextPageToken = _json["nextPageToken"]; 15435 nextPageToken = _json["nextPageToken"];
13590 } 15436 }
13591 if (_json.containsKey("selfLink")) { 15437 if (_json.containsKey("selfLink")) {
13592 selfLink = _json["selfLink"]; 15438 selfLink = _json["selfLink"];
13593 } 15439 }
13594 } 15440 }
13595 15441
13596 core.Map toJson() { 15442 core.Map toJson() {
13597 var _json = new core.Map(); 15443 var _json = new core.Map();
13598 if (id != null) { 15444 if (id != null) {
13599 _json["id"] = id; 15445 _json["id"] = id;
13600 } 15446 }
13601 if (items != null) { 15447 if (items != null) {
13602 _json["items"] = items.map((value) => (value).toJson()).toList(); 15448 _json["items"] = commons.mapMap(items, (item) => (item).toJson());
13603 } 15449 }
13604 if (kind != null) { 15450 if (kind != null) {
13605 _json["kind"] = kind; 15451 _json["kind"] = kind;
13606 } 15452 }
13607 if (nextPageToken != null) { 15453 if (nextPageToken != null) {
13608 _json["nextPageToken"] = nextPageToken; 15454 _json["nextPageToken"] = nextPageToken;
13609 } 15455 }
13610 if (selfLink != null) { 15456 if (selfLink != null) {
13611 _json["selfLink"] = selfLink; 15457 _json["selfLink"] = selfLink;
13612 } 15458 }
13613 return _json; 15459 return _json;
13614 } 15460 }
13615 } 15461 }
13616 15462
13617 class AutoscalersScopedListWarningData { 15463 /** A list of Disk resources. */
15464 class DiskList {
15465 /**
15466 * [Output Only] The unique identifier for the resource. This identifier is
15467 * defined by the server.
15468 */
15469 core.String id;
15470 /** [Output Only] A list of persistent disks. */
15471 core.List<Disk> items;
15472 /**
15473 * [Output Only] Type of resource. Always compute#diskList for lists of disks.
15474 */
15475 core.String kind;
15476 /**
15477 * [Output Only] This token allows you to get the next page of results for
15478 * list requests. If the number of results is larger than maxResults, use the
15479 * nextPageToken as a value for the query parameter pageToken in the next list
15480 * request. Subsequent list requests will have their own nextPageToken to
15481 * continue paging through the results.
15482 */
15483 core.String nextPageToken;
15484 /** [Output Only] Server-defined URL for this resource. */
15485 core.String selfLink;
15486
15487 DiskList();
15488
15489 DiskList.fromJson(core.Map _json) {
15490 if (_json.containsKey("id")) {
15491 id = _json["id"];
15492 }
15493 if (_json.containsKey("items")) {
15494 items = _json["items"].map((value) => new Disk.fromJson(value)).toList();
15495 }
15496 if (_json.containsKey("kind")) {
15497 kind = _json["kind"];
15498 }
15499 if (_json.containsKey("nextPageToken")) {
15500 nextPageToken = _json["nextPageToken"];
15501 }
15502 if (_json.containsKey("selfLink")) {
15503 selfLink = _json["selfLink"];
15504 }
15505 }
15506
15507 core.Map toJson() {
15508 var _json = new core.Map();
15509 if (id != null) {
15510 _json["id"] = id;
15511 }
15512 if (items != null) {
15513 _json["items"] = items.map((value) => (value).toJson()).toList();
15514 }
15515 if (kind != null) {
15516 _json["kind"] = kind;
15517 }
15518 if (nextPageToken != null) {
15519 _json["nextPageToken"] = nextPageToken;
15520 }
15521 if (selfLink != null) {
15522 _json["selfLink"] = selfLink;
15523 }
15524 return _json;
15525 }
15526 }
15527
15528 class DiskMoveRequest {
15529 /**
15530 * The URL of the destination zone to move the disk. This can be a full or
15531 * partial URL. For example, the following are all valid URLs to a zone:
15532 * - https://www.googleapis.com/compute/v1/projects/project/zones/zone
15533 * - projects/project/zones/zone
15534 * - zones/zone
15535 */
15536 core.String destinationZone;
15537 /**
15538 * The URL of the target disk to move. This can be a full or partial URL. For
15539 * example, the following are all valid URLs to a disk:
15540 * -
15541 * https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/dis k
15542 * - projects/project/zones/zone/disks/disk
15543 * - zones/zone/disks/disk
15544 */
15545 core.String targetDisk;
15546
15547 DiskMoveRequest();
15548
15549 DiskMoveRequest.fromJson(core.Map _json) {
15550 if (_json.containsKey("destinationZone")) {
15551 destinationZone = _json["destinationZone"];
15552 }
15553 if (_json.containsKey("targetDisk")) {
15554 targetDisk = _json["targetDisk"];
15555 }
15556 }
15557
15558 core.Map toJson() {
15559 var _json = new core.Map();
15560 if (destinationZone != null) {
15561 _json["destinationZone"] = destinationZone;
15562 }
15563 if (targetDisk != null) {
15564 _json["targetDisk"] = targetDisk;
15565 }
15566 return _json;
15567 }
15568 }
15569
15570 /** A DiskType resource. */
15571 class DiskType {
15572 /** [Output Only] Creation timestamp in RFC3339 text format. */
15573 core.String creationTimestamp;
15574 /** [Output Only] Server-defined default disk size in GB. */
15575 core.String defaultDiskSizeGb;
15576 /** [Output Only] The deprecation status associated with this disk type. */
15577 DeprecationStatus deprecated;
15578 /** [Output Only] An optional description of this resource. */
15579 core.String description;
15580 /**
15581 * [Output Only] The unique identifier for the resource. This identifier is
15582 * defined by the server.
15583 */
15584 core.String id;
15585 /**
15586 * [Output Only] Type of the resource. Always compute#diskType for disk types.
15587 */
15588 core.String kind;
15589 /** [Output Only] Name of the resource. */
15590 core.String name;
15591 /** [Output Only] Server-defined URL for the resource. */
15592 core.String selfLink;
15593 /**
15594 * [Output Only] An optional textual description of the valid disk size, such
15595 * as "10GB-10TB".
15596 */
15597 core.String validDiskSize;
15598 /** [Output Only] URL of the zone where the disk type resides. */
15599 core.String zone;
15600
15601 DiskType();
15602
15603 DiskType.fromJson(core.Map _json) {
15604 if (_json.containsKey("creationTimestamp")) {
15605 creationTimestamp = _json["creationTimestamp"];
15606 }
15607 if (_json.containsKey("defaultDiskSizeGb")) {
15608 defaultDiskSizeGb = _json["defaultDiskSizeGb"];
15609 }
15610 if (_json.containsKey("deprecated")) {
15611 deprecated = new DeprecationStatus.fromJson(_json["deprecated"]);
15612 }
15613 if (_json.containsKey("description")) {
15614 description = _json["description"];
15615 }
15616 if (_json.containsKey("id")) {
15617 id = _json["id"];
15618 }
15619 if (_json.containsKey("kind")) {
15620 kind = _json["kind"];
15621 }
15622 if (_json.containsKey("name")) {
15623 name = _json["name"];
15624 }
15625 if (_json.containsKey("selfLink")) {
15626 selfLink = _json["selfLink"];
15627 }
15628 if (_json.containsKey("validDiskSize")) {
15629 validDiskSize = _json["validDiskSize"];
15630 }
15631 if (_json.containsKey("zone")) {
15632 zone = _json["zone"];
15633 }
15634 }
15635
15636 core.Map toJson() {
15637 var _json = new core.Map();
15638 if (creationTimestamp != null) {
15639 _json["creationTimestamp"] = creationTimestamp;
15640 }
15641 if (defaultDiskSizeGb != null) {
15642 _json["defaultDiskSizeGb"] = defaultDiskSizeGb;
15643 }
15644 if (deprecated != null) {
15645 _json["deprecated"] = (deprecated).toJson();
15646 }
15647 if (description != null) {
15648 _json["description"] = description;
15649 }
15650 if (id != null) {
15651 _json["id"] = id;
15652 }
15653 if (kind != null) {
15654 _json["kind"] = kind;
15655 }
15656 if (name != null) {
15657 _json["name"] = name;
15658 }
15659 if (selfLink != null) {
15660 _json["selfLink"] = selfLink;
15661 }
15662 if (validDiskSize != null) {
15663 _json["validDiskSize"] = validDiskSize;
15664 }
15665 if (zone != null) {
15666 _json["zone"] = zone;
15667 }
15668 return _json;
15669 }
15670 }
15671
15672 class DiskTypeAggregatedList {
15673 /**
15674 * [Output Only] The unique identifier for the resource. This identifier is
15675 * defined by the server.
15676 */
15677 core.String id;
15678 /** [Output Only] A map of scoped disk type lists. */
15679 core.Map<core.String, DiskTypesScopedList> items;
15680 /** [Output Only] Type of resource. Always compute#diskTypeAggregatedList. */
15681 core.String kind;
15682 /**
15683 * [Output Only] This token allows you to get the next page of results for
15684 * list requests. If the number of results is larger than maxResults, use the
15685 * nextPageToken as a value for the query parameter pageToken in the next list
15686 * request. Subsequent list requests will have their own nextPageToken to
15687 * continue paging through the results.
15688 */
15689 core.String nextPageToken;
15690 /** [Output Only] Server-defined URL for this resource. */
15691 core.String selfLink;
15692
15693 DiskTypeAggregatedList();
15694
15695 DiskTypeAggregatedList.fromJson(core.Map _json) {
15696 if (_json.containsKey("id")) {
15697 id = _json["id"];
15698 }
15699 if (_json.containsKey("items")) {
15700 items = commons.mapMap(_json["items"], (item) => new DiskTypesScopedList.f romJson(item));
15701 }
15702 if (_json.containsKey("kind")) {
15703 kind = _json["kind"];
15704 }
15705 if (_json.containsKey("nextPageToken")) {
15706 nextPageToken = _json["nextPageToken"];
15707 }
15708 if (_json.containsKey("selfLink")) {
15709 selfLink = _json["selfLink"];
15710 }
15711 }
15712
15713 core.Map toJson() {
15714 var _json = new core.Map();
15715 if (id != null) {
15716 _json["id"] = id;
15717 }
15718 if (items != null) {
15719 _json["items"] = commons.mapMap(items, (item) => (item).toJson());
15720 }
15721 if (kind != null) {
15722 _json["kind"] = kind;
15723 }
15724 if (nextPageToken != null) {
15725 _json["nextPageToken"] = nextPageToken;
15726 }
15727 if (selfLink != null) {
15728 _json["selfLink"] = selfLink;
15729 }
15730 return _json;
15731 }
15732 }
15733
15734 /** Contains a list of disk types. */
15735 class DiskTypeList {
15736 /**
15737 * [Output Only] The unique identifier for the resource. This identifier is
15738 * defined by the server.
15739 */
15740 core.String id;
15741 /** [Output Only] A list of Disk Type resources. */
15742 core.List<DiskType> items;
15743 /**
15744 * [Output Only] Type of resource. Always compute#diskTypeList for disk types.
15745 */
15746 core.String kind;
15747 /**
15748 * [Output Only] This token allows you to get the next page of results for
15749 * list requests. If the number of results is larger than maxResults, use the
15750 * nextPageToken as a value for the query parameter pageToken in the next list
15751 * request. Subsequent list requests will have their own nextPageToken to
15752 * continue paging through the results.
15753 */
15754 core.String nextPageToken;
15755 /** [Output Only] Server-defined URL for this resource. */
15756 core.String selfLink;
15757
15758 DiskTypeList();
15759
15760 DiskTypeList.fromJson(core.Map _json) {
15761 if (_json.containsKey("id")) {
15762 id = _json["id"];
15763 }
15764 if (_json.containsKey("items")) {
15765 items = _json["items"].map((value) => new DiskType.fromJson(value)).toList ();
15766 }
15767 if (_json.containsKey("kind")) {
15768 kind = _json["kind"];
15769 }
15770 if (_json.containsKey("nextPageToken")) {
15771 nextPageToken = _json["nextPageToken"];
15772 }
15773 if (_json.containsKey("selfLink")) {
15774 selfLink = _json["selfLink"];
15775 }
15776 }
15777
15778 core.Map toJson() {
15779 var _json = new core.Map();
15780 if (id != null) {
15781 _json["id"] = id;
15782 }
15783 if (items != null) {
15784 _json["items"] = items.map((value) => (value).toJson()).toList();
15785 }
15786 if (kind != null) {
15787 _json["kind"] = kind;
15788 }
15789 if (nextPageToken != null) {
15790 _json["nextPageToken"] = nextPageToken;
15791 }
15792 if (selfLink != null) {
15793 _json["selfLink"] = selfLink;
15794 }
15795 return _json;
15796 }
15797 }
15798
15799 class DiskTypesScopedListWarningData {
13618 /** 15800 /**
13619 * [Output Only] A key that provides more detail on the warning being 15801 * [Output Only] A key that provides more detail on the warning being
13620 * returned. For example, for warnings where there are no results in a list 15802 * returned. For example, for warnings where there are no results in a list
13621 * request for a particular zone, this key might be scope and the key value 15803 * request for a particular zone, this key might be scope and the key value
13622 * might be the zone name. Other examples might be a key indicating a 15804 * might be the zone name. Other examples might be a key indicating a
13623 * deprecated resource and a suggested replacement, or a warning about invalid 15805 * deprecated resource and a suggested replacement, or a warning about invalid
13624 * network settings (for example, if an instance attempts to perform IP 15806 * network settings (for example, if an instance attempts to perform IP
13625 * forwarding but is not enabled for IP forwarding). 15807 * forwarding but is not enabled for IP forwarding).
13626 */ 15808 */
13627 core.String key; 15809 core.String key;
13628 /** [Output Only] A warning data value corresponding to the key. */ 15810 /** [Output Only] A warning data value corresponding to the key. */
13629 core.String value; 15811 core.String value;
13630 15812
13631 AutoscalersScopedListWarningData(); 15813 DiskTypesScopedListWarningData();
13632 15814
13633 AutoscalersScopedListWarningData.fromJson(core.Map _json) { 15815 DiskTypesScopedListWarningData.fromJson(core.Map _json) {
13634 if (_json.containsKey("key")) { 15816 if (_json.containsKey("key")) {
13635 key = _json["key"]; 15817 key = _json["key"];
13636 } 15818 }
13637 if (_json.containsKey("value")) { 15819 if (_json.containsKey("value")) {
13638 value = _json["value"]; 15820 value = _json["value"];
13639 } 15821 }
13640 } 15822 }
13641 15823
13642 core.Map toJson() { 15824 core.Map toJson() {
13643 var _json = new core.Map(); 15825 var _json = new core.Map();
13644 if (key != null) { 15826 if (key != null) {
13645 _json["key"] = key; 15827 _json["key"] = key;
13646 } 15828 }
13647 if (value != null) { 15829 if (value != null) {
13648 _json["value"] = value; 15830 _json["value"] = value;
13649 } 15831 }
13650 return _json; 15832 return _json;
13651 } 15833 }
13652 } 15834 }
13653 15835
13654 /** 15836 /**
13655 * [Output Only] Informational warning which replaces the list of autoscalers 15837 * [Output Only] Informational warning which replaces the list of disk types
13656 * when the list is empty. 15838 * when the list is empty.
13657 */ 15839 */
13658 class AutoscalersScopedListWarning { 15840 class DiskTypesScopedListWarning {
13659 /** 15841 /**
13660 * [Output Only] A warning code, if applicable. For example, Compute Engine 15842 * [Output Only] A warning code, if applicable. For example, Compute Engine
13661 * returns NO_RESULTS_ON_PAGE if there are no results in the response. 15843 * returns NO_RESULTS_ON_PAGE if there are no results in the response.
13662 * Possible string values are: 15844 * Possible string values are:
13663 * - "CLEANUP_FAILED" 15845 * - "CLEANUP_FAILED"
13664 * - "DEPRECATED_RESOURCE_USED" 15846 * - "DEPRECATED_RESOURCE_USED"
13665 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" 15847 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
13666 * - "INJECTED_KERNELS_DEPRECATED" 15848 * - "INJECTED_KERNELS_DEPRECATED"
13667 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED" 15849 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
13668 * - "NEXT_HOP_CANNOT_IP_FORWARD" 15850 * - "NEXT_HOP_CANNOT_IP_FORWARD"
13669 * - "NEXT_HOP_INSTANCE_NOT_FOUND" 15851 * - "NEXT_HOP_INSTANCE_NOT_FOUND"
13670 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" 15852 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
13671 * - "NEXT_HOP_NOT_RUNNING" 15853 * - "NEXT_HOP_NOT_RUNNING"
13672 * - "NOT_CRITICAL_ERROR" 15854 * - "NOT_CRITICAL_ERROR"
13673 * - "NO_RESULTS_ON_PAGE" 15855 * - "NO_RESULTS_ON_PAGE"
13674 * - "REQUIRED_TOS_AGREEMENT" 15856 * - "REQUIRED_TOS_AGREEMENT"
13675 * - "RESOURCE_NOT_DELETED" 15857 * - "RESOURCE_NOT_DELETED"
13676 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE" 15858 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
13677 * - "UNREACHABLE" 15859 * - "UNREACHABLE"
13678 */ 15860 */
13679 core.String code; 15861 core.String code;
13680 /** 15862 /**
13681 * [Output Only] Metadata about this warning in key: value format. For 15863 * [Output Only] Metadata about this warning in key: value format. For
13682 * example: 15864 * example:
13683 * "data": [ { "key": "scope", "value": "zones/us-east1-d" } 15865 * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
13684 */ 15866 */
13685 core.List<AutoscalersScopedListWarningData> data; 15867 core.List<DiskTypesScopedListWarningData> data;
13686 /** [Output Only] A human-readable description of the warning code. */ 15868 /** [Output Only] A human-readable description of the warning code. */
13687 core.String message; 15869 core.String message;
13688 15870
13689 AutoscalersScopedListWarning(); 15871 DiskTypesScopedListWarning();
13690 15872
13691 AutoscalersScopedListWarning.fromJson(core.Map _json) { 15873 DiskTypesScopedListWarning.fromJson(core.Map _json) {
13692 if (_json.containsKey("code")) { 15874 if (_json.containsKey("code")) {
13693 code = _json["code"]; 15875 code = _json["code"];
13694 } 15876 }
13695 if (_json.containsKey("data")) { 15877 if (_json.containsKey("data")) {
13696 data = _json["data"].map((value) => new AutoscalersScopedListWarningData.f romJson(value)).toList(); 15878 data = _json["data"].map((value) => new DiskTypesScopedListWarningData.fro mJson(value)).toList();
13697 } 15879 }
13698 if (_json.containsKey("message")) { 15880 if (_json.containsKey("message")) {
13699 message = _json["message"]; 15881 message = _json["message"];
13700 } 15882 }
13701 } 15883 }
13702 15884
13703 core.Map toJson() { 15885 core.Map toJson() {
13704 var _json = new core.Map(); 15886 var _json = new core.Map();
13705 if (code != null) { 15887 if (code != null) {
13706 _json["code"] = code; 15888 _json["code"] = code;
13707 } 15889 }
13708 if (data != null) { 15890 if (data != null) {
13709 _json["data"] = data.map((value) => (value).toJson()).toList(); 15891 _json["data"] = data.map((value) => (value).toJson()).toList();
13710 } 15892 }
13711 if (message != null) { 15893 if (message != null) {
13712 _json["message"] = message; 15894 _json["message"] = message;
13713 } 15895 }
13714 return _json; 15896 return _json;
13715 } 15897 }
13716 } 15898 }
13717 15899
13718 class AutoscalersScopedList { 15900 class DiskTypesScopedList {
13719 /** [Output Only] List of autoscalers contained in this scope. */ 15901 /** [Output Only] List of disk types contained in this scope. */
13720 core.List<Autoscaler> autoscalers; 15902 core.List<DiskType> diskTypes;
13721 /** 15903 /**
13722 * [Output Only] Informational warning which replaces the list of autoscalers 15904 * [Output Only] Informational warning which replaces the list of disk types
13723 * when the list is empty. 15905 * when the list is empty.
13724 */ 15906 */
13725 AutoscalersScopedListWarning warning; 15907 DiskTypesScopedListWarning warning;
13726 15908
13727 AutoscalersScopedList(); 15909 DiskTypesScopedList();
13728 15910
13729 AutoscalersScopedList.fromJson(core.Map _json) { 15911 DiskTypesScopedList.fromJson(core.Map _json) {
13730 if (_json.containsKey("autoscalers")) { 15912 if (_json.containsKey("diskTypes")) {
13731 autoscalers = _json["autoscalers"].map((value) => new Autoscaler.fromJson( value)).toList(); 15913 diskTypes = _json["diskTypes"].map((value) => new DiskType.fromJson(value) ).toList();
13732 } 15914 }
13733 if (_json.containsKey("warning")) { 15915 if (_json.containsKey("warning")) {
13734 warning = new AutoscalersScopedListWarning.fromJson(_json["warning"]); 15916 warning = new DiskTypesScopedListWarning.fromJson(_json["warning"]);
13735 } 15917 }
13736 } 15918 }
13737 15919
13738 core.Map toJson() { 15920 core.Map toJson() {
13739 var _json = new core.Map(); 15921 var _json = new core.Map();
13740 if (autoscalers != null) { 15922 if (diskTypes != null) {
13741 _json["autoscalers"] = autoscalers.map((value) => (value).toJson()).toList (); 15923 _json["diskTypes"] = diskTypes.map((value) => (value).toJson()).toList();
13742 } 15924 }
13743 if (warning != null) { 15925 if (warning != null) {
13744 _json["warning"] = (warning).toJson(); 15926 _json["warning"] = (warning).toJson();
13745 } 15927 }
13746 return _json; 15928 return _json;
13747 } 15929 }
13748 } 15930 }
13749 15931
13750 /** Cloud Autoscaler policy. */ 15932 class DisksResizeRequest {
13751 class AutoscalingPolicy { 15933 /** The new size of the persistent disk, which is specified in GB. */
13752 /** 15934 core.String sizeGb;
13753 * The number of seconds that the autoscaler should wait before it starts 15935
13754 * collecting information from a new instance. This prevents the autoscaler 15936 DisksResizeRequest();
13755 * from collecting information when the instance is initializing, during which 15937
13756 * the collected usage would not be reliable. The default time autoscaler 15938 DisksResizeRequest.fromJson(core.Map _json) {
13757 * waits is 60 seconds. 15939 if (_json.containsKey("sizeGb")) {
15940 sizeGb = _json["sizeGb"];
15941 }
15942 }
15943
15944 core.Map toJson() {
15945 var _json = new core.Map();
15946 if (sizeGb != null) {
15947 _json["sizeGb"] = sizeGb;
15948 }
15949 return _json;
15950 }
15951 }
15952
15953 class DisksScopedListWarningData {
15954 /**
15955 * [Output Only] A key that provides more detail on the warning being
15956 * returned. For example, for warnings where there are no results in a list
15957 * request for a particular zone, this key might be scope and the key value
15958 * might be the zone name. Other examples might be a key indicating a
15959 * deprecated resource and a suggested replacement, or a warning about invalid
15960 * network settings (for example, if an instance attempts to perform IP
15961 * forwarding but is not enabled for IP forwarding).
15962 */
15963 core.String key;
15964 /** [Output Only] A warning data value corresponding to the key. */
15965 core.String value;
15966
15967 DisksScopedListWarningData();
15968
15969 DisksScopedListWarningData.fromJson(core.Map _json) {
15970 if (_json.containsKey("key")) {
15971 key = _json["key"];
15972 }
15973 if (_json.containsKey("value")) {
15974 value = _json["value"];
15975 }
15976 }
15977
15978 core.Map toJson() {
15979 var _json = new core.Map();
15980 if (key != null) {
15981 _json["key"] = key;
15982 }
15983 if (value != null) {
15984 _json["value"] = value;
15985 }
15986 return _json;
15987 }
15988 }
15989
15990 /**
15991 * [Output Only] Informational warning which replaces the list of disks when the
15992 * list is empty.
15993 */
15994 class DisksScopedListWarning {
15995 /**
15996 * [Output Only] A warning code, if applicable. For example, Compute Engine
15997 * returns NO_RESULTS_ON_PAGE if there are no results in the response.
15998 * Possible string values are:
15999 * - "CLEANUP_FAILED"
16000 * - "DEPRECATED_RESOURCE_USED"
16001 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
16002 * - "INJECTED_KERNELS_DEPRECATED"
16003 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
16004 * - "NEXT_HOP_CANNOT_IP_FORWARD"
16005 * - "NEXT_HOP_INSTANCE_NOT_FOUND"
16006 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
16007 * - "NEXT_HOP_NOT_RUNNING"
16008 * - "NOT_CRITICAL_ERROR"
16009 * - "NO_RESULTS_ON_PAGE"
16010 * - "REQUIRED_TOS_AGREEMENT"
16011 * - "RESOURCE_NOT_DELETED"
16012 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
16013 * - "UNREACHABLE"
16014 */
16015 core.String code;
16016 /**
16017 * [Output Only] Metadata about this warning in key: value format. For
16018 * example:
16019 * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
16020 */
16021 core.List<DisksScopedListWarningData> data;
16022 /** [Output Only] A human-readable description of the warning code. */
16023 core.String message;
16024
16025 DisksScopedListWarning();
16026
16027 DisksScopedListWarning.fromJson(core.Map _json) {
16028 if (_json.containsKey("code")) {
16029 code = _json["code"];
16030 }
16031 if (_json.containsKey("data")) {
16032 data = _json["data"].map((value) => new DisksScopedListWarningData.fromJso n(value)).toList();
16033 }
16034 if (_json.containsKey("message")) {
16035 message = _json["message"];
16036 }
16037 }
16038
16039 core.Map toJson() {
16040 var _json = new core.Map();
16041 if (code != null) {
16042 _json["code"] = code;
16043 }
16044 if (data != null) {
16045 _json["data"] = data.map((value) => (value).toJson()).toList();
16046 }
16047 if (message != null) {
16048 _json["message"] = message;
16049 }
16050 return _json;
16051 }
16052 }
16053
16054 class DisksScopedList {
16055 /** [Output Only] List of disks contained in this scope. */
16056 core.List<Disk> disks;
16057 /**
16058 * [Output Only] Informational warning which replaces the list of disks when
16059 * the list is empty.
16060 */
16061 DisksScopedListWarning warning;
16062
16063 DisksScopedList();
16064
16065 DisksScopedList.fromJson(core.Map _json) {
16066 if (_json.containsKey("disks")) {
16067 disks = _json["disks"].map((value) => new Disk.fromJson(value)).toList();
16068 }
16069 if (_json.containsKey("warning")) {
16070 warning = new DisksScopedListWarning.fromJson(_json["warning"]);
16071 }
16072 }
16073
16074 core.Map toJson() {
16075 var _json = new core.Map();
16076 if (disks != null) {
16077 _json["disks"] = disks.map((value) => (value).toJson()).toList();
16078 }
16079 if (warning != null) {
16080 _json["warning"] = (warning).toJson();
16081 }
16082 return _json;
16083 }
16084 }
16085
16086 class FirewallAllowed {
16087 /**
16088 * The IP protocol that is allowed for this rule. The protocol type is
16089 * required when creating a firewall rule. This value can either be one of the
16090 * following well known protocol strings (tcp, udp, icmp, esp, ah, sctp), or
16091 * the IP protocol number.
16092 */
16093 core.String IPProtocol;
16094 /**
16095 * An optional list of ports which are allowed. This field is only applicable
16096 * for UDP or TCP protocol. Each entry must be either an integer or a range.
16097 * If not specified, connections through any port are allowed
13758 * 16098 *
13759 * Virtual machine initialization times might vary because of numerous 16099 * Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
13760 * factors. We recommend that you test how long an instance may take to 16100 */
13761 * initialize. To do this, create an instance and time the startup process. 16101 core.List<core.String> ports;
13762 */ 16102
13763 core.int coolDownPeriodSec; 16103 FirewallAllowed();
13764 /** 16104
13765 * Defines the CPU utilization policy that allows the autoscaler to scale 16105 FirewallAllowed.fromJson(core.Map _json) {
13766 * based on the average CPU utilization of a managed instance group. 16106 if (_json.containsKey("IPProtocol")) {
13767 */ 16107 IPProtocol = _json["IPProtocol"];
13768 AutoscalingPolicyCpuUtilization cpuUtilization; 16108 }
13769 /** Configuration parameters of autoscaling based on a custom metric. */ 16109 if (_json.containsKey("ports")) {
13770 core.List<AutoscalingPolicyCustomMetricUtilization> customMetricUtilizations; 16110 ports = _json["ports"];
13771 /** Configuration parameters of autoscaling based on load balancer. */ 16111 }
13772 AutoscalingPolicyLoadBalancingUtilization loadBalancingUtilization; 16112 }
13773 /** 16113
13774 * The maximum number of instances that the autoscaler can scale up to. This 16114 core.Map toJson() {
13775 * is required when creating or updating an autoscaler. The maximum number of 16115 var _json = new core.Map();
13776 * replicas should not be lower than minimal number of replicas. 16116 if (IPProtocol != null) {
13777 */ 16117 _json["IPProtocol"] = IPProtocol;
13778 core.int maxNumReplicas; 16118 }
13779 /** 16119 if (ports != null) {
13780 * The minimum number of replicas that the autoscaler can scale down to. This 16120 _json["ports"] = ports;
13781 * cannot be less than 0. If not provided, autoscaler will choose a default 16121 }
13782 * value depending on maximum number of instances allowed. 16122 return _json;
13783 */ 16123 }
13784 core.int minNumReplicas; 16124 }
13785 16125
13786 AutoscalingPolicy(); 16126 /** Represents a Firewall resource. */
13787 16127 class Firewall {
13788 AutoscalingPolicy.fromJson(core.Map _json) { 16128 /**
13789 if (_json.containsKey("coolDownPeriodSec")) { 16129 * The list of rules specified by this firewall. Each rule specifies a
13790 coolDownPeriodSec = _json["coolDownPeriodSec"]; 16130 * protocol and port-range tuple that describes a permitted connection.
13791 } 16131 */
13792 if (_json.containsKey("cpuUtilization")) { 16132 core.List<FirewallAllowed> allowed;
13793 cpuUtilization = new AutoscalingPolicyCpuUtilization.fromJson(_json["cpuUt ilization"]);
13794 }
13795 if (_json.containsKey("customMetricUtilizations")) {
13796 customMetricUtilizations = _json["customMetricUtilizations"].map((value) = > new AutoscalingPolicyCustomMetricUtilization.fromJson(value)).toList();
13797 }
13798 if (_json.containsKey("loadBalancingUtilization")) {
13799 loadBalancingUtilization = new AutoscalingPolicyLoadBalancingUtilization.f romJson(_json["loadBalancingUtilization"]);
13800 }
13801 if (_json.containsKey("maxNumReplicas")) {
13802 maxNumReplicas = _json["maxNumReplicas"];
13803 }
13804 if (_json.containsKey("minNumReplicas")) {
13805 minNumReplicas = _json["minNumReplicas"];
13806 }
13807 }
13808
13809 core.Map toJson() {
13810 var _json = new core.Map();
13811 if (coolDownPeriodSec != null) {
13812 _json["coolDownPeriodSec"] = coolDownPeriodSec;
13813 }
13814 if (cpuUtilization != null) {
13815 _json["cpuUtilization"] = (cpuUtilization).toJson();
13816 }
13817 if (customMetricUtilizations != null) {
13818 _json["customMetricUtilizations"] = customMetricUtilizations.map((value) = > (value).toJson()).toList();
13819 }
13820 if (loadBalancingUtilization != null) {
13821 _json["loadBalancingUtilization"] = (loadBalancingUtilization).toJson();
13822 }
13823 if (maxNumReplicas != null) {
13824 _json["maxNumReplicas"] = maxNumReplicas;
13825 }
13826 if (minNumReplicas != null) {
13827 _json["minNumReplicas"] = minNumReplicas;
13828 }
13829 return _json;
13830 }
13831 }
13832
13833 /** CPU utilization policy. */
13834 class AutoscalingPolicyCpuUtilization {
13835 /**
13836 * The target CPU utilization that the autoscaler should maintain. Must be a
13837 * float value in the range (0, 1]. If not specified, the default is 0.8.
13838 *
13839 * If the CPU level is below the target utilization, the autoscaler scales
13840 * down the number of instances until it reaches the minimum number of
13841 * instances you specified or until the average CPU of your instances reaches
13842 * the target utilization.
13843 *
13844 * If the average CPU is above the target utilization, the autoscaler scales
13845 * up until it reaches the maximum number of instances you specified or until
13846 * the average utilization reaches the target utilization.
13847 */
13848 core.double utilizationTarget;
13849
13850 AutoscalingPolicyCpuUtilization();
13851
13852 AutoscalingPolicyCpuUtilization.fromJson(core.Map _json) {
13853 if (_json.containsKey("utilizationTarget")) {
13854 utilizationTarget = _json["utilizationTarget"];
13855 }
13856 }
13857
13858 core.Map toJson() {
13859 var _json = new core.Map();
13860 if (utilizationTarget != null) {
13861 _json["utilizationTarget"] = utilizationTarget;
13862 }
13863 return _json;
13864 }
13865 }
13866
13867 /** Custom utilization metric policy. */
13868 class AutoscalingPolicyCustomMetricUtilization {
13869 /**
13870 * The identifier of the Cloud Monitoring metric. The metric cannot have
13871 * negative values and should be a utilization metric, which means that the
13872 * number of virtual machines handling requests should increase or decrease
13873 * proportionally to the metric. The metric must also have a label of
13874 * compute.googleapis.com/resource_id with the value of the instance's unique
13875 * ID, although this alone does not guarantee that the metric is valid.
13876 *
13877 * For example, the following is a valid metric:
13878 * compute.googleapis.com/instance/network/received_bytes_count
13879 *
13880 *
13881 * The following is not a valid metric because it does not increase or
13882 * decrease based on usage:
13883 * compute.googleapis.com/instance/cpu/reserved_cores
13884 */
13885 core.String metric;
13886 /**
13887 * Target value of the metric which autoscaler should maintain. Must be a
13888 * positive value.
13889 */
13890 core.double utilizationTarget;
13891 /**
13892 * Defines how target utilization value is expressed for a Cloud Monitoring
13893 * metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. If not
13894 * specified, the default is GAUGE.
13895 * Possible string values are:
13896 * - "DELTA_PER_MINUTE"
13897 * - "DELTA_PER_SECOND"
13898 * - "GAUGE"
13899 */
13900 core.String utilizationTargetType;
13901
13902 AutoscalingPolicyCustomMetricUtilization();
13903
13904 AutoscalingPolicyCustomMetricUtilization.fromJson(core.Map _json) {
13905 if (_json.containsKey("metric")) {
13906 metric = _json["metric"];
13907 }
13908 if (_json.containsKey("utilizationTarget")) {
13909 utilizationTarget = _json["utilizationTarget"];
13910 }
13911 if (_json.containsKey("utilizationTargetType")) {
13912 utilizationTargetType = _json["utilizationTargetType"];
13913 }
13914 }
13915
13916 core.Map toJson() {
13917 var _json = new core.Map();
13918 if (metric != null) {
13919 _json["metric"] = metric;
13920 }
13921 if (utilizationTarget != null) {
13922 _json["utilizationTarget"] = utilizationTarget;
13923 }
13924 if (utilizationTargetType != null) {
13925 _json["utilizationTargetType"] = utilizationTargetType;
13926 }
13927 return _json;
13928 }
13929 }
13930
13931 /** Configuration parameters of autoscaling based on load balancing. */
13932 class AutoscalingPolicyLoadBalancingUtilization {
13933 /**
13934 * Fraction of backend capacity utilization (set in HTTP(s) load balancing
13935 * configuration) that autoscaler should maintain. Must be a positive float
13936 * value. If not defined, the default is 0.8.
13937 */
13938 core.double utilizationTarget;
13939
13940 AutoscalingPolicyLoadBalancingUtilization();
13941
13942 AutoscalingPolicyLoadBalancingUtilization.fromJson(core.Map _json) {
13943 if (_json.containsKey("utilizationTarget")) {
13944 utilizationTarget = _json["utilizationTarget"];
13945 }
13946 }
13947
13948 core.Map toJson() {
13949 var _json = new core.Map();
13950 if (utilizationTarget != null) {
13951 _json["utilizationTarget"] = utilizationTarget;
13952 }
13953 return _json;
13954 }
13955 }
13956
13957 /** Message containing information of one individual backend. */
13958 class Backend {
13959 /**
13960 * Specifies the balancing mode for this backend. For global HTTP(S) load
13961 * balancing, the default is UTILIZATION. Valid values are UTILIZATION and
13962 * RATE.
13963 * Possible string values are:
13964 * - "RATE"
13965 * - "UTILIZATION"
13966 */
13967 core.String balancingMode;
13968 /**
13969 * A multiplier applied to the group's maximum servicing capacity (either
13970 * UTILIZATION or RATE). Default value is 1, which means the group will serve
13971 * up to 100% of its configured CPU or RPS (depending on balancingMode). A
13972 * setting of 0 means the group is completely drained, offering 0% of its
13973 * available CPU or RPS. Valid range is [0.0,1.0].
13974 */
13975 core.double capacityScaler;
13976 /**
13977 * An optional description of this resource. Provide this property when you
13978 * create the resource.
13979 */
13980 core.String description;
13981 /**
13982 * The fully-qualified URL of a zonal Instance Group resource. This instance
13983 * group defines the list of instances that serve traffic. Member virtual
13984 * machine instances from each instance group must live in the same zone as
13985 * the instance group itself. No two backends in a backend service are allowed
13986 * to use same Instance Group resource.
13987 *
13988 * Note that you must specify an Instance Group resource using the
13989 * fully-qualified URL, rather than a partial URL.
13990 */
13991 core.String group;
13992 /**
13993 * The max requests per second (RPS) of the group. Can be used with either
13994 * RATE or UTILIZATION balancing modes, but required if RATE mode. For RATE
13995 * mode, either maxRate or maxRatePerInstance must be set.
13996 */
13997 core.int maxRate;
13998 /**
13999 * The max requests per second (RPS) that a single backend instance can
14000 * handle.This is used to calculate the capacity of the group. Can be used in
14001 * either balancing mode. For RATE mode, either maxRate or maxRatePerInstance
14002 * must be set.
14003 */
14004 core.double maxRatePerInstance;
14005 /**
14006 * Used when balancingMode is UTILIZATION. This ratio defines the CPU
14007 * utilization target for the group. The default is 0.8. Valid range is [0.0,
14008 * 1.0].
14009 */
14010 core.double maxUtilization;
14011
14012 Backend();
14013
14014 Backend.fromJson(core.Map _json) {
14015 if (_json.containsKey("balancingMode")) {
14016 balancingMode = _json["balancingMode"];
14017 }
14018 if (_json.containsKey("capacityScaler")) {
14019 capacityScaler = _json["capacityScaler"];
14020 }
14021 if (_json.containsKey("description")) {
14022 description = _json["description"];
14023 }
14024 if (_json.containsKey("group")) {
14025 group = _json["group"];
14026 }
14027 if (_json.containsKey("maxRate")) {
14028 maxRate = _json["maxRate"];
14029 }
14030 if (_json.containsKey("maxRatePerInstance")) {
14031 maxRatePerInstance = _json["maxRatePerInstance"];
14032 }
14033 if (_json.containsKey("maxUtilization")) {
14034 maxUtilization = _json["maxUtilization"];
14035 }
14036 }
14037
14038 core.Map toJson() {
14039 var _json = new core.Map();
14040 if (balancingMode != null) {
14041 _json["balancingMode"] = balancingMode;
14042 }
14043 if (capacityScaler != null) {
14044 _json["capacityScaler"] = capacityScaler;
14045 }
14046 if (description != null) {
14047 _json["description"] = description;
14048 }
14049 if (group != null) {
14050 _json["group"] = group;
14051 }
14052 if (maxRate != null) {
14053 _json["maxRate"] = maxRate;
14054 }
14055 if (maxRatePerInstance != null) {
14056 _json["maxRatePerInstance"] = maxRatePerInstance;
14057 }
14058 if (maxUtilization != null) {
14059 _json["maxUtilization"] = maxUtilization;
14060 }
14061 return _json;
14062 }
14063 }
14064
14065 /**
14066 * A BackendService resource. This resource defines a group of backend virtual
14067 * machines and their serving capacity.
14068 */
14069 class BackendService {
14070 /** The list of backends that serve this BackendService. */
14071 core.List<Backend> backends;
14072 /** [Output Only] Creation timestamp in RFC3339 text format. */ 16133 /** [Output Only] Creation timestamp in RFC3339 text format. */
14073 core.String creationTimestamp; 16134 core.String creationTimestamp;
14074 /** 16135 /**
14075 * An optional description of this resource. Provide this property when you
14076 * create the resource.
14077 */
14078 core.String description;
14079 /**
14080 * Fingerprint of this resource. A hash of the contents stored in this object.
14081 * This field is used in optimistic locking. This field will be ignored when
14082 * inserting a BackendService. An up-to-date fingerprint must be provided in
14083 * order to update the BackendService.
14084 */
14085 core.String fingerprint;
14086 core.List<core.int> get fingerprintAsBytes {
14087 return crypto.CryptoUtils.base64StringToBytes(fingerprint);
14088 }
14089
14090 void set fingerprintAsBytes(core.List<core.int> _bytes) {
14091 fingerprint = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true);
14092 }
14093 /**
14094 * The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for
14095 * health checking this BackendService. Currently at most one health check can
14096 * be specified, and a health check is required.
14097 */
14098 core.List<core.String> healthChecks;
14099 /**
14100 * [Output Only] The unique identifier for the resource. This identifier is
14101 * defined by the server.
14102 */
14103 core.String id;
14104 /**
14105 * [Output Only] Type of resource. Always compute#backendService for backend
14106 * services.
14107 */
14108 core.String kind;
14109 /**
14110 * Name of the resource. Provided by the client when the resource is created.
14111 * The name must be 1-63 characters long, and comply with RFC1035.
14112 * Specifically, the name must be 1-63 characters long and match the regular
14113 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
14114 * be a lowercase letter, and all following characters must be a dash,
14115 * lowercase letter, or digit, except the last character, which cannot be a
14116 * dash.
14117 */
14118 core.String name;
14119 /**
14120 * Deprecated in favor of portName. The TCP port to connect on the backend.
14121 * The default value is 80.
14122 */
14123 core.int port;
14124 /**
14125 * Name of backend port. The same name should appear in the instance groups
14126 * referenced by this service. Required.
14127 */
14128 core.String portName;
14129 /**
14130 * The protocol this BackendService uses to communicate with backends.
14131 *
14132 * Possible values are HTTP, HTTPS, HTTP2, TCP and SSL.
14133 * Possible string values are:
14134 * - "HTTP"
14135 * - "HTTPS"
14136 */
14137 core.String protocol;
14138 /**
14139 * [Output Only] URL of the region where the regional backend service resides.
14140 * This field is not applicable to global backend services.
14141 */
14142 core.String region;
14143 /** [Output Only] Server-defined URL for the resource. */
14144 core.String selfLink;
14145 /**
14146 * How many seconds to wait for the backend before considering it a failed
14147 * request. Default is 30 seconds.
14148 */
14149 core.int timeoutSec;
14150
14151 BackendService();
14152
14153 BackendService.fromJson(core.Map _json) {
14154 if (_json.containsKey("backends")) {
14155 backends = _json["backends"].map((value) => new Backend.fromJson(value)).t oList();
14156 }
14157 if (_json.containsKey("creationTimestamp")) {
14158 creationTimestamp = _json["creationTimestamp"];
14159 }
14160 if (_json.containsKey("description")) {
14161 description = _json["description"];
14162 }
14163 if (_json.containsKey("fingerprint")) {
14164 fingerprint = _json["fingerprint"];
14165 }
14166 if (_json.containsKey("healthChecks")) {
14167 healthChecks = _json["healthChecks"];
14168 }
14169 if (_json.containsKey("id")) {
14170 id = _json["id"];
14171 }
14172 if (_json.containsKey("kind")) {
14173 kind = _json["kind"];
14174 }
14175 if (_json.containsKey("name")) {
14176 name = _json["name"];
14177 }
14178 if (_json.containsKey("port")) {
14179 port = _json["port"];
14180 }
14181 if (_json.containsKey("portName")) {
14182 portName = _json["portName"];
14183 }
14184 if (_json.containsKey("protocol")) {
14185 protocol = _json["protocol"];
14186 }
14187 if (_json.containsKey("region")) {
14188 region = _json["region"];
14189 }
14190 if (_json.containsKey("selfLink")) {
14191 selfLink = _json["selfLink"];
14192 }
14193 if (_json.containsKey("timeoutSec")) {
14194 timeoutSec = _json["timeoutSec"];
14195 }
14196 }
14197
14198 core.Map toJson() {
14199 var _json = new core.Map();
14200 if (backends != null) {
14201 _json["backends"] = backends.map((value) => (value).toJson()).toList();
14202 }
14203 if (creationTimestamp != null) {
14204 _json["creationTimestamp"] = creationTimestamp;
14205 }
14206 if (description != null) {
14207 _json["description"] = description;
14208 }
14209 if (fingerprint != null) {
14210 _json["fingerprint"] = fingerprint;
14211 }
14212 if (healthChecks != null) {
14213 _json["healthChecks"] = healthChecks;
14214 }
14215 if (id != null) {
14216 _json["id"] = id;
14217 }
14218 if (kind != null) {
14219 _json["kind"] = kind;
14220 }
14221 if (name != null) {
14222 _json["name"] = name;
14223 }
14224 if (port != null) {
14225 _json["port"] = port;
14226 }
14227 if (portName != null) {
14228 _json["portName"] = portName;
14229 }
14230 if (protocol != null) {
14231 _json["protocol"] = protocol;
14232 }
14233 if (region != null) {
14234 _json["region"] = region;
14235 }
14236 if (selfLink != null) {
14237 _json["selfLink"] = selfLink;
14238 }
14239 if (timeoutSec != null) {
14240 _json["timeoutSec"] = timeoutSec;
14241 }
14242 return _json;
14243 }
14244 }
14245
14246 class BackendServiceGroupHealth {
14247 core.List<HealthStatus> healthStatus;
14248 /**
14249 * [Output Only] Type of resource. Always compute#backendServiceGroupHealth
14250 * for the health of backend services.
14251 */
14252 core.String kind;
14253
14254 BackendServiceGroupHealth();
14255
14256 BackendServiceGroupHealth.fromJson(core.Map _json) {
14257 if (_json.containsKey("healthStatus")) {
14258 healthStatus = _json["healthStatus"].map((value) => new HealthStatus.fromJ son(value)).toList();
14259 }
14260 if (_json.containsKey("kind")) {
14261 kind = _json["kind"];
14262 }
14263 }
14264
14265 core.Map toJson() {
14266 var _json = new core.Map();
14267 if (healthStatus != null) {
14268 _json["healthStatus"] = healthStatus.map((value) => (value).toJson()).toLi st();
14269 }
14270 if (kind != null) {
14271 _json["kind"] = kind;
14272 }
14273 return _json;
14274 }
14275 }
14276
14277 /** Contains a list of BackendService resources. */
14278 class BackendServiceList {
14279 /**
14280 * [Output Only] The unique identifier for the resource. This identifier is
14281 * defined by the server.
14282 */
14283 core.String id;
14284 /** A list of BackendService resources. */
14285 core.List<BackendService> items;
14286 /**
14287 * [Output Only] Type of resource. Always compute#backendServiceList for lists
14288 * of backend services.
14289 */
14290 core.String kind;
14291 /**
14292 * [Output Only] This token allows you to get the next page of results for
14293 * list requests. If the number of results is larger than maxResults, use the
14294 * nextPageToken as a value for the query parameter pageToken in the next list
14295 * request. Subsequent list requests will have their own nextPageToken to
14296 * continue paging through the results.
14297 */
14298 core.String nextPageToken;
14299 /** [Output Only] Server-defined URL for this resource. */
14300 core.String selfLink;
14301
14302 BackendServiceList();
14303
14304 BackendServiceList.fromJson(core.Map _json) {
14305 if (_json.containsKey("id")) {
14306 id = _json["id"];
14307 }
14308 if (_json.containsKey("items")) {
14309 items = _json["items"].map((value) => new BackendService.fromJson(value)). toList();
14310 }
14311 if (_json.containsKey("kind")) {
14312 kind = _json["kind"];
14313 }
14314 if (_json.containsKey("nextPageToken")) {
14315 nextPageToken = _json["nextPageToken"];
14316 }
14317 if (_json.containsKey("selfLink")) {
14318 selfLink = _json["selfLink"];
14319 }
14320 }
14321
14322 core.Map toJson() {
14323 var _json = new core.Map();
14324 if (id != null) {
14325 _json["id"] = id;
14326 }
14327 if (items != null) {
14328 _json["items"] = items.map((value) => (value).toJson()).toList();
14329 }
14330 if (kind != null) {
14331 _json["kind"] = kind;
14332 }
14333 if (nextPageToken != null) {
14334 _json["nextPageToken"] = nextPageToken;
14335 }
14336 if (selfLink != null) {
14337 _json["selfLink"] = selfLink;
14338 }
14339 return _json;
14340 }
14341 }
14342
14343 /** Deprecation status for a public resource. */
14344 class DeprecationStatus {
14345 /**
14346 * An optional RFC3339 timestamp on or after which the deprecation state of
14347 * this resource will be changed to DELETED.
14348 */
14349 core.String deleted;
14350 /**
14351 * An optional RFC3339 timestamp on or after which the deprecation state of
14352 * this resource will be changed to DEPRECATED.
14353 */
14354 core.String deprecated;
14355 /**
14356 * An optional RFC3339 timestamp on or after which the deprecation state of
14357 * this resource will be changed to OBSOLETE.
14358 */
14359 core.String obsolete;
14360 /**
14361 * The URL of the suggested replacement for a deprecated resource. The
14362 * suggested replacement resource must be the same kind of resource as the
14363 * deprecated resource.
14364 */
14365 core.String replacement;
14366 /**
14367 * The deprecation state of this resource. This can be DEPRECATED, OBSOLETE,
14368 * or DELETED. Operations which create a new resource using a DEPRECATED
14369 * resource will return successfully, but with a warning indicating the
14370 * deprecated resource and recommending its replacement. Operations which use
14371 * OBSOLETE or DELETED resources will be rejected and result in an error.
14372 * Possible string values are:
14373 * - "DELETED"
14374 * - "DEPRECATED"
14375 * - "OBSOLETE"
14376 */
14377 core.String state;
14378
14379 DeprecationStatus();
14380
14381 DeprecationStatus.fromJson(core.Map _json) {
14382 if (_json.containsKey("deleted")) {
14383 deleted = _json["deleted"];
14384 }
14385 if (_json.containsKey("deprecated")) {
14386 deprecated = _json["deprecated"];
14387 }
14388 if (_json.containsKey("obsolete")) {
14389 obsolete = _json["obsolete"];
14390 }
14391 if (_json.containsKey("replacement")) {
14392 replacement = _json["replacement"];
14393 }
14394 if (_json.containsKey("state")) {
14395 state = _json["state"];
14396 }
14397 }
14398
14399 core.Map toJson() {
14400 var _json = new core.Map();
14401 if (deleted != null) {
14402 _json["deleted"] = deleted;
14403 }
14404 if (deprecated != null) {
14405 _json["deprecated"] = deprecated;
14406 }
14407 if (obsolete != null) {
14408 _json["obsolete"] = obsolete;
14409 }
14410 if (replacement != null) {
14411 _json["replacement"] = replacement;
14412 }
14413 if (state != null) {
14414 _json["state"] = state;
14415 }
14416 return _json;
14417 }
14418 }
14419
14420 /** A Disk resource. */
14421 class Disk {
14422 /** [Output Only] Creation timestamp in RFC3339 text format. */
14423 core.String creationTimestamp;
14424 /**
14425 * An optional description of this resource. Provide this property when you 16136 * An optional description of this resource. Provide this property when you
14426 * create the resource. 16137 * create the resource.
14427 */ 16138 */
14428 core.String description; 16139 core.String description;
14429 /** 16140 /**
14430 * [Output Only] The unique identifier for the resource. This identifier is 16141 * [Output Only] The unique identifier for the resource. This identifier is
14431 * defined by the server. 16142 * defined by the server.
14432 */ 16143 */
14433 core.String id; 16144 core.String id;
14434 /** [Output Only] Type of the resource. Always compute#disk for disks. */ 16145 /**
16146 * [Output Ony] Type of the resource. Always compute#firewall for firewall
16147 * rules.
16148 */
14435 core.String kind; 16149 core.String kind;
14436 /** [Output Only] Last attach timestamp in RFC3339 text format. */
14437 core.String lastAttachTimestamp;
14438 /** [Output Only] Last detach timestamp in RFC3339 text format. */
14439 core.String lastDetachTimestamp;
14440 /** [Output Only] Any applicable publicly visible licenses. */
14441 core.List<core.String> licenses;
14442 /** 16150 /**
14443 * Name of the resource. Provided by the client when the resource is created. 16151 * Name of the resource; provided by the client when the resource is created.
14444 * The name must be 1-63 characters long, and comply with RFC1035. 16152 * The name must be 1-63 characters long, and comply with RFC1035.
14445 * Specifically, the name must be 1-63 characters long and match the regular 16153 * Specifically, the name must be 1-63 characters long and match the regular
14446 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must 16154 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
14447 * be a lowercase letter, and all following characters must be a dash, 16155 * be a lowercase letter, and all following characters must be a dash,
14448 * lowercase letter, or digit, except the last character, which cannot be a 16156 * lowercase letter, or digit, except the last character, which cannot be a
14449 * dash. 16157 * dash.
14450 */ 16158 */
14451 core.String name; 16159 core.String name;
14452 /** Internal use only. */ 16160 /**
14453 core.String options; 16161 * URL of the network resource for this firewall rule. If not specified when
14454 /** [Output Only] Server-defined fully-qualified URL for this resource. */ 16162 * creating a firewall rule, the default network is used:
16163 * global/networks/default
16164 * If you choose to specify this property, you can specify the network as a
16165 * full or partial URL. For example, the following are all valid URLs:
16166 * -
16167 * https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my -network
16168 * - projects/myproject/global/networks/my-network
16169 * - global/networks/default
16170 */
16171 core.String network;
16172 /** [Output Only] Server-defined URL for the resource. */
14455 core.String selfLink; 16173 core.String selfLink;
14456 /** 16174 /**
14457 * Size of the persistent disk, specified in GB. You can specify this field 16175 * The IP address blocks that this rule applies to, expressed in CIDR format.
14458 * when creating a persistent disk using the sourceImage or sourceSnapshot 16176 * One or both of sourceRanges and sourceTags may be set.
14459 * parameter, or specify it alone to create an empty persistent disk.
14460 * 16177 *
14461 * If you specify this field along with sourceImage or sourceSnapshot, the 16178 * If both properties are set, an inbound connection is allowed if the range
14462 * value of sizeGb must not be less than the size of the sourceImage or the 16179 * matches the sourceRanges OR the tag of the source matches the sourceTags
14463 * size of the snapshot. 16180 * property. The connection does not need to match both properties.
14464 */ 16181 */
14465 core.String sizeGb; 16182 core.List<core.String> sourceRanges;
14466 /** 16183 /**
14467 * The source image used to create this disk. If the source image is deleted, 16184 * A list of instance tags which this rule applies to. One or both of
14468 * this field will not be set. 16185 * sourceRanges and sourceTags may be set.
14469 * 16186 *
14470 * To create a disk with one of the public operating system images, specify 16187 * If both properties are set, an inbound connection is allowed if the range
14471 * the image by its family name. For example, specify family/debian-8 to use 16188 * matches the sourceRanges OR the tag of the source matches the sourceTags
14472 * the latest Debian 8 image: 16189 * property. The connection does not need to match both properties.
14473 * 16190 *
14474 * projects/debian-cloud/global/images/family/debian-8 16191 * Source tags cannot be used to allow access to an instance's external IP
14475 * 16192 * address. Because tags are associated with an instance, not an IP address,
14476 * Alternatively, use a specific version of a public operating system image: 16193 * source tags can only be used to control traffic traveling from an instance
14477 * 16194 * inside the same network as the firewall.
14478 * projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD
14479 *
14480 * To create a disk with a private image that you created, specify the image
14481 * name in the following format:
14482 *
14483 * global/images/my-private-image
14484 *
14485 * You can also specify a private image by its image family, which returns the
14486 * latest version of the image in that family. Replace the image name with
14487 * family/family-name:
14488 *
14489 * global/images/family/my-private-family
14490 */ 16195 */
14491 core.String sourceImage; 16196 core.List<core.String> sourceTags;
14492 /** 16197 /**
14493 * [Output Only] The ID value of the image used to create this disk. This 16198 * A list of instance tags indicating sets of instances located in the network
14494 * value identifies the exact image that was used to create this persistent 16199 * that may make network connections as specified in allowed[]. If no
14495 * disk. For example, if you created the persistent disk from an image that 16200 * targetTags are specified, the firewall rule applies to all instances on the
14496 * was later deleted and recreated under the same name, the source image ID 16201 * specified network.
14497 * would identify the exact version of the image that was used.
14498 */ 16202 */
14499 core.String sourceImageId; 16203 core.List<core.String> targetTags;
14500 /**
14501 * The source snapshot used to create this disk. You can provide this as a
14502 * partial or full URL to the resource. For example, the following are valid
14503 * values:
14504 * -
14505 * https://www.googleapis.com/compute/v1/projects/project/global/snapshots/sna pshot
14506 * - projects/project/global/snapshots/snapshot
14507 * - global/snapshots/snapshot
14508 */
14509 core.String sourceSnapshot;
14510 /**
14511 * [Output Only] The unique ID of the snapshot used to create this disk. This
14512 * value identifies the exact snapshot that was used to create this persistent
14513 * disk. For example, if you created the persistent disk from a snapshot that
14514 * was later deleted and recreated under the same name, the source snapshot ID
14515 * would identify the exact version of the snapshot that was used.
14516 */
14517 core.String sourceSnapshotId;
14518 /**
14519 * [Output Only] The status of disk creation. Applicable statuses includes:
14520 * CREATING, FAILED, READY, RESTORING.
14521 * Possible string values are:
14522 * - "CREATING"
14523 * - "FAILED"
14524 * - "READY"
14525 * - "RESTORING"
14526 */
14527 core.String status;
14528 /**
14529 * URL of the disk type resource describing which disk type to use to create
14530 * the disk. Provide this when creating the disk.
14531 */
14532 core.String type;
14533 /**
14534 * [Output Only] Links to the users of the disk (attached instances) in form:
14535 * project/zones/zone/instances/instance
14536 */
14537 core.List<core.String> users;
14538 /** [Output Only] URL of the zone where the disk resides. */
14539 core.String zone;
14540 16204
14541 Disk(); 16205 Firewall();
14542 16206
14543 Disk.fromJson(core.Map _json) { 16207 Firewall.fromJson(core.Map _json) {
16208 if (_json.containsKey("allowed")) {
16209 allowed = _json["allowed"].map((value) => new FirewallAllowed.fromJson(val ue)).toList();
16210 }
14544 if (_json.containsKey("creationTimestamp")) { 16211 if (_json.containsKey("creationTimestamp")) {
14545 creationTimestamp = _json["creationTimestamp"]; 16212 creationTimestamp = _json["creationTimestamp"];
14546 } 16213 }
14547 if (_json.containsKey("description")) { 16214 if (_json.containsKey("description")) {
14548 description = _json["description"]; 16215 description = _json["description"];
14549 } 16216 }
14550 if (_json.containsKey("id")) { 16217 if (_json.containsKey("id")) {
14551 id = _json["id"]; 16218 id = _json["id"];
14552 } 16219 }
14553 if (_json.containsKey("kind")) { 16220 if (_json.containsKey("kind")) {
14554 kind = _json["kind"]; 16221 kind = _json["kind"];
14555 } 16222 }
14556 if (_json.containsKey("lastAttachTimestamp")) {
14557 lastAttachTimestamp = _json["lastAttachTimestamp"];
14558 }
14559 if (_json.containsKey("lastDetachTimestamp")) {
14560 lastDetachTimestamp = _json["lastDetachTimestamp"];
14561 }
14562 if (_json.containsKey("licenses")) {
14563 licenses = _json["licenses"];
14564 }
14565 if (_json.containsKey("name")) { 16223 if (_json.containsKey("name")) {
14566 name = _json["name"]; 16224 name = _json["name"];
14567 } 16225 }
14568 if (_json.containsKey("options")) { 16226 if (_json.containsKey("network")) {
14569 options = _json["options"]; 16227 network = _json["network"];
14570 } 16228 }
14571 if (_json.containsKey("selfLink")) { 16229 if (_json.containsKey("selfLink")) {
14572 selfLink = _json["selfLink"]; 16230 selfLink = _json["selfLink"];
14573 } 16231 }
14574 if (_json.containsKey("sizeGb")) { 16232 if (_json.containsKey("sourceRanges")) {
14575 sizeGb = _json["sizeGb"]; 16233 sourceRanges = _json["sourceRanges"];
14576 } 16234 }
14577 if (_json.containsKey("sourceImage")) { 16235 if (_json.containsKey("sourceTags")) {
14578 sourceImage = _json["sourceImage"]; 16236 sourceTags = _json["sourceTags"];
14579 } 16237 }
14580 if (_json.containsKey("sourceImageId")) { 16238 if (_json.containsKey("targetTags")) {
14581 sourceImageId = _json["sourceImageId"]; 16239 targetTags = _json["targetTags"];
14582 }
14583 if (_json.containsKey("sourceSnapshot")) {
14584 sourceSnapshot = _json["sourceSnapshot"];
14585 }
14586 if (_json.containsKey("sourceSnapshotId")) {
14587 sourceSnapshotId = _json["sourceSnapshotId"];
14588 }
14589 if (_json.containsKey("status")) {
14590 status = _json["status"];
14591 }
14592 if (_json.containsKey("type")) {
14593 type = _json["type"];
14594 }
14595 if (_json.containsKey("users")) {
14596 users = _json["users"];
14597 }
14598 if (_json.containsKey("zone")) {
14599 zone = _json["zone"];
14600 } 16240 }
14601 } 16241 }
14602 16242
14603 core.Map toJson() { 16243 core.Map toJson() {
14604 var _json = new core.Map(); 16244 var _json = new core.Map();
16245 if (allowed != null) {
16246 _json["allowed"] = allowed.map((value) => (value).toJson()).toList();
16247 }
14605 if (creationTimestamp != null) { 16248 if (creationTimestamp != null) {
14606 _json["creationTimestamp"] = creationTimestamp; 16249 _json["creationTimestamp"] = creationTimestamp;
14607 } 16250 }
14608 if (description != null) { 16251 if (description != null) {
14609 _json["description"] = description; 16252 _json["description"] = description;
14610 } 16253 }
14611 if (id != null) { 16254 if (id != null) {
14612 _json["id"] = id; 16255 _json["id"] = id;
14613 } 16256 }
14614 if (kind != null) { 16257 if (kind != null) {
14615 _json["kind"] = kind; 16258 _json["kind"] = kind;
14616 } 16259 }
14617 if (lastAttachTimestamp != null) {
14618 _json["lastAttachTimestamp"] = lastAttachTimestamp;
14619 }
14620 if (lastDetachTimestamp != null) {
14621 _json["lastDetachTimestamp"] = lastDetachTimestamp;
14622 }
14623 if (licenses != null) {
14624 _json["licenses"] = licenses;
14625 }
14626 if (name != null) { 16260 if (name != null) {
14627 _json["name"] = name; 16261 _json["name"] = name;
14628 } 16262 }
14629 if (options != null) { 16263 if (network != null) {
14630 _json["options"] = options; 16264 _json["network"] = network;
14631 } 16265 }
14632 if (selfLink != null) { 16266 if (selfLink != null) {
14633 _json["selfLink"] = selfLink; 16267 _json["selfLink"] = selfLink;
14634 } 16268 }
14635 if (sizeGb != null) { 16269 if (sourceRanges != null) {
14636 _json["sizeGb"] = sizeGb; 16270 _json["sourceRanges"] = sourceRanges;
14637 } 16271 }
14638 if (sourceImage != null) { 16272 if (sourceTags != null) {
14639 _json["sourceImage"] = sourceImage; 16273 _json["sourceTags"] = sourceTags;
14640 } 16274 }
14641 if (sourceImageId != null) { 16275 if (targetTags != null) {
14642 _json["sourceImageId"] = sourceImageId; 16276 _json["targetTags"] = targetTags;
14643 }
14644 if (sourceSnapshot != null) {
14645 _json["sourceSnapshot"] = sourceSnapshot;
14646 }
14647 if (sourceSnapshotId != null) {
14648 _json["sourceSnapshotId"] = sourceSnapshotId;
14649 }
14650 if (status != null) {
14651 _json["status"] = status;
14652 }
14653 if (type != null) {
14654 _json["type"] = type;
14655 }
14656 if (users != null) {
14657 _json["users"] = users;
14658 }
14659 if (zone != null) {
14660 _json["zone"] = zone;
14661 } 16277 }
14662 return _json; 16278 return _json;
14663 } 16279 }
14664 } 16280 }
14665 16281
14666 class DiskAggregatedList { 16282 /** Contains a list of firewalls. */
16283 class FirewallList {
14667 /** 16284 /**
14668 * [Output Only] The unique identifier for the resource. This identifier is 16285 * [Output Only] The unique identifier for the resource. This identifier is
14669 * defined by the server. 16286 * defined by the server.
14670 */ 16287 */
14671 core.String id; 16288 core.String id;
14672 /** [Output Only] A map of scoped disk lists. */ 16289 /** [Output Only] A list of Firewall resources. */
14673 core.Map<core.String, DisksScopedList> items; 16290 core.List<Firewall> items;
14674 /** 16291 /**
14675 * [Output Only] Type of resource. Always compute#diskAggregatedList for 16292 * [Output Only] Type of resource. Always compute#firewallList for lists of
14676 * aggregated lists of persistent disks. 16293 * firewalls.
14677 */ 16294 */
14678 core.String kind; 16295 core.String kind;
14679 /** 16296 /**
14680 * [Output Only] This token allows you to get the next page of results for
14681 * list requests. If the number of results is larger than maxResults, use the
14682 * nextPageToken as a value for the query parameter pageToken in the next list
14683 * request. Subsequent list requests will have their own nextPageToken to
14684 * continue paging through the results.
14685 */
14686 core.String nextPageToken;
14687 /** [Output Only] Server-defined URL for this resource. */
14688 core.String selfLink;
14689
14690 DiskAggregatedList();
14691
14692 DiskAggregatedList.fromJson(core.Map _json) {
14693 if (_json.containsKey("id")) {
14694 id = _json["id"];
14695 }
14696 if (_json.containsKey("items")) {
14697 items = commons.mapMap(_json["items"], (item) => new DisksScopedList.fromJ son(item));
14698 }
14699 if (_json.containsKey("kind")) {
14700 kind = _json["kind"];
14701 }
14702 if (_json.containsKey("nextPageToken")) {
14703 nextPageToken = _json["nextPageToken"];
14704 }
14705 if (_json.containsKey("selfLink")) {
14706 selfLink = _json["selfLink"];
14707 }
14708 }
14709
14710 core.Map toJson() {
14711 var _json = new core.Map();
14712 if (id != null) {
14713 _json["id"] = id;
14714 }
14715 if (items != null) {
14716 _json["items"] = commons.mapMap(items, (item) => (item).toJson());
14717 }
14718 if (kind != null) {
14719 _json["kind"] = kind;
14720 }
14721 if (nextPageToken != null) {
14722 _json["nextPageToken"] = nextPageToken;
14723 }
14724 if (selfLink != null) {
14725 _json["selfLink"] = selfLink;
14726 }
14727 return _json;
14728 }
14729 }
14730
14731 /** A list of Disk resources. */
14732 class DiskList {
14733 /**
14734 * [Output Only] The unique identifier for the resource. This identifier is
14735 * defined by the server.
14736 */
14737 core.String id;
14738 /** [Output Only] A list of persistent disks. */
14739 core.List<Disk> items;
14740 /**
14741 * [Output Only] Type of resource. Always compute#diskList for lists of disks.
14742 */
14743 core.String kind;
14744 /**
14745 * [Output Only] This token allows you to get the next page of results for 16297 * [Output Only] This token allows you to get the next page of results for
14746 * list requests. If the number of results is larger than maxResults, use the 16298 * list requests. If the number of results is larger than maxResults, use the
14747 * nextPageToken as a value for the query parameter pageToken in the next list 16299 * nextPageToken as a value for the query parameter pageToken in the next list
14748 * request. Subsequent list requests will have their own nextPageToken to 16300 * request. Subsequent list requests will have their own nextPageToken to
14749 * continue paging through the results. 16301 * continue paging through the results.
14750 */ 16302 */
14751 core.String nextPageToken; 16303 core.String nextPageToken;
14752 /** [Output Only] Server-defined URL for this resource. */ 16304 /** [Output Only] Server-defined URL for this resource. */
14753 core.String selfLink; 16305 core.String selfLink;
14754 16306
14755 DiskList(); 16307 FirewallList();
14756 16308
14757 DiskList.fromJson(core.Map _json) { 16309 FirewallList.fromJson(core.Map _json) {
14758 if (_json.containsKey("id")) { 16310 if (_json.containsKey("id")) {
14759 id = _json["id"]; 16311 id = _json["id"];
14760 } 16312 }
14761 if (_json.containsKey("items")) { 16313 if (_json.containsKey("items")) {
14762 items = _json["items"].map((value) => new Disk.fromJson(value)).toList(); 16314 items = _json["items"].map((value) => new Firewall.fromJson(value)).toList ();
14763 } 16315 }
14764 if (_json.containsKey("kind")) { 16316 if (_json.containsKey("kind")) {
14765 kind = _json["kind"]; 16317 kind = _json["kind"];
14766 } 16318 }
14767 if (_json.containsKey("nextPageToken")) { 16319 if (_json.containsKey("nextPageToken")) {
14768 nextPageToken = _json["nextPageToken"]; 16320 nextPageToken = _json["nextPageToken"];
14769 } 16321 }
14770 if (_json.containsKey("selfLink")) { 16322 if (_json.containsKey("selfLink")) {
14771 selfLink = _json["selfLink"]; 16323 selfLink = _json["selfLink"];
14772 } 16324 }
(...skipping 13 matching lines...) Expand all
14786 if (nextPageToken != null) { 16338 if (nextPageToken != null) {
14787 _json["nextPageToken"] = nextPageToken; 16339 _json["nextPageToken"] = nextPageToken;
14788 } 16340 }
14789 if (selfLink != null) { 16341 if (selfLink != null) {
14790 _json["selfLink"] = selfLink; 16342 _json["selfLink"] = selfLink;
14791 } 16343 }
14792 return _json; 16344 return _json;
14793 } 16345 }
14794 } 16346 }
14795 16347
14796 class DiskMoveRequest { 16348 /**
16349 * A ForwardingRule resource. A ForwardingRule resource specifies which pool of
16350 * target virtual machines to forward a packet to if it matches the given
16351 * [IPAddress, IPProtocol, portRange] tuple.
16352 */
16353 class ForwardingRule {
14797 /** 16354 /**
14798 * The URL of the destination zone to move the disk. This can be a full or 16355 * Value of the reserved IP address that this forwarding rule is serving on
14799 * partial URL. For example, the following are all valid URLs to a zone: 16356 * behalf of. For global forwarding rules, the address must be a global IP;
14800 * - https://www.googleapis.com/compute/v1/projects/project/zones/zone 16357 * for regional forwarding rules, the address must live in the same region as
14801 * - projects/project/zones/zone 16358 * the forwarding rule. If left empty (default value), an ephemeral IP from
14802 * - zones/zone 16359 * the same scope (global or regional) will be assigned.
14803 */ 16360 */
14804 core.String destinationZone; 16361 core.String IPAddress;
14805 /** 16362 /**
14806 * The URL of the target disk to move. This can be a full or partial URL. For 16363 * The IP protocol to which this rule applies. Valid options are TCP, UDP,
14807 * example, the following are all valid URLs to a disk: 16364 * ESP, AH, SCTP or ICMP.
14808 * - 16365 * Possible string values are:
14809 * https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/dis k 16366 * - "AH"
14810 * - projects/project/zones/zone/disks/disk 16367 * - "ESP"
14811 * - zones/zone/disks/disk 16368 * - "SCTP"
16369 * - "TCP"
16370 * - "UDP"
14812 */ 16371 */
14813 core.String targetDisk; 16372 core.String IPProtocol;
14814
14815 DiskMoveRequest();
14816
14817 DiskMoveRequest.fromJson(core.Map _json) {
14818 if (_json.containsKey("destinationZone")) {
14819 destinationZone = _json["destinationZone"];
14820 }
14821 if (_json.containsKey("targetDisk")) {
14822 targetDisk = _json["targetDisk"];
14823 }
14824 }
14825
14826 core.Map toJson() {
14827 var _json = new core.Map();
14828 if (destinationZone != null) {
14829 _json["destinationZone"] = destinationZone;
14830 }
14831 if (targetDisk != null) {
14832 _json["targetDisk"] = targetDisk;
14833 }
14834 return _json;
14835 }
14836 }
14837
14838 /** A DiskType resource. */
14839 class DiskType {
14840 /** [Output Only] Creation timestamp in RFC3339 text format. */ 16373 /** [Output Only] Creation timestamp in RFC3339 text format. */
14841 core.String creationTimestamp; 16374 core.String creationTimestamp;
14842 /** [Output Only] Server-defined default disk size in GB. */ 16375 /**
14843 core.String defaultDiskSizeGb; 16376 * An optional description of this resource. Provide this property when you
14844 /** [Output Only] The deprecation status associated with this disk type. */ 16377 * create the resource.
14845 DeprecationStatus deprecated; 16378 */
14846 /** [Output Only] An optional description of this resource. */
14847 core.String description; 16379 core.String description;
14848 /** 16380 /**
14849 * [Output Only] The unique identifier for the resource. This identifier is 16381 * [Output Only] The unique identifier for the resource. This identifier is
14850 * defined by the server. 16382 * defined by the server.
14851 */ 16383 */
14852 core.String id; 16384 core.String id;
14853 /** 16385 /**
14854 * [Output Only] Type of the resource. Always compute#diskType for disk types. 16386 * [Output Only] Type of the resource. Always compute#forwardingRule for
16387 * Forwarding Rule resources.
14855 */ 16388 */
14856 core.String kind; 16389 core.String kind;
14857 /** [Output Only] Name of the resource. */ 16390 /**
16391 * Name of the resource; provided by the client when the resource is created.
16392 * The name must be 1-63 characters long, and comply with RFC1035.
16393 * Specifically, the name must be 1-63 characters long and match the regular
16394 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
16395 * be a lowercase letter, and all following characters must be a dash,
16396 * lowercase letter, or digit, except the last character, which cannot be a
16397 * dash.
16398 */
14858 core.String name; 16399 core.String name;
16400 /**
16401 * Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets
16402 * addressed to ports in the specified range will be forwarded to target.
16403 * Forwarding rules with the same [IPAddress, IPProtocol] pair must have
16404 * disjoint port ranges.
16405 */
16406 core.String portRange;
16407 /**
16408 * [Output Only] URL of the region where the regional forwarding rule resides.
16409 * This field is not applicable to global forwarding rules.
16410 */
16411 core.String region;
14859 /** [Output Only] Server-defined URL for the resource. */ 16412 /** [Output Only] Server-defined URL for the resource. */
14860 core.String selfLink; 16413 core.String selfLink;
14861 /** 16414 /**
14862 * [Output Only] An optional textual description of the valid disk size, such 16415 * The URL of the target resource to receive the matched traffic. For regional
14863 * as "10GB-10TB". 16416 * forwarding rules, this target must live in the same region as the
16417 * forwarding rule. For global forwarding rules, this target must be a global
16418 * TargetHttpProxy or TargetHttpsProxy resource. The forwarded traffic must be
16419 * of a type appropriate to the target object. For example, TargetHttpProxy
16420 * requires HTTP traffic, and TargetHttpsProxy requires HTTPS traffic.
14864 */ 16421 */
14865 core.String validDiskSize; 16422 core.String target;
14866 /** [Output Only] URL of the zone where the disk type resides. */
14867 core.String zone;
14868 16423
14869 DiskType(); 16424 ForwardingRule();
14870 16425
14871 DiskType.fromJson(core.Map _json) { 16426 ForwardingRule.fromJson(core.Map _json) {
16427 if (_json.containsKey("IPAddress")) {
16428 IPAddress = _json["IPAddress"];
16429 }
16430 if (_json.containsKey("IPProtocol")) {
16431 IPProtocol = _json["IPProtocol"];
16432 }
14872 if (_json.containsKey("creationTimestamp")) { 16433 if (_json.containsKey("creationTimestamp")) {
14873 creationTimestamp = _json["creationTimestamp"]; 16434 creationTimestamp = _json["creationTimestamp"];
14874 } 16435 }
14875 if (_json.containsKey("defaultDiskSizeGb")) {
14876 defaultDiskSizeGb = _json["defaultDiskSizeGb"];
14877 }
14878 if (_json.containsKey("deprecated")) {
14879 deprecated = new DeprecationStatus.fromJson(_json["deprecated"]);
14880 }
14881 if (_json.containsKey("description")) { 16436 if (_json.containsKey("description")) {
14882 description = _json["description"]; 16437 description = _json["description"];
14883 } 16438 }
14884 if (_json.containsKey("id")) { 16439 if (_json.containsKey("id")) {
14885 id = _json["id"]; 16440 id = _json["id"];
14886 } 16441 }
14887 if (_json.containsKey("kind")) { 16442 if (_json.containsKey("kind")) {
14888 kind = _json["kind"]; 16443 kind = _json["kind"];
14889 } 16444 }
14890 if (_json.containsKey("name")) { 16445 if (_json.containsKey("name")) {
14891 name = _json["name"]; 16446 name = _json["name"];
14892 } 16447 }
16448 if (_json.containsKey("portRange")) {
16449 portRange = _json["portRange"];
16450 }
16451 if (_json.containsKey("region")) {
16452 region = _json["region"];
16453 }
14893 if (_json.containsKey("selfLink")) { 16454 if (_json.containsKey("selfLink")) {
14894 selfLink = _json["selfLink"]; 16455 selfLink = _json["selfLink"];
14895 } 16456 }
14896 if (_json.containsKey("validDiskSize")) { 16457 if (_json.containsKey("target")) {
14897 validDiskSize = _json["validDiskSize"]; 16458 target = _json["target"];
14898 }
14899 if (_json.containsKey("zone")) {
14900 zone = _json["zone"];
14901 } 16459 }
14902 } 16460 }
14903 16461
14904 core.Map toJson() { 16462 core.Map toJson() {
14905 var _json = new core.Map(); 16463 var _json = new core.Map();
16464 if (IPAddress != null) {
16465 _json["IPAddress"] = IPAddress;
16466 }
16467 if (IPProtocol != null) {
16468 _json["IPProtocol"] = IPProtocol;
16469 }
14906 if (creationTimestamp != null) { 16470 if (creationTimestamp != null) {
14907 _json["creationTimestamp"] = creationTimestamp; 16471 _json["creationTimestamp"] = creationTimestamp;
14908 } 16472 }
14909 if (defaultDiskSizeGb != null) {
14910 _json["defaultDiskSizeGb"] = defaultDiskSizeGb;
14911 }
14912 if (deprecated != null) {
14913 _json["deprecated"] = (deprecated).toJson();
14914 }
14915 if (description != null) { 16473 if (description != null) {
14916 _json["description"] = description; 16474 _json["description"] = description;
14917 } 16475 }
14918 if (id != null) { 16476 if (id != null) {
14919 _json["id"] = id; 16477 _json["id"] = id;
14920 } 16478 }
14921 if (kind != null) { 16479 if (kind != null) {
14922 _json["kind"] = kind; 16480 _json["kind"] = kind;
14923 } 16481 }
14924 if (name != null) { 16482 if (name != null) {
14925 _json["name"] = name; 16483 _json["name"] = name;
14926 } 16484 }
16485 if (portRange != null) {
16486 _json["portRange"] = portRange;
16487 }
16488 if (region != null) {
16489 _json["region"] = region;
16490 }
14927 if (selfLink != null) { 16491 if (selfLink != null) {
14928 _json["selfLink"] = selfLink; 16492 _json["selfLink"] = selfLink;
14929 } 16493 }
14930 if (validDiskSize != null) { 16494 if (target != null) {
14931 _json["validDiskSize"] = validDiskSize; 16495 _json["target"] = target;
14932 }
14933 if (zone != null) {
14934 _json["zone"] = zone;
14935 } 16496 }
14936 return _json; 16497 return _json;
14937 } 16498 }
14938 } 16499 }
14939 16500
14940 class DiskTypeAggregatedList { 16501 class ForwardingRuleAggregatedList {
14941 /** 16502 /**
14942 * [Output Only] The unique identifier for the resource. This identifier is 16503 * [Output Only] The unique identifier for the resource. This identifier is
14943 * defined by the server. 16504 * defined by the server.
14944 */ 16505 */
14945 core.String id; 16506 core.String id;
14946 /** [Output Only] A map of scoped disk type lists. */ 16507 /** A map of scoped forwarding rule lists. */
14947 core.Map<core.String, DiskTypesScopedList> items; 16508 core.Map<core.String, ForwardingRulesScopedList> items;
14948 /** [Output Only] Type of resource. Always compute#diskTypeAggregatedList. */ 16509 /**
16510 * [Output Only] Type of resource. Always compute#forwardingRuleAggregatedList
16511 * for lists of forwarding rules.
16512 */
14949 core.String kind; 16513 core.String kind;
14950 /** 16514 /**
14951 * [Output Only] This token allows you to get the next page of results for 16515 * [Output Only] This token allows you to get the next page of results for
14952 * list requests. If the number of results is larger than maxResults, use the 16516 * list requests. If the number of results is larger than maxResults, use the
14953 * nextPageToken as a value for the query parameter pageToken in the next list 16517 * nextPageToken as a value for the query parameter pageToken in the next list
14954 * request. Subsequent list requests will have their own nextPageToken to 16518 * request. Subsequent list requests will have their own nextPageToken to
14955 * continue paging through the results. 16519 * continue paging through the results.
14956 */ 16520 */
14957 core.String nextPageToken; 16521 core.String nextPageToken;
14958 /** [Output Only] Server-defined URL for this resource. */ 16522 /** [Output Only] Server-defined URL for this resource. */
14959 core.String selfLink; 16523 core.String selfLink;
14960 16524
14961 DiskTypeAggregatedList(); 16525 ForwardingRuleAggregatedList();
14962 16526
14963 DiskTypeAggregatedList.fromJson(core.Map _json) { 16527 ForwardingRuleAggregatedList.fromJson(core.Map _json) {
14964 if (_json.containsKey("id")) { 16528 if (_json.containsKey("id")) {
14965 id = _json["id"]; 16529 id = _json["id"];
14966 } 16530 }
14967 if (_json.containsKey("items")) { 16531 if (_json.containsKey("items")) {
14968 items = commons.mapMap(_json["items"], (item) => new DiskTypesScopedList.f romJson(item)); 16532 items = commons.mapMap(_json["items"], (item) => new ForwardingRulesScoped List.fromJson(item));
14969 } 16533 }
14970 if (_json.containsKey("kind")) { 16534 if (_json.containsKey("kind")) {
14971 kind = _json["kind"]; 16535 kind = _json["kind"];
14972 } 16536 }
14973 if (_json.containsKey("nextPageToken")) { 16537 if (_json.containsKey("nextPageToken")) {
14974 nextPageToken = _json["nextPageToken"]; 16538 nextPageToken = _json["nextPageToken"];
14975 } 16539 }
14976 if (_json.containsKey("selfLink")) { 16540 if (_json.containsKey("selfLink")) {
14977 selfLink = _json["selfLink"]; 16541 selfLink = _json["selfLink"];
14978 } 16542 }
(...skipping 13 matching lines...) Expand all
14992 if (nextPageToken != null) { 16556 if (nextPageToken != null) {
14993 _json["nextPageToken"] = nextPageToken; 16557 _json["nextPageToken"] = nextPageToken;
14994 } 16558 }
14995 if (selfLink != null) { 16559 if (selfLink != null) {
14996 _json["selfLink"] = selfLink; 16560 _json["selfLink"] = selfLink;
14997 } 16561 }
14998 return _json; 16562 return _json;
14999 } 16563 }
15000 } 16564 }
15001 16565
15002 /** Contains a list of disk types. */ 16566 /** Contains a list of ForwardingRule resources. */
15003 class DiskTypeList { 16567 class ForwardingRuleList {
15004 /** 16568 /** [Output Only] Unique identifier for the resource. Set by the server. */
15005 * [Output Only] The unique identifier for the resource. This identifier is
15006 * defined by the server.
15007 */
15008 core.String id; 16569 core.String id;
15009 /** [Output Only] A list of Disk Type resources. */ 16570 /** A list of ForwardingRule resources. */
15010 core.List<DiskType> items; 16571 core.List<ForwardingRule> items;
15011 /** 16572 /** Type of resource. */
15012 * [Output Only] Type of resource. Always compute#diskTypeList for disk types.
15013 */
15014 core.String kind; 16573 core.String kind;
15015 /** 16574 /**
15016 * [Output Only] This token allows you to get the next page of results for 16575 * [Output Only] This token allows you to get the next page of results for
15017 * list requests. If the number of results is larger than maxResults, use the 16576 * list requests. If the number of results is larger than maxResults, use the
15018 * nextPageToken as a value for the query parameter pageToken in the next list 16577 * nextPageToken as a value for the query parameter pageToken in the next list
15019 * request. Subsequent list requests will have their own nextPageToken to 16578 * request. Subsequent list requests will have their own nextPageToken to
15020 * continue paging through the results. 16579 * continue paging through the results.
15021 */ 16580 */
15022 core.String nextPageToken; 16581 core.String nextPageToken;
15023 /** [Output Only] Server-defined URL for this resource. */ 16582 /** [Output Only] Server-defined URL for this resource. */
15024 core.String selfLink; 16583 core.String selfLink;
15025 16584
15026 DiskTypeList(); 16585 ForwardingRuleList();
15027 16586
15028 DiskTypeList.fromJson(core.Map _json) { 16587 ForwardingRuleList.fromJson(core.Map _json) {
15029 if (_json.containsKey("id")) { 16588 if (_json.containsKey("id")) {
15030 id = _json["id"]; 16589 id = _json["id"];
15031 } 16590 }
15032 if (_json.containsKey("items")) { 16591 if (_json.containsKey("items")) {
15033 items = _json["items"].map((value) => new DiskType.fromJson(value)).toList (); 16592 items = _json["items"].map((value) => new ForwardingRule.fromJson(value)). toList();
15034 } 16593 }
15035 if (_json.containsKey("kind")) { 16594 if (_json.containsKey("kind")) {
15036 kind = _json["kind"]; 16595 kind = _json["kind"];
15037 } 16596 }
15038 if (_json.containsKey("nextPageToken")) { 16597 if (_json.containsKey("nextPageToken")) {
15039 nextPageToken = _json["nextPageToken"]; 16598 nextPageToken = _json["nextPageToken"];
15040 } 16599 }
15041 if (_json.containsKey("selfLink")) { 16600 if (_json.containsKey("selfLink")) {
15042 selfLink = _json["selfLink"]; 16601 selfLink = _json["selfLink"];
15043 } 16602 }
(...skipping 13 matching lines...) Expand all
15057 if (nextPageToken != null) { 16616 if (nextPageToken != null) {
15058 _json["nextPageToken"] = nextPageToken; 16617 _json["nextPageToken"] = nextPageToken;
15059 } 16618 }
15060 if (selfLink != null) { 16619 if (selfLink != null) {
15061 _json["selfLink"] = selfLink; 16620 _json["selfLink"] = selfLink;
15062 } 16621 }
15063 return _json; 16622 return _json;
15064 } 16623 }
15065 } 16624 }
15066 16625
15067 class DiskTypesScopedListWarningData { 16626 class ForwardingRulesScopedListWarningData {
15068 /** 16627 /**
15069 * [Output Only] A key that provides more detail on the warning being 16628 * [Output Only] A key that provides more detail on the warning being
15070 * returned. For example, for warnings where there are no results in a list 16629 * returned. For example, for warnings where there are no results in a list
15071 * request for a particular zone, this key might be scope and the key value 16630 * request for a particular zone, this key might be scope and the key value
15072 * might be the zone name. Other examples might be a key indicating a 16631 * might be the zone name. Other examples might be a key indicating a
15073 * deprecated resource and a suggested replacement, or a warning about invalid 16632 * deprecated resource and a suggested replacement, or a warning about invalid
15074 * network settings (for example, if an instance attempts to perform IP 16633 * network settings (for example, if an instance attempts to perform IP
15075 * forwarding but is not enabled for IP forwarding). 16634 * forwarding but is not enabled for IP forwarding).
15076 */ 16635 */
15077 core.String key; 16636 core.String key;
15078 /** [Output Only] A warning data value corresponding to the key. */ 16637 /** [Output Only] A warning data value corresponding to the key. */
15079 core.String value; 16638 core.String value;
15080 16639
15081 DiskTypesScopedListWarningData(); 16640 ForwardingRulesScopedListWarningData();
15082 16641
15083 DiskTypesScopedListWarningData.fromJson(core.Map _json) { 16642 ForwardingRulesScopedListWarningData.fromJson(core.Map _json) {
15084 if (_json.containsKey("key")) { 16643 if (_json.containsKey("key")) {
15085 key = _json["key"]; 16644 key = _json["key"];
15086 } 16645 }
15087 if (_json.containsKey("value")) { 16646 if (_json.containsKey("value")) {
15088 value = _json["value"]; 16647 value = _json["value"];
15089 } 16648 }
15090 } 16649 }
15091 16650
15092 core.Map toJson() { 16651 core.Map toJson() {
15093 var _json = new core.Map(); 16652 var _json = new core.Map();
15094 if (key != null) { 16653 if (key != null) {
15095 _json["key"] = key; 16654 _json["key"] = key;
15096 } 16655 }
15097 if (value != null) { 16656 if (value != null) {
15098 _json["value"] = value; 16657 _json["value"] = value;
15099 } 16658 }
15100 return _json; 16659 return _json;
15101 } 16660 }
15102 } 16661 }
15103 16662
15104 /** 16663 /**
15105 * [Output Only] Informational warning which replaces the list of disk types 16664 * Informational warning which replaces the list of forwarding rules when the
15106 * when the list is empty. 16665 * list is empty.
15107 */ 16666 */
15108 class DiskTypesScopedListWarning { 16667 class ForwardingRulesScopedListWarning {
15109 /** 16668 /**
15110 * [Output Only] A warning code, if applicable. For example, Compute Engine 16669 * [Output Only] A warning code, if applicable. For example, Compute Engine
15111 * returns NO_RESULTS_ON_PAGE if there are no results in the response. 16670 * returns NO_RESULTS_ON_PAGE if there are no results in the response.
15112 * Possible string values are: 16671 * Possible string values are:
15113 * - "CLEANUP_FAILED" 16672 * - "CLEANUP_FAILED"
15114 * - "DEPRECATED_RESOURCE_USED" 16673 * - "DEPRECATED_RESOURCE_USED"
15115 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" 16674 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
15116 * - "INJECTED_KERNELS_DEPRECATED" 16675 * - "INJECTED_KERNELS_DEPRECATED"
15117 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED" 16676 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
15118 * - "NEXT_HOP_CANNOT_IP_FORWARD" 16677 * - "NEXT_HOP_CANNOT_IP_FORWARD"
15119 * - "NEXT_HOP_INSTANCE_NOT_FOUND" 16678 * - "NEXT_HOP_INSTANCE_NOT_FOUND"
15120 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" 16679 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
15121 * - "NEXT_HOP_NOT_RUNNING" 16680 * - "NEXT_HOP_NOT_RUNNING"
15122 * - "NOT_CRITICAL_ERROR" 16681 * - "NOT_CRITICAL_ERROR"
15123 * - "NO_RESULTS_ON_PAGE" 16682 * - "NO_RESULTS_ON_PAGE"
15124 * - "REQUIRED_TOS_AGREEMENT" 16683 * - "REQUIRED_TOS_AGREEMENT"
15125 * - "RESOURCE_NOT_DELETED" 16684 * - "RESOURCE_NOT_DELETED"
15126 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE" 16685 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
15127 * - "UNREACHABLE" 16686 * - "UNREACHABLE"
15128 */ 16687 */
15129 core.String code; 16688 core.String code;
15130 /** 16689 /**
15131 * [Output Only] Metadata about this warning in key: value format. For 16690 * [Output Only] Metadata about this warning in key: value format. For
15132 * example: 16691 * example:
15133 * "data": [ { "key": "scope", "value": "zones/us-east1-d" } 16692 * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
15134 */ 16693 */
15135 core.List<DiskTypesScopedListWarningData> data; 16694 core.List<ForwardingRulesScopedListWarningData> data;
15136 /** [Output Only] A human-readable description of the warning code. */ 16695 /** [Output Only] A human-readable description of the warning code. */
15137 core.String message; 16696 core.String message;
15138 16697
15139 DiskTypesScopedListWarning(); 16698 ForwardingRulesScopedListWarning();
15140 16699
15141 DiskTypesScopedListWarning.fromJson(core.Map _json) { 16700 ForwardingRulesScopedListWarning.fromJson(core.Map _json) {
15142 if (_json.containsKey("code")) { 16701 if (_json.containsKey("code")) {
15143 code = _json["code"]; 16702 code = _json["code"];
15144 } 16703 }
15145 if (_json.containsKey("data")) { 16704 if (_json.containsKey("data")) {
15146 data = _json["data"].map((value) => new DiskTypesScopedListWarningData.fro mJson(value)).toList(); 16705 data = _json["data"].map((value) => new ForwardingRulesScopedListWarningDa ta.fromJson(value)).toList();
15147 } 16706 }
15148 if (_json.containsKey("message")) { 16707 if (_json.containsKey("message")) {
15149 message = _json["message"]; 16708 message = _json["message"];
15150 } 16709 }
15151 } 16710 }
15152 16711
15153 core.Map toJson() { 16712 core.Map toJson() {
15154 var _json = new core.Map(); 16713 var _json = new core.Map();
15155 if (code != null) { 16714 if (code != null) {
15156 _json["code"] = code; 16715 _json["code"] = code;
15157 } 16716 }
15158 if (data != null) { 16717 if (data != null) {
15159 _json["data"] = data.map((value) => (value).toJson()).toList(); 16718 _json["data"] = data.map((value) => (value).toJson()).toList();
15160 } 16719 }
15161 if (message != null) { 16720 if (message != null) {
15162 _json["message"] = message; 16721 _json["message"] = message;
15163 } 16722 }
15164 return _json; 16723 return _json;
15165 } 16724 }
15166 } 16725 }
15167 16726
15168 class DiskTypesScopedList { 16727 class ForwardingRulesScopedList {
15169 /** [Output Only] List of disk types contained in this scope. */ 16728 /** List of forwarding rules contained in this scope. */
15170 core.List<DiskType> diskTypes; 16729 core.List<ForwardingRule> forwardingRules;
15171 /** 16730 /**
15172 * [Output Only] Informational warning which replaces the list of disk types 16731 * Informational warning which replaces the list of forwarding rules when the
15173 * when the list is empty. 16732 * list is empty.
15174 */ 16733 */
15175 DiskTypesScopedListWarning warning; 16734 ForwardingRulesScopedListWarning warning;
15176 16735
15177 DiskTypesScopedList(); 16736 ForwardingRulesScopedList();
15178 16737
15179 DiskTypesScopedList.fromJson(core.Map _json) { 16738 ForwardingRulesScopedList.fromJson(core.Map _json) {
15180 if (_json.containsKey("diskTypes")) { 16739 if (_json.containsKey("forwardingRules")) {
15181 diskTypes = _json["diskTypes"].map((value) => new DiskType.fromJson(value) ).toList(); 16740 forwardingRules = _json["forwardingRules"].map((value) => new ForwardingRu le.fromJson(value)).toList();
15182 } 16741 }
15183 if (_json.containsKey("warning")) { 16742 if (_json.containsKey("warning")) {
15184 warning = new DiskTypesScopedListWarning.fromJson(_json["warning"]); 16743 warning = new ForwardingRulesScopedListWarning.fromJson(_json["warning"]);
15185 } 16744 }
15186 } 16745 }
15187 16746
15188 core.Map toJson() { 16747 core.Map toJson() {
15189 var _json = new core.Map(); 16748 var _json = new core.Map();
15190 if (diskTypes != null) { 16749 if (forwardingRules != null) {
15191 _json["diskTypes"] = diskTypes.map((value) => (value).toJson()).toList(); 16750 _json["forwardingRules"] = forwardingRules.map((value) => (value).toJson() ).toList();
15192 } 16751 }
15193 if (warning != null) { 16752 if (warning != null) {
15194 _json["warning"] = (warning).toJson(); 16753 _json["warning"] = (warning).toJson();
15195 } 16754 }
15196 return _json; 16755 return _json;
15197 } 16756 }
15198 } 16757 }
15199 16758
15200 class DisksResizeRequest {
15201 /** The new size of the persistent disk, which is specified in GB. */
15202 core.String sizeGb;
15203
15204 DisksResizeRequest();
15205
15206 DisksResizeRequest.fromJson(core.Map _json) {
15207 if (_json.containsKey("sizeGb")) {
15208 sizeGb = _json["sizeGb"];
15209 }
15210 }
15211
15212 core.Map toJson() {
15213 var _json = new core.Map();
15214 if (sizeGb != null) {
15215 _json["sizeGb"] = sizeGb;
15216 }
15217 return _json;
15218 }
15219 }
15220
15221 class DisksScopedListWarningData {
15222 /**
15223 * [Output Only] A key that provides more detail on the warning being
15224 * returned. For example, for warnings where there are no results in a list
15225 * request for a particular zone, this key might be scope and the key value
15226 * might be the zone name. Other examples might be a key indicating a
15227 * deprecated resource and a suggested replacement, or a warning about invalid
15228 * network settings (for example, if an instance attempts to perform IP
15229 * forwarding but is not enabled for IP forwarding).
15230 */
15231 core.String key;
15232 /** [Output Only] A warning data value corresponding to the key. */
15233 core.String value;
15234
15235 DisksScopedListWarningData();
15236
15237 DisksScopedListWarningData.fromJson(core.Map _json) {
15238 if (_json.containsKey("key")) {
15239 key = _json["key"];
15240 }
15241 if (_json.containsKey("value")) {
15242 value = _json["value"];
15243 }
15244 }
15245
15246 core.Map toJson() {
15247 var _json = new core.Map();
15248 if (key != null) {
15249 _json["key"] = key;
15250 }
15251 if (value != null) {
15252 _json["value"] = value;
15253 }
15254 return _json;
15255 }
15256 }
15257
15258 /** 16759 /**
15259 * [Output Only] Informational warning which replaces the list of disks when the 16760 * A full or valid partial URL to a health check. For example, the following are
15260 * list is empty. 16761 * valid URLs:
16762 * -
16763 * https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealth Checks/health-check
16764 * - projects/project-id/global/httpHealthChecks/health-check
16765 * - global/httpHealthChecks/health-check
15261 */ 16766 */
15262 class DisksScopedListWarning { 16767 class HealthCheckReference {
15263 /** 16768 core.String healthCheck;
15264 * [Output Only] A warning code, if applicable. For example, Compute Engine 16769
15265 * returns NO_RESULTS_ON_PAGE if there are no results in the response. 16770 HealthCheckReference();
16771
16772 HealthCheckReference.fromJson(core.Map _json) {
16773 if (_json.containsKey("healthCheck")) {
16774 healthCheck = _json["healthCheck"];
16775 }
16776 }
16777
16778 core.Map toJson() {
16779 var _json = new core.Map();
16780 if (healthCheck != null) {
16781 _json["healthCheck"] = healthCheck;
16782 }
16783 return _json;
16784 }
16785 }
16786
16787 class HealthStatus {
16788 /**
16789 * Health state of the instance.
15266 * Possible string values are: 16790 * Possible string values are:
15267 * - "CLEANUP_FAILED" 16791 * - "HEALTHY"
15268 * - "DEPRECATED_RESOURCE_USED" 16792 * - "UNHEALTHY"
15269 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" 16793 */
15270 * - "INJECTED_KERNELS_DEPRECATED" 16794 core.String healthState;
15271 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED" 16795 /** URL of the instance resource. */
15272 * - "NEXT_HOP_CANNOT_IP_FORWARD" 16796 core.String instance;
15273 * - "NEXT_HOP_INSTANCE_NOT_FOUND" 16797 /** The IP address represented by this resource. */
15274 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" 16798 core.String ipAddress;
15275 * - "NEXT_HOP_NOT_RUNNING" 16799 /** The port on the instance. */
15276 * - "NOT_CRITICAL_ERROR" 16800 core.int port;
15277 * - "NO_RESULTS_ON_PAGE" 16801
15278 * - "REQUIRED_TOS_AGREEMENT" 16802 HealthStatus();
15279 * - "RESOURCE_NOT_DELETED" 16803
15280 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE" 16804 HealthStatus.fromJson(core.Map _json) {
15281 * - "UNREACHABLE" 16805 if (_json.containsKey("healthState")) {
15282 */ 16806 healthState = _json["healthState"];
15283 core.String code; 16807 }
15284 /** 16808 if (_json.containsKey("instance")) {
15285 * [Output Only] Metadata about this warning in key: value format. For 16809 instance = _json["instance"];
15286 * example: 16810 }
15287 * "data": [ { "key": "scope", "value": "zones/us-east1-d" } 16811 if (_json.containsKey("ipAddress")) {
15288 */ 16812 ipAddress = _json["ipAddress"];
15289 core.List<DisksScopedListWarningData> data; 16813 }
15290 /** [Output Only] A human-readable description of the warning code. */ 16814 if (_json.containsKey("port")) {
15291 core.String message; 16815 port = _json["port"];
15292 16816 }
15293 DisksScopedListWarning(); 16817 }
15294 16818
15295 DisksScopedListWarning.fromJson(core.Map _json) { 16819 core.Map toJson() {
15296 if (_json.containsKey("code")) { 16820 var _json = new core.Map();
15297 code = _json["code"]; 16821 if (healthState != null) {
15298 } 16822 _json["healthState"] = healthState;
15299 if (_json.containsKey("data")) { 16823 }
15300 data = _json["data"].map((value) => new DisksScopedListWarningData.fromJso n(value)).toList(); 16824 if (instance != null) {
15301 } 16825 _json["instance"] = instance;
15302 if (_json.containsKey("message")) { 16826 }
15303 message = _json["message"]; 16827 if (ipAddress != null) {
15304 } 16828 _json["ipAddress"] = ipAddress;
15305 } 16829 }
15306 16830 if (port != null) {
15307 core.Map toJson() { 16831 _json["port"] = port;
15308 var _json = new core.Map(); 16832 }
15309 if (code != null) { 16833 return _json;
15310 _json["code"] = code; 16834 }
15311 } 16835 }
15312 if (data != null) { 16836
15313 _json["data"] = data.map((value) => (value).toJson()).toList(); 16837 /**
15314 } 16838 * UrlMaps A host-matching rule for a URL. If matched, will use the named
15315 if (message != null) { 16839 * PathMatcher to select the BackendService.
15316 _json["message"] = message; 16840 */
15317 } 16841 class HostRule {
15318 return _json; 16842 /**
15319 } 16843 * An optional description of this resource. Provide this property when you
15320 } 16844 * create the resource.
15321 16845 */
15322 class DisksScopedList { 16846 core.String description;
15323 /** [Output Only] List of disks contained in this scope. */ 16847 /**
15324 core.List<Disk> disks; 16848 * The list of host patterns to match. They must be valid hostnames, except *
15325 /** 16849 * will match any string of ([a-z0-9-.]*). In that case, * must be the first
15326 * [Output Only] Informational warning which replaces the list of disks when 16850 * character and must be followed in the pattern by either - or ..
15327 * the list is empty. 16851 */
15328 */ 16852 core.List<core.String> hosts;
15329 DisksScopedListWarning warning; 16853 /**
15330 16854 * The name of the PathMatcher to use to match the path portion of the URL if
15331 DisksScopedList(); 16855 * the hostRule matches the URL's host portion.
15332 16856 */
15333 DisksScopedList.fromJson(core.Map _json) { 16857 core.String pathMatcher;
15334 if (_json.containsKey("disks")) { 16858
15335 disks = _json["disks"].map((value) => new Disk.fromJson(value)).toList(); 16859 HostRule();
15336 } 16860
15337 if (_json.containsKey("warning")) { 16861 HostRule.fromJson(core.Map _json) {
15338 warning = new DisksScopedListWarning.fromJson(_json["warning"]); 16862 if (_json.containsKey("description")) {
15339 } 16863 description = _json["description"];
15340 } 16864 }
15341 16865 if (_json.containsKey("hosts")) {
15342 core.Map toJson() { 16866 hosts = _json["hosts"];
15343 var _json = new core.Map(); 16867 }
15344 if (disks != null) { 16868 if (_json.containsKey("pathMatcher")) {
15345 _json["disks"] = disks.map((value) => (value).toJson()).toList(); 16869 pathMatcher = _json["pathMatcher"];
15346 } 16870 }
15347 if (warning != null) { 16871 }
15348 _json["warning"] = (warning).toJson(); 16872
15349 } 16873 core.Map toJson() {
15350 return _json; 16874 var _json = new core.Map();
15351 } 16875 if (description != null) {
15352 } 16876 _json["description"] = description;
15353 16877 }
15354 class FirewallAllowed { 16878 if (hosts != null) {
15355 /** 16879 _json["hosts"] = hosts;
15356 * The IP protocol that is allowed for this rule. The protocol type is 16880 }
15357 * required when creating a firewall rule. This value can either be one of the 16881 if (pathMatcher != null) {
15358 * following well known protocol strings (tcp, udp, icmp, esp, ah, sctp), or 16882 _json["pathMatcher"] = pathMatcher;
15359 * the IP protocol number. 16883 }
15360 */ 16884 return _json;
15361 core.String IPProtocol; 16885 }
15362 /** 16886 }
15363 * An optional list of ports which are allowed. This field is only applicable 16887
15364 * for UDP or TCP protocol. Each entry must be either an integer or a range. 16888 /**
15365 * If not specified, connections through any port are allowed 16889 * An HttpHealthCheck resource. This resource defines a template for how
15366 * 16890 * individual instances should be checked for health, via HTTP.
15367 * Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. 16891 */
15368 */ 16892 class HttpHealthCheck {
15369 core.List<core.String> ports; 16893 /**
15370 16894 * How often (in seconds) to send a health check. The default value is 5
15371 FirewallAllowed(); 16895 * seconds.
15372 16896 */
15373 FirewallAllowed.fromJson(core.Map _json) { 16897 core.int checkIntervalSec;
15374 if (_json.containsKey("IPProtocol")) {
15375 IPProtocol = _json["IPProtocol"];
15376 }
15377 if (_json.containsKey("ports")) {
15378 ports = _json["ports"];
15379 }
15380 }
15381
15382 core.Map toJson() {
15383 var _json = new core.Map();
15384 if (IPProtocol != null) {
15385 _json["IPProtocol"] = IPProtocol;
15386 }
15387 if (ports != null) {
15388 _json["ports"] = ports;
15389 }
15390 return _json;
15391 }
15392 }
15393
15394 /** Represents a Firewall resource. */
15395 class Firewall {
15396 /**
15397 * The list of rules specified by this firewall. Each rule specifies a
15398 * protocol and port-range tuple that describes a permitted connection.
15399 */
15400 core.List<FirewallAllowed> allowed;
15401 /** [Output Only] Creation timestamp in RFC3339 text format. */ 16898 /** [Output Only] Creation timestamp in RFC3339 text format. */
15402 core.String creationTimestamp; 16899 core.String creationTimestamp;
15403 /** 16900 /**
16901 * An optional description of this resource. Provide this property when you
16902 * create the resource.
16903 */
16904 core.String description;
16905 /**
16906 * A so-far unhealthy instance will be marked healthy after this many
16907 * consecutive successes. The default value is 2.
16908 */
16909 core.int healthyThreshold;
16910 /**
16911 * The value of the host header in the HTTP health check request. If left
16912 * empty (default value), the public IP on behalf of which this health check
16913 * is performed will be used.
16914 */
16915 core.String host;
16916 /**
16917 * [Output Only] The unique identifier for the resource. This identifier is
16918 * defined by the server.
16919 */
16920 core.String id;
16921 /**
16922 * [Output Only] Type of the resource. Always compute#httpHealthCheck for HTTP
16923 * health checks.
16924 */
16925 core.String kind;
16926 /**
16927 * Name of the resource. Provided by the client when the resource is created.
16928 * The name must be 1-63 characters long, and comply with RFC1035.
16929 * Specifically, the name must be 1-63 characters long and match the regular
16930 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
16931 * be a lowercase letter, and all following characters must be a dash,
16932 * lowercase letter, or digit, except the last character, which cannot be a
16933 * dash.
16934 */
16935 core.String name;
16936 /**
16937 * The TCP port number for the HTTP health check request. The default value is
16938 * 80.
16939 */
16940 core.int port;
16941 /**
16942 * The request path of the HTTP health check request. The default value is /.
16943 */
16944 core.String requestPath;
16945 /** [Output Only] Server-defined URL for the resource. */
16946 core.String selfLink;
16947 /**
16948 * How long (in seconds) to wait before claiming failure. The default value is
16949 * 5 seconds. It is invalid for timeoutSec to have greater value than
16950 * checkIntervalSec.
16951 */
16952 core.int timeoutSec;
16953 /**
16954 * A so-far healthy instance will be marked unhealthy after this many
16955 * consecutive failures. The default value is 2.
16956 */
16957 core.int unhealthyThreshold;
16958
16959 HttpHealthCheck();
16960
16961 HttpHealthCheck.fromJson(core.Map _json) {
16962 if (_json.containsKey("checkIntervalSec")) {
16963 checkIntervalSec = _json["checkIntervalSec"];
16964 }
16965 if (_json.containsKey("creationTimestamp")) {
16966 creationTimestamp = _json["creationTimestamp"];
16967 }
16968 if (_json.containsKey("description")) {
16969 description = _json["description"];
16970 }
16971 if (_json.containsKey("healthyThreshold")) {
16972 healthyThreshold = _json["healthyThreshold"];
16973 }
16974 if (_json.containsKey("host")) {
16975 host = _json["host"];
16976 }
16977 if (_json.containsKey("id")) {
16978 id = _json["id"];
16979 }
16980 if (_json.containsKey("kind")) {
16981 kind = _json["kind"];
16982 }
16983 if (_json.containsKey("name")) {
16984 name = _json["name"];
16985 }
16986 if (_json.containsKey("port")) {
16987 port = _json["port"];
16988 }
16989 if (_json.containsKey("requestPath")) {
16990 requestPath = _json["requestPath"];
16991 }
16992 if (_json.containsKey("selfLink")) {
16993 selfLink = _json["selfLink"];
16994 }
16995 if (_json.containsKey("timeoutSec")) {
16996 timeoutSec = _json["timeoutSec"];
16997 }
16998 if (_json.containsKey("unhealthyThreshold")) {
16999 unhealthyThreshold = _json["unhealthyThreshold"];
17000 }
17001 }
17002
17003 core.Map toJson() {
17004 var _json = new core.Map();
17005 if (checkIntervalSec != null) {
17006 _json["checkIntervalSec"] = checkIntervalSec;
17007 }
17008 if (creationTimestamp != null) {
17009 _json["creationTimestamp"] = creationTimestamp;
17010 }
17011 if (description != null) {
17012 _json["description"] = description;
17013 }
17014 if (healthyThreshold != null) {
17015 _json["healthyThreshold"] = healthyThreshold;
17016 }
17017 if (host != null) {
17018 _json["host"] = host;
17019 }
17020 if (id != null) {
17021 _json["id"] = id;
17022 }
17023 if (kind != null) {
17024 _json["kind"] = kind;
17025 }
17026 if (name != null) {
17027 _json["name"] = name;
17028 }
17029 if (port != null) {
17030 _json["port"] = port;
17031 }
17032 if (requestPath != null) {
17033 _json["requestPath"] = requestPath;
17034 }
17035 if (selfLink != null) {
17036 _json["selfLink"] = selfLink;
17037 }
17038 if (timeoutSec != null) {
17039 _json["timeoutSec"] = timeoutSec;
17040 }
17041 if (unhealthyThreshold != null) {
17042 _json["unhealthyThreshold"] = unhealthyThreshold;
17043 }
17044 return _json;
17045 }
17046 }
17047
17048 /** Contains a list of HttpHealthCheck resources. */
17049 class HttpHealthCheckList {
17050 /**
17051 * [Output Only] Unique identifier for the resource. Defined by the server.
17052 */
17053 core.String id;
17054 /** A list of HttpHealthCheck resources. */
17055 core.List<HttpHealthCheck> items;
17056 /** Type of resource. */
17057 core.String kind;
17058 /**
17059 * [Output Only] This token allows you to get the next page of results for
17060 * list requests. If the number of results is larger than maxResults, use the
17061 * nextPageToken as a value for the query parameter pageToken in the next list
17062 * request. Subsequent list requests will have their own nextPageToken to
17063 * continue paging through the results.
17064 */
17065 core.String nextPageToken;
17066 /** [Output Only] Server-defined URL for this resource. */
17067 core.String selfLink;
17068
17069 HttpHealthCheckList();
17070
17071 HttpHealthCheckList.fromJson(core.Map _json) {
17072 if (_json.containsKey("id")) {
17073 id = _json["id"];
17074 }
17075 if (_json.containsKey("items")) {
17076 items = _json["items"].map((value) => new HttpHealthCheck.fromJson(value)) .toList();
17077 }
17078 if (_json.containsKey("kind")) {
17079 kind = _json["kind"];
17080 }
17081 if (_json.containsKey("nextPageToken")) {
17082 nextPageToken = _json["nextPageToken"];
17083 }
17084 if (_json.containsKey("selfLink")) {
17085 selfLink = _json["selfLink"];
17086 }
17087 }
17088
17089 core.Map toJson() {
17090 var _json = new core.Map();
17091 if (id != null) {
17092 _json["id"] = id;
17093 }
17094 if (items != null) {
17095 _json["items"] = items.map((value) => (value).toJson()).toList();
17096 }
17097 if (kind != null) {
17098 _json["kind"] = kind;
17099 }
17100 if (nextPageToken != null) {
17101 _json["nextPageToken"] = nextPageToken;
17102 }
17103 if (selfLink != null) {
17104 _json["selfLink"] = selfLink;
17105 }
17106 return _json;
17107 }
17108 }
17109
17110 /**
17111 * An HttpsHealthCheck resource. This resource defines a template for how
17112 * individual instances should be checked for health, via HTTPS.
17113 */
17114 class HttpsHealthCheck {
17115 /**
17116 * How often (in seconds) to send a health check. The default value is 5
17117 * seconds.
17118 */
17119 core.int checkIntervalSec;
17120 /** [Output Only] Creation timestamp in RFC3339 text format. */
17121 core.String creationTimestamp;
17122 /**
15404 * An optional description of this resource. Provide this property when you 17123 * An optional description of this resource. Provide this property when you
15405 * create the resource. 17124 * create the resource.
15406 */ 17125 */
15407 core.String description; 17126 core.String description;
15408 /** 17127 /**
17128 * A so-far unhealthy instance will be marked healthy after this many
17129 * consecutive successes. The default value is 2.
17130 */
17131 core.int healthyThreshold;
17132 /**
17133 * The value of the host header in the HTTPS health check request. If left
17134 * empty (default value), the public IP on behalf of which this health check
17135 * is performed will be used.
17136 */
17137 core.String host;
17138 /**
15409 * [Output Only] The unique identifier for the resource. This identifier is 17139 * [Output Only] The unique identifier for the resource. This identifier is
15410 * defined by the server. 17140 * defined by the server.
15411 */ 17141 */
15412 core.String id; 17142 core.String id;
15413 /** 17143 /** Type of the resource. */
15414 * [Output Ony] Type of the resource. Always compute#firewall for firewall
15415 * rules.
15416 */
15417 core.String kind; 17144 core.String kind;
15418 /** 17145 /**
15419 * Name of the resource; provided by the client when the resource is created. 17146 * Name of the resource. Provided by the client when the resource is created.
15420 * The name must be 1-63 characters long, and comply with RFC1035. 17147 * The name must be 1-63 characters long, and comply with RFC1035.
15421 * Specifically, the name must be 1-63 characters long and match the regular 17148 * Specifically, the name must be 1-63 characters long and match the regular
15422 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must 17149 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
15423 * be a lowercase letter, and all following characters must be a dash, 17150 * be a lowercase letter, and all following characters must be a dash,
15424 * lowercase letter, or digit, except the last character, which cannot be a 17151 * lowercase letter, or digit, except the last character, which cannot be a
15425 * dash. 17152 * dash.
15426 */ 17153 */
15427 core.String name; 17154 core.String name;
15428 /** 17155 /**
15429 * URL of the network resource for this firewall rule. If not specified when 17156 * The TCP port number for the HTTPS health check request. The default value
15430 * creating a firewall rule, the default network is used: 17157 * is 443.
15431 * global/networks/default
15432 * If you choose to specify this property, you can specify the network as a
15433 * full or partial URL. For example, the following are all valid URLs:
15434 * -
15435 * https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my -network
15436 * - projects/myproject/global/networks/my-network
15437 * - global/networks/default
15438 */ 17158 */
15439 core.String network; 17159 core.int port;
17160 /**
17161 * The request path of the HTTPS health check request. The default value is
17162 * "/".
17163 */
17164 core.String requestPath;
15440 /** [Output Only] Server-defined URL for the resource. */ 17165 /** [Output Only] Server-defined URL for the resource. */
15441 core.String selfLink; 17166 core.String selfLink;
15442 /** 17167 /**
15443 * The IP address blocks that this rule applies to, expressed in CIDR format. 17168 * How long (in seconds) to wait before claiming failure. The default value is
15444 * One or both of sourceRanges and sourceTags may be set. 17169 * 5 seconds. It is invalid for timeoutSec to have a greater value than
15445 * 17170 * checkIntervalSec.
15446 * If both properties are set, an inbound connection is allowed if the range
15447 * matches the sourceRanges OR the tag of the source matches the sourceTags
15448 * property. The connection does not need to match both properties.
15449 */ 17171 */
15450 core.List<core.String> sourceRanges; 17172 core.int timeoutSec;
15451 /** 17173 /**
15452 * A list of instance tags which this rule applies to. One or both of 17174 * A so-far healthy instance will be marked unhealthy after this many
15453 * sourceRanges and sourceTags may be set. 17175 * consecutive failures. The default value is 2.
15454 *
15455 * If both properties are set, an inbound connection is allowed if the range
15456 * matches the sourceRanges OR the tag of the source matches the sourceTags
15457 * property. The connection does not need to match both properties.
15458 *
15459 * Source tags cannot be used to allow access to an instance's external IP
15460 * address. Because tags are associated with an instance, not an IP address,
15461 * source tags can only be used to control traffic traveling from an instance
15462 * inside the same network as the firewall.
15463 */ 17176 */
15464 core.List<core.String> sourceTags; 17177 core.int unhealthyThreshold;
15465 /**
15466 * A list of instance tags indicating sets of instances located in the network
15467 * that may make network connections as specified in allowed[]. If no
15468 * targetTags are specified, the firewall rule applies to all instances on the
15469 * specified network.
15470 */
15471 core.List<core.String> targetTags;
15472 17178
15473 Firewall(); 17179 HttpsHealthCheck();
15474 17180
15475 Firewall.fromJson(core.Map _json) { 17181 HttpsHealthCheck.fromJson(core.Map _json) {
15476 if (_json.containsKey("allowed")) { 17182 if (_json.containsKey("checkIntervalSec")) {
15477 allowed = _json["allowed"].map((value) => new FirewallAllowed.fromJson(val ue)).toList(); 17183 checkIntervalSec = _json["checkIntervalSec"];
15478 } 17184 }
15479 if (_json.containsKey("creationTimestamp")) { 17185 if (_json.containsKey("creationTimestamp")) {
15480 creationTimestamp = _json["creationTimestamp"]; 17186 creationTimestamp = _json["creationTimestamp"];
15481 } 17187 }
15482 if (_json.containsKey("description")) { 17188 if (_json.containsKey("description")) {
15483 description = _json["description"]; 17189 description = _json["description"];
15484 } 17190 }
17191 if (_json.containsKey("healthyThreshold")) {
17192 healthyThreshold = _json["healthyThreshold"];
17193 }
17194 if (_json.containsKey("host")) {
17195 host = _json["host"];
17196 }
15485 if (_json.containsKey("id")) { 17197 if (_json.containsKey("id")) {
15486 id = _json["id"]; 17198 id = _json["id"];
15487 } 17199 }
15488 if (_json.containsKey("kind")) { 17200 if (_json.containsKey("kind")) {
15489 kind = _json["kind"]; 17201 kind = _json["kind"];
15490 } 17202 }
15491 if (_json.containsKey("name")) { 17203 if (_json.containsKey("name")) {
15492 name = _json["name"]; 17204 name = _json["name"];
15493 } 17205 }
15494 if (_json.containsKey("network")) { 17206 if (_json.containsKey("port")) {
15495 network = _json["network"]; 17207 port = _json["port"];
17208 }
17209 if (_json.containsKey("requestPath")) {
17210 requestPath = _json["requestPath"];
15496 } 17211 }
15497 if (_json.containsKey("selfLink")) { 17212 if (_json.containsKey("selfLink")) {
15498 selfLink = _json["selfLink"]; 17213 selfLink = _json["selfLink"];
15499 } 17214 }
15500 if (_json.containsKey("sourceRanges")) { 17215 if (_json.containsKey("timeoutSec")) {
15501 sourceRanges = _json["sourceRanges"]; 17216 timeoutSec = _json["timeoutSec"];
15502 } 17217 }
15503 if (_json.containsKey("sourceTags")) { 17218 if (_json.containsKey("unhealthyThreshold")) {
15504 sourceTags = _json["sourceTags"]; 17219 unhealthyThreshold = _json["unhealthyThreshold"];
15505 }
15506 if (_json.containsKey("targetTags")) {
15507 targetTags = _json["targetTags"];
15508 } 17220 }
15509 } 17221 }
15510 17222
15511 core.Map toJson() { 17223 core.Map toJson() {
15512 var _json = new core.Map(); 17224 var _json = new core.Map();
15513 if (allowed != null) { 17225 if (checkIntervalSec != null) {
15514 _json["allowed"] = allowed.map((value) => (value).toJson()).toList(); 17226 _json["checkIntervalSec"] = checkIntervalSec;
15515 } 17227 }
15516 if (creationTimestamp != null) { 17228 if (creationTimestamp != null) {
15517 _json["creationTimestamp"] = creationTimestamp; 17229 _json["creationTimestamp"] = creationTimestamp;
15518 } 17230 }
15519 if (description != null) { 17231 if (description != null) {
15520 _json["description"] = description; 17232 _json["description"] = description;
15521 } 17233 }
17234 if (healthyThreshold != null) {
17235 _json["healthyThreshold"] = healthyThreshold;
17236 }
17237 if (host != null) {
17238 _json["host"] = host;
17239 }
15522 if (id != null) { 17240 if (id != null) {
15523 _json["id"] = id; 17241 _json["id"] = id;
15524 } 17242 }
15525 if (kind != null) { 17243 if (kind != null) {
15526 _json["kind"] = kind; 17244 _json["kind"] = kind;
15527 } 17245 }
15528 if (name != null) { 17246 if (name != null) {
15529 _json["name"] = name; 17247 _json["name"] = name;
15530 } 17248 }
15531 if (network != null) { 17249 if (port != null) {
15532 _json["network"] = network; 17250 _json["port"] = port;
17251 }
17252 if (requestPath != null) {
17253 _json["requestPath"] = requestPath;
15533 } 17254 }
15534 if (selfLink != null) { 17255 if (selfLink != null) {
15535 _json["selfLink"] = selfLink; 17256 _json["selfLink"] = selfLink;
15536 } 17257 }
15537 if (sourceRanges != null) { 17258 if (timeoutSec != null) {
15538 _json["sourceRanges"] = sourceRanges; 17259 _json["timeoutSec"] = timeoutSec;
15539 } 17260 }
15540 if (sourceTags != null) { 17261 if (unhealthyThreshold != null) {
15541 _json["sourceTags"] = sourceTags; 17262 _json["unhealthyThreshold"] = unhealthyThreshold;
15542 }
15543 if (targetTags != null) {
15544 _json["targetTags"] = targetTags;
15545 } 17263 }
15546 return _json; 17264 return _json;
15547 } 17265 }
15548 } 17266 }
15549 17267
15550 /** Contains a list of firewalls. */ 17268 /** Contains a list of HttpsHealthCheck resources. */
15551 class FirewallList { 17269 class HttpsHealthCheckList {
15552 /** 17270 /**
15553 * [Output Only] The unique identifier for the resource. This identifier is 17271 * [Output Only] Unique identifier for the resource; defined by the server.
15554 * defined by the server.
15555 */ 17272 */
15556 core.String id; 17273 core.String id;
15557 /** [Output Only] A list of Firewall resources. */ 17274 /** A list of HttpsHealthCheck resources. */
15558 core.List<Firewall> items; 17275 core.List<HttpsHealthCheck> items;
15559 /** 17276 /** Type of resource. */
15560 * [Output Only] Type of resource. Always compute#firewallList for lists of
15561 * firewalls.
15562 */
15563 core.String kind; 17277 core.String kind;
15564 /** 17278 /**
15565 * [Output Only] This token allows you to get the next page of results for 17279 * [Output Only] This token allows you to get the next page of results for
15566 * list requests. If the number of results is larger than maxResults, use the 17280 * list requests. If the number of results is larger than maxResults, use the
15567 * nextPageToken as a value for the query parameter pageToken in the next list 17281 * nextPageToken as a value for the query parameter pageToken in the next list
15568 * request. Subsequent list requests will have their own nextPageToken to 17282 * request. Subsequent list requests will have their own nextPageToken to
15569 * continue paging through the results. 17283 * continue paging through the results.
15570 */ 17284 */
15571 core.String nextPageToken; 17285 core.String nextPageToken;
15572 /** [Output Only] Server-defined URL for this resource. */ 17286 /** [Output Only] Server-defined URL for this resource. */
15573 core.String selfLink; 17287 core.String selfLink;
15574 17288
15575 FirewallList(); 17289 HttpsHealthCheckList();
15576 17290
15577 FirewallList.fromJson(core.Map _json) { 17291 HttpsHealthCheckList.fromJson(core.Map _json) {
15578 if (_json.containsKey("id")) { 17292 if (_json.containsKey("id")) {
15579 id = _json["id"]; 17293 id = _json["id"];
15580 } 17294 }
15581 if (_json.containsKey("items")) { 17295 if (_json.containsKey("items")) {
15582 items = _json["items"].map((value) => new Firewall.fromJson(value)).toList (); 17296 items = _json["items"].map((value) => new HttpsHealthCheck.fromJson(value) ).toList();
15583 } 17297 }
15584 if (_json.containsKey("kind")) { 17298 if (_json.containsKey("kind")) {
15585 kind = _json["kind"]; 17299 kind = _json["kind"];
15586 } 17300 }
15587 if (_json.containsKey("nextPageToken")) { 17301 if (_json.containsKey("nextPageToken")) {
15588 nextPageToken = _json["nextPageToken"]; 17302 nextPageToken = _json["nextPageToken"];
15589 } 17303 }
15590 if (_json.containsKey("selfLink")) { 17304 if (_json.containsKey("selfLink")) {
15591 selfLink = _json["selfLink"]; 17305 selfLink = _json["selfLink"];
15592 } 17306 }
(...skipping 13 matching lines...) Expand all
15606 if (nextPageToken != null) { 17320 if (nextPageToken != null) {
15607 _json["nextPageToken"] = nextPageToken; 17321 _json["nextPageToken"] = nextPageToken;
15608 } 17322 }
15609 if (selfLink != null) { 17323 if (selfLink != null) {
15610 _json["selfLink"] = selfLink; 17324 _json["selfLink"] = selfLink;
15611 } 17325 }
15612 return _json; 17326 return _json;
15613 } 17327 }
15614 } 17328 }
15615 17329
15616 /** 17330 /** The parameters of the raw disk image. */
15617 * A ForwardingRule resource. A ForwardingRule resource specifies which pool of 17331 class ImageRawDisk {
15618 * target virtual machines to forward a packet to if it matches the given 17332 /**
15619 * [IPAddress, IPProtocol, portRange] tuple. 17333 * The format used to encode and transmit the block device, which should be
15620 */ 17334 * TAR. This is just a container and transmission format and not a runtime
15621 class ForwardingRule { 17335 * format. Provided by the client when the disk image is created.
15622 /**
15623 * Value of the reserved IP address that this forwarding rule is serving on
15624 * behalf of. For global forwarding rules, the address must be a global IP;
15625 * for regional forwarding rules, the address must live in the same region as
15626 * the forwarding rule. If left empty (default value), an ephemeral IP from
15627 * the same scope (global or regional) will be assigned.
15628 */
15629 core.String IPAddress;
15630 /**
15631 * The IP protocol to which this rule applies. Valid options are TCP, UDP,
15632 * ESP, AH, SCTP or ICMP.
15633 * Possible string values are: 17336 * Possible string values are:
15634 * - "AH" 17337 * - "TAR"
15635 * - "ESP" 17338 */
15636 * - "SCTP" 17339 core.String containerType;
15637 * - "TCP" 17340 /**
15638 * - "UDP" 17341 * An optional SHA1 checksum of the disk image before unpackaging; provided by
15639 */ 17342 * the client when the disk image is created.
15640 core.String IPProtocol; 17343 */
17344 core.String sha1Checksum;
17345 /**
17346 * The full Google Cloud Storage URL where the disk image is stored. You must
17347 * provide either this property or the sourceDisk property but not both.
17348 */
17349 core.String source;
17350
17351 ImageRawDisk();
17352
17353 ImageRawDisk.fromJson(core.Map _json) {
17354 if (_json.containsKey("containerType")) {
17355 containerType = _json["containerType"];
17356 }
17357 if (_json.containsKey("sha1Checksum")) {
17358 sha1Checksum = _json["sha1Checksum"];
17359 }
17360 if (_json.containsKey("source")) {
17361 source = _json["source"];
17362 }
17363 }
17364
17365 core.Map toJson() {
17366 var _json = new core.Map();
17367 if (containerType != null) {
17368 _json["containerType"] = containerType;
17369 }
17370 if (sha1Checksum != null) {
17371 _json["sha1Checksum"] = sha1Checksum;
17372 }
17373 if (source != null) {
17374 _json["source"] = source;
17375 }
17376 return _json;
17377 }
17378 }
17379
17380 /** An Image resource. */
17381 class Image {
17382 /**
17383 * Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).
17384 */
17385 core.String archiveSizeBytes;
15641 /** [Output Only] Creation timestamp in RFC3339 text format. */ 17386 /** [Output Only] Creation timestamp in RFC3339 text format. */
15642 core.String creationTimestamp; 17387 core.String creationTimestamp;
17388 /** The deprecation status associated with this image. */
17389 DeprecationStatus deprecated;
15643 /** 17390 /**
15644 * An optional description of this resource. Provide this property when you 17391 * An optional description of this resource. Provide this property when you
15645 * create the resource. 17392 * create the resource.
15646 */ 17393 */
15647 core.String description; 17394 core.String description;
17395 /** Size of the image when restored onto a persistent disk (in GB). */
17396 core.String diskSizeGb;
17397 /**
17398 * The name of the image family to which this image belongs. You can create
17399 * disks by specifying an image family instead of a specific image name. The
17400 * image family always returns its latest image that is not deprecated.
17401 */
17402 core.String family;
15648 /** 17403 /**
15649 * [Output Only] The unique identifier for the resource. This identifier is 17404 * [Output Only] The unique identifier for the resource. This identifier is
15650 * defined by the server. 17405 * defined by the server.
15651 */ 17406 */
15652 core.String id; 17407 core.String id;
15653 /** 17408 /**
15654 * [Output Only] Type of the resource. Always compute#forwardingRule for 17409 * Encrypts the image using a customer-supplied encryption key.
15655 * Forwarding Rule resources. 17410 *
15656 */ 17411 * After you encrypt an image with a customer-supplied key, you must provide
17412 * the same key if you use the image later (e.g. to create a disk from the
17413 * image).
17414 *
17415 * Customer-supplied encryption keys do not protect access to metadata of the
17416 * disk.
17417 *
17418 * If you do not provide an encryption key when creating the image, then the
17419 * disk will be encrypted using an automatically generated key and you do not
17420 * need to provide a key to use the image later.
17421 */
17422 CustomerEncryptionKey imageEncryptionKey;
17423 /** [Output Only] Type of the resource. Always compute#image for images. */
15657 core.String kind; 17424 core.String kind;
17425 /** Any applicable publicly visible licenses. */
17426 core.List<core.String> licenses;
15658 /** 17427 /**
15659 * Name of the resource; provided by the client when the resource is created. 17428 * Name of the resource; provided by the client when the resource is created.
15660 * The name must be 1-63 characters long, and comply with RFC1035. 17429 * The name must be 1-63 characters long, and comply with RFC1035.
15661 * Specifically, the name must be 1-63 characters long and match the regular 17430 * Specifically, the name must be 1-63 characters long and match the regular
15662 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must 17431 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
15663 * be a lowercase letter, and all following characters must be a dash, 17432 * be a lowercase letter, and all following characters must be a dash,
15664 * lowercase letter, or digit, except the last character, which cannot be a 17433 * lowercase letter, or digit, except the last character, which cannot be a
15665 * dash. 17434 * dash.
15666 */ 17435 */
15667 core.String name; 17436 core.String name;
15668 /** 17437 /** The parameters of the raw disk image. */
15669 * Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets 17438 ImageRawDisk rawDisk;
15670 * addressed to ports in the specified range will be forwarded to target.
15671 * Forwarding rules with the same [IPAddress, IPProtocol] pair must have
15672 * disjoint port ranges.
15673 */
15674 core.String portRange;
15675 /**
15676 * [Output Only] URL of the region where the regional forwarding rule resides.
15677 * This field is not applicable to global forwarding rules.
15678 */
15679 core.String region;
15680 /** [Output Only] Server-defined URL for the resource. */ 17439 /** [Output Only] Server-defined URL for the resource. */
15681 core.String selfLink; 17440 core.String selfLink;
15682 /** 17441 /**
15683 * The URL of the target resource to receive the matched traffic. For regional 17442 * URL of the The source disk used to create this image. This can be a full or
15684 * forwarding rules, this target must live in the same region as the 17443 * valid partial URL. You must provide either this property or the
15685 * forwarding rule. For global forwarding rules, this target must be a global 17444 * rawDisk.source property but not both to create an image. For example, the
15686 * TargetHttpProxy or TargetHttpsProxy resource. The forwarded traffic must be 17445 * following are valid values:
15687 * of a type appropriate to the target object. For example, TargetHttpProxy 17446 * -
15688 * requires HTTP traffic, and TargetHttpsProxy requires HTTPS traffic. 17447 * https://www.googleapis.com/compute/v1/projects/project/zones/zone/disk/disk
15689 */ 17448 * - projects/project/zones/zone/disk/disk
15690 core.String target; 17449 * - zones/zone/disks/disk
15691 17450 */
15692 ForwardingRule(); 17451 core.String sourceDisk;
15693 17452 /**
15694 ForwardingRule.fromJson(core.Map _json) { 17453 * The customer-supplied encryption key of the source disk. Required if the
15695 if (_json.containsKey("IPAddress")) { 17454 * source disk is protected by a customer-supplied encryption key.
15696 IPAddress = _json["IPAddress"]; 17455 */
15697 } 17456 CustomerEncryptionKey sourceDiskEncryptionKey;
15698 if (_json.containsKey("IPProtocol")) { 17457 /**
15699 IPProtocol = _json["IPProtocol"]; 17458 * The ID value of the disk used to create this image. This value may be used
17459 * to determine whether the image was taken from the current or a previous
17460 * instance of a given disk name.
17461 */
17462 core.String sourceDiskId;
17463 /**
17464 * The type of the image used to create this disk. The default and only value
17465 * is RAW
17466 * Possible string values are:
17467 * - "RAW"
17468 */
17469 core.String sourceType;
17470 /**
17471 * [Output Only] The status of the image. An image can be used to create other
17472 * resources, such as instances, only after the image has been successfully
17473 * created and the status is set to READY. Possible values are FAILED,
17474 * PENDING, or READY.
17475 * Possible string values are:
17476 * - "FAILED"
17477 * - "PENDING"
17478 * - "READY"
17479 */
17480 core.String status;
17481
17482 Image();
17483
17484 Image.fromJson(core.Map _json) {
17485 if (_json.containsKey("archiveSizeBytes")) {
17486 archiveSizeBytes = _json["archiveSizeBytes"];
15700 } 17487 }
15701 if (_json.containsKey("creationTimestamp")) { 17488 if (_json.containsKey("creationTimestamp")) {
15702 creationTimestamp = _json["creationTimestamp"]; 17489 creationTimestamp = _json["creationTimestamp"];
15703 } 17490 }
17491 if (_json.containsKey("deprecated")) {
17492 deprecated = new DeprecationStatus.fromJson(_json["deprecated"]);
17493 }
15704 if (_json.containsKey("description")) { 17494 if (_json.containsKey("description")) {
15705 description = _json["description"]; 17495 description = _json["description"];
15706 } 17496 }
17497 if (_json.containsKey("diskSizeGb")) {
17498 diskSizeGb = _json["diskSizeGb"];
17499 }
17500 if (_json.containsKey("family")) {
17501 family = _json["family"];
17502 }
15707 if (_json.containsKey("id")) { 17503 if (_json.containsKey("id")) {
15708 id = _json["id"]; 17504 id = _json["id"];
15709 } 17505 }
17506 if (_json.containsKey("imageEncryptionKey")) {
17507 imageEncryptionKey = new CustomerEncryptionKey.fromJson(_json["imageEncryp tionKey"]);
17508 }
15710 if (_json.containsKey("kind")) { 17509 if (_json.containsKey("kind")) {
15711 kind = _json["kind"]; 17510 kind = _json["kind"];
15712 } 17511 }
17512 if (_json.containsKey("licenses")) {
17513 licenses = _json["licenses"];
17514 }
15713 if (_json.containsKey("name")) { 17515 if (_json.containsKey("name")) {
15714 name = _json["name"]; 17516 name = _json["name"];
15715 } 17517 }
15716 if (_json.containsKey("portRange")) { 17518 if (_json.containsKey("rawDisk")) {
15717 portRange = _json["portRange"]; 17519 rawDisk = new ImageRawDisk.fromJson(_json["rawDisk"]);
15718 }
15719 if (_json.containsKey("region")) {
15720 region = _json["region"];
15721 } 17520 }
15722 if (_json.containsKey("selfLink")) { 17521 if (_json.containsKey("selfLink")) {
15723 selfLink = _json["selfLink"]; 17522 selfLink = _json["selfLink"];
15724 } 17523 }
15725 if (_json.containsKey("target")) { 17524 if (_json.containsKey("sourceDisk")) {
15726 target = _json["target"]; 17525 sourceDisk = _json["sourceDisk"];
17526 }
17527 if (_json.containsKey("sourceDiskEncryptionKey")) {
17528 sourceDiskEncryptionKey = new CustomerEncryptionKey.fromJson(_json["source DiskEncryptionKey"]);
17529 }
17530 if (_json.containsKey("sourceDiskId")) {
17531 sourceDiskId = _json["sourceDiskId"];
17532 }
17533 if (_json.containsKey("sourceType")) {
17534 sourceType = _json["sourceType"];
17535 }
17536 if (_json.containsKey("status")) {
17537 status = _json["status"];
15727 } 17538 }
15728 } 17539 }
15729 17540
15730 core.Map toJson() { 17541 core.Map toJson() {
15731 var _json = new core.Map(); 17542 var _json = new core.Map();
15732 if (IPAddress != null) { 17543 if (archiveSizeBytes != null) {
15733 _json["IPAddress"] = IPAddress; 17544 _json["archiveSizeBytes"] = archiveSizeBytes;
15734 }
15735 if (IPProtocol != null) {
15736 _json["IPProtocol"] = IPProtocol;
15737 } 17545 }
15738 if (creationTimestamp != null) { 17546 if (creationTimestamp != null) {
15739 _json["creationTimestamp"] = creationTimestamp; 17547 _json["creationTimestamp"] = creationTimestamp;
15740 } 17548 }
17549 if (deprecated != null) {
17550 _json["deprecated"] = (deprecated).toJson();
17551 }
15741 if (description != null) { 17552 if (description != null) {
15742 _json["description"] = description; 17553 _json["description"] = description;
15743 } 17554 }
17555 if (diskSizeGb != null) {
17556 _json["diskSizeGb"] = diskSizeGb;
17557 }
17558 if (family != null) {
17559 _json["family"] = family;
17560 }
15744 if (id != null) { 17561 if (id != null) {
15745 _json["id"] = id; 17562 _json["id"] = id;
15746 } 17563 }
17564 if (imageEncryptionKey != null) {
17565 _json["imageEncryptionKey"] = (imageEncryptionKey).toJson();
17566 }
15747 if (kind != null) { 17567 if (kind != null) {
15748 _json["kind"] = kind; 17568 _json["kind"] = kind;
15749 } 17569 }
17570 if (licenses != null) {
17571 _json["licenses"] = licenses;
17572 }
15750 if (name != null) { 17573 if (name != null) {
15751 _json["name"] = name; 17574 _json["name"] = name;
15752 } 17575 }
15753 if (portRange != null) { 17576 if (rawDisk != null) {
15754 _json["portRange"] = portRange; 17577 _json["rawDisk"] = (rawDisk).toJson();
15755 }
15756 if (region != null) {
15757 _json["region"] = region;
15758 } 17578 }
15759 if (selfLink != null) { 17579 if (selfLink != null) {
15760 _json["selfLink"] = selfLink; 17580 _json["selfLink"] = selfLink;
15761 } 17581 }
15762 if (target != null) { 17582 if (sourceDisk != null) {
15763 _json["target"] = target; 17583 _json["sourceDisk"] = sourceDisk;
17584 }
17585 if (sourceDiskEncryptionKey != null) {
17586 _json["sourceDiskEncryptionKey"] = (sourceDiskEncryptionKey).toJson();
17587 }
17588 if (sourceDiskId != null) {
17589 _json["sourceDiskId"] = sourceDiskId;
17590 }
17591 if (sourceType != null) {
17592 _json["sourceType"] = sourceType;
17593 }
17594 if (status != null) {
17595 _json["status"] = status;
15764 } 17596 }
15765 return _json; 17597 return _json;
15766 } 17598 }
15767 } 17599 }
15768 17600
15769 class ForwardingRuleAggregatedList { 17601 /** Contains a list of images. */
17602 class ImageList {
15770 /** 17603 /**
15771 * [Output Only] The unique identifier for the resource. This identifier is 17604 * [Output Only] The unique identifier for the resource. This identifier is
15772 * defined by the server. 17605 * defined by the server.
15773 */ 17606 */
15774 core.String id; 17607 core.String id;
15775 /** A map of scoped forwarding rule lists. */ 17608 /** [Output Only] A list of Image resources. */
15776 core.Map<core.String, ForwardingRulesScopedList> items; 17609 core.List<Image> items;
15777 /** 17610 /** Type of resource. */
15778 * [Output Only] Type of resource. Always compute#forwardingRuleAggregatedList
15779 * for lists of forwarding rules.
15780 */
15781 core.String kind; 17611 core.String kind;
15782 /** 17612 /**
15783 * [Output Only] This token allows you to get the next page of results for 17613 * [Output Only] This token allows you to get the next page of results for
15784 * list requests. If the number of results is larger than maxResults, use the 17614 * list requests. If the number of results is larger than maxResults, use the
15785 * nextPageToken as a value for the query parameter pageToken in the next list 17615 * nextPageToken as a value for the query parameter pageToken in the next list
15786 * request. Subsequent list requests will have their own nextPageToken to 17616 * request. Subsequent list requests will have their own nextPageToken to
15787 * continue paging through the results. 17617 * continue paging through the results.
15788 */ 17618 */
15789 core.String nextPageToken; 17619 core.String nextPageToken;
15790 /** [Output Only] Server-defined URL for this resource. */ 17620 /** [Output Only] Server-defined URL for this resource. */
15791 core.String selfLink; 17621 core.String selfLink;
15792 17622
15793 ForwardingRuleAggregatedList(); 17623 ImageList();
15794 17624
15795 ForwardingRuleAggregatedList.fromJson(core.Map _json) { 17625 ImageList.fromJson(core.Map _json) {
15796 if (_json.containsKey("id")) { 17626 if (_json.containsKey("id")) {
15797 id = _json["id"]; 17627 id = _json["id"];
15798 } 17628 }
15799 if (_json.containsKey("items")) { 17629 if (_json.containsKey("items")) {
15800 items = commons.mapMap(_json["items"], (item) => new ForwardingRulesScoped List.fromJson(item)); 17630 items = _json["items"].map((value) => new Image.fromJson(value)).toList();
15801 } 17631 }
15802 if (_json.containsKey("kind")) { 17632 if (_json.containsKey("kind")) {
15803 kind = _json["kind"]; 17633 kind = _json["kind"];
15804 } 17634 }
15805 if (_json.containsKey("nextPageToken")) { 17635 if (_json.containsKey("nextPageToken")) {
15806 nextPageToken = _json["nextPageToken"]; 17636 nextPageToken = _json["nextPageToken"];
15807 } 17637 }
15808 if (_json.containsKey("selfLink")) { 17638 if (_json.containsKey("selfLink")) {
15809 selfLink = _json["selfLink"]; 17639 selfLink = _json["selfLink"];
15810 } 17640 }
15811 } 17641 }
15812 17642
15813 core.Map toJson() { 17643 core.Map toJson() {
15814 var _json = new core.Map(); 17644 var _json = new core.Map();
15815 if (id != null) { 17645 if (id != null) {
15816 _json["id"] = id; 17646 _json["id"] = id;
15817 } 17647 }
15818 if (items != null) { 17648 if (items != null) {
15819 _json["items"] = commons.mapMap(items, (item) => (item).toJson()); 17649 _json["items"] = items.map((value) => (value).toJson()).toList();
15820 } 17650 }
15821 if (kind != null) { 17651 if (kind != null) {
15822 _json["kind"] = kind; 17652 _json["kind"] = kind;
15823 } 17653 }
15824 if (nextPageToken != null) { 17654 if (nextPageToken != null) {
15825 _json["nextPageToken"] = nextPageToken; 17655 _json["nextPageToken"] = nextPageToken;
15826 } 17656 }
15827 if (selfLink != null) { 17657 if (selfLink != null) {
15828 _json["selfLink"] = selfLink; 17658 _json["selfLink"] = selfLink;
15829 } 17659 }
15830 return _json; 17660 return _json;
15831 } 17661 }
15832 } 17662 }
15833 17663
15834 /** Contains a list of ForwardingRule resources. */ 17664 /** An Instance resource. */
15835 class ForwardingRuleList { 17665 class Instance {
15836 /** [Output Only] Unique identifier for the resource. Set by the server. */ 17666 /**
17667 * Allows this instance to send and receive packets with non-matching
17668 * destination or source IPs. This is required if you plan to use this
17669 * instance to forward routes. For more information, see Enabling IP
17670 * Forwarding.
17671 */
17672 core.bool canIpForward;
17673 /** [Output Only] The CPU platform used by this instance. */
17674 core.String cpuPlatform;
17675 /** [Output Only] Creation timestamp in RFC3339 text format. */
17676 core.String creationTimestamp;
17677 /**
17678 * An optional description of this resource. Provide this property when you
17679 * create the resource.
17680 */
17681 core.String description;
17682 /**
17683 * Array of disks associated with this instance. Persistent disks must be
17684 * created before you can assign them.
17685 */
17686 core.List<AttachedDisk> disks;
17687 /**
17688 * [Output Only] The unique identifier for the resource. This identifier is
17689 * defined by the server.
17690 */
15837 core.String id; 17691 core.String id;
15838 /** A list of ForwardingRule resources. */ 17692 /**
15839 core.List<ForwardingRule> items; 17693 * [Output Only] Type of the resource. Always compute#instance for instances.
15840 /** Type of resource. */ 17694 */
17695 core.String kind;
17696 /**
17697 * Full or partial URL of the machine type resource to use for this instance,
17698 * in the format: zones/zone/machineTypes/machine-type. This is provided by
17699 * the client when the instance is created. For example, the following is a
17700 * valid partial url to a predefined machine type:
17701 *
17702 * zones/us-central1-f/machineTypes/n1-standard-1
17703 *
17704 * To create a custom machine type, provide a URL to a machine type in the
17705 * following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ...
17706 * 24, etc), and MEMORY is the total memory for this instance. Memory must be
17707 * a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is
17708 * 5120 MB):
17709 *
17710 * zones/zone/machineTypes/custom-CPUS-MEMORY
17711 *
17712 * For example: zones/us-central1-f/machineTypes/custom-4-5120
17713 *
17714 * For a full list of restrictions, read the Specifications for custom machine
17715 * types.
17716 */
17717 core.String machineType;
17718 /**
17719 * The metadata key/value pairs assigned to this instance. This includes
17720 * custom metadata and predefined keys.
17721 */
17722 Metadata metadata;
17723 /**
17724 * The name of the resource, provided by the client when initially creating
17725 * the resource. The resource name must be 1-63 characters long, and comply
17726 * with RFC1035. Specifically, the name must be 1-63 characters long and match
17727 * the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first
17728 * character must be a lowercase letter, and all following characters must be
17729 * a dash, lowercase letter, or digit, except the last character, which cannot
17730 * be a dash.
17731 */
17732 core.String name;
17733 /**
17734 * An array of configurations for this interface. This specifies how this
17735 * interface is configured to interact with other network services, such as
17736 * connecting to the internet.
17737 */
17738 core.List<NetworkInterface> networkInterfaces;
17739 /** Scheduling options for this instance. */
17740 Scheduling scheduling;
17741 /** [Output Only] Server-defined URL for this resource. */
17742 core.String selfLink;
17743 /**
17744 * A list of service accounts, with their specified scopes, authorized for
17745 * this instance. Service accounts generate access tokens that can be accessed
17746 * through the metadata server and used to authenticate applications on the
17747 * instance. See Service Accounts for more information.
17748 */
17749 core.List<ServiceAccount> serviceAccounts;
17750 /**
17751 * [Output Only] The status of the instance. One of the following values:
17752 * PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDED, SUSPENDING, and
17753 * TERMINATED.
17754 * Possible string values are:
17755 * - "PROVISIONING"
17756 * - "RUNNING"
17757 * - "STAGING"
17758 * - "STOPPED"
17759 * - "STOPPING"
17760 * - "SUSPENDED"
17761 * - "SUSPENDING"
17762 * - "TERMINATED"
17763 */
17764 core.String status;
17765 /** [Output Only] An optional, human-readable explanation of the status. */
17766 core.String statusMessage;
17767 /**
17768 * A list of tags to apply to this instance. Tags are used to identify valid
17769 * sources or targets for network firewalls and are specified by the client
17770 * during instance creation. The tags can be later modified by the setTags
17771 * method. Each tag within the list must comply with RFC1035.
17772 */
17773 Tags tags;
17774 /** [Output Only] URL of the zone where the instance resides. */
17775 core.String zone;
17776
17777 Instance();
17778
17779 Instance.fromJson(core.Map _json) {
17780 if (_json.containsKey("canIpForward")) {
17781 canIpForward = _json["canIpForward"];
17782 }
17783 if (_json.containsKey("cpuPlatform")) {
17784 cpuPlatform = _json["cpuPlatform"];
17785 }
17786 if (_json.containsKey("creationTimestamp")) {
17787 creationTimestamp = _json["creationTimestamp"];
17788 }
17789 if (_json.containsKey("description")) {
17790 description = _json["description"];
17791 }
17792 if (_json.containsKey("disks")) {
17793 disks = _json["disks"].map((value) => new AttachedDisk.fromJson(value)).to List();
17794 }
17795 if (_json.containsKey("id")) {
17796 id = _json["id"];
17797 }
17798 if (_json.containsKey("kind")) {
17799 kind = _json["kind"];
17800 }
17801 if (_json.containsKey("machineType")) {
17802 machineType = _json["machineType"];
17803 }
17804 if (_json.containsKey("metadata")) {
17805 metadata = new Metadata.fromJson(_json["metadata"]);
17806 }
17807 if (_json.containsKey("name")) {
17808 name = _json["name"];
17809 }
17810 if (_json.containsKey("networkInterfaces")) {
17811 networkInterfaces = _json["networkInterfaces"].map((value) => new NetworkI nterface.fromJson(value)).toList();
17812 }
17813 if (_json.containsKey("scheduling")) {
17814 scheduling = new Scheduling.fromJson(_json["scheduling"]);
17815 }
17816 if (_json.containsKey("selfLink")) {
17817 selfLink = _json["selfLink"];
17818 }
17819 if (_json.containsKey("serviceAccounts")) {
17820 serviceAccounts = _json["serviceAccounts"].map((value) => new ServiceAccou nt.fromJson(value)).toList();
17821 }
17822 if (_json.containsKey("status")) {
17823 status = _json["status"];
17824 }
17825 if (_json.containsKey("statusMessage")) {
17826 statusMessage = _json["statusMessage"];
17827 }
17828 if (_json.containsKey("tags")) {
17829 tags = new Tags.fromJson(_json["tags"]);
17830 }
17831 if (_json.containsKey("zone")) {
17832 zone = _json["zone"];
17833 }
17834 }
17835
17836 core.Map toJson() {
17837 var _json = new core.Map();
17838 if (canIpForward != null) {
17839 _json["canIpForward"] = canIpForward;
17840 }
17841 if (cpuPlatform != null) {
17842 _json["cpuPlatform"] = cpuPlatform;
17843 }
17844 if (creationTimestamp != null) {
17845 _json["creationTimestamp"] = creationTimestamp;
17846 }
17847 if (description != null) {
17848 _json["description"] = description;
17849 }
17850 if (disks != null) {
17851 _json["disks"] = disks.map((value) => (value).toJson()).toList();
17852 }
17853 if (id != null) {
17854 _json["id"] = id;
17855 }
17856 if (kind != null) {
17857 _json["kind"] = kind;
17858 }
17859 if (machineType != null) {
17860 _json["machineType"] = machineType;
17861 }
17862 if (metadata != null) {
17863 _json["metadata"] = (metadata).toJson();
17864 }
17865 if (name != null) {
17866 _json["name"] = name;
17867 }
17868 if (networkInterfaces != null) {
17869 _json["networkInterfaces"] = networkInterfaces.map((value) => (value).toJs on()).toList();
17870 }
17871 if (scheduling != null) {
17872 _json["scheduling"] = (scheduling).toJson();
17873 }
17874 if (selfLink != null) {
17875 _json["selfLink"] = selfLink;
17876 }
17877 if (serviceAccounts != null) {
17878 _json["serviceAccounts"] = serviceAccounts.map((value) => (value).toJson() ).toList();
17879 }
17880 if (status != null) {
17881 _json["status"] = status;
17882 }
17883 if (statusMessage != null) {
17884 _json["statusMessage"] = statusMessage;
17885 }
17886 if (tags != null) {
17887 _json["tags"] = (tags).toJson();
17888 }
17889 if (zone != null) {
17890 _json["zone"] = zone;
17891 }
17892 return _json;
17893 }
17894 }
17895
17896 class InstanceAggregatedList {
17897 /**
17898 * [Output Only] The unique identifier for the resource. This identifier is
17899 * defined by the server.
17900 */
17901 core.String id;
17902 /** [Output Only] A map of scoped instance lists. */
17903 core.Map<core.String, InstancesScopedList> items;
17904 /**
17905 * [Output Only] Type of resource. Always compute#instanceAggregatedList for
17906 * aggregated lists of Instance resources.
17907 */
15841 core.String kind; 17908 core.String kind;
15842 /** 17909 /**
15843 * [Output Only] This token allows you to get the next page of results for 17910 * [Output Only] This token allows you to get the next page of results for
15844 * list requests. If the number of results is larger than maxResults, use the 17911 * list requests. If the number of results is larger than maxResults, use the
15845 * nextPageToken as a value for the query parameter pageToken in the next list 17912 * nextPageToken as a value for the query parameter pageToken in the next list
15846 * request. Subsequent list requests will have their own nextPageToken to 17913 * request. Subsequent list requests will have their own nextPageToken to
15847 * continue paging through the results. 17914 * continue paging through the results.
15848 */ 17915 */
15849 core.String nextPageToken; 17916 core.String nextPageToken;
15850 /** [Output Only] Server-defined URL for this resource. */ 17917 /** [Output Only] Server-defined URL for this resource. */
15851 core.String selfLink; 17918 core.String selfLink;
15852 17919
15853 ForwardingRuleList(); 17920 InstanceAggregatedList();
15854 17921
15855 ForwardingRuleList.fromJson(core.Map _json) { 17922 InstanceAggregatedList.fromJson(core.Map _json) {
15856 if (_json.containsKey("id")) { 17923 if (_json.containsKey("id")) {
15857 id = _json["id"]; 17924 id = _json["id"];
15858 } 17925 }
15859 if (_json.containsKey("items")) { 17926 if (_json.containsKey("items")) {
15860 items = _json["items"].map((value) => new ForwardingRule.fromJson(value)). toList(); 17927 items = commons.mapMap(_json["items"], (item) => new InstancesScopedList.f romJson(item));
15861 } 17928 }
15862 if (_json.containsKey("kind")) { 17929 if (_json.containsKey("kind")) {
15863 kind = _json["kind"]; 17930 kind = _json["kind"];
15864 } 17931 }
15865 if (_json.containsKey("nextPageToken")) { 17932 if (_json.containsKey("nextPageToken")) {
15866 nextPageToken = _json["nextPageToken"]; 17933 nextPageToken = _json["nextPageToken"];
15867 } 17934 }
15868 if (_json.containsKey("selfLink")) { 17935 if (_json.containsKey("selfLink")) {
15869 selfLink = _json["selfLink"]; 17936 selfLink = _json["selfLink"];
15870 } 17937 }
15871 } 17938 }
15872 17939
15873 core.Map toJson() { 17940 core.Map toJson() {
15874 var _json = new core.Map(); 17941 var _json = new core.Map();
15875 if (id != null) { 17942 if (id != null) {
15876 _json["id"] = id; 17943 _json["id"] = id;
15877 } 17944 }
15878 if (items != null) { 17945 if (items != null) {
15879 _json["items"] = items.map((value) => (value).toJson()).toList(); 17946 _json["items"] = commons.mapMap(items, (item) => (item).toJson());
15880 } 17947 }
15881 if (kind != null) { 17948 if (kind != null) {
15882 _json["kind"] = kind; 17949 _json["kind"] = kind;
15883 } 17950 }
15884 if (nextPageToken != null) { 17951 if (nextPageToken != null) {
15885 _json["nextPageToken"] = nextPageToken; 17952 _json["nextPageToken"] = nextPageToken;
15886 } 17953 }
15887 if (selfLink != null) { 17954 if (selfLink != null) {
15888 _json["selfLink"] = selfLink; 17955 _json["selfLink"] = selfLink;
15889 } 17956 }
15890 return _json; 17957 return _json;
15891 } 17958 }
15892 } 17959 }
15893 17960
15894 class ForwardingRulesScopedListWarningData { 17961 class InstanceGroup {
15895 /** 17962 /**
15896 * [Output Only] A key that provides more detail on the warning being 17963 * [Output Only] The creation timestamp for this instance group in RFC3339
15897 * returned. For example, for warnings where there are no results in a list 17964 * text format.
15898 * request for a particular zone, this key might be scope and the key value 17965 */
15899 * might be the zone name. Other examples might be a key indicating a 17966 core.String creationTimestamp;
15900 * deprecated resource and a suggested replacement, or a warning about invalid
15901 * network settings (for example, if an instance attempts to perform IP
15902 * forwarding but is not enabled for IP forwarding).
15903 */
15904 core.String key;
15905 /** [Output Only] A warning data value corresponding to the key. */
15906 core.String value;
15907
15908 ForwardingRulesScopedListWarningData();
15909
15910 ForwardingRulesScopedListWarningData.fromJson(core.Map _json) {
15911 if (_json.containsKey("key")) {
15912 key = _json["key"];
15913 }
15914 if (_json.containsKey("value")) {
15915 value = _json["value"];
15916 }
15917 }
15918
15919 core.Map toJson() {
15920 var _json = new core.Map();
15921 if (key != null) {
15922 _json["key"] = key;
15923 }
15924 if (value != null) {
15925 _json["value"] = value;
15926 }
15927 return _json;
15928 }
15929 }
15930
15931 /**
15932 * Informational warning which replaces the list of forwarding rules when the
15933 * list is empty.
15934 */
15935 class ForwardingRulesScopedListWarning {
15936 /**
15937 * [Output Only] A warning code, if applicable. For example, Compute Engine
15938 * returns NO_RESULTS_ON_PAGE if there are no results in the response.
15939 * Possible string values are:
15940 * - "CLEANUP_FAILED"
15941 * - "DEPRECATED_RESOURCE_USED"
15942 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
15943 * - "INJECTED_KERNELS_DEPRECATED"
15944 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
15945 * - "NEXT_HOP_CANNOT_IP_FORWARD"
15946 * - "NEXT_HOP_INSTANCE_NOT_FOUND"
15947 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
15948 * - "NEXT_HOP_NOT_RUNNING"
15949 * - "NOT_CRITICAL_ERROR"
15950 * - "NO_RESULTS_ON_PAGE"
15951 * - "REQUIRED_TOS_AGREEMENT"
15952 * - "RESOURCE_NOT_DELETED"
15953 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
15954 * - "UNREACHABLE"
15955 */
15956 core.String code;
15957 /**
15958 * [Output Only] Metadata about this warning in key: value format. For
15959 * example:
15960 * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
15961 */
15962 core.List<ForwardingRulesScopedListWarningData> data;
15963 /** [Output Only] A human-readable description of the warning code. */
15964 core.String message;
15965
15966 ForwardingRulesScopedListWarning();
15967
15968 ForwardingRulesScopedListWarning.fromJson(core.Map _json) {
15969 if (_json.containsKey("code")) {
15970 code = _json["code"];
15971 }
15972 if (_json.containsKey("data")) {
15973 data = _json["data"].map((value) => new ForwardingRulesScopedListWarningDa ta.fromJson(value)).toList();
15974 }
15975 if (_json.containsKey("message")) {
15976 message = _json["message"];
15977 }
15978 }
15979
15980 core.Map toJson() {
15981 var _json = new core.Map();
15982 if (code != null) {
15983 _json["code"] = code;
15984 }
15985 if (data != null) {
15986 _json["data"] = data.map((value) => (value).toJson()).toList();
15987 }
15988 if (message != null) {
15989 _json["message"] = message;
15990 }
15991 return _json;
15992 }
15993 }
15994
15995 class ForwardingRulesScopedList {
15996 /** List of forwarding rules contained in this scope. */
15997 core.List<ForwardingRule> forwardingRules;
15998 /**
15999 * Informational warning which replaces the list of forwarding rules when the
16000 * list is empty.
16001 */
16002 ForwardingRulesScopedListWarning warning;
16003
16004 ForwardingRulesScopedList();
16005
16006 ForwardingRulesScopedList.fromJson(core.Map _json) {
16007 if (_json.containsKey("forwardingRules")) {
16008 forwardingRules = _json["forwardingRules"].map((value) => new ForwardingRu le.fromJson(value)).toList();
16009 }
16010 if (_json.containsKey("warning")) {
16011 warning = new ForwardingRulesScopedListWarning.fromJson(_json["warning"]);
16012 }
16013 }
16014
16015 core.Map toJson() {
16016 var _json = new core.Map();
16017 if (forwardingRules != null) {
16018 _json["forwardingRules"] = forwardingRules.map((value) => (value).toJson() ).toList();
16019 }
16020 if (warning != null) {
16021 _json["warning"] = (warning).toJson();
16022 }
16023 return _json;
16024 }
16025 }
16026
16027 /**
16028 * A full or valid partial URL to a health check. For example, the following are
16029 * valid URLs:
16030 * -
16031 * https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealth Checks/health-check
16032 * - projects/project-id/global/httpHealthChecks/health-check
16033 * - global/httpHealthChecks/health-check
16034 */
16035 class HealthCheckReference {
16036 core.String healthCheck;
16037
16038 HealthCheckReference();
16039
16040 HealthCheckReference.fromJson(core.Map _json) {
16041 if (_json.containsKey("healthCheck")) {
16042 healthCheck = _json["healthCheck"];
16043 }
16044 }
16045
16046 core.Map toJson() {
16047 var _json = new core.Map();
16048 if (healthCheck != null) {
16049 _json["healthCheck"] = healthCheck;
16050 }
16051 return _json;
16052 }
16053 }
16054
16055 class HealthStatus {
16056 /**
16057 * Health state of the instance.
16058 * Possible string values are:
16059 * - "HEALTHY"
16060 * - "UNHEALTHY"
16061 */
16062 core.String healthState;
16063 /** URL of the instance resource. */
16064 core.String instance;
16065 /** The IP address represented by this resource. */
16066 core.String ipAddress;
16067 /** The port on the instance. */
16068 core.int port;
16069
16070 HealthStatus();
16071
16072 HealthStatus.fromJson(core.Map _json) {
16073 if (_json.containsKey("healthState")) {
16074 healthState = _json["healthState"];
16075 }
16076 if (_json.containsKey("instance")) {
16077 instance = _json["instance"];
16078 }
16079 if (_json.containsKey("ipAddress")) {
16080 ipAddress = _json["ipAddress"];
16081 }
16082 if (_json.containsKey("port")) {
16083 port = _json["port"];
16084 }
16085 }
16086
16087 core.Map toJson() {
16088 var _json = new core.Map();
16089 if (healthState != null) {
16090 _json["healthState"] = healthState;
16091 }
16092 if (instance != null) {
16093 _json["instance"] = instance;
16094 }
16095 if (ipAddress != null) {
16096 _json["ipAddress"] = ipAddress;
16097 }
16098 if (port != null) {
16099 _json["port"] = port;
16100 }
16101 return _json;
16102 }
16103 }
16104
16105 /**
16106 * UrlMaps A host-matching rule for a URL. If matched, will use the named
16107 * PathMatcher to select the BackendService.
16108 */
16109 class HostRule {
16110 /** 17967 /**
16111 * An optional description of this resource. Provide this property when you 17968 * An optional description of this resource. Provide this property when you
16112 * create the resource.
16113 */
16114 core.String description;
16115 /**
16116 * The list of host patterns to match. They must be valid hostnames, except *
16117 * will match any string of ([a-z0-9-.]*). In that case, * must be the first
16118 * character and must be followed in the pattern by either - or ..
16119 */
16120 core.List<core.String> hosts;
16121 /**
16122 * The name of the PathMatcher to use to match the path portion of the URL if
16123 * the hostRule matches the URL's host portion.
16124 */
16125 core.String pathMatcher;
16126
16127 HostRule();
16128
16129 HostRule.fromJson(core.Map _json) {
16130 if (_json.containsKey("description")) {
16131 description = _json["description"];
16132 }
16133 if (_json.containsKey("hosts")) {
16134 hosts = _json["hosts"];
16135 }
16136 if (_json.containsKey("pathMatcher")) {
16137 pathMatcher = _json["pathMatcher"];
16138 }
16139 }
16140
16141 core.Map toJson() {
16142 var _json = new core.Map();
16143 if (description != null) {
16144 _json["description"] = description;
16145 }
16146 if (hosts != null) {
16147 _json["hosts"] = hosts;
16148 }
16149 if (pathMatcher != null) {
16150 _json["pathMatcher"] = pathMatcher;
16151 }
16152 return _json;
16153 }
16154 }
16155
16156 /**
16157 * An HttpHealthCheck resource. This resource defines a template for how
16158 * individual instances should be checked for health, via HTTP.
16159 */
16160 class HttpHealthCheck {
16161 /**
16162 * How often (in seconds) to send a health check. The default value is 5
16163 * seconds.
16164 */
16165 core.int checkIntervalSec;
16166 /** [Output Only] Creation timestamp in RFC3339 text format. */
16167 core.String creationTimestamp;
16168 /**
16169 * An optional description of this resource. Provide this property when you
16170 * create the resource. 17969 * create the resource.
16171 */ 17970 */
16172 core.String description; 17971 core.String description;
16173 /** 17972 /**
16174 * A so-far unhealthy instance will be marked healthy after this many 17973 * [Output Only] The fingerprint of the named ports. The system uses this
16175 * consecutive successes. The default value is 2. 17974 * fingerprint to detect conflicts when multiple users change the named ports
17975 * concurrently.
16176 */ 17976 */
16177 core.int healthyThreshold; 17977 core.String fingerprint;
17978 core.List<core.int> get fingerprintAsBytes {
17979 return convert.BASE64.decode(fingerprint);
17980 }
17981
17982 void set fingerprintAsBytes(core.List<core.int> _bytes) {
17983 fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll( "+", "-");
17984 }
16178 /** 17985 /**
16179 * The value of the host header in the HTTP health check request. If left 17986 * [Output Only] A unique identifier for this resource type. The server
16180 * empty (default value), the public IP on behalf of which this health check 17987 * generates this identifier.
16181 * is performed will be used.
16182 */
16183 core.String host;
16184 /**
16185 * [Output Only] The unique identifier for the resource. This identifier is
16186 * defined by the server.
16187 */ 17988 */
16188 core.String id; 17989 core.String id;
16189 /** 17990 /**
16190 * [Output Only] Type of the resource. Always compute#httpHealthCheck for HTTP 17991 * [Output Only] The resource type, which is always compute#instanceGroup for
16191 * health checks. 17992 * instance groups.
16192 */ 17993 */
16193 core.String kind; 17994 core.String kind;
16194 /** 17995 /**
16195 * Name of the resource. Provided by the client when the resource is created. 17996 * The name of the instance group. The name must be 1-63 characters long, and
16196 * The name must be 1-63 characters long, and comply with RFC1035. 17997 * comply with RFC1035.
16197 * Specifically, the name must be 1-63 characters long and match the regular
16198 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
16199 * be a lowercase letter, and all following characters must be a dash,
16200 * lowercase letter, or digit, except the last character, which cannot be a
16201 * dash.
16202 */ 17998 */
16203 core.String name; 17999 core.String name;
16204 /** 18000 /**
16205 * The TCP port number for the HTTP health check request. The default value is 18001 * Assigns a name to a port number. For example: {name: "http", port: 80}
16206 * 80. 18002 *
18003 * This allows the system to reference ports by the assigned name instead of a
18004 * port number. Named ports can also contain multiple ports. For example:
18005 * [{name: "http", port: 80},{name: "http", port: 8080}]
18006 *
18007 * Named ports apply to all instances in this instance group.
16207 */ 18008 */
16208 core.int port; 18009 core.List<NamedPort> namedPorts;
16209 /** 18010 /**
16210 * The request path of the HTTP health check request. The default value is /. 18011 * The URL of the network to which all instances in the instance group belong.
16211 */ 18012 */
16212 core.String requestPath; 18013 core.String network;
16213 /** [Output Only] Server-defined URL for the resource. */ 18014 /**
18015 * [Output Only] The URL for this instance group. The server generates this
18016 * URL.
18017 */
16214 core.String selfLink; 18018 core.String selfLink;
18019 /** [Output Only] The total number of instances in the instance group. */
18020 core.int size;
16215 /** 18021 /**
16216 * How long (in seconds) to wait before claiming failure. The default value is 18022 * The URL of the subnetwork to which all instances in the instance group
16217 * 5 seconds. It is invalid for timeoutSec to have greater value than 18023 * belong.
16218 * checkIntervalSec.
16219 */ 18024 */
16220 core.int timeoutSec; 18025 core.String subnetwork;
16221 /** 18026 /** [Output Only] The URL of the zone where the instance group is located. */
16222 * A so-far healthy instance will be marked unhealthy after this many 18027 core.String zone;
16223 * consecutive failures. The default value is 2.
16224 */
16225 core.int unhealthyThreshold;
16226 18028
16227 HttpHealthCheck(); 18029 InstanceGroup();
16228 18030
16229 HttpHealthCheck.fromJson(core.Map _json) { 18031 InstanceGroup.fromJson(core.Map _json) {
16230 if (_json.containsKey("checkIntervalSec")) {
16231 checkIntervalSec = _json["checkIntervalSec"];
16232 }
16233 if (_json.containsKey("creationTimestamp")) { 18032 if (_json.containsKey("creationTimestamp")) {
16234 creationTimestamp = _json["creationTimestamp"]; 18033 creationTimestamp = _json["creationTimestamp"];
16235 } 18034 }
16236 if (_json.containsKey("description")) { 18035 if (_json.containsKey("description")) {
16237 description = _json["description"]; 18036 description = _json["description"];
16238 } 18037 }
16239 if (_json.containsKey("healthyThreshold")) { 18038 if (_json.containsKey("fingerprint")) {
16240 healthyThreshold = _json["healthyThreshold"]; 18039 fingerprint = _json["fingerprint"];
16241 }
16242 if (_json.containsKey("host")) {
16243 host = _json["host"];
16244 } 18040 }
16245 if (_json.containsKey("id")) { 18041 if (_json.containsKey("id")) {
16246 id = _json["id"]; 18042 id = _json["id"];
16247 } 18043 }
16248 if (_json.containsKey("kind")) { 18044 if (_json.containsKey("kind")) {
16249 kind = _json["kind"]; 18045 kind = _json["kind"];
16250 } 18046 }
16251 if (_json.containsKey("name")) { 18047 if (_json.containsKey("name")) {
16252 name = _json["name"]; 18048 name = _json["name"];
16253 } 18049 }
16254 if (_json.containsKey("port")) { 18050 if (_json.containsKey("namedPorts")) {
16255 port = _json["port"]; 18051 namedPorts = _json["namedPorts"].map((value) => new NamedPort.fromJson(val ue)).toList();
16256 } 18052 }
16257 if (_json.containsKey("requestPath")) { 18053 if (_json.containsKey("network")) {
16258 requestPath = _json["requestPath"]; 18054 network = _json["network"];
16259 } 18055 }
16260 if (_json.containsKey("selfLink")) { 18056 if (_json.containsKey("selfLink")) {
16261 selfLink = _json["selfLink"]; 18057 selfLink = _json["selfLink"];
16262 } 18058 }
16263 if (_json.containsKey("timeoutSec")) { 18059 if (_json.containsKey("size")) {
16264 timeoutSec = _json["timeoutSec"]; 18060 size = _json["size"];
16265 } 18061 }
16266 if (_json.containsKey("unhealthyThreshold")) { 18062 if (_json.containsKey("subnetwork")) {
16267 unhealthyThreshold = _json["unhealthyThreshold"]; 18063 subnetwork = _json["subnetwork"];
18064 }
18065 if (_json.containsKey("zone")) {
18066 zone = _json["zone"];
16268 } 18067 }
16269 } 18068 }
16270 18069
16271 core.Map toJson() { 18070 core.Map toJson() {
16272 var _json = new core.Map(); 18071 var _json = new core.Map();
16273 if (checkIntervalSec != null) {
16274 _json["checkIntervalSec"] = checkIntervalSec;
16275 }
16276 if (creationTimestamp != null) { 18072 if (creationTimestamp != null) {
16277 _json["creationTimestamp"] = creationTimestamp; 18073 _json["creationTimestamp"] = creationTimestamp;
16278 } 18074 }
16279 if (description != null) { 18075 if (description != null) {
16280 _json["description"] = description; 18076 _json["description"] = description;
16281 } 18077 }
16282 if (healthyThreshold != null) { 18078 if (fingerprint != null) {
16283 _json["healthyThreshold"] = healthyThreshold; 18079 _json["fingerprint"] = fingerprint;
16284 }
16285 if (host != null) {
16286 _json["host"] = host;
16287 } 18080 }
16288 if (id != null) { 18081 if (id != null) {
16289 _json["id"] = id; 18082 _json["id"] = id;
16290 } 18083 }
16291 if (kind != null) { 18084 if (kind != null) {
16292 _json["kind"] = kind; 18085 _json["kind"] = kind;
16293 } 18086 }
16294 if (name != null) { 18087 if (name != null) {
16295 _json["name"] = name; 18088 _json["name"] = name;
16296 } 18089 }
16297 if (port != null) { 18090 if (namedPorts != null) {
16298 _json["port"] = port; 18091 _json["namedPorts"] = namedPorts.map((value) => (value).toJson()).toList() ;
16299 } 18092 }
16300 if (requestPath != null) { 18093 if (network != null) {
16301 _json["requestPath"] = requestPath; 18094 _json["network"] = network;
16302 } 18095 }
16303 if (selfLink != null) { 18096 if (selfLink != null) {
16304 _json["selfLink"] = selfLink; 18097 _json["selfLink"] = selfLink;
16305 } 18098 }
16306 if (timeoutSec != null) { 18099 if (size != null) {
16307 _json["timeoutSec"] = timeoutSec; 18100 _json["size"] = size;
16308 } 18101 }
16309 if (unhealthyThreshold != null) { 18102 if (subnetwork != null) {
16310 _json["unhealthyThreshold"] = unhealthyThreshold; 18103 _json["subnetwork"] = subnetwork;
18104 }
18105 if (zone != null) {
18106 _json["zone"] = zone;
16311 } 18107 }
16312 return _json; 18108 return _json;
16313 } 18109 }
16314 } 18110 }
16315 18111
16316 /** Contains a list of HttpHealthCheck resources. */ 18112 class InstanceGroupAggregatedList {
16317 class HttpHealthCheckList {
16318 /** 18113 /**
16319 * [Output Only] Unique identifier for the resource. Defined by the server. 18114 * [Output Only] A unique identifier for this aggregated list of instance
18115 * groups. The server generates this identifier.
16320 */ 18116 */
16321 core.String id; 18117 core.String id;
16322 /** A list of HttpHealthCheck resources. */ 18118 /** A map of scoped instance group lists. */
16323 core.List<HttpHealthCheck> items; 18119 core.Map<core.String, InstanceGroupsScopedList> items;
16324 /** Type of resource. */ 18120 /**
18121 * [Output Only] The resource type, which is always
18122 * compute#instanceGroupAggregatedList for aggregated lists of instance
18123 * groups.
18124 */
16325 core.String kind; 18125 core.String kind;
16326 /** 18126 /**
16327 * [Output Only] This token allows you to get the next page of results for 18127 * [Output Only] This token allows you to get the next page of results for
16328 * list requests. If the number of results is larger than maxResults, use the 18128 * list requests. If the number of results is larger than maxResults, use the
16329 * nextPageToken as a value for the query parameter pageToken in the next list 18129 * nextPageToken as a value for the query parameter pageToken in the next list
16330 * request. Subsequent list requests will have their own nextPageToken to 18130 * request. Subsequent list requests will have their own nextPageToken to
16331 * continue paging through the results. 18131 * continue paging through the results.
16332 */ 18132 */
16333 core.String nextPageToken; 18133 core.String nextPageToken;
16334 /** [Output Only] Server-defined URL for this resource. */ 18134 /**
18135 * [Output Only] The URL for this resource type. The server generates this
18136 * URL.
18137 */
16335 core.String selfLink; 18138 core.String selfLink;
16336 18139
16337 HttpHealthCheckList(); 18140 InstanceGroupAggregatedList();
16338 18141
16339 HttpHealthCheckList.fromJson(core.Map _json) { 18142 InstanceGroupAggregatedList.fromJson(core.Map _json) {
16340 if (_json.containsKey("id")) { 18143 if (_json.containsKey("id")) {
16341 id = _json["id"]; 18144 id = _json["id"];
16342 } 18145 }
16343 if (_json.containsKey("items")) { 18146 if (_json.containsKey("items")) {
16344 items = _json["items"].map((value) => new HttpHealthCheck.fromJson(value)) .toList(); 18147 items = commons.mapMap(_json["items"], (item) => new InstanceGroupsScopedL ist.fromJson(item));
16345 } 18148 }
16346 if (_json.containsKey("kind")) { 18149 if (_json.containsKey("kind")) {
16347 kind = _json["kind"]; 18150 kind = _json["kind"];
18151 }
18152 if (_json.containsKey("nextPageToken")) {
18153 nextPageToken = _json["nextPageToken"];
18154 }
18155 if (_json.containsKey("selfLink")) {
18156 selfLink = _json["selfLink"];
18157 }
18158 }
18159
18160 core.Map toJson() {
18161 var _json = new core.Map();
18162 if (id != null) {
18163 _json["id"] = id;
18164 }
18165 if (items != null) {
18166 _json["items"] = commons.mapMap(items, (item) => (item).toJson());
18167 }
18168 if (kind != null) {
18169 _json["kind"] = kind;
18170 }
18171 if (nextPageToken != null) {
18172 _json["nextPageToken"] = nextPageToken;
18173 }
18174 if (selfLink != null) {
18175 _json["selfLink"] = selfLink;
18176 }
18177 return _json;
18178 }
18179 }
18180
18181 /** A list of InstanceGroup resources. */
18182 class InstanceGroupList {
18183 /**
18184 * [Output Only] A unique identifier for this list of instance groups. The
18185 * server generates this identifier.
18186 */
18187 core.String id;
18188 /** A list of instance groups. */
18189 core.List<InstanceGroup> items;
18190 /**
18191 * [Output Only] The resource type, which is always compute#instanceGroupList
18192 * for instance group lists.
18193 */
18194 core.String kind;
18195 /**
18196 * [Output Only] This token allows you to get the next page of results for
18197 * list requests. If the number of results is larger than maxResults, use the
18198 * nextPageToken as a value for the query parameter pageToken in the next list
18199 * request. Subsequent list requests will have their own nextPageToken to
18200 * continue paging through the results.
18201 */
18202 core.String nextPageToken;
18203 /**
18204 * [Output Only] The URL for this resource type. The server generates this
18205 * URL.
18206 */
18207 core.String selfLink;
18208
18209 InstanceGroupList();
18210
18211 InstanceGroupList.fromJson(core.Map _json) {
18212 if (_json.containsKey("id")) {
18213 id = _json["id"];
18214 }
18215 if (_json.containsKey("items")) {
18216 items = _json["items"].map((value) => new InstanceGroup.fromJson(value)).t oList();
18217 }
18218 if (_json.containsKey("kind")) {
18219 kind = _json["kind"];
16348 } 18220 }
16349 if (_json.containsKey("nextPageToken")) { 18221 if (_json.containsKey("nextPageToken")) {
16350 nextPageToken = _json["nextPageToken"]; 18222 nextPageToken = _json["nextPageToken"];
16351 } 18223 }
16352 if (_json.containsKey("selfLink")) { 18224 if (_json.containsKey("selfLink")) {
16353 selfLink = _json["selfLink"]; 18225 selfLink = _json["selfLink"];
16354 } 18226 }
16355 } 18227 }
16356 18228
16357 core.Map toJson() { 18229 core.Map toJson() {
(...skipping 10 matching lines...) Expand all
16368 if (nextPageToken != null) { 18240 if (nextPageToken != null) {
16369 _json["nextPageToken"] = nextPageToken; 18241 _json["nextPageToken"] = nextPageToken;
16370 } 18242 }
16371 if (selfLink != null) { 18243 if (selfLink != null) {
16372 _json["selfLink"] = selfLink; 18244 _json["selfLink"] = selfLink;
16373 } 18245 }
16374 return _json; 18246 return _json;
16375 } 18247 }
16376 } 18248 }
16377 18249
16378 /** 18250 class InstanceGroupManager {
16379 * An HttpsHealthCheck resource. This resource defines a template for how 18251 /**
16380 * individual instances should be checked for health, via HTTPS. 18252 * The base instance name to use for instances in this group. The value must
16381 */ 18253 * be 1-58 characters long. Instances are named by appending a hyphen and a
16382 class HttpsHealthCheck { 18254 * random four-character string to the base instance name. The base instance
16383 /** 18255 * name must comply with RFC1035.
16384 * How often (in seconds) to send a health check. The default value is 5 18256 */
16385 * seconds. 18257 core.String baseInstanceName;
16386 */ 18258 /**
16387 core.int checkIntervalSec; 18259 * [Output Only] The creation timestamp for this managed instance group in
16388 /** [Output Only] Creation timestamp in RFC3339 text format. */ 18260 * RFC3339 text format.
18261 */
16389 core.String creationTimestamp; 18262 core.String creationTimestamp;
16390 /** 18263 /**
18264 * [Output Only] The list of instance actions and the number of instances in
18265 * this managed instance group that are scheduled for each of those actions.
18266 */
18267 InstanceGroupManagerActionsSummary currentActions;
18268 /**
16391 * An optional description of this resource. Provide this property when you 18269 * An optional description of this resource. Provide this property when you
16392 * create the resource. 18270 * create the resource.
16393 */ 18271 */
16394 core.String description; 18272 core.String description;
16395 /** 18273 /**
16396 * A so-far unhealthy instance will be marked healthy after this many 18274 * [Output Only] The fingerprint of the resource data. You can use this
16397 * consecutive successes. The default value is 2. 18275 * optional field for optimistic locking when you update the resource.
16398 */ 18276 */
16399 core.int healthyThreshold; 18277 core.String fingerprint;
16400 /** 18278 core.List<core.int> get fingerprintAsBytes {
16401 * The value of the host header in the HTTPS health check request. If left 18279 return convert.BASE64.decode(fingerprint);
16402 * empty (default value), the public IP on behalf of which this health check 18280 }
16403 * is performed will be used. 18281
16404 */ 18282 void set fingerprintAsBytes(core.List<core.int> _bytes) {
16405 core.String host; 18283 fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll( "+", "-");
16406 /** 18284 }
16407 * [Output Only] The unique identifier for the resource. This identifier is 18285 /**
16408 * defined by the server. 18286 * [Output Only] A unique identifier for this resource type. The server
18287 * generates this identifier.
16409 */ 18288 */
16410 core.String id; 18289 core.String id;
16411 /** Type of the resource. */ 18290 /** [Output Only] The URL of the Instance Group resource. */
18291 core.String instanceGroup;
18292 /**
18293 * The URL of the instance template that is specified for this managed
18294 * instance group. The group uses this template to create all new instances in
18295 * the managed instance group.
18296 */
18297 core.String instanceTemplate;
18298 /**
18299 * [Output Only] The resource type, which is always
18300 * compute#instanceGroupManager for managed instance groups.
18301 */
16412 core.String kind; 18302 core.String kind;
16413 /** 18303 /**
16414 * Name of the resource. Provided by the client when the resource is created. 18304 * The name of the managed instance group. The name must be 1-63 characters
16415 * The name must be 1-63 characters long, and comply with RFC1035. 18305 * long, and comply with RFC1035.
16416 * Specifically, the name must be 1-63 characters long and match the regular
16417 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
16418 * be a lowercase letter, and all following characters must be a dash,
16419 * lowercase letter, or digit, except the last character, which cannot be a
16420 * dash.
16421 */ 18306 */
16422 core.String name; 18307 core.String name;
16423 /** 18308 /**
16424 * The TCP port number for the HTTPS health check request. The default value 18309 * Named ports configured for the Instance Groups complementary to this
16425 * is 443. 18310 * Instance Group Manager.
16426 */ 18311 */
16427 core.int port; 18312 core.List<NamedPort> namedPorts;
16428 /** 18313 /**
16429 * The request path of the HTTPS health check request. The default value is 18314 * [Output Only] The URL for this managed instance group. The server defines
16430 * "/". 18315 * this URL.
16431 */ 18316 */
16432 core.String requestPath;
16433 /** [Output Only] Server-defined URL for the resource. */
16434 core.String selfLink; 18317 core.String selfLink;
16435 /** 18318 /**
16436 * How long (in seconds) to wait before claiming failure. The default value is 18319 * The URLs for all TargetPool resources to which instances in the
16437 * 5 seconds. It is invalid for timeoutSec to have a greater value than 18320 * instanceGroup field are added. The target pools automatically apply to all
16438 * checkIntervalSec. 18321 * of the instances in the managed instance group.
16439 */ 18322 */
16440 core.int timeoutSec; 18323 core.List<core.String> targetPools;
16441 /** 18324 /**
16442 * A so-far healthy instance will be marked unhealthy after this many 18325 * The target number of running instances for this managed instance group.
16443 * consecutive failures. The default value is 2. 18326 * Deleting or abandoning instances reduces this number. Resizing the group
16444 */ 18327 * changes this number.
16445 core.int unhealthyThreshold; 18328 */
16446 18329 core.int targetSize;
16447 HttpsHealthCheck(); 18330 /** The name of the zone where the managed instance group is located. */
16448 18331 core.String zone;
16449 HttpsHealthCheck.fromJson(core.Map _json) { 18332
16450 if (_json.containsKey("checkIntervalSec")) { 18333 InstanceGroupManager();
16451 checkIntervalSec = _json["checkIntervalSec"]; 18334
18335 InstanceGroupManager.fromJson(core.Map _json) {
18336 if (_json.containsKey("baseInstanceName")) {
18337 baseInstanceName = _json["baseInstanceName"];
16452 } 18338 }
16453 if (_json.containsKey("creationTimestamp")) { 18339 if (_json.containsKey("creationTimestamp")) {
16454 creationTimestamp = _json["creationTimestamp"]; 18340 creationTimestamp = _json["creationTimestamp"];
16455 } 18341 }
18342 if (_json.containsKey("currentActions")) {
18343 currentActions = new InstanceGroupManagerActionsSummary.fromJson(_json["cu rrentActions"]);
18344 }
16456 if (_json.containsKey("description")) { 18345 if (_json.containsKey("description")) {
16457 description = _json["description"]; 18346 description = _json["description"];
16458 } 18347 }
16459 if (_json.containsKey("healthyThreshold")) { 18348 if (_json.containsKey("fingerprint")) {
16460 healthyThreshold = _json["healthyThreshold"]; 18349 fingerprint = _json["fingerprint"];
16461 }
16462 if (_json.containsKey("host")) {
16463 host = _json["host"];
16464 } 18350 }
16465 if (_json.containsKey("id")) { 18351 if (_json.containsKey("id")) {
16466 id = _json["id"]; 18352 id = _json["id"];
16467 } 18353 }
18354 if (_json.containsKey("instanceGroup")) {
18355 instanceGroup = _json["instanceGroup"];
18356 }
18357 if (_json.containsKey("instanceTemplate")) {
18358 instanceTemplate = _json["instanceTemplate"];
18359 }
16468 if (_json.containsKey("kind")) { 18360 if (_json.containsKey("kind")) {
16469 kind = _json["kind"]; 18361 kind = _json["kind"];
16470 } 18362 }
16471 if (_json.containsKey("name")) { 18363 if (_json.containsKey("name")) {
16472 name = _json["name"]; 18364 name = _json["name"];
16473 } 18365 }
16474 if (_json.containsKey("port")) { 18366 if (_json.containsKey("namedPorts")) {
16475 port = _json["port"]; 18367 namedPorts = _json["namedPorts"].map((value) => new NamedPort.fromJson(val ue)).toList();
16476 }
16477 if (_json.containsKey("requestPath")) {
16478 requestPath = _json["requestPath"];
16479 } 18368 }
16480 if (_json.containsKey("selfLink")) { 18369 if (_json.containsKey("selfLink")) {
16481 selfLink = _json["selfLink"]; 18370 selfLink = _json["selfLink"];
16482 } 18371 }
16483 if (_json.containsKey("timeoutSec")) { 18372 if (_json.containsKey("targetPools")) {
16484 timeoutSec = _json["timeoutSec"]; 18373 targetPools = _json["targetPools"];
16485 } 18374 }
16486 if (_json.containsKey("unhealthyThreshold")) { 18375 if (_json.containsKey("targetSize")) {
16487 unhealthyThreshold = _json["unhealthyThreshold"]; 18376 targetSize = _json["targetSize"];
18377 }
18378 if (_json.containsKey("zone")) {
18379 zone = _json["zone"];
16488 } 18380 }
16489 } 18381 }
16490 18382
16491 core.Map toJson() { 18383 core.Map toJson() {
16492 var _json = new core.Map(); 18384 var _json = new core.Map();
16493 if (checkIntervalSec != null) { 18385 if (baseInstanceName != null) {
16494 _json["checkIntervalSec"] = checkIntervalSec; 18386 _json["baseInstanceName"] = baseInstanceName;
16495 } 18387 }
16496 if (creationTimestamp != null) { 18388 if (creationTimestamp != null) {
16497 _json["creationTimestamp"] = creationTimestamp; 18389 _json["creationTimestamp"] = creationTimestamp;
16498 } 18390 }
18391 if (currentActions != null) {
18392 _json["currentActions"] = (currentActions).toJson();
18393 }
16499 if (description != null) { 18394 if (description != null) {
16500 _json["description"] = description; 18395 _json["description"] = description;
16501 } 18396 }
16502 if (healthyThreshold != null) { 18397 if (fingerprint != null) {
16503 _json["healthyThreshold"] = healthyThreshold; 18398 _json["fingerprint"] = fingerprint;
16504 }
16505 if (host != null) {
16506 _json["host"] = host;
16507 } 18399 }
16508 if (id != null) { 18400 if (id != null) {
16509 _json["id"] = id; 18401 _json["id"] = id;
16510 } 18402 }
18403 if (instanceGroup != null) {
18404 _json["instanceGroup"] = instanceGroup;
18405 }
18406 if (instanceTemplate != null) {
18407 _json["instanceTemplate"] = instanceTemplate;
18408 }
16511 if (kind != null) { 18409 if (kind != null) {
16512 _json["kind"] = kind; 18410 _json["kind"] = kind;
16513 } 18411 }
16514 if (name != null) { 18412 if (name != null) {
16515 _json["name"] = name; 18413 _json["name"] = name;
16516 } 18414 }
16517 if (port != null) { 18415 if (namedPorts != null) {
16518 _json["port"] = port; 18416 _json["namedPorts"] = namedPorts.map((value) => (value).toJson()).toList() ;
16519 }
16520 if (requestPath != null) {
16521 _json["requestPath"] = requestPath;
16522 } 18417 }
16523 if (selfLink != null) { 18418 if (selfLink != null) {
16524 _json["selfLink"] = selfLink; 18419 _json["selfLink"] = selfLink;
16525 } 18420 }
16526 if (timeoutSec != null) { 18421 if (targetPools != null) {
16527 _json["timeoutSec"] = timeoutSec; 18422 _json["targetPools"] = targetPools;
16528 } 18423 }
16529 if (unhealthyThreshold != null) { 18424 if (targetSize != null) {
16530 _json["unhealthyThreshold"] = unhealthyThreshold; 18425 _json["targetSize"] = targetSize;
18426 }
18427 if (zone != null) {
18428 _json["zone"] = zone;
16531 } 18429 }
16532 return _json; 18430 return _json;
16533 } 18431 }
16534 } 18432 }
16535 18433
16536 /** Contains a list of HttpsHealthCheck resources. */ 18434 class InstanceGroupManagerActionsSummary {
16537 class HttpsHealthCheckList { 18435 /**
16538 /** 18436 * [Output Only] The total number of instances in the managed instance group
16539 * [Output Only] Unique identifier for the resource; defined by the server. 18437 * that are scheduled to be abandoned. Abandoning an instance removes it from
16540 */ 18438 * the managed instance group without deleting it.
16541 core.String id; 18439 */
16542 /** A list of HttpsHealthCheck resources. */ 18440 core.int abandoning;
16543 core.List<HttpsHealthCheck> items; 18441 /**
16544 /** Type of resource. */ 18442 * [Output Only] The number of instances in the managed instance group that
16545 core.String kind; 18443 * are scheduled to be created or are currently being created. If the group
16546 /** 18444 * fails to create one of these instances, it tries again until it creates the
16547 * [Output Only] This token allows you to get the next page of results for 18445 * instance successfully.
16548 * list requests. If the number of results is larger than maxResults, use the 18446 */
16549 * nextPageToken as a value for the query parameter pageToken in the next list 18447 core.int creating;
16550 * request. Subsequent list requests will have their own nextPageToken to 18448 /**
16551 * continue paging through the results. 18449 * [Output Only] The number of instances in the managed instance group that
16552 */ 18450 * are scheduled to be deleted or are currently being deleted.
16553 core.String nextPageToken; 18451 */
16554 /** [Output Only] Server-defined URL for this resource. */ 18452 core.int deleting;
16555 core.String selfLink; 18453 /**
16556 18454 * [Output Only] The number of instances in the managed instance group that
16557 HttpsHealthCheckList(); 18455 * are running and have no scheduled actions.
16558 18456 */
16559 HttpsHealthCheckList.fromJson(core.Map _json) { 18457 core.int none;
16560 if (_json.containsKey("id")) { 18458 /**
16561 id = _json["id"]; 18459 * [Output Only] The number of instances in the managed instance group that
16562 } 18460 * are scheduled to be recreated or are currently being being recreated.
16563 if (_json.containsKey("items")) { 18461 * Recreating an instance deletes the existing root persistent disk and
16564 items = _json["items"].map((value) => new HttpsHealthCheck.fromJson(value) ).toList(); 18462 * creates a new disk from the image that is defined in the instance template.
16565 } 18463 */
16566 if (_json.containsKey("kind")) { 18464 core.int recreating;
16567 kind = _json["kind"]; 18465 /**
16568 } 18466 * [Output Only] The number of instances in the managed instance group that
16569 if (_json.containsKey("nextPageToken")) { 18467 * are being reconfigured with properties that do not require a restart or a
16570 nextPageToken = _json["nextPageToken"]; 18468 * recreate action. For example, setting or removing target pools for the
16571 } 18469 * instance.
16572 if (_json.containsKey("selfLink")) { 18470 */
16573 selfLink = _json["selfLink"]; 18471 core.int refreshing;
18472 /**
18473 * [Output Only] The number of instances in the managed instance group that
18474 * are scheduled to be restarted or are currently being restarted.
18475 */
18476 core.int restarting;
18477
18478 InstanceGroupManagerActionsSummary();
18479
18480 InstanceGroupManagerActionsSummary.fromJson(core.Map _json) {
18481 if (_json.containsKey("abandoning")) {
18482 abandoning = _json["abandoning"];
18483 }
18484 if (_json.containsKey("creating")) {
18485 creating = _json["creating"];
18486 }
18487 if (_json.containsKey("deleting")) {
18488 deleting = _json["deleting"];
18489 }
18490 if (_json.containsKey("none")) {
18491 none = _json["none"];
18492 }
18493 if (_json.containsKey("recreating")) {
18494 recreating = _json["recreating"];
18495 }
18496 if (_json.containsKey("refreshing")) {
18497 refreshing = _json["refreshing"];
18498 }
18499 if (_json.containsKey("restarting")) {
18500 restarting = _json["restarting"];
16574 } 18501 }
16575 } 18502 }
16576 18503
16577 core.Map toJson() { 18504 core.Map toJson() {
16578 var _json = new core.Map(); 18505 var _json = new core.Map();
16579 if (id != null) { 18506 if (abandoning != null) {
16580 _json["id"] = id; 18507 _json["abandoning"] = abandoning;
16581 } 18508 }
16582 if (items != null) { 18509 if (creating != null) {
16583 _json["items"] = items.map((value) => (value).toJson()).toList(); 18510 _json["creating"] = creating;
16584 } 18511 }
16585 if (kind != null) { 18512 if (deleting != null) {
16586 _json["kind"] = kind; 18513 _json["deleting"] = deleting;
16587 } 18514 }
16588 if (nextPageToken != null) { 18515 if (none != null) {
16589 _json["nextPageToken"] = nextPageToken; 18516 _json["none"] = none;
16590 } 18517 }
16591 if (selfLink != null) { 18518 if (recreating != null) {
16592 _json["selfLink"] = selfLink; 18519 _json["recreating"] = recreating;
18520 }
18521 if (refreshing != null) {
18522 _json["refreshing"] = refreshing;
18523 }
18524 if (restarting != null) {
18525 _json["restarting"] = restarting;
16593 } 18526 }
16594 return _json; 18527 return _json;
16595 } 18528 }
16596 } 18529 }
16597 18530
16598 /** The parameters of the raw disk image. */ 18531 class InstanceGroupManagerAggregatedList {
16599 class ImageRawDisk { 18532 /**
16600 /** 18533 * [Output Only] A unique identifier for this aggregated list of managed
16601 * The format used to encode and transmit the block device, which should be 18534 * instance groups. The server generates this identifier.
16602 * TAR. This is just a container and transmission format and not a runtime
16603 * format. Provided by the client when the disk image is created.
16604 * Possible string values are:
16605 * - "TAR"
16606 */
16607 core.String containerType;
16608 /**
16609 * An optional SHA1 checksum of the disk image before unpackaging; provided by
16610 * the client when the disk image is created.
16611 */
16612 core.String sha1Checksum;
16613 /**
16614 * The full Google Cloud Storage URL where the disk image is stored. You must
16615 * provide either this property or the sourceDisk property but not both.
16616 */
16617 core.String source;
16618
16619 ImageRawDisk();
16620
16621 ImageRawDisk.fromJson(core.Map _json) {
16622 if (_json.containsKey("containerType")) {
16623 containerType = _json["containerType"];
16624 }
16625 if (_json.containsKey("sha1Checksum")) {
16626 sha1Checksum = _json["sha1Checksum"];
16627 }
16628 if (_json.containsKey("source")) {
16629 source = _json["source"];
16630 }
16631 }
16632
16633 core.Map toJson() {
16634 var _json = new core.Map();
16635 if (containerType != null) {
16636 _json["containerType"] = containerType;
16637 }
16638 if (sha1Checksum != null) {
16639 _json["sha1Checksum"] = sha1Checksum;
16640 }
16641 if (source != null) {
16642 _json["source"] = source;
16643 }
16644 return _json;
16645 }
16646 }
16647
16648 /** An Image resource. */
16649 class Image {
16650 /**
16651 * Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).
16652 */
16653 core.String archiveSizeBytes;
16654 /** [Output Only] Creation timestamp in RFC3339 text format. */
16655 core.String creationTimestamp;
16656 /** The deprecation status associated with this image. */
16657 DeprecationStatus deprecated;
16658 /**
16659 * An optional description of this resource. Provide this property when you
16660 * create the resource.
16661 */
16662 core.String description;
16663 /** Size of the image when restored onto a persistent disk (in GB). */
16664 core.String diskSizeGb;
16665 /**
16666 * The name of the image family to which this image belongs. You can create
16667 * disks by specifying an image family instead of a specific image name. The
16668 * image family always returns its latest image that is not deprecated.
16669 */
16670 core.String family;
16671 /**
16672 * [Output Only] The unique identifier for the resource. This identifier is
16673 * defined by the server.
16674 */ 18535 */
16675 core.String id; 18536 core.String id;
16676 /** [Output Only] Type of the resource. Always compute#image for images. */ 18537 /** [Output Only] A map of filtered managed instance group lists. */
18538 core.Map<core.String, InstanceGroupManagersScopedList> items;
18539 /**
18540 * [Output Only] The resource type, which is always
18541 * compute#instanceGroupManagerAggregatedList for an aggregated list of
18542 * managed instance groups.
18543 */
16677 core.String kind; 18544 core.String kind;
16678 /** Any applicable publicly visible licenses. */
16679 core.List<core.String> licenses;
16680 /**
16681 * Name of the resource; provided by the client when the resource is created.
16682 * The name must be 1-63 characters long, and comply with RFC1035.
16683 * Specifically, the name must be 1-63 characters long and match the regular
16684 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
16685 * be a lowercase letter, and all following characters must be a dash,
16686 * lowercase letter, or digit, except the last character, which cannot be a
16687 * dash.
16688 */
16689 core.String name;
16690 /** The parameters of the raw disk image. */
16691 ImageRawDisk rawDisk;
16692 /** [Output Only] Server-defined URL for the resource. */
16693 core.String selfLink;
16694 /**
16695 * URL of the The source disk used to create this image. This can be a full or
16696 * valid partial URL. You must provide either this property or the
16697 * rawDisk.source property but not both to create an image. For example, the
16698 * following are valid values:
16699 * -
16700 * https://www.googleapis.com/compute/v1/projects/project/zones/zone/disk/disk
16701 * - projects/project/zones/zone/disk/disk
16702 * - zones/zone/disks/disk
16703 */
16704 core.String sourceDisk;
16705 /**
16706 * The ID value of the disk used to create this image. This value may be used
16707 * to determine whether the image was taken from the current or a previous
16708 * instance of a given disk name.
16709 */
16710 core.String sourceDiskId;
16711 /**
16712 * The type of the image used to create this disk. The default and only value
16713 * is RAW
16714 * Possible string values are:
16715 * - "RAW"
16716 */
16717 core.String sourceType;
16718 /**
16719 * [Output Only] The status of the image. An image can be used to create other
16720 * resources, such as instances, only after the image has been successfully
16721 * created and the status is set to READY. Possible values are FAILED,
16722 * PENDING, or READY.
16723 * Possible string values are:
16724 * - "FAILED"
16725 * - "PENDING"
16726 * - "READY"
16727 */
16728 core.String status;
16729
16730 Image();
16731
16732 Image.fromJson(core.Map _json) {
16733 if (_json.containsKey("archiveSizeBytes")) {
16734 archiveSizeBytes = _json["archiveSizeBytes"];
16735 }
16736 if (_json.containsKey("creationTimestamp")) {
16737 creationTimestamp = _json["creationTimestamp"];
16738 }
16739 if (_json.containsKey("deprecated")) {
16740 deprecated = new DeprecationStatus.fromJson(_json["deprecated"]);
16741 }
16742 if (_json.containsKey("description")) {
16743 description = _json["description"];
16744 }
16745 if (_json.containsKey("diskSizeGb")) {
16746 diskSizeGb = _json["diskSizeGb"];
16747 }
16748 if (_json.containsKey("family")) {
16749 family = _json["family"];
16750 }
16751 if (_json.containsKey("id")) {
16752 id = _json["id"];
16753 }
16754 if (_json.containsKey("kind")) {
16755 kind = _json["kind"];
16756 }
16757 if (_json.containsKey("licenses")) {
16758 licenses = _json["licenses"];
16759 }
16760 if (_json.containsKey("name")) {
16761 name = _json["name"];
16762 }
16763 if (_json.containsKey("rawDisk")) {
16764 rawDisk = new ImageRawDisk.fromJson(_json["rawDisk"]);
16765 }
16766 if (_json.containsKey("selfLink")) {
16767 selfLink = _json["selfLink"];
16768 }
16769 if (_json.containsKey("sourceDisk")) {
16770 sourceDisk = _json["sourceDisk"];
16771 }
16772 if (_json.containsKey("sourceDiskId")) {
16773 sourceDiskId = _json["sourceDiskId"];
16774 }
16775 if (_json.containsKey("sourceType")) {
16776 sourceType = _json["sourceType"];
16777 }
16778 if (_json.containsKey("status")) {
16779 status = _json["status"];
16780 }
16781 }
16782
16783 core.Map toJson() {
16784 var _json = new core.Map();
16785 if (archiveSizeBytes != null) {
16786 _json["archiveSizeBytes"] = archiveSizeBytes;
16787 }
16788 if (creationTimestamp != null) {
16789 _json["creationTimestamp"] = creationTimestamp;
16790 }
16791 if (deprecated != null) {
16792 _json["deprecated"] = (deprecated).toJson();
16793 }
16794 if (description != null) {
16795 _json["description"] = description;
16796 }
16797 if (diskSizeGb != null) {
16798 _json["diskSizeGb"] = diskSizeGb;
16799 }
16800 if (family != null) {
16801 _json["family"] = family;
16802 }
16803 if (id != null) {
16804 _json["id"] = id;
16805 }
16806 if (kind != null) {
16807 _json["kind"] = kind;
16808 }
16809 if (licenses != null) {
16810 _json["licenses"] = licenses;
16811 }
16812 if (name != null) {
16813 _json["name"] = name;
16814 }
16815 if (rawDisk != null) {
16816 _json["rawDisk"] = (rawDisk).toJson();
16817 }
16818 if (selfLink != null) {
16819 _json["selfLink"] = selfLink;
16820 }
16821 if (sourceDisk != null) {
16822 _json["sourceDisk"] = sourceDisk;
16823 }
16824 if (sourceDiskId != null) {
16825 _json["sourceDiskId"] = sourceDiskId;
16826 }
16827 if (sourceType != null) {
16828 _json["sourceType"] = sourceType;
16829 }
16830 if (status != null) {
16831 _json["status"] = status;
16832 }
16833 return _json;
16834 }
16835 }
16836
16837 /** Contains a list of images. */
16838 class ImageList {
16839 /**
16840 * [Output Only] The unique identifier for the resource. This identifier is
16841 * defined by the server.
16842 */
16843 core.String id;
16844 /** [Output Only] A list of Image resources. */
16845 core.List<Image> items;
16846 /** Type of resource. */
16847 core.String kind;
16848 /** 18545 /**
16849 * [Output Only] This token allows you to get the next page of results for 18546 * [Output Only] This token allows you to get the next page of results for
16850 * list requests. If the number of results is larger than maxResults, use the 18547 * list requests. If the number of results is larger than maxResults, use the
16851 * nextPageToken as a value for the query parameter pageToken in the next list 18548 * nextPageToken as a value for the query parameter pageToken in the next list
16852 * request. Subsequent list requests will have their own nextPageToken to 18549 * request. Subsequent list requests will have their own nextPageToken to
16853 * continue paging through the results. 18550 * continue paging through the results.
16854 */ 18551 */
16855 core.String nextPageToken; 18552 core.String nextPageToken;
16856 /** [Output Only] Server-defined URL for this resource. */ 18553 /**
18554 * [Output Only] The URL for this resource type. The server generates this
18555 * URL.
18556 */
16857 core.String selfLink; 18557 core.String selfLink;
16858 18558
16859 ImageList(); 18559 InstanceGroupManagerAggregatedList();
16860 18560
16861 ImageList.fromJson(core.Map _json) { 18561 InstanceGroupManagerAggregatedList.fromJson(core.Map _json) {
16862 if (_json.containsKey("id")) { 18562 if (_json.containsKey("id")) {
16863 id = _json["id"]; 18563 id = _json["id"];
16864 } 18564 }
16865 if (_json.containsKey("items")) { 18565 if (_json.containsKey("items")) {
16866 items = _json["items"].map((value) => new Image.fromJson(value)).toList(); 18566 items = commons.mapMap(_json["items"], (item) => new InstanceGroupManagers ScopedList.fromJson(item));
16867 } 18567 }
16868 if (_json.containsKey("kind")) { 18568 if (_json.containsKey("kind")) {
16869 kind = _json["kind"]; 18569 kind = _json["kind"];
16870 } 18570 }
16871 if (_json.containsKey("nextPageToken")) { 18571 if (_json.containsKey("nextPageToken")) {
16872 nextPageToken = _json["nextPageToken"]; 18572 nextPageToken = _json["nextPageToken"];
16873 } 18573 }
16874 if (_json.containsKey("selfLink")) { 18574 if (_json.containsKey("selfLink")) {
16875 selfLink = _json["selfLink"]; 18575 selfLink = _json["selfLink"];
16876 } 18576 }
16877 } 18577 }
16878 18578
16879 core.Map toJson() { 18579 core.Map toJson() {
16880 var _json = new core.Map(); 18580 var _json = new core.Map();
16881 if (id != null) { 18581 if (id != null) {
16882 _json["id"] = id; 18582 _json["id"] = id;
16883 } 18583 }
16884 if (items != null) { 18584 if (items != null) {
16885 _json["items"] = items.map((value) => (value).toJson()).toList(); 18585 _json["items"] = commons.mapMap(items, (item) => (item).toJson());
16886 } 18586 }
16887 if (kind != null) { 18587 if (kind != null) {
16888 _json["kind"] = kind; 18588 _json["kind"] = kind;
16889 } 18589 }
16890 if (nextPageToken != null) { 18590 if (nextPageToken != null) {
16891 _json["nextPageToken"] = nextPageToken; 18591 _json["nextPageToken"] = nextPageToken;
16892 } 18592 }
16893 if (selfLink != null) { 18593 if (selfLink != null) {
16894 _json["selfLink"] = selfLink; 18594 _json["selfLink"] = selfLink;
16895 } 18595 }
16896 return _json; 18596 return _json;
16897 } 18597 }
16898 } 18598 }
16899 18599
16900 /** An Instance resource. */ 18600 /** [Output Only] A list of managed instance groups. */
16901 class Instance { 18601 class InstanceGroupManagerList {
16902 /** 18602 /**
16903 * Allows this instance to send and receive packets with non-matching 18603 * [Output Only] A unique identifier for this resource type. The server
16904 * destination or source IPs. This is required if you plan to use this 18604 * generates this identifier.
16905 * instance to forward routes. For more information, see Enabling IP
16906 * Forwarding.
16907 */
16908 core.bool canIpForward;
16909 /** [Output Only] The CPU platform used by this instance. */
16910 core.String cpuPlatform;
16911 /** [Output Only] Creation timestamp in RFC3339 text format. */
16912 core.String creationTimestamp;
16913 /**
16914 * An optional description of this resource. Provide this property when you
16915 * create the resource.
16916 */
16917 core.String description;
16918 /**
16919 * Array of disks associated with this instance. Persistent disks must be
16920 * created before you can assign them.
16921 */
16922 core.List<AttachedDisk> disks;
16923 /**
16924 * [Output Only] The unique identifier for the resource. This identifier is
16925 * defined by the server.
16926 */ 18605 */
16927 core.String id; 18606 core.String id;
16928 /** 18607 /** [Output Only] A list of managed instance groups. */
16929 * [Output Only] Type of the resource. Always compute#instance for instances. 18608 core.List<InstanceGroupManager> items;
16930 */ 18609 /**
16931 core.String kind; 18610 * [Output Only] The resource type, which is always
16932 /** 18611 * compute#instanceGroupManagerList for a list of managed instance groups.
16933 * Full or partial URL of the machine type resource to use for this instance,
16934 * in the format: zones/zone/machineTypes/machine-type. This is provided by
16935 * the client when the instance is created. For example, the following is a
16936 * valid partial url to a predefined machine type:
16937 *
16938 * zones/us-central1-f/machineTypes/n1-standard-1
16939 *
16940 * To create a custom machine type, provide a URL to a machine type in the
16941 * following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ...
16942 * 24, etc), and MEMORY is the total memory for this instance. Memory must be
16943 * a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is
16944 * 5120 MB):
16945 *
16946 * zones/zone/machineTypes/custom-CPUS-MEMORY
16947 *
16948 * For example: zones/us-central1-f/machineTypes/custom-4-5120
16949 *
16950 * For a full list of restrictions, read the Specifications for custom machine
16951 * types.
16952 */
16953 core.String machineType;
16954 /**
16955 * The metadata key/value pairs assigned to this instance. This includes
16956 * custom metadata and predefined keys.
16957 */
16958 Metadata metadata;
16959 /**
16960 * The name of the resource, provided by the client when initially creating
16961 * the resource. The resource name must be 1-63 characters long, and comply
16962 * with RFC1035. Specifically, the name must be 1-63 characters long and match
16963 * the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first
16964 * character must be a lowercase letter, and all following characters must be
16965 * a dash, lowercase letter, or digit, except the last character, which cannot
16966 * be a dash.
16967 */
16968 core.String name;
16969 /**
16970 * An array of configurations for this interface. This specifies how this
16971 * interface is configured to interact with other network services, such as
16972 * connecting to the internet.
16973 */
16974 core.List<NetworkInterface> networkInterfaces;
16975 /** Scheduling options for this instance. */
16976 Scheduling scheduling;
16977 /** [Output Only] Server-defined URL for this resource. */
16978 core.String selfLink;
16979 /**
16980 * A list of service accounts, with their specified scopes, authorized for
16981 * this instance. Service accounts generate access tokens that can be accessed
16982 * through the metadata server and used to authenticate applications on the
16983 * instance. See Authenticating from Google Compute Engine for more
16984 * information.
16985 */
16986 core.List<ServiceAccount> serviceAccounts;
16987 /**
16988 * [Output Only] The status of the instance. One of the following values:
16989 * PROVISIONING, STAGING, RUNNING, STOPPING, and TERMINATED.
16990 * Possible string values are:
16991 * - "PROVISIONING"
16992 * - "RUNNING"
16993 * - "STAGING"
16994 * - "STOPPED"
16995 * - "STOPPING"
16996 * - "SUSPENDED"
16997 * - "SUSPENDING"
16998 * - "TERMINATED"
16999 */
17000 core.String status;
17001 /** [Output Only] An optional, human-readable explanation of the status. */
17002 core.String statusMessage;
17003 /**
17004 * A list of tags to apply to this instance. Tags are used to identify valid
17005 * sources or targets for network firewalls and are specified by the client
17006 * during instance creation. The tags can be later modified by the setTags
17007 * method. Each tag within the list must comply with RFC1035.
17008 */
17009 Tags tags;
17010 /** [Output Only] URL of the zone where the instance resides. */
17011 core.String zone;
17012
17013 Instance();
17014
17015 Instance.fromJson(core.Map _json) {
17016 if (_json.containsKey("canIpForward")) {
17017 canIpForward = _json["canIpForward"];
17018 }
17019 if (_json.containsKey("cpuPlatform")) {
17020 cpuPlatform = _json["cpuPlatform"];
17021 }
17022 if (_json.containsKey("creationTimestamp")) {
17023 creationTimestamp = _json["creationTimestamp"];
17024 }
17025 if (_json.containsKey("description")) {
17026 description = _json["description"];
17027 }
17028 if (_json.containsKey("disks")) {
17029 disks = _json["disks"].map((value) => new AttachedDisk.fromJson(value)).to List();
17030 }
17031 if (_json.containsKey("id")) {
17032 id = _json["id"];
17033 }
17034 if (_json.containsKey("kind")) {
17035 kind = _json["kind"];
17036 }
17037 if (_json.containsKey("machineType")) {
17038 machineType = _json["machineType"];
17039 }
17040 if (_json.containsKey("metadata")) {
17041 metadata = new Metadata.fromJson(_json["metadata"]);
17042 }
17043 if (_json.containsKey("name")) {
17044 name = _json["name"];
17045 }
17046 if (_json.containsKey("networkInterfaces")) {
17047 networkInterfaces = _json["networkInterfaces"].map((value) => new NetworkI nterface.fromJson(value)).toList();
17048 }
17049 if (_json.containsKey("scheduling")) {
17050 scheduling = new Scheduling.fromJson(_json["scheduling"]);
17051 }
17052 if (_json.containsKey("selfLink")) {
17053 selfLink = _json["selfLink"];
17054 }
17055 if (_json.containsKey("serviceAccounts")) {
17056 serviceAccounts = _json["serviceAccounts"].map((value) => new ServiceAccou nt.fromJson(value)).toList();
17057 }
17058 if (_json.containsKey("status")) {
17059 status = _json["status"];
17060 }
17061 if (_json.containsKey("statusMessage")) {
17062 statusMessage = _json["statusMessage"];
17063 }
17064 if (_json.containsKey("tags")) {
17065 tags = new Tags.fromJson(_json["tags"]);
17066 }
17067 if (_json.containsKey("zone")) {
17068 zone = _json["zone"];
17069 }
17070 }
17071
17072 core.Map toJson() {
17073 var _json = new core.Map();
17074 if (canIpForward != null) {
17075 _json["canIpForward"] = canIpForward;
17076 }
17077 if (cpuPlatform != null) {
17078 _json["cpuPlatform"] = cpuPlatform;
17079 }
17080 if (creationTimestamp != null) {
17081 _json["creationTimestamp"] = creationTimestamp;
17082 }
17083 if (description != null) {
17084 _json["description"] = description;
17085 }
17086 if (disks != null) {
17087 _json["disks"] = disks.map((value) => (value).toJson()).toList();
17088 }
17089 if (id != null) {
17090 _json["id"] = id;
17091 }
17092 if (kind != null) {
17093 _json["kind"] = kind;
17094 }
17095 if (machineType != null) {
17096 _json["machineType"] = machineType;
17097 }
17098 if (metadata != null) {
17099 _json["metadata"] = (metadata).toJson();
17100 }
17101 if (name != null) {
17102 _json["name"] = name;
17103 }
17104 if (networkInterfaces != null) {
17105 _json["networkInterfaces"] = networkInterfaces.map((value) => (value).toJs on()).toList();
17106 }
17107 if (scheduling != null) {
17108 _json["scheduling"] = (scheduling).toJson();
17109 }
17110 if (selfLink != null) {
17111 _json["selfLink"] = selfLink;
17112 }
17113 if (serviceAccounts != null) {
17114 _json["serviceAccounts"] = serviceAccounts.map((value) => (value).toJson() ).toList();
17115 }
17116 if (status != null) {
17117 _json["status"] = status;
17118 }
17119 if (statusMessage != null) {
17120 _json["statusMessage"] = statusMessage;
17121 }
17122 if (tags != null) {
17123 _json["tags"] = (tags).toJson();
17124 }
17125 if (zone != null) {
17126 _json["zone"] = zone;
17127 }
17128 return _json;
17129 }
17130 }
17131
17132 class InstanceAggregatedList {
17133 /**
17134 * [Output Only] The unique identifier for the resource. This identifier is
17135 * defined by the server.
17136 */
17137 core.String id;
17138 /** [Output Only] A map of scoped instance lists. */
17139 core.Map<core.String, InstancesScopedList> items;
17140 /**
17141 * [Output Only] Type of resource. Always compute#instanceAggregatedList for
17142 * aggregated lists of Instance resources.
17143 */ 18612 */
17144 core.String kind; 18613 core.String kind;
17145 /** 18614 /**
17146 * [Output Only] This token allows you to get the next page of results for 18615 * [Output Only] This token allows you to get the next page of results for
17147 * list requests. If the number of results is larger than maxResults, use the 18616 * list requests. If the number of results is larger than maxResults, use the
17148 * nextPageToken as a value for the query parameter pageToken in the next list 18617 * nextPageToken as a value for the query parameter pageToken in the next list
17149 * request. Subsequent list requests will have their own nextPageToken to 18618 * request. Subsequent list requests will have their own nextPageToken to
17150 * continue paging through the results. 18619 * continue paging through the results.
17151 */ 18620 */
17152 core.String nextPageToken; 18621 core.String nextPageToken;
17153 /** [Output Only] Server-defined URL for this resource. */ 18622 /**
18623 * [Output Only] The URL for this resource type. The server generates this
18624 * URL.
18625 */
17154 core.String selfLink; 18626 core.String selfLink;
17155 18627
17156 InstanceAggregatedList(); 18628 InstanceGroupManagerList();
17157 18629
17158 InstanceAggregatedList.fromJson(core.Map _json) { 18630 InstanceGroupManagerList.fromJson(core.Map _json) {
17159 if (_json.containsKey("id")) { 18631 if (_json.containsKey("id")) {
17160 id = _json["id"]; 18632 id = _json["id"];
17161 } 18633 }
17162 if (_json.containsKey("items")) { 18634 if (_json.containsKey("items")) {
17163 items = commons.mapMap(_json["items"], (item) => new InstancesScopedList.f romJson(item)); 18635 items = _json["items"].map((value) => new InstanceGroupManager.fromJson(va lue)).toList();
17164 } 18636 }
17165 if (_json.containsKey("kind")) { 18637 if (_json.containsKey("kind")) {
17166 kind = _json["kind"]; 18638 kind = _json["kind"];
17167 } 18639 }
17168 if (_json.containsKey("nextPageToken")) { 18640 if (_json.containsKey("nextPageToken")) {
17169 nextPageToken = _json["nextPageToken"]; 18641 nextPageToken = _json["nextPageToken"];
17170 } 18642 }
17171 if (_json.containsKey("selfLink")) { 18643 if (_json.containsKey("selfLink")) {
17172 selfLink = _json["selfLink"]; 18644 selfLink = _json["selfLink"];
17173 } 18645 }
17174 } 18646 }
17175 18647
17176 core.Map toJson() { 18648 core.Map toJson() {
17177 var _json = new core.Map(); 18649 var _json = new core.Map();
17178 if (id != null) { 18650 if (id != null) {
17179 _json["id"] = id; 18651 _json["id"] = id;
17180 } 18652 }
17181 if (items != null) { 18653 if (items != null) {
17182 _json["items"] = commons.mapMap(items, (item) => (item).toJson()); 18654 _json["items"] = items.map((value) => (value).toJson()).toList();
17183 } 18655 }
17184 if (kind != null) { 18656 if (kind != null) {
17185 _json["kind"] = kind; 18657 _json["kind"] = kind;
17186 } 18658 }
17187 if (nextPageToken != null) { 18659 if (nextPageToken != null) {
17188 _json["nextPageToken"] = nextPageToken; 18660 _json["nextPageToken"] = nextPageToken;
17189 } 18661 }
17190 if (selfLink != null) { 18662 if (selfLink != null) {
17191 _json["selfLink"] = selfLink; 18663 _json["selfLink"] = selfLink;
17192 } 18664 }
17193 return _json; 18665 return _json;
17194 } 18666 }
17195 } 18667 }
17196 18668
17197 class InstanceGroup { 18669 class InstanceGroupManagersAbandonInstancesRequest {
17198 /** 18670 /**
17199 * [Output Only] The creation timestamp for this instance group in RFC3339 18671 * The URL for one or more instances to abandon from the managed instance
17200 * text format. 18672 * group.
17201 */ 18673 */
17202 core.String creationTimestamp; 18674 core.List<core.String> instances;
17203 /** 18675
17204 * An optional description of this resource. Provide this property when you 18676 InstanceGroupManagersAbandonInstancesRequest();
17205 * create the resource. 18677
17206 */ 18678 InstanceGroupManagersAbandonInstancesRequest.fromJson(core.Map _json) {
17207 core.String description; 18679 if (_json.containsKey("instances")) {
17208 /** 18680 instances = _json["instances"];
17209 * [Output Only] The fingerprint of the named ports. The system uses this 18681 }
17210 * fingerprint to detect conflicts when multiple users change the named ports 18682 }
17211 * concurrently. 18683
18684 core.Map toJson() {
18685 var _json = new core.Map();
18686 if (instances != null) {
18687 _json["instances"] = instances;
18688 }
18689 return _json;
18690 }
18691 }
18692
18693 class InstanceGroupManagersDeleteInstancesRequest {
18694 /**
18695 * The list of instances to delete from this managed instance group. Specify
18696 * one or more instance URLs.
18697 */
18698 core.List<core.String> instances;
18699
18700 InstanceGroupManagersDeleteInstancesRequest();
18701
18702 InstanceGroupManagersDeleteInstancesRequest.fromJson(core.Map _json) {
18703 if (_json.containsKey("instances")) {
18704 instances = _json["instances"];
18705 }
18706 }
18707
18708 core.Map toJson() {
18709 var _json = new core.Map();
18710 if (instances != null) {
18711 _json["instances"] = instances;
18712 }
18713 return _json;
18714 }
18715 }
18716
18717 class InstanceGroupManagersListManagedInstancesResponse {
18718 /** [Output Only] The list of instances in the managed instance group. */
18719 core.List<ManagedInstance> managedInstances;
18720
18721 InstanceGroupManagersListManagedInstancesResponse();
18722
18723 InstanceGroupManagersListManagedInstancesResponse.fromJson(core.Map _json) {
18724 if (_json.containsKey("managedInstances")) {
18725 managedInstances = _json["managedInstances"].map((value) => new ManagedIns tance.fromJson(value)).toList();
18726 }
18727 }
18728
18729 core.Map toJson() {
18730 var _json = new core.Map();
18731 if (managedInstances != null) {
18732 _json["managedInstances"] = managedInstances.map((value) => (value).toJson ()).toList();
18733 }
18734 return _json;
18735 }
18736 }
18737
18738 class InstanceGroupManagersRecreateInstancesRequest {
18739 /** The URL for one or more instances to recreate. */
18740 core.List<core.String> instances;
18741
18742 InstanceGroupManagersRecreateInstancesRequest();
18743
18744 InstanceGroupManagersRecreateInstancesRequest.fromJson(core.Map _json) {
18745 if (_json.containsKey("instances")) {
18746 instances = _json["instances"];
18747 }
18748 }
18749
18750 core.Map toJson() {
18751 var _json = new core.Map();
18752 if (instances != null) {
18753 _json["instances"] = instances;
18754 }
18755 return _json;
18756 }
18757 }
18758
18759 class InstanceGroupManagersScopedListWarningData {
18760 /**
18761 * [Output Only] A key that provides more detail on the warning being
18762 * returned. For example, for warnings where there are no results in a list
18763 * request for a particular zone, this key might be scope and the key value
18764 * might be the zone name. Other examples might be a key indicating a
18765 * deprecated resource and a suggested replacement, or a warning about invalid
18766 * network settings (for example, if an instance attempts to perform IP
18767 * forwarding but is not enabled for IP forwarding).
18768 */
18769 core.String key;
18770 /** [Output Only] A warning data value corresponding to the key. */
18771 core.String value;
18772
18773 InstanceGroupManagersScopedListWarningData();
18774
18775 InstanceGroupManagersScopedListWarningData.fromJson(core.Map _json) {
18776 if (_json.containsKey("key")) {
18777 key = _json["key"];
18778 }
18779 if (_json.containsKey("value")) {
18780 value = _json["value"];
18781 }
18782 }
18783
18784 core.Map toJson() {
18785 var _json = new core.Map();
18786 if (key != null) {
18787 _json["key"] = key;
18788 }
18789 if (value != null) {
18790 _json["value"] = value;
18791 }
18792 return _json;
18793 }
18794 }
18795
18796 /**
18797 * [Output Only] The warning that replaces the list of managed instance groups
18798 * when the list is empty.
18799 */
18800 class InstanceGroupManagersScopedListWarning {
18801 /**
18802 * [Output Only] A warning code, if applicable. For example, Compute Engine
18803 * returns NO_RESULTS_ON_PAGE if there are no results in the response.
18804 * Possible string values are:
18805 * - "CLEANUP_FAILED"
18806 * - "DEPRECATED_RESOURCE_USED"
18807 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
18808 * - "INJECTED_KERNELS_DEPRECATED"
18809 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
18810 * - "NEXT_HOP_CANNOT_IP_FORWARD"
18811 * - "NEXT_HOP_INSTANCE_NOT_FOUND"
18812 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
18813 * - "NEXT_HOP_NOT_RUNNING"
18814 * - "NOT_CRITICAL_ERROR"
18815 * - "NO_RESULTS_ON_PAGE"
18816 * - "REQUIRED_TOS_AGREEMENT"
18817 * - "RESOURCE_NOT_DELETED"
18818 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
18819 * - "UNREACHABLE"
18820 */
18821 core.String code;
18822 /**
18823 * [Output Only] Metadata about this warning in key: value format. For
18824 * example:
18825 * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
18826 */
18827 core.List<InstanceGroupManagersScopedListWarningData> data;
18828 /** [Output Only] A human-readable description of the warning code. */
18829 core.String message;
18830
18831 InstanceGroupManagersScopedListWarning();
18832
18833 InstanceGroupManagersScopedListWarning.fromJson(core.Map _json) {
18834 if (_json.containsKey("code")) {
18835 code = _json["code"];
18836 }
18837 if (_json.containsKey("data")) {
18838 data = _json["data"].map((value) => new InstanceGroupManagersScopedListWar ningData.fromJson(value)).toList();
18839 }
18840 if (_json.containsKey("message")) {
18841 message = _json["message"];
18842 }
18843 }
18844
18845 core.Map toJson() {
18846 var _json = new core.Map();
18847 if (code != null) {
18848 _json["code"] = code;
18849 }
18850 if (data != null) {
18851 _json["data"] = data.map((value) => (value).toJson()).toList();
18852 }
18853 if (message != null) {
18854 _json["message"] = message;
18855 }
18856 return _json;
18857 }
18858 }
18859
18860 class InstanceGroupManagersScopedList {
18861 /**
18862 * [Output Only] The list of managed instance groups that are contained in the
18863 * specified project and zone.
18864 */
18865 core.List<InstanceGroupManager> instanceGroupManagers;
18866 /**
18867 * [Output Only] The warning that replaces the list of managed instance groups
18868 * when the list is empty.
18869 */
18870 InstanceGroupManagersScopedListWarning warning;
18871
18872 InstanceGroupManagersScopedList();
18873
18874 InstanceGroupManagersScopedList.fromJson(core.Map _json) {
18875 if (_json.containsKey("instanceGroupManagers")) {
18876 instanceGroupManagers = _json["instanceGroupManagers"].map((value) => new InstanceGroupManager.fromJson(value)).toList();
18877 }
18878 if (_json.containsKey("warning")) {
18879 warning = new InstanceGroupManagersScopedListWarning.fromJson(_json["warni ng"]);
18880 }
18881 }
18882
18883 core.Map toJson() {
18884 var _json = new core.Map();
18885 if (instanceGroupManagers != null) {
18886 _json["instanceGroupManagers"] = instanceGroupManagers.map((value) => (val ue).toJson()).toList();
18887 }
18888 if (warning != null) {
18889 _json["warning"] = (warning).toJson();
18890 }
18891 return _json;
18892 }
18893 }
18894
18895 class InstanceGroupManagersSetInstanceTemplateRequest {
18896 /**
18897 * The URL of the instance template that is specified for this managed
18898 * instance group. The group uses this template to create all new instances in
18899 * the managed instance group.
18900 */
18901 core.String instanceTemplate;
18902
18903 InstanceGroupManagersSetInstanceTemplateRequest();
18904
18905 InstanceGroupManagersSetInstanceTemplateRequest.fromJson(core.Map _json) {
18906 if (_json.containsKey("instanceTemplate")) {
18907 instanceTemplate = _json["instanceTemplate"];
18908 }
18909 }
18910
18911 core.Map toJson() {
18912 var _json = new core.Map();
18913 if (instanceTemplate != null) {
18914 _json["instanceTemplate"] = instanceTemplate;
18915 }
18916 return _json;
18917 }
18918 }
18919
18920 class InstanceGroupManagersSetTargetPoolsRequest {
18921 /**
18922 * The fingerprint of the target pools information. Use this optional property
18923 * to prevent conflicts when multiple users change the target pools settings
18924 * concurrently. Obtain the fingerprint with the instanceGroupManagers.get
18925 * method. Then, include the fingerprint in your request to ensure that you do
18926 * not overwrite changes that were applied from another concurrent request.
17212 */ 18927 */
17213 core.String fingerprint; 18928 core.String fingerprint;
17214 core.List<core.int> get fingerprintAsBytes { 18929 core.List<core.int> get fingerprintAsBytes {
17215 return crypto.CryptoUtils.base64StringToBytes(fingerprint); 18930 return convert.BASE64.decode(fingerprint);
17216 } 18931 }
17217 18932
17218 void set fingerprintAsBytes(core.List<core.int> _bytes) { 18933 void set fingerprintAsBytes(core.List<core.int> _bytes) {
17219 fingerprint = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true); 18934 fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll( "+", "-");
17220 } 18935 }
17221 /** 18936 /**
17222 * [Output Only] A unique identifier for this resource type. The server 18937 * The list of target pool URLs that instances in this managed instance group
17223 * generates this identifier. 18938 * belong to. The managed instance group applies these target pools to all of
17224 */ 18939 * the instances in the group. Existing instances and new instances in the
17225 core.String id; 18940 * group all receive these target pool settings.
17226 /** 18941 */
17227 * [Output Only] The resource type, which is always compute#instanceGroup for 18942 core.List<core.String> targetPools;
17228 * instance groups. 18943
17229 */ 18944 InstanceGroupManagersSetTargetPoolsRequest();
17230 core.String kind; 18945
17231 /** 18946 InstanceGroupManagersSetTargetPoolsRequest.fromJson(core.Map _json) {
17232 * The name of the instance group. The name must be 1-63 characters long, and
17233 * comply with RFC1035.
17234 */
17235 core.String name;
17236 /**
17237 * Assigns a name to a port number. For example: {name: "http", port: 80}
17238 *
17239 * This allows the system to reference ports by the assigned name instead of a
17240 * port number. Named ports can also contain multiple ports. For example:
17241 * [{name: "http", port: 80},{name: "http", port: 8080}]
17242 *
17243 * Named ports apply to all instances in this instance group.
17244 */
17245 core.List<NamedPort> namedPorts;
17246 /**
17247 * The URL of the network to which all instances in the instance group belong.
17248 */
17249 core.String network;
17250 /**
17251 * [Output Only] The URL for this instance group. The server generates this
17252 * URL.
17253 */
17254 core.String selfLink;
17255 /** [Output Only] The total number of instances in the instance group. */
17256 core.int size;
17257 /**
17258 * The URL of the subnetwork to which all instances in the instance group
17259 * belong.
17260 */
17261 core.String subnetwork;
17262 /** [Output Only] The URL of the zone where the instance group is located. */
17263 core.String zone;
17264
17265 InstanceGroup();
17266
17267 InstanceGroup.fromJson(core.Map _json) {
17268 if (_json.containsKey("creationTimestamp")) {
17269 creationTimestamp = _json["creationTimestamp"];
17270 }
17271 if (_json.containsKey("description")) {
17272 description = _json["description"];
17273 }
17274 if (_json.containsKey("fingerprint")) { 18947 if (_json.containsKey("fingerprint")) {
17275 fingerprint = _json["fingerprint"]; 18948 fingerprint = _json["fingerprint"];
17276 } 18949 }
17277 if (_json.containsKey("id")) { 18950 if (_json.containsKey("targetPools")) {
17278 id = _json["id"]; 18951 targetPools = _json["targetPools"];
17279 } 18952 }
17280 if (_json.containsKey("kind")) { 18953 }
17281 kind = _json["kind"]; 18954
17282 } 18955 core.Map toJson() {
17283 if (_json.containsKey("name")) { 18956 var _json = new core.Map();
17284 name = _json["name"];
17285 }
17286 if (_json.containsKey("namedPorts")) {
17287 namedPorts = _json["namedPorts"].map((value) => new NamedPort.fromJson(val ue)).toList();
17288 }
17289 if (_json.containsKey("network")) {
17290 network = _json["network"];
17291 }
17292 if (_json.containsKey("selfLink")) {
17293 selfLink = _json["selfLink"];
17294 }
17295 if (_json.containsKey("size")) {
17296 size = _json["size"];
17297 }
17298 if (_json.containsKey("subnetwork")) {
17299 subnetwork = _json["subnetwork"];
17300 }
17301 if (_json.containsKey("zone")) {
17302 zone = _json["zone"];
17303 }
17304 }
17305
17306 core.Map toJson() {
17307 var _json = new core.Map();
17308 if (creationTimestamp != null) {
17309 _json["creationTimestamp"] = creationTimestamp;
17310 }
17311 if (description != null) {
17312 _json["description"] = description;
17313 }
17314 if (fingerprint != null) { 18957 if (fingerprint != null) {
17315 _json["fingerprint"] = fingerprint; 18958 _json["fingerprint"] = fingerprint;
17316 } 18959 }
17317 if (id != null) { 18960 if (targetPools != null) {
17318 _json["id"] = id; 18961 _json["targetPools"] = targetPools;
17319 } 18962 }
17320 if (kind != null) { 18963 return _json;
17321 _json["kind"] = kind; 18964 }
17322 } 18965 }
17323 if (name != null) { 18966
17324 _json["name"] = name; 18967 class InstanceGroupsAddInstancesRequest {
17325 } 18968 /** The list of instances to add to the instance group. */
17326 if (namedPorts != null) { 18969 core.List<InstanceReference> instances;
17327 _json["namedPorts"] = namedPorts.map((value) => (value).toJson()).toList() ; 18970
17328 } 18971 InstanceGroupsAddInstancesRequest();
17329 if (network != null) { 18972
17330 _json["network"] = network; 18973 InstanceGroupsAddInstancesRequest.fromJson(core.Map _json) {
17331 } 18974 if (_json.containsKey("instances")) {
17332 if (selfLink != null) { 18975 instances = _json["instances"].map((value) => new InstanceReference.fromJs on(value)).toList();
17333 _json["selfLink"] = selfLink; 18976 }
17334 } 18977 }
17335 if (size != null) { 18978
17336 _json["size"] = size; 18979 core.Map toJson() {
17337 } 18980 var _json = new core.Map();
17338 if (subnetwork != null) { 18981 if (instances != null) {
17339 _json["subnetwork"] = subnetwork; 18982 _json["instances"] = instances.map((value) => (value).toJson()).toList();
17340 } 18983 }
17341 if (zone != null) { 18984 return _json;
17342 _json["zone"] = zone; 18985 }
17343 } 18986 }
17344 return _json; 18987
17345 } 18988 class InstanceGroupsListInstances {
17346 } 18989 /**
17347 18990 * [Output Only] A unique identifier for this list of instance groups. The
17348 class InstanceGroupAggregatedList { 18991 * server generates this identifier.
17349 /**
17350 * [Output Only] A unique identifier for this aggregated list of instance
17351 * groups. The server generates this identifier.
17352 */ 18992 */
17353 core.String id; 18993 core.String id;
17354 /** A map of scoped instance group lists. */ 18994 /**
17355 core.Map<core.String, InstanceGroupsScopedList> items; 18995 * [Output Only] A list of instances and any named ports that are assigned to
18996 * those instances.
18997 */
18998 core.List<InstanceWithNamedPorts> items;
17356 /** 18999 /**
17357 * [Output Only] The resource type, which is always 19000 * [Output Only] The resource type, which is always
17358 * compute#instanceGroupAggregatedList for aggregated lists of instance 19001 * compute#instanceGroupsListInstances for lists of instance groups.
17359 * groups.
17360 */ 19002 */
17361 core.String kind; 19003 core.String kind;
17362 /** 19004 /**
17363 * [Output Only] This token allows you to get the next page of results for 19005 * [Output Only] This token allows you to get the next page of results for
17364 * list requests. If the number of results is larger than maxResults, use the 19006 * list requests. If the number of results is larger than maxResults, use the
17365 * nextPageToken as a value for the query parameter pageToken in the next list 19007 * nextPageToken as a value for the query parameter pageToken in the next list
17366 * request. Subsequent list requests will have their own nextPageToken to 19008 * request. Subsequent list requests will have their own nextPageToken to
17367 * continue paging through the results. 19009 * continue paging through the results.
17368 */ 19010 */
17369 core.String nextPageToken; 19011 core.String nextPageToken;
17370 /** 19012 /**
17371 * [Output Only] The URL for this resource type. The server generates this 19013 * [Output Only] The URL for this list of instance groups. The server
17372 * URL. 19014 * generates this URL.
17373 */ 19015 */
17374 core.String selfLink; 19016 core.String selfLink;
17375 19017
17376 InstanceGroupAggregatedList(); 19018 InstanceGroupsListInstances();
17377 19019
17378 InstanceGroupAggregatedList.fromJson(core.Map _json) { 19020 InstanceGroupsListInstances.fromJson(core.Map _json) {
17379 if (_json.containsKey("id")) { 19021 if (_json.containsKey("id")) {
17380 id = _json["id"]; 19022 id = _json["id"];
17381 } 19023 }
17382 if (_json.containsKey("items")) { 19024 if (_json.containsKey("items")) {
17383 items = commons.mapMap(_json["items"], (item) => new InstanceGroupsScopedL ist.fromJson(item)); 19025 items = _json["items"].map((value) => new InstanceWithNamedPorts.fromJson( value)).toList();
17384 } 19026 }
17385 if (_json.containsKey("kind")) { 19027 if (_json.containsKey("kind")) {
17386 kind = _json["kind"]; 19028 kind = _json["kind"];
17387 } 19029 }
17388 if (_json.containsKey("nextPageToken")) { 19030 if (_json.containsKey("nextPageToken")) {
17389 nextPageToken = _json["nextPageToken"]; 19031 nextPageToken = _json["nextPageToken"];
17390 } 19032 }
17391 if (_json.containsKey("selfLink")) { 19033 if (_json.containsKey("selfLink")) {
17392 selfLink = _json["selfLink"]; 19034 selfLink = _json["selfLink"];
17393 } 19035 }
17394 } 19036 }
17395 19037
17396 core.Map toJson() { 19038 core.Map toJson() {
17397 var _json = new core.Map(); 19039 var _json = new core.Map();
17398 if (id != null) { 19040 if (id != null) {
17399 _json["id"] = id; 19041 _json["id"] = id;
17400 } 19042 }
17401 if (items != null) { 19043 if (items != null) {
17402 _json["items"] = commons.mapMap(items, (item) => (item).toJson()); 19044 _json["items"] = items.map((value) => (value).toJson()).toList();
17403 } 19045 }
17404 if (kind != null) { 19046 if (kind != null) {
17405 _json["kind"] = kind; 19047 _json["kind"] = kind;
17406 } 19048 }
17407 if (nextPageToken != null) { 19049 if (nextPageToken != null) {
17408 _json["nextPageToken"] = nextPageToken; 19050 _json["nextPageToken"] = nextPageToken;
17409 } 19051 }
17410 if (selfLink != null) { 19052 if (selfLink != null) {
17411 _json["selfLink"] = selfLink; 19053 _json["selfLink"] = selfLink;
17412 } 19054 }
17413 return _json; 19055 return _json;
17414 } 19056 }
17415 } 19057 }
17416 19058
17417 /** A list of InstanceGroup resources. */ 19059 class InstanceGroupsListInstancesRequest {
17418 class InstanceGroupList { 19060 /**
17419 /** 19061 * A filter for the state of the instances in the instance group. Valid
17420 * [Output Only] A unique identifier for this list of instance groups. The 19062 * options are ALL or RUNNING. If you do not specify this parameter the list
17421 * server generates this identifier. 19063 * includes all instances regardless of their state.
17422 */ 19064 * Possible string values are:
17423 core.String id; 19065 * - "ALL"
17424 /** A list of instance groups. */ 19066 * - "RUNNING"
17425 core.List<InstanceGroup> items; 19067 */
17426 /** 19068 core.String instanceState;
17427 * [Output Only] The resource type, which is always compute#instanceGroupList 19069
17428 * for instance group lists. 19070 InstanceGroupsListInstancesRequest();
17429 */ 19071
17430 core.String kind; 19072 InstanceGroupsListInstancesRequest.fromJson(core.Map _json) {
17431 /** 19073 if (_json.containsKey("instanceState")) {
17432 * [Output Only] This token allows you to get the next page of results for 19074 instanceState = _json["instanceState"];
17433 * list requests. If the number of results is larger than maxResults, use the 19075 }
17434 * nextPageToken as a value for the query parameter pageToken in the next list 19076 }
17435 * request. Subsequent list requests will have their own nextPageToken to 19077
17436 * continue paging through the results. 19078 core.Map toJson() {
17437 */ 19079 var _json = new core.Map();
17438 core.String nextPageToken; 19080 if (instanceState != null) {
17439 /** 19081 _json["instanceState"] = instanceState;
17440 * [Output Only] The URL for this resource type. The server generates this 19082 }
17441 * URL. 19083 return _json;
17442 */ 19084 }
17443 core.String selfLink; 19085 }
17444 19086
17445 InstanceGroupList(); 19087 class InstanceGroupsRemoveInstancesRequest {
17446 19088 /** The list of instances to remove from the instance group. */
17447 InstanceGroupList.fromJson(core.Map _json) { 19089 core.List<InstanceReference> instances;
17448 if (_json.containsKey("id")) { 19090
17449 id = _json["id"]; 19091 InstanceGroupsRemoveInstancesRequest();
17450 } 19092
17451 if (_json.containsKey("items")) { 19093 InstanceGroupsRemoveInstancesRequest.fromJson(core.Map _json) {
17452 items = _json["items"].map((value) => new InstanceGroup.fromJson(value)).t oList(); 19094 if (_json.containsKey("instances")) {
17453 } 19095 instances = _json["instances"].map((value) => new InstanceReference.fromJs on(value)).toList();
17454 if (_json.containsKey("kind")) { 19096 }
17455 kind = _json["kind"]; 19097 }
17456 } 19098
17457 if (_json.containsKey("nextPageToken")) { 19099 core.Map toJson() {
17458 nextPageToken = _json["nextPageToken"]; 19100 var _json = new core.Map();
17459 } 19101 if (instances != null) {
17460 if (_json.containsKey("selfLink")) { 19102 _json["instances"] = instances.map((value) => (value).toJson()).toList();
17461 selfLink = _json["selfLink"]; 19103 }
17462 } 19104 return _json;
17463 } 19105 }
17464 19106 }
17465 core.Map toJson() { 19107
17466 var _json = new core.Map(); 19108 class InstanceGroupsScopedListWarningData {
17467 if (id != null) { 19109 /**
17468 _json["id"] = id; 19110 * [Output Only] A key that provides more detail on the warning being
17469 } 19111 * returned. For example, for warnings where there are no results in a list
17470 if (items != null) { 19112 * request for a particular zone, this key might be scope and the key value
17471 _json["items"] = items.map((value) => (value).toJson()).toList(); 19113 * might be the zone name. Other examples might be a key indicating a
17472 } 19114 * deprecated resource and a suggested replacement, or a warning about invalid
17473 if (kind != null) { 19115 * network settings (for example, if an instance attempts to perform IP
17474 _json["kind"] = kind; 19116 * forwarding but is not enabled for IP forwarding).
17475 } 19117 */
17476 if (nextPageToken != null) { 19118 core.String key;
17477 _json["nextPageToken"] = nextPageToken; 19119 /** [Output Only] A warning data value corresponding to the key. */
17478 } 19120 core.String value;
17479 if (selfLink != null) { 19121
17480 _json["selfLink"] = selfLink; 19122 InstanceGroupsScopedListWarningData();
17481 } 19123
17482 return _json; 19124 InstanceGroupsScopedListWarningData.fromJson(core.Map _json) {
17483 } 19125 if (_json.containsKey("key")) {
17484 } 19126 key = _json["key"];
17485 19127 }
17486 class InstanceGroupManager { 19128 if (_json.containsKey("value")) {
17487 /** 19129 value = _json["value"];
17488 * The base instance name to use for instances in this group. The value must 19130 }
17489 * be 1-58 characters long. Instances are named by appending a hyphen and a 19131 }
17490 * random four-character string to the base instance name. The base instance 19132
17491 * name must comply with RFC1035. 19133 core.Map toJson() {
17492 */ 19134 var _json = new core.Map();
17493 core.String baseInstanceName; 19135 if (key != null) {
17494 /** 19136 _json["key"] = key;
17495 * [Output Only] The creation timestamp for this managed instance group in 19137 }
17496 * RFC3339 text format. 19138 if (value != null) {
17497 */ 19139 _json["value"] = value;
17498 core.String creationTimestamp; 19140 }
17499 /** 19141 return _json;
17500 * [Output Only] The list of instance actions and the number of instances in 19142 }
17501 * this managed instance group that are scheduled for each of those actions. 19143 }
17502 */ 19144
17503 InstanceGroupManagerActionsSummary currentActions; 19145 /**
17504 /** 19146 * [Output Only] An informational warning that replaces the list of instance
17505 * An optional description of this resource. Provide this property when you 19147 * groups when the list is empty.
17506 * create the resource. 19148 */
17507 */ 19149 class InstanceGroupsScopedListWarning {
17508 core.String description; 19150 /**
17509 /** 19151 * [Output Only] A warning code, if applicable. For example, Compute Engine
17510 * [Output Only] The fingerprint of the resource data. You can use this 19152 * returns NO_RESULTS_ON_PAGE if there are no results in the response.
17511 * optional field for optimistic locking when you update the resource. 19153 * Possible string values are:
19154 * - "CLEANUP_FAILED"
19155 * - "DEPRECATED_RESOURCE_USED"
19156 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
19157 * - "INJECTED_KERNELS_DEPRECATED"
19158 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
19159 * - "NEXT_HOP_CANNOT_IP_FORWARD"
19160 * - "NEXT_HOP_INSTANCE_NOT_FOUND"
19161 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
19162 * - "NEXT_HOP_NOT_RUNNING"
19163 * - "NOT_CRITICAL_ERROR"
19164 * - "NO_RESULTS_ON_PAGE"
19165 * - "REQUIRED_TOS_AGREEMENT"
19166 * - "RESOURCE_NOT_DELETED"
19167 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
19168 * - "UNREACHABLE"
19169 */
19170 core.String code;
19171 /**
19172 * [Output Only] Metadata about this warning in key: value format. For
19173 * example:
19174 * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
19175 */
19176 core.List<InstanceGroupsScopedListWarningData> data;
19177 /** [Output Only] A human-readable description of the warning code. */
19178 core.String message;
19179
19180 InstanceGroupsScopedListWarning();
19181
19182 InstanceGroupsScopedListWarning.fromJson(core.Map _json) {
19183 if (_json.containsKey("code")) {
19184 code = _json["code"];
19185 }
19186 if (_json.containsKey("data")) {
19187 data = _json["data"].map((value) => new InstanceGroupsScopedListWarningDat a.fromJson(value)).toList();
19188 }
19189 if (_json.containsKey("message")) {
19190 message = _json["message"];
19191 }
19192 }
19193
19194 core.Map toJson() {
19195 var _json = new core.Map();
19196 if (code != null) {
19197 _json["code"] = code;
19198 }
19199 if (data != null) {
19200 _json["data"] = data.map((value) => (value).toJson()).toList();
19201 }
19202 if (message != null) {
19203 _json["message"] = message;
19204 }
19205 return _json;
19206 }
19207 }
19208
19209 class InstanceGroupsScopedList {
19210 /**
19211 * [Output Only] The list of instance groups that are contained in this scope.
19212 */
19213 core.List<InstanceGroup> instanceGroups;
19214 /**
19215 * [Output Only] An informational warning that replaces the list of instance
19216 * groups when the list is empty.
19217 */
19218 InstanceGroupsScopedListWarning warning;
19219
19220 InstanceGroupsScopedList();
19221
19222 InstanceGroupsScopedList.fromJson(core.Map _json) {
19223 if (_json.containsKey("instanceGroups")) {
19224 instanceGroups = _json["instanceGroups"].map((value) => new InstanceGroup. fromJson(value)).toList();
19225 }
19226 if (_json.containsKey("warning")) {
19227 warning = new InstanceGroupsScopedListWarning.fromJson(_json["warning"]);
19228 }
19229 }
19230
19231 core.Map toJson() {
19232 var _json = new core.Map();
19233 if (instanceGroups != null) {
19234 _json["instanceGroups"] = instanceGroups.map((value) => (value).toJson()). toList();
19235 }
19236 if (warning != null) {
19237 _json["warning"] = (warning).toJson();
19238 }
19239 return _json;
19240 }
19241 }
19242
19243 class InstanceGroupsSetNamedPortsRequest {
19244 /**
19245 * The fingerprint of the named ports information for this instance group. Use
19246 * this optional property to prevent conflicts when multiple users change the
19247 * named ports settings concurrently. Obtain the fingerprint with the
19248 * instanceGroups.get method. Then, include the fingerprint in your request to
19249 * ensure that you do not overwrite changes that were applied from another
19250 * concurrent request.
17512 */ 19251 */
17513 core.String fingerprint; 19252 core.String fingerprint;
17514 core.List<core.int> get fingerprintAsBytes { 19253 core.List<core.int> get fingerprintAsBytes {
17515 return crypto.CryptoUtils.base64StringToBytes(fingerprint); 19254 return convert.BASE64.decode(fingerprint);
17516 } 19255 }
17517 19256
17518 void set fingerprintAsBytes(core.List<core.int> _bytes) { 19257 void set fingerprintAsBytes(core.List<core.int> _bytes) {
17519 fingerprint = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true); 19258 fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll( "+", "-");
17520 } 19259 }
17521 /** 19260 /** The list of named ports to set for this instance group. */
17522 * [Output Only] A unique identifier for this resource type. The server
17523 * generates this identifier.
17524 */
17525 core.String id;
17526 /** [Output Only] The URL of the Instance Group resource. */
17527 core.String instanceGroup;
17528 /**
17529 * The URL of the instance template that is specified for this managed
17530 * instance group. The group uses this template to create all new instances in
17531 * the managed instance group.
17532 */
17533 core.String instanceTemplate;
17534 /**
17535 * [Output Only] The resource type, which is always
17536 * compute#instanceGroupManager for managed instance groups.
17537 */
17538 core.String kind;
17539 /**
17540 * The name of the managed instance group. The name must be 1-63 characters
17541 * long, and comply with RFC1035.
17542 */
17543 core.String name;
17544 /**
17545 * Named ports configured for the Instance Groups complementary to this
17546 * Instance Group Manager.
17547 */
17548 core.List<NamedPort> namedPorts; 19261 core.List<NamedPort> namedPorts;
17549 /** 19262
17550 * [Output Only] The URL for this managed instance group. The server defines 19263 InstanceGroupsSetNamedPortsRequest();
17551 * this URL. 19264
17552 */ 19265 InstanceGroupsSetNamedPortsRequest.fromJson(core.Map _json) {
17553 core.String selfLink;
17554 /**
17555 * The URLs for all TargetPool resources to which instances in the
17556 * instanceGroup field are added. The target pools automatically apply to all
17557 * of the instances in the managed instance group.
17558 */
17559 core.List<core.String> targetPools;
17560 /**
17561 * The target number of running instances for this managed instance group.
17562 * Deleting or abandoning instances reduces this number. Resizing the group
17563 * changes this number.
17564 */
17565 core.int targetSize;
17566 /** The name of the zone where the managed instance group is located. */
17567 core.String zone;
17568
17569 InstanceGroupManager();
17570
17571 InstanceGroupManager.fromJson(core.Map _json) {
17572 if (_json.containsKey("baseInstanceName")) {
17573 baseInstanceName = _json["baseInstanceName"];
17574 }
17575 if (_json.containsKey("creationTimestamp")) {
17576 creationTimestamp = _json["creationTimestamp"];
17577 }
17578 if (_json.containsKey("currentActions")) {
17579 currentActions = new InstanceGroupManagerActionsSummary.fromJson(_json["cu rrentActions"]);
17580 }
17581 if (_json.containsKey("description")) {
17582 description = _json["description"];
17583 }
17584 if (_json.containsKey("fingerprint")) { 19266 if (_json.containsKey("fingerprint")) {
17585 fingerprint = _json["fingerprint"]; 19267 fingerprint = _json["fingerprint"];
17586 } 19268 }
17587 if (_json.containsKey("id")) {
17588 id = _json["id"];
17589 }
17590 if (_json.containsKey("instanceGroup")) {
17591 instanceGroup = _json["instanceGroup"];
17592 }
17593 if (_json.containsKey("instanceTemplate")) {
17594 instanceTemplate = _json["instanceTemplate"];
17595 }
17596 if (_json.containsKey("kind")) {
17597 kind = _json["kind"];
17598 }
17599 if (_json.containsKey("name")) {
17600 name = _json["name"];
17601 }
17602 if (_json.containsKey("namedPorts")) { 19269 if (_json.containsKey("namedPorts")) {
17603 namedPorts = _json["namedPorts"].map((value) => new NamedPort.fromJson(val ue)).toList(); 19270 namedPorts = _json["namedPorts"].map((value) => new NamedPort.fromJson(val ue)).toList();
17604 } 19271 }
17605 if (_json.containsKey("selfLink")) { 19272 }
17606 selfLink = _json["selfLink"]; 19273
17607 } 19274 core.Map toJson() {
17608 if (_json.containsKey("targetPools")) { 19275 var _json = new core.Map();
17609 targetPools = _json["targetPools"];
17610 }
17611 if (_json.containsKey("targetSize")) {
17612 targetSize = _json["targetSize"];
17613 }
17614 if (_json.containsKey("zone")) {
17615 zone = _json["zone"];
17616 }
17617 }
17618
17619 core.Map toJson() {
17620 var _json = new core.Map();
17621 if (baseInstanceName != null) {
17622 _json["baseInstanceName"] = baseInstanceName;
17623 }
17624 if (creationTimestamp != null) {
17625 _json["creationTimestamp"] = creationTimestamp;
17626 }
17627 if (currentActions != null) {
17628 _json["currentActions"] = (currentActions).toJson();
17629 }
17630 if (description != null) {
17631 _json["description"] = description;
17632 }
17633 if (fingerprint != null) { 19276 if (fingerprint != null) {
17634 _json["fingerprint"] = fingerprint; 19277 _json["fingerprint"] = fingerprint;
17635 } 19278 }
17636 if (id != null) {
17637 _json["id"] = id;
17638 }
17639 if (instanceGroup != null) {
17640 _json["instanceGroup"] = instanceGroup;
17641 }
17642 if (instanceTemplate != null) {
17643 _json["instanceTemplate"] = instanceTemplate;
17644 }
17645 if (kind != null) {
17646 _json["kind"] = kind;
17647 }
17648 if (name != null) {
17649 _json["name"] = name;
17650 }
17651 if (namedPorts != null) { 19279 if (namedPorts != null) {
17652 _json["namedPorts"] = namedPorts.map((value) => (value).toJson()).toList() ; 19280 _json["namedPorts"] = namedPorts.map((value) => (value).toJson()).toList() ;
17653 } 19281 }
17654 if (selfLink != null) { 19282 return _json;
17655 _json["selfLink"] = selfLink; 19283 }
17656 } 19284 }
17657 if (targetPools != null) { 19285
17658 _json["targetPools"] = targetPools; 19286 /** Contains a list of instances. */
17659 } 19287 class InstanceList {
17660 if (targetSize != null) { 19288 /**
17661 _json["targetSize"] = targetSize; 19289 * [Output Only] The unique identifier for the resource. This identifier is
17662 } 19290 * defined by the server.
17663 if (zone != null) {
17664 _json["zone"] = zone;
17665 }
17666 return _json;
17667 }
17668 }
17669
17670 class InstanceGroupManagerActionsSummary {
17671 /**
17672 * [Output Only] The total number of instances in the managed instance group
17673 * that are scheduled to be abandoned. Abandoning an instance removes it from
17674 * the managed instance group without deleting it.
17675 */
17676 core.int abandoning;
17677 /**
17678 * [Output Only] The number of instances in the managed instance group that
17679 * are scheduled to be created or are currently being created. If the group
17680 * fails to create one of these instances, it tries again until it creates the
17681 * instance successfully.
17682 */
17683 core.int creating;
17684 /**
17685 * [Output Only] The number of instances in the managed instance group that
17686 * are scheduled to be deleted or are currently being deleted.
17687 */
17688 core.int deleting;
17689 /**
17690 * [Output Only] The number of instances in the managed instance group that
17691 * are running and have no scheduled actions.
17692 */
17693 core.int none;
17694 /**
17695 * [Output Only] The number of instances in the managed instance group that
17696 * are scheduled to be recreated or are currently being being recreated.
17697 * Recreating an instance deletes the existing root persistent disk and
17698 * creates a new disk from the image that is defined in the instance template.
17699 */
17700 core.int recreating;
17701 /**
17702 * [Output Only] The number of instances in the managed instance group that
17703 * are being reconfigured with properties that do not require a restart or a
17704 * recreate action. For example, setting or removing target pools for the
17705 * instance.
17706 */
17707 core.int refreshing;
17708 /**
17709 * [Output Only] The number of instances in the managed instance group that
17710 * are scheduled to be restarted or are currently being restarted.
17711 */
17712 core.int restarting;
17713
17714 InstanceGroupManagerActionsSummary();
17715
17716 InstanceGroupManagerActionsSummary.fromJson(core.Map _json) {
17717 if (_json.containsKey("abandoning")) {
17718 abandoning = _json["abandoning"];
17719 }
17720 if (_json.containsKey("creating")) {
17721 creating = _json["creating"];
17722 }
17723 if (_json.containsKey("deleting")) {
17724 deleting = _json["deleting"];
17725 }
17726 if (_json.containsKey("none")) {
17727 none = _json["none"];
17728 }
17729 if (_json.containsKey("recreating")) {
17730 recreating = _json["recreating"];
17731 }
17732 if (_json.containsKey("refreshing")) {
17733 refreshing = _json["refreshing"];
17734 }
17735 if (_json.containsKey("restarting")) {
17736 restarting = _json["restarting"];
17737 }
17738 }
17739
17740 core.Map toJson() {
17741 var _json = new core.Map();
17742 if (abandoning != null) {
17743 _json["abandoning"] = abandoning;
17744 }
17745 if (creating != null) {
17746 _json["creating"] = creating;
17747 }
17748 if (deleting != null) {
17749 _json["deleting"] = deleting;
17750 }
17751 if (none != null) {
17752 _json["none"] = none;
17753 }
17754 if (recreating != null) {
17755 _json["recreating"] = recreating;
17756 }
17757 if (refreshing != null) {
17758 _json["refreshing"] = refreshing;
17759 }
17760 if (restarting != null) {
17761 _json["restarting"] = restarting;
17762 }
17763 return _json;
17764 }
17765 }
17766
17767 class InstanceGroupManagerAggregatedList {
17768 /**
17769 * [Output Only] A unique identifier for this aggregated list of managed
17770 * instance groups. The server generates this identifier.
17771 */ 19291 */
17772 core.String id; 19292 core.String id;
17773 /** [Output Only] A map of filtered managed instance group lists. */ 19293 /** [Output Only] A list of instances. */
17774 core.Map<core.String, InstanceGroupManagersScopedList> items; 19294 core.List<Instance> items;
17775 /** 19295 /**
17776 * [Output Only] The resource type, which is always 19296 * [Output Only] Type of resource. Always compute#instanceList for lists of
17777 * compute#instanceGroupManagerAggregatedList for an aggregated list of 19297 * Instance resources.
17778 * managed instance groups.
17779 */ 19298 */
17780 core.String kind; 19299 core.String kind;
17781 /** 19300 /**
17782 * [Output Only] This token allows you to get the next page of results for
17783 * list requests. If the number of results is larger than maxResults, use the
17784 * nextPageToken as a value for the query parameter pageToken in the next list
17785 * request. Subsequent list requests will have their own nextPageToken to
17786 * continue paging through the results.
17787 */
17788 core.String nextPageToken;
17789 /**
17790 * [Output Only] The URL for this resource type. The server generates this
17791 * URL.
17792 */
17793 core.String selfLink;
17794
17795 InstanceGroupManagerAggregatedList();
17796
17797 InstanceGroupManagerAggregatedList.fromJson(core.Map _json) {
17798 if (_json.containsKey("id")) {
17799 id = _json["id"];
17800 }
17801 if (_json.containsKey("items")) {
17802 items = commons.mapMap(_json["items"], (item) => new InstanceGroupManagers ScopedList.fromJson(item));
17803 }
17804 if (_json.containsKey("kind")) {
17805 kind = _json["kind"];
17806 }
17807 if (_json.containsKey("nextPageToken")) {
17808 nextPageToken = _json["nextPageToken"];
17809 }
17810 if (_json.containsKey("selfLink")) {
17811 selfLink = _json["selfLink"];
17812 }
17813 }
17814
17815 core.Map toJson() {
17816 var _json = new core.Map();
17817 if (id != null) {
17818 _json["id"] = id;
17819 }
17820 if (items != null) {
17821 _json["items"] = commons.mapMap(items, (item) => (item).toJson());
17822 }
17823 if (kind != null) {
17824 _json["kind"] = kind;
17825 }
17826 if (nextPageToken != null) {
17827 _json["nextPageToken"] = nextPageToken;
17828 }
17829 if (selfLink != null) {
17830 _json["selfLink"] = selfLink;
17831 }
17832 return _json;
17833 }
17834 }
17835
17836 /** [Output Only] A list of managed instance groups. */
17837 class InstanceGroupManagerList {
17838 /**
17839 * [Output Only] A unique identifier for this resource type. The server
17840 * generates this identifier.
17841 */
17842 core.String id;
17843 /** [Output Only] A list of managed instance groups. */
17844 core.List<InstanceGroupManager> items;
17845 /**
17846 * [Output Only] The resource type, which is always
17847 * compute#instanceGroupManagerList for a list of managed instance groups.
17848 */
17849 core.String kind;
17850 /**
17851 * [Output Only] This token allows you to get the next page of results for 19301 * [Output Only] This token allows you to get the next page of results for
17852 * list requests. If the number of results is larger than maxResults, use the 19302 * list requests. If the number of results is larger than maxResults, use the
17853 * nextPageToken as a value for the query parameter pageToken in the next list 19303 * nextPageToken as a value for the query parameter pageToken in the next list
17854 * request. Subsequent list requests will have their own nextPageToken to 19304 * request. Subsequent list requests will have their own nextPageToken to
17855 * continue paging through the results. 19305 * continue paging through the results.
17856 */ 19306 */
17857 core.String nextPageToken; 19307 core.String nextPageToken;
17858 /** 19308 /** [Output Only] Server-defined URL for this resource. */
17859 * [Output Only] The URL for this resource type. The server generates this
17860 * URL.
17861 */
17862 core.String selfLink; 19309 core.String selfLink;
17863 19310
17864 InstanceGroupManagerList(); 19311 InstanceList();
17865 19312
17866 InstanceGroupManagerList.fromJson(core.Map _json) { 19313 InstanceList.fromJson(core.Map _json) {
17867 if (_json.containsKey("id")) { 19314 if (_json.containsKey("id")) {
17868 id = _json["id"]; 19315 id = _json["id"];
17869 } 19316 }
17870 if (_json.containsKey("items")) { 19317 if (_json.containsKey("items")) {
17871 items = _json["items"].map((value) => new InstanceGroupManager.fromJson(va lue)).toList(); 19318 items = _json["items"].map((value) => new Instance.fromJson(value)).toList ();
17872 } 19319 }
17873 if (_json.containsKey("kind")) { 19320 if (_json.containsKey("kind")) {
17874 kind = _json["kind"]; 19321 kind = _json["kind"];
17875 } 19322 }
17876 if (_json.containsKey("nextPageToken")) { 19323 if (_json.containsKey("nextPageToken")) {
17877 nextPageToken = _json["nextPageToken"]; 19324 nextPageToken = _json["nextPageToken"];
17878 } 19325 }
17879 if (_json.containsKey("selfLink")) { 19326 if (_json.containsKey("selfLink")) {
17880 selfLink = _json["selfLink"]; 19327 selfLink = _json["selfLink"];
17881 } 19328 }
(...skipping 13 matching lines...) Expand all
17895 if (nextPageToken != null) { 19342 if (nextPageToken != null) {
17896 _json["nextPageToken"] = nextPageToken; 19343 _json["nextPageToken"] = nextPageToken;
17897 } 19344 }
17898 if (selfLink != null) { 19345 if (selfLink != null) {
17899 _json["selfLink"] = selfLink; 19346 _json["selfLink"] = selfLink;
17900 } 19347 }
17901 return _json; 19348 return _json;
17902 } 19349 }
17903 } 19350 }
17904 19351
17905 class InstanceGroupManagersAbandonInstancesRequest { 19352 class InstanceMoveRequest {
17906 /** 19353 /**
17907 * The URL for one or more instances to abandon from the managed instance 19354 * The URL of the destination zone to move the instance. This can be a full or
17908 * group. 19355 * partial URL. For example, the following are all valid URLs to a zone:
17909 */ 19356 * - https://www.googleapis.com/compute/v1/projects/project/zones/zone
17910 core.List<core.String> instances; 19357 * - projects/project/zones/zone
17911 19358 * - zones/zone
17912 InstanceGroupManagersAbandonInstancesRequest(); 19359 */
17913 19360 core.String destinationZone;
17914 InstanceGroupManagersAbandonInstancesRequest.fromJson(core.Map _json) { 19361 /**
17915 if (_json.containsKey("instances")) { 19362 * The URL of the target instance to move. This can be a full or partial URL.
17916 instances = _json["instances"]; 19363 * For example, the following are all valid URLs to an instance:
17917 } 19364 * -
17918 } 19365 * https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances /instance
17919 19366 * - projects/project/zones/zone/instances/instance
17920 core.Map toJson() { 19367 * - zones/zone/instances/instance
17921 var _json = new core.Map(); 19368 */
17922 if (instances != null) { 19369 core.String targetInstance;
17923 _json["instances"] = instances; 19370
17924 } 19371 InstanceMoveRequest();
17925 return _json; 19372
17926 } 19373 InstanceMoveRequest.fromJson(core.Map _json) {
17927 } 19374 if (_json.containsKey("destinationZone")) {
17928 19375 destinationZone = _json["destinationZone"];
17929 class InstanceGroupManagersDeleteInstancesRequest { 19376 }
17930 /** 19377 if (_json.containsKey("targetInstance")) {
17931 * The list of instances to delete from this managed instance group. Specify 19378 targetInstance = _json["targetInstance"];
17932 * one or more instance URLs. 19379 }
17933 */ 19380 }
17934 core.List<core.String> instances; 19381
17935 19382 core.Map toJson() {
17936 InstanceGroupManagersDeleteInstancesRequest(); 19383 var _json = new core.Map();
17937 19384 if (destinationZone != null) {
17938 InstanceGroupManagersDeleteInstancesRequest.fromJson(core.Map _json) { 19385 _json["destinationZone"] = destinationZone;
17939 if (_json.containsKey("instances")) { 19386 }
17940 instances = _json["instances"]; 19387 if (targetInstance != null) {
17941 } 19388 _json["targetInstance"] = targetInstance;
17942 } 19389 }
17943 19390 return _json;
17944 core.Map toJson() { 19391 }
17945 var _json = new core.Map(); 19392 }
17946 if (instances != null) { 19393
17947 _json["instances"] = instances; 19394 class InstanceProperties {
17948 } 19395 /**
17949 return _json; 19396 * Enables instances created based on this template to send packets with
17950 } 19397 * source IP addresses other than their own and receive packets with
17951 } 19398 * destination IP addresses other than their own. If these instances will be
17952 19399 * used as an IP gateway or it will be set as the next-hop in a Route
17953 class InstanceGroupManagersListManagedInstancesResponse { 19400 * resource, specify true. If unsure, leave this set to false. See the Enable
17954 /** [Output Only] The list of instances in the managed instance group. */ 19401 * IP forwarding for instances documentation for more information.
17955 core.List<ManagedInstance> managedInstances; 19402 */
17956 19403 core.bool canIpForward;
17957 InstanceGroupManagersListManagedInstancesResponse(); 19404 /**
17958 19405 * An optional text description for the instances that are created from this
17959 InstanceGroupManagersListManagedInstancesResponse.fromJson(core.Map _json) { 19406 * instance template.
17960 if (_json.containsKey("managedInstances")) { 19407 */
17961 managedInstances = _json["managedInstances"].map((value) => new ManagedIns tance.fromJson(value)).toList(); 19408 core.String description;
17962 } 19409 /**
17963 } 19410 * An array of disks that are associated with the instances that are created
17964 19411 * from this template.
17965 core.Map toJson() { 19412 */
17966 var _json = new core.Map(); 19413 core.List<AttachedDisk> disks;
17967 if (managedInstances != null) { 19414 /**
17968 _json["managedInstances"] = managedInstances.map((value) => (value).toJson ()).toList(); 19415 * The machine type to use for instances that are created from this template.
17969 } 19416 */
17970 return _json; 19417 core.String machineType;
17971 } 19418 /**
17972 } 19419 * The metadata key/value pairs to assign to instances that are created from
17973 19420 * this template. These pairs can consist of custom metadata or predefined
17974 class InstanceGroupManagersRecreateInstancesRequest { 19421 * keys. See Project and instance metadata for more information.
17975 /** The URL for one or more instances to recreate. */ 19422 */
17976 core.List<core.String> instances; 19423 Metadata metadata;
17977 19424 /** An array of network access configurations for this interface. */
17978 InstanceGroupManagersRecreateInstancesRequest(); 19425 core.List<NetworkInterface> networkInterfaces;
17979 19426 /**
17980 InstanceGroupManagersRecreateInstancesRequest.fromJson(core.Map _json) { 19427 * Specifies the scheduling options for the instances that are created from
17981 if (_json.containsKey("instances")) { 19428 * this template.
17982 instances = _json["instances"]; 19429 */
17983 } 19430 Scheduling scheduling;
17984 } 19431 /**
17985 19432 * A list of service accounts with specified scopes. Access tokens for these
17986 core.Map toJson() { 19433 * service accounts are available to the instances that are created from this
17987 var _json = new core.Map(); 19434 * template. Use metadata queries to obtain the access tokens for these
17988 if (instances != null) { 19435 * instances.
17989 _json["instances"] = instances; 19436 */
17990 } 19437 core.List<ServiceAccount> serviceAccounts;
17991 return _json; 19438 /**
17992 } 19439 * A list of tags to apply to the instances that are created from this
17993 } 19440 * template. The tags identify valid sources or targets for network firewalls.
17994 19441 * The setTags method can modify this list of tags. Each tag within the list
17995 class InstanceGroupManagersScopedListWarningData { 19442 * must comply with RFC1035.
17996 /** 19443 */
17997 * [Output Only] A key that provides more detail on the warning being 19444 Tags tags;
17998 * returned. For example, for warnings where there are no results in a list 19445
17999 * request for a particular zone, this key might be scope and the key value 19446 InstanceProperties();
18000 * might be the zone name. Other examples might be a key indicating a 19447
18001 * deprecated resource and a suggested replacement, or a warning about invalid 19448 InstanceProperties.fromJson(core.Map _json) {
18002 * network settings (for example, if an instance attempts to perform IP 19449 if (_json.containsKey("canIpForward")) {
18003 * forwarding but is not enabled for IP forwarding). 19450 canIpForward = _json["canIpForward"];
18004 */ 19451 }
18005 core.String key; 19452 if (_json.containsKey("description")) {
18006 /** [Output Only] A warning data value corresponding to the key. */ 19453 description = _json["description"];
18007 core.String value; 19454 }
18008 19455 if (_json.containsKey("disks")) {
18009 InstanceGroupManagersScopedListWarningData(); 19456 disks = _json["disks"].map((value) => new AttachedDisk.fromJson(value)).to List();
18010 19457 }
18011 InstanceGroupManagersScopedListWarningData.fromJson(core.Map _json) { 19458 if (_json.containsKey("machineType")) {
18012 if (_json.containsKey("key")) { 19459 machineType = _json["machineType"];
18013 key = _json["key"]; 19460 }
18014 } 19461 if (_json.containsKey("metadata")) {
18015 if (_json.containsKey("value")) { 19462 metadata = new Metadata.fromJson(_json["metadata"]);
18016 value = _json["value"]; 19463 }
18017 } 19464 if (_json.containsKey("networkInterfaces")) {
18018 } 19465 networkInterfaces = _json["networkInterfaces"].map((value) => new NetworkI nterface.fromJson(value)).toList();
18019 19466 }
18020 core.Map toJson() { 19467 if (_json.containsKey("scheduling")) {
18021 var _json = new core.Map(); 19468 scheduling = new Scheduling.fromJson(_json["scheduling"]);
18022 if (key != null) { 19469 }
18023 _json["key"] = key; 19470 if (_json.containsKey("serviceAccounts")) {
18024 } 19471 serviceAccounts = _json["serviceAccounts"].map((value) => new ServiceAccou nt.fromJson(value)).toList();
18025 if (value != null) { 19472 }
18026 _json["value"] = value; 19473 if (_json.containsKey("tags")) {
18027 } 19474 tags = new Tags.fromJson(_json["tags"]);
18028 return _json; 19475 }
18029 } 19476 }
18030 } 19477
18031 19478 core.Map toJson() {
18032 /** 19479 var _json = new core.Map();
18033 * [Output Only] The warning that replaces the list of managed instance groups 19480 if (canIpForward != null) {
18034 * when the list is empty. 19481 _json["canIpForward"] = canIpForward;
18035 */ 19482 }
18036 class InstanceGroupManagersScopedListWarning { 19483 if (description != null) {
18037 /** 19484 _json["description"] = description;
18038 * [Output Only] A warning code, if applicable. For example, Compute Engine 19485 }
18039 * returns NO_RESULTS_ON_PAGE if there are no results in the response. 19486 if (disks != null) {
18040 * Possible string values are: 19487 _json["disks"] = disks.map((value) => (value).toJson()).toList();
18041 * - "CLEANUP_FAILED" 19488 }
18042 * - "DEPRECATED_RESOURCE_USED" 19489 if (machineType != null) {
18043 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" 19490 _json["machineType"] = machineType;
18044 * - "INJECTED_KERNELS_DEPRECATED" 19491 }
18045 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED" 19492 if (metadata != null) {
18046 * - "NEXT_HOP_CANNOT_IP_FORWARD" 19493 _json["metadata"] = (metadata).toJson();
18047 * - "NEXT_HOP_INSTANCE_NOT_FOUND" 19494 }
18048 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" 19495 if (networkInterfaces != null) {
18049 * - "NEXT_HOP_NOT_RUNNING" 19496 _json["networkInterfaces"] = networkInterfaces.map((value) => (value).toJs on()).toList();
18050 * - "NOT_CRITICAL_ERROR" 19497 }
18051 * - "NO_RESULTS_ON_PAGE" 19498 if (scheduling != null) {
18052 * - "REQUIRED_TOS_AGREEMENT" 19499 _json["scheduling"] = (scheduling).toJson();
18053 * - "RESOURCE_NOT_DELETED" 19500 }
18054 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE" 19501 if (serviceAccounts != null) {
18055 * - "UNREACHABLE" 19502 _json["serviceAccounts"] = serviceAccounts.map((value) => (value).toJson() ).toList();
18056 */ 19503 }
18057 core.String code; 19504 if (tags != null) {
18058 /** 19505 _json["tags"] = (tags).toJson();
18059 * [Output Only] Metadata about this warning in key: value format. For 19506 }
18060 * example: 19507 return _json;
18061 * "data": [ { "key": "scope", "value": "zones/us-east1-d" } 19508 }
18062 */ 19509 }
18063 core.List<InstanceGroupManagersScopedListWarningData> data; 19510
18064 /** [Output Only] A human-readable description of the warning code. */ 19511 class InstanceReference {
18065 core.String message; 19512 /** The URL for a specific instance. */
18066 19513 core.String instance;
18067 InstanceGroupManagersScopedListWarning(); 19514
18068 19515 InstanceReference();
18069 InstanceGroupManagersScopedListWarning.fromJson(core.Map _json) { 19516
18070 if (_json.containsKey("code")) { 19517 InstanceReference.fromJson(core.Map _json) {
18071 code = _json["code"]; 19518 if (_json.containsKey("instance")) {
18072 } 19519 instance = _json["instance"];
18073 if (_json.containsKey("data")) { 19520 }
18074 data = _json["data"].map((value) => new InstanceGroupManagersScopedListWar ningData.fromJson(value)).toList(); 19521 }
18075 } 19522
18076 if (_json.containsKey("message")) { 19523 core.Map toJson() {
18077 message = _json["message"]; 19524 var _json = new core.Map();
18078 } 19525 if (instance != null) {
18079 } 19526 _json["instance"] = instance;
18080 19527 }
18081 core.Map toJson() { 19528 return _json;
18082 var _json = new core.Map(); 19529 }
18083 if (code != null) { 19530 }
18084 _json["code"] = code; 19531
18085 } 19532 /** An Instance Template resource. */
18086 if (data != null) { 19533 class InstanceTemplate {
18087 _json["data"] = data.map((value) => (value).toJson()).toList(); 19534 /**
18088 } 19535 * [Output Only] The creation timestamp for this instance template in RFC3339
18089 if (message != null) { 19536 * text format.
18090 _json["message"] = message; 19537 */
18091 } 19538 core.String creationTimestamp;
18092 return _json; 19539 /**
18093 } 19540 * An optional description of this resource. Provide this property when you
18094 } 19541 * create the resource.
18095 19542 */
18096 class InstanceGroupManagersScopedList { 19543 core.String description;
18097 /** 19544 /**
18098 * [Output Only] The list of managed instance groups that are contained in the 19545 * [Output Only] A unique identifier for this instance template. The server
18099 * specified project and zone. 19546 * defines this identifier.
18100 */
18101 core.List<InstanceGroupManager> instanceGroupManagers;
18102 /**
18103 * [Output Only] The warning that replaces the list of managed instance groups
18104 * when the list is empty.
18105 */
18106 InstanceGroupManagersScopedListWarning warning;
18107
18108 InstanceGroupManagersScopedList();
18109
18110 InstanceGroupManagersScopedList.fromJson(core.Map _json) {
18111 if (_json.containsKey("instanceGroupManagers")) {
18112 instanceGroupManagers = _json["instanceGroupManagers"].map((value) => new InstanceGroupManager.fromJson(value)).toList();
18113 }
18114 if (_json.containsKey("warning")) {
18115 warning = new InstanceGroupManagersScopedListWarning.fromJson(_json["warni ng"]);
18116 }
18117 }
18118
18119 core.Map toJson() {
18120 var _json = new core.Map();
18121 if (instanceGroupManagers != null) {
18122 _json["instanceGroupManagers"] = instanceGroupManagers.map((value) => (val ue).toJson()).toList();
18123 }
18124 if (warning != null) {
18125 _json["warning"] = (warning).toJson();
18126 }
18127 return _json;
18128 }
18129 }
18130
18131 class InstanceGroupManagersSetInstanceTemplateRequest {
18132 /**
18133 * The URL of the instance template that is specified for this managed
18134 * instance group. The group uses this template to create all new instances in
18135 * the managed instance group.
18136 */
18137 core.String instanceTemplate;
18138
18139 InstanceGroupManagersSetInstanceTemplateRequest();
18140
18141 InstanceGroupManagersSetInstanceTemplateRequest.fromJson(core.Map _json) {
18142 if (_json.containsKey("instanceTemplate")) {
18143 instanceTemplate = _json["instanceTemplate"];
18144 }
18145 }
18146
18147 core.Map toJson() {
18148 var _json = new core.Map();
18149 if (instanceTemplate != null) {
18150 _json["instanceTemplate"] = instanceTemplate;
18151 }
18152 return _json;
18153 }
18154 }
18155
18156 class InstanceGroupManagersSetTargetPoolsRequest {
18157 /**
18158 * The fingerprint of the target pools information. Use this optional property
18159 * to prevent conflicts when multiple users change the target pools settings
18160 * concurrently. Obtain the fingerprint with the instanceGroupManagers.get
18161 * method. Then, include the fingerprint in your request to ensure that you do
18162 * not overwrite changes that were applied from another concurrent request.
18163 */
18164 core.String fingerprint;
18165 core.List<core.int> get fingerprintAsBytes {
18166 return crypto.CryptoUtils.base64StringToBytes(fingerprint);
18167 }
18168
18169 void set fingerprintAsBytes(core.List<core.int> _bytes) {
18170 fingerprint = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true);
18171 }
18172 /**
18173 * The list of target pool URLs that instances in this managed instance group
18174 * belong to. The managed instance group applies these target pools to all of
18175 * the instances in the group. Existing instances and new instances in the
18176 * group all receive these target pool settings.
18177 */
18178 core.List<core.String> targetPools;
18179
18180 InstanceGroupManagersSetTargetPoolsRequest();
18181
18182 InstanceGroupManagersSetTargetPoolsRequest.fromJson(core.Map _json) {
18183 if (_json.containsKey("fingerprint")) {
18184 fingerprint = _json["fingerprint"];
18185 }
18186 if (_json.containsKey("targetPools")) {
18187 targetPools = _json["targetPools"];
18188 }
18189 }
18190
18191 core.Map toJson() {
18192 var _json = new core.Map();
18193 if (fingerprint != null) {
18194 _json["fingerprint"] = fingerprint;
18195 }
18196 if (targetPools != null) {
18197 _json["targetPools"] = targetPools;
18198 }
18199 return _json;
18200 }
18201 }
18202
18203 class InstanceGroupsAddInstancesRequest {
18204 /** The list of instances to add to the instance group. */
18205 core.List<InstanceReference> instances;
18206
18207 InstanceGroupsAddInstancesRequest();
18208
18209 InstanceGroupsAddInstancesRequest.fromJson(core.Map _json) {
18210 if (_json.containsKey("instances")) {
18211 instances = _json["instances"].map((value) => new InstanceReference.fromJs on(value)).toList();
18212 }
18213 }
18214
18215 core.Map toJson() {
18216 var _json = new core.Map();
18217 if (instances != null) {
18218 _json["instances"] = instances.map((value) => (value).toJson()).toList();
18219 }
18220 return _json;
18221 }
18222 }
18223
18224 class InstanceGroupsListInstances {
18225 /**
18226 * [Output Only] A unique identifier for this list of instance groups. The
18227 * server generates this identifier.
18228 */ 19547 */
18229 core.String id; 19548 core.String id;
18230 /** 19549 /**
18231 * [Output Only] A list of instances and any named ports that are assigned to 19550 * [Output Only] The resource type, which is always compute#instanceTemplate
18232 * those instances. 19551 * for instance templates.
18233 */ 19552 */
18234 core.List<InstanceWithNamedPorts> items; 19553 core.String kind;
19554 /**
19555 * Name of the resource; provided by the client when the resource is created.
19556 * The name must be 1-63 characters long, and comply with RFC1035.
19557 * Specifically, the name must be 1-63 characters long and match the regular
19558 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
19559 * be a lowercase letter, and all following characters must be a dash,
19560 * lowercase letter, or digit, except the last character, which cannot be a
19561 * dash.
19562 */
19563 core.String name;
19564 /** The instance properties for this instance template. */
19565 InstanceProperties properties;
19566 /**
19567 * [Output Only] The URL for this instance template. The server defines this
19568 * URL.
19569 */
19570 core.String selfLink;
19571
19572 InstanceTemplate();
19573
19574 InstanceTemplate.fromJson(core.Map _json) {
19575 if (_json.containsKey("creationTimestamp")) {
19576 creationTimestamp = _json["creationTimestamp"];
19577 }
19578 if (_json.containsKey("description")) {
19579 description = _json["description"];
19580 }
19581 if (_json.containsKey("id")) {
19582 id = _json["id"];
19583 }
19584 if (_json.containsKey("kind")) {
19585 kind = _json["kind"];
19586 }
19587 if (_json.containsKey("name")) {
19588 name = _json["name"];
19589 }
19590 if (_json.containsKey("properties")) {
19591 properties = new InstanceProperties.fromJson(_json["properties"]);
19592 }
19593 if (_json.containsKey("selfLink")) {
19594 selfLink = _json["selfLink"];
19595 }
19596 }
19597
19598 core.Map toJson() {
19599 var _json = new core.Map();
19600 if (creationTimestamp != null) {
19601 _json["creationTimestamp"] = creationTimestamp;
19602 }
19603 if (description != null) {
19604 _json["description"] = description;
19605 }
19606 if (id != null) {
19607 _json["id"] = id;
19608 }
19609 if (kind != null) {
19610 _json["kind"] = kind;
19611 }
19612 if (name != null) {
19613 _json["name"] = name;
19614 }
19615 if (properties != null) {
19616 _json["properties"] = (properties).toJson();
19617 }
19618 if (selfLink != null) {
19619 _json["selfLink"] = selfLink;
19620 }
19621 return _json;
19622 }
19623 }
19624
19625 /** A list of instance templates. */
19626 class InstanceTemplateList {
19627 /**
19628 * [Output Only] A unique identifier for this instance template. The server
19629 * defines this identifier.
19630 */
19631 core.String id;
19632 /** [Output Only] list of InstanceTemplate resources. */
19633 core.List<InstanceTemplate> items;
18235 /** 19634 /**
18236 * [Output Only] The resource type, which is always 19635 * [Output Only] The resource type, which is always
18237 * compute#instanceGroupsListInstances for lists of instance groups. 19636 * compute#instanceTemplatesListResponse for instance template lists.
18238 */ 19637 */
18239 core.String kind; 19638 core.String kind;
18240 /** 19639 /**
18241 * [Output Only] This token allows you to get the next page of results for 19640 * [Output Only] This token allows you to get the next page of results for
18242 * list requests. If the number of results is larger than maxResults, use the 19641 * list requests. If the number of results is larger than maxResults, use the
18243 * nextPageToken as a value for the query parameter pageToken in the next list 19642 * nextPageToken as a value for the query parameter pageToken in the next list
18244 * request. Subsequent list requests will have their own nextPageToken to 19643 * request. Subsequent list requests will have their own nextPageToken to
18245 * continue paging through the results. 19644 * continue paging through the results.
18246 */ 19645 */
18247 core.String nextPageToken; 19646 core.String nextPageToken;
18248 /** 19647 /**
18249 * [Output Only] The URL for this list of instance groups. The server 19648 * [Output Only] The URL for this instance template list. The server defines
18250 * generates this URL. 19649 * this URL.
18251 */ 19650 */
18252 core.String selfLink; 19651 core.String selfLink;
18253 19652
18254 InstanceGroupsListInstances(); 19653 InstanceTemplateList();
18255 19654
18256 InstanceGroupsListInstances.fromJson(core.Map _json) { 19655 InstanceTemplateList.fromJson(core.Map _json) {
18257 if (_json.containsKey("id")) { 19656 if (_json.containsKey("id")) {
18258 id = _json["id"]; 19657 id = _json["id"];
18259 } 19658 }
18260 if (_json.containsKey("items")) { 19659 if (_json.containsKey("items")) {
18261 items = _json["items"].map((value) => new InstanceWithNamedPorts.fromJson( value)).toList(); 19660 items = _json["items"].map((value) => new InstanceTemplate.fromJson(value) ).toList();
18262 } 19661 }
18263 if (_json.containsKey("kind")) { 19662 if (_json.containsKey("kind")) {
18264 kind = _json["kind"]; 19663 kind = _json["kind"];
18265 } 19664 }
18266 if (_json.containsKey("nextPageToken")) { 19665 if (_json.containsKey("nextPageToken")) {
18267 nextPageToken = _json["nextPageToken"]; 19666 nextPageToken = _json["nextPageToken"];
18268 } 19667 }
18269 if (_json.containsKey("selfLink")) { 19668 if (_json.containsKey("selfLink")) {
18270 selfLink = _json["selfLink"]; 19669 selfLink = _json["selfLink"];
18271 } 19670 }
(...skipping 13 matching lines...) Expand all
18285 if (nextPageToken != null) { 19684 if (nextPageToken != null) {
18286 _json["nextPageToken"] = nextPageToken; 19685 _json["nextPageToken"] = nextPageToken;
18287 } 19686 }
18288 if (selfLink != null) { 19687 if (selfLink != null) {
18289 _json["selfLink"] = selfLink; 19688 _json["selfLink"] = selfLink;
18290 } 19689 }
18291 return _json; 19690 return _json;
18292 } 19691 }
18293 } 19692 }
18294 19693
18295 class InstanceGroupsListInstancesRequest { 19694 class InstanceWithNamedPorts {
19695 /** [Output Only] The URL of the instance. */
19696 core.String instance;
19697 /** [Output Only] The named ports that belong to this instance group. */
19698 core.List<NamedPort> namedPorts;
18296 /** 19699 /**
18297 * A filter for the state of the instances in the instance group. Valid 19700 * [Output Only] The status of the instance.
18298 * options are ALL or RUNNING. If you do not specify this parameter the list
18299 * includes all instances regardless of their state.
18300 * Possible string values are: 19701 * Possible string values are:
18301 * - "ALL" 19702 * - "PROVISIONING"
18302 * - "RUNNING" 19703 * - "RUNNING"
19704 * - "STAGING"
19705 * - "STOPPED"
19706 * - "STOPPING"
19707 * - "SUSPENDED"
19708 * - "SUSPENDING"
19709 * - "TERMINATED"
18303 */ 19710 */
18304 core.String instanceState; 19711 core.String status;
18305 19712
18306 InstanceGroupsListInstancesRequest(); 19713 InstanceWithNamedPorts();
18307 19714
18308 InstanceGroupsListInstancesRequest.fromJson(core.Map _json) { 19715 InstanceWithNamedPorts.fromJson(core.Map _json) {
18309 if (_json.containsKey("instanceState")) { 19716 if (_json.containsKey("instance")) {
18310 instanceState = _json["instanceState"]; 19717 instance = _json["instance"];
19718 }
19719 if (_json.containsKey("namedPorts")) {
19720 namedPorts = _json["namedPorts"].map((value) => new NamedPort.fromJson(val ue)).toList();
19721 }
19722 if (_json.containsKey("status")) {
19723 status = _json["status"];
18311 } 19724 }
18312 } 19725 }
18313 19726
18314 core.Map toJson() { 19727 core.Map toJson() {
18315 var _json = new core.Map(); 19728 var _json = new core.Map();
18316 if (instanceState != null) { 19729 if (instance != null) {
18317 _json["instanceState"] = instanceState; 19730 _json["instance"] = instance;
19731 }
19732 if (namedPorts != null) {
19733 _json["namedPorts"] = namedPorts.map((value) => (value).toJson()).toList() ;
19734 }
19735 if (status != null) {
19736 _json["status"] = status;
18318 } 19737 }
18319 return _json; 19738 return _json;
18320 } 19739 }
18321 } 19740 }
18322 19741
18323 class InstanceGroupsRemoveInstancesRequest { 19742 class InstancesScopedListWarningData {
18324 /** The list of instances to remove from the instance group. */
18325 core.List<InstanceReference> instances;
18326
18327 InstanceGroupsRemoveInstancesRequest();
18328
18329 InstanceGroupsRemoveInstancesRequest.fromJson(core.Map _json) {
18330 if (_json.containsKey("instances")) {
18331 instances = _json["instances"].map((value) => new InstanceReference.fromJs on(value)).toList();
18332 }
18333 }
18334
18335 core.Map toJson() {
18336 var _json = new core.Map();
18337 if (instances != null) {
18338 _json["instances"] = instances.map((value) => (value).toJson()).toList();
18339 }
18340 return _json;
18341 }
18342 }
18343
18344 class InstanceGroupsScopedListWarningData {
18345 /** 19743 /**
18346 * [Output Only] A key that provides more detail on the warning being 19744 * [Output Only] A key that provides more detail on the warning being
18347 * returned. For example, for warnings where there are no results in a list 19745 * returned. For example, for warnings where there are no results in a list
18348 * request for a particular zone, this key might be scope and the key value 19746 * request for a particular zone, this key might be scope and the key value
18349 * might be the zone name. Other examples might be a key indicating a 19747 * might be the zone name. Other examples might be a key indicating a
18350 * deprecated resource and a suggested replacement, or a warning about invalid 19748 * deprecated resource and a suggested replacement, or a warning about invalid
18351 * network settings (for example, if an instance attempts to perform IP 19749 * network settings (for example, if an instance attempts to perform IP
18352 * forwarding but is not enabled for IP forwarding). 19750 * forwarding but is not enabled for IP forwarding).
18353 */ 19751 */
18354 core.String key; 19752 core.String key;
18355 /** [Output Only] A warning data value corresponding to the key. */ 19753 /** [Output Only] A warning data value corresponding to the key. */
18356 core.String value; 19754 core.String value;
18357 19755
18358 InstanceGroupsScopedListWarningData(); 19756 InstancesScopedListWarningData();
18359 19757
18360 InstanceGroupsScopedListWarningData.fromJson(core.Map _json) { 19758 InstancesScopedListWarningData.fromJson(core.Map _json) {
18361 if (_json.containsKey("key")) { 19759 if (_json.containsKey("key")) {
18362 key = _json["key"]; 19760 key = _json["key"];
18363 } 19761 }
18364 if (_json.containsKey("value")) { 19762 if (_json.containsKey("value")) {
18365 value = _json["value"]; 19763 value = _json["value"];
18366 } 19764 }
18367 } 19765 }
18368 19766
18369 core.Map toJson() { 19767 core.Map toJson() {
18370 var _json = new core.Map(); 19768 var _json = new core.Map();
18371 if (key != null) { 19769 if (key != null) {
18372 _json["key"] = key; 19770 _json["key"] = key;
18373 } 19771 }
18374 if (value != null) { 19772 if (value != null) {
18375 _json["value"] = value; 19773 _json["value"] = value;
18376 } 19774 }
18377 return _json; 19775 return _json;
18378 } 19776 }
18379 } 19777 }
18380 19778
18381 /** 19779 /**
18382 * [Output Only] An informational warning that replaces the list of instance 19780 * [Output Only] Informational warning which replaces the list of instances when
18383 * groups when the list is empty. 19781 * the list is empty.
18384 */ 19782 */
18385 class InstanceGroupsScopedListWarning { 19783 class InstancesScopedListWarning {
18386 /** 19784 /**
18387 * [Output Only] A warning code, if applicable. For example, Compute Engine 19785 * [Output Only] A warning code, if applicable. For example, Compute Engine
18388 * returns NO_RESULTS_ON_PAGE if there are no results in the response. 19786 * returns NO_RESULTS_ON_PAGE if there are no results in the response.
18389 * Possible string values are: 19787 * Possible string values are:
18390 * - "CLEANUP_FAILED" 19788 * - "CLEANUP_FAILED"
18391 * - "DEPRECATED_RESOURCE_USED" 19789 * - "DEPRECATED_RESOURCE_USED"
18392 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" 19790 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
18393 * - "INJECTED_KERNELS_DEPRECATED" 19791 * - "INJECTED_KERNELS_DEPRECATED"
18394 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED" 19792 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
18395 * - "NEXT_HOP_CANNOT_IP_FORWARD" 19793 * - "NEXT_HOP_CANNOT_IP_FORWARD"
18396 * - "NEXT_HOP_INSTANCE_NOT_FOUND" 19794 * - "NEXT_HOP_INSTANCE_NOT_FOUND"
18397 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" 19795 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
18398 * - "NEXT_HOP_NOT_RUNNING" 19796 * - "NEXT_HOP_NOT_RUNNING"
18399 * - "NOT_CRITICAL_ERROR" 19797 * - "NOT_CRITICAL_ERROR"
18400 * - "NO_RESULTS_ON_PAGE" 19798 * - "NO_RESULTS_ON_PAGE"
18401 * - "REQUIRED_TOS_AGREEMENT" 19799 * - "REQUIRED_TOS_AGREEMENT"
18402 * - "RESOURCE_NOT_DELETED" 19800 * - "RESOURCE_NOT_DELETED"
18403 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE" 19801 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
18404 * - "UNREACHABLE" 19802 * - "UNREACHABLE"
18405 */ 19803 */
18406 core.String code; 19804 core.String code;
18407 /** 19805 /**
18408 * [Output Only] Metadata about this warning in key: value format. For 19806 * [Output Only] Metadata about this warning in key: value format. For
18409 * example: 19807 * example:
18410 * "data": [ { "key": "scope", "value": "zones/us-east1-d" } 19808 * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
18411 */ 19809 */
18412 core.List<InstanceGroupsScopedListWarningData> data; 19810 core.List<InstancesScopedListWarningData> data;
18413 /** [Output Only] A human-readable description of the warning code. */ 19811 /** [Output Only] A human-readable description of the warning code. */
18414 core.String message; 19812 core.String message;
18415 19813
18416 InstanceGroupsScopedListWarning(); 19814 InstancesScopedListWarning();
18417 19815
18418 InstanceGroupsScopedListWarning.fromJson(core.Map _json) { 19816 InstancesScopedListWarning.fromJson(core.Map _json) {
18419 if (_json.containsKey("code")) { 19817 if (_json.containsKey("code")) {
18420 code = _json["code"]; 19818 code = _json["code"];
18421 } 19819 }
18422 if (_json.containsKey("data")) { 19820 if (_json.containsKey("data")) {
18423 data = _json["data"].map((value) => new InstanceGroupsScopedListWarningDat a.fromJson(value)).toList(); 19821 data = _json["data"].map((value) => new InstancesScopedListWarningData.fro mJson(value)).toList();
18424 } 19822 }
18425 if (_json.containsKey("message")) { 19823 if (_json.containsKey("message")) {
18426 message = _json["message"]; 19824 message = _json["message"];
18427 } 19825 }
18428 } 19826 }
18429 19827
18430 core.Map toJson() { 19828 core.Map toJson() {
18431 var _json = new core.Map(); 19829 var _json = new core.Map();
18432 if (code != null) { 19830 if (code != null) {
18433 _json["code"] = code; 19831 _json["code"] = code;
18434 } 19832 }
18435 if (data != null) { 19833 if (data != null) {
18436 _json["data"] = data.map((value) => (value).toJson()).toList(); 19834 _json["data"] = data.map((value) => (value).toJson()).toList();
18437 } 19835 }
18438 if (message != null) { 19836 if (message != null) {
18439 _json["message"] = message; 19837 _json["message"] = message;
18440 } 19838 }
18441 return _json; 19839 return _json;
18442 } 19840 }
18443 } 19841 }
18444 19842
18445 class InstanceGroupsScopedList { 19843 class InstancesScopedList {
19844 /** [Output Only] List of instances contained in this scope. */
19845 core.List<Instance> instances;
18446 /** 19846 /**
18447 * [Output Only] The list of instance groups that are contained in this scope. 19847 * [Output Only] Informational warning which replaces the list of instances
19848 * when the list is empty.
18448 */ 19849 */
18449 core.List<InstanceGroup> instanceGroups; 19850 InstancesScopedListWarning warning;
18450 /**
18451 * [Output Only] An informational warning that replaces the list of instance
18452 * groups when the list is empty.
18453 */
18454 InstanceGroupsScopedListWarning warning;
18455 19851
18456 InstanceGroupsScopedList(); 19852 InstancesScopedList();
18457 19853
18458 InstanceGroupsScopedList.fromJson(core.Map _json) { 19854 InstancesScopedList.fromJson(core.Map _json) {
18459 if (_json.containsKey("instanceGroups")) { 19855 if (_json.containsKey("instances")) {
18460 instanceGroups = _json["instanceGroups"].map((value) => new InstanceGroup. fromJson(value)).toList(); 19856 instances = _json["instances"].map((value) => new Instance.fromJson(value) ).toList();
18461 } 19857 }
18462 if (_json.containsKey("warning")) { 19858 if (_json.containsKey("warning")) {
18463 warning = new InstanceGroupsScopedListWarning.fromJson(_json["warning"]); 19859 warning = new InstancesScopedListWarning.fromJson(_json["warning"]);
18464 } 19860 }
18465 } 19861 }
18466 19862
18467 core.Map toJson() { 19863 core.Map toJson() {
18468 var _json = new core.Map(); 19864 var _json = new core.Map();
18469 if (instanceGroups != null) { 19865 if (instances != null) {
18470 _json["instanceGroups"] = instanceGroups.map((value) => (value).toJson()). toList(); 19866 _json["instances"] = instances.map((value) => (value).toJson()).toList();
18471 } 19867 }
18472 if (warning != null) { 19868 if (warning != null) {
18473 _json["warning"] = (warning).toJson(); 19869 _json["warning"] = (warning).toJson();
18474 } 19870 }
18475 return _json; 19871 return _json;
18476 } 19872 }
18477 } 19873 }
18478 19874
18479 class InstanceGroupsSetNamedPortsRequest { 19875 class InstancesSetMachineTypeRequest {
18480 /** 19876 /**
18481 * The fingerprint of the named ports information for this instance group. Use 19877 * Full or partial URL of the machine type resource. See Machine Types for a
18482 * this optional property to prevent conflicts when multiple users change the 19878 * full list of machine types. For example:
18483 * named ports settings concurrently. Obtain the fingerprint with the 19879 * zones/us-central1-f/machineTypes/n1-standard-1
18484 * instanceGroups.get method. Then, include the fingerprint in your request to
18485 * ensure that you do not overwrite changes that were applied from another
18486 * concurrent request.
18487 */ 19880 */
18488 core.String fingerprint; 19881 core.String machineType;
18489 core.List<core.int> get fingerprintAsBytes {
18490 return crypto.CryptoUtils.base64StringToBytes(fingerprint);
18491 }
18492 19882
18493 void set fingerprintAsBytes(core.List<core.int> _bytes) { 19883 InstancesSetMachineTypeRequest();
18494 fingerprint = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true);
18495 }
18496 /** The list of named ports to set for this instance group. */
18497 core.List<NamedPort> namedPorts;
18498 19884
18499 InstanceGroupsSetNamedPortsRequest(); 19885 InstancesSetMachineTypeRequest.fromJson(core.Map _json) {
18500 19886 if (_json.containsKey("machineType")) {
18501 InstanceGroupsSetNamedPortsRequest.fromJson(core.Map _json) { 19887 machineType = _json["machineType"];
18502 if (_json.containsKey("fingerprint")) {
18503 fingerprint = _json["fingerprint"];
18504 }
18505 if (_json.containsKey("namedPorts")) {
18506 namedPorts = _json["namedPorts"].map((value) => new NamedPort.fromJson(val ue)).toList();
18507 } 19888 }
18508 } 19889 }
18509 19890
18510 core.Map toJson() { 19891 core.Map toJson() {
18511 var _json = new core.Map(); 19892 var _json = new core.Map();
18512 if (fingerprint != null) { 19893 if (machineType != null) {
18513 _json["fingerprint"] = fingerprint; 19894 _json["machineType"] = machineType;
18514 }
18515 if (namedPorts != null) {
18516 _json["namedPorts"] = namedPorts.map((value) => (value).toJson()).toList() ;
18517 } 19895 }
18518 return _json; 19896 return _json;
18519 } 19897 }
18520 } 19898 }
18521 19899
18522 /** Contains a list of instances. */ 19900 class InstancesStartWithEncryptionKeyRequest {
18523 class InstanceList {
18524 /** 19901 /**
18525 * [Output Only] The unique identifier for the resource. This identifier is 19902 * Array of disks associated with this instance that are protected with a
18526 * defined by the server. 19903 * customer-supplied encryption key.
19904 *
19905 * In order to start the instance, the disk url and its corresponding key must
19906 * be provided.
19907 *
19908 * If the disk is not protected with a customer-supplied encryption key it
19909 * should not be specified.
18527 */ 19910 */
18528 core.String id; 19911 core.List<CustomerEncryptionKeyProtectedDisk> disks;
18529 /** [Output Only] A list of instances. */ 19912
18530 core.List<Instance> items; 19913 InstancesStartWithEncryptionKeyRequest();
19914
19915 InstancesStartWithEncryptionKeyRequest.fromJson(core.Map _json) {
19916 if (_json.containsKey("disks")) {
19917 disks = _json["disks"].map((value) => new CustomerEncryptionKeyProtectedDi sk.fromJson(value)).toList();
19918 }
19919 }
19920
19921 core.Map toJson() {
19922 var _json = new core.Map();
19923 if (disks != null) {
19924 _json["disks"] = disks.map((value) => (value).toJson()).toList();
19925 }
19926 return _json;
19927 }
19928 }
19929
19930 /** A license resource. */
19931 class License {
18531 /** 19932 /**
18532 * [Output Only] Type of resource. Always compute#instanceList for lists of 19933 * [Output Only] If true, the customer will be charged license fee for running
18533 * Instance resources. 19934 * software that contains this license on an instance.
18534 */ 19935 */
19936 core.bool chargesUseFee;
19937 /** [Output Only] Type of resource. Always compute#license for licenses. */
18535 core.String kind; 19938 core.String kind;
18536 /** 19939 /**
18537 * [Output Only] This token allows you to get the next page of results for 19940 * [Output Only] Name of the resource. The name is 1-63 characters long and
18538 * list requests. If the number of results is larger than maxResults, use the 19941 * complies with RFC1035.
18539 * nextPageToken as a value for the query parameter pageToken in the next list
18540 * request. Subsequent list requests will have their own nextPageToken to
18541 * continue paging through the results.
18542 */ 19942 */
18543 core.String nextPageToken; 19943 core.String name;
18544 /** [Output Only] Server-defined URL for this resource. */ 19944 /** [Output Only] Server-defined URL for the resource. */
18545 core.String selfLink; 19945 core.String selfLink;
18546 19946
18547 InstanceList(); 19947 License();
18548 19948
18549 InstanceList.fromJson(core.Map _json) { 19949 License.fromJson(core.Map _json) {
18550 if (_json.containsKey("id")) { 19950 if (_json.containsKey("chargesUseFee")) {
18551 id = _json["id"]; 19951 chargesUseFee = _json["chargesUseFee"];
18552 }
18553 if (_json.containsKey("items")) {
18554 items = _json["items"].map((value) => new Instance.fromJson(value)).toList ();
18555 } 19952 }
18556 if (_json.containsKey("kind")) { 19953 if (_json.containsKey("kind")) {
18557 kind = _json["kind"]; 19954 kind = _json["kind"];
18558 } 19955 }
18559 if (_json.containsKey("nextPageToken")) { 19956 if (_json.containsKey("name")) {
18560 nextPageToken = _json["nextPageToken"]; 19957 name = _json["name"];
18561 } 19958 }
18562 if (_json.containsKey("selfLink")) { 19959 if (_json.containsKey("selfLink")) {
18563 selfLink = _json["selfLink"]; 19960 selfLink = _json["selfLink"];
18564 } 19961 }
18565 } 19962 }
18566 19963
18567 core.Map toJson() { 19964 core.Map toJson() {
18568 var _json = new core.Map(); 19965 var _json = new core.Map();
19966 if (chargesUseFee != null) {
19967 _json["chargesUseFee"] = chargesUseFee;
19968 }
19969 if (kind != null) {
19970 _json["kind"] = kind;
19971 }
19972 if (name != null) {
19973 _json["name"] = name;
19974 }
19975 if (selfLink != null) {
19976 _json["selfLink"] = selfLink;
19977 }
19978 return _json;
19979 }
19980 }
19981
19982 class MachineTypeScratchDisks {
19983 /** Size of the scratch disk, defined in GB. */
19984 core.int diskGb;
19985
19986 MachineTypeScratchDisks();
19987
19988 MachineTypeScratchDisks.fromJson(core.Map _json) {
19989 if (_json.containsKey("diskGb")) {
19990 diskGb = _json["diskGb"];
19991 }
19992 }
19993
19994 core.Map toJson() {
19995 var _json = new core.Map();
19996 if (diskGb != null) {
19997 _json["diskGb"] = diskGb;
19998 }
19999 return _json;
20000 }
20001 }
20002
20003 /** A Machine Type resource. */
20004 class MachineType {
20005 /** [Output Only] Creation timestamp in RFC3339 text format. */
20006 core.String creationTimestamp;
20007 /**
20008 * [Output Only] The deprecation status associated with this machine type.
20009 */
20010 DeprecationStatus deprecated;
20011 /** [Output Only] An optional textual description of the resource. */
20012 core.String description;
20013 /**
20014 * [Output Only] The number of virtual CPUs that are available to the
20015 * instance.
20016 */
20017 core.int guestCpus;
20018 /**
20019 * [Output Only] The unique identifier for the resource. This identifier is
20020 * defined by the server.
20021 */
20022 core.String id;
20023 /**
20024 * [Deprecated] This property is deprecated and will never be populated with
20025 * any relevant values.
20026 */
20027 core.int imageSpaceGb;
20028 /**
20029 * [Output Only] Whether this machine type has a shared CPU. See Shared-core
20030 * machine types for more information.
20031 */
20032 core.bool isSharedCpu;
20033 /**
20034 * [Output Only] The type of the resource. Always compute#machineType for
20035 * machine types.
20036 */
20037 core.String kind;
20038 /** [Output Only] Maximum persistent disks allowed. */
20039 core.int maximumPersistentDisks;
20040 /** [Output Only] Maximum total persistent disks size (GB) allowed. */
20041 core.String maximumPersistentDisksSizeGb;
20042 /**
20043 * [Output Only] The amount of physical memory available to the instance,
20044 * defined in MB.
20045 */
20046 core.int memoryMb;
20047 /** [Output Only] Name of the resource. */
20048 core.String name;
20049 /** [Output Only] List of extended scratch disks assigned to the instance. */
20050 core.List<MachineTypeScratchDisks> scratchDisks;
20051 /** [Output Only] Server-defined URL for the resource. */
20052 core.String selfLink;
20053 /**
20054 * [Output Only] The name of the zone where the machine type resides, such as
20055 * us-central1-a.
20056 */
20057 core.String zone;
20058
20059 MachineType();
20060
20061 MachineType.fromJson(core.Map _json) {
20062 if (_json.containsKey("creationTimestamp")) {
20063 creationTimestamp = _json["creationTimestamp"];
20064 }
20065 if (_json.containsKey("deprecated")) {
20066 deprecated = new DeprecationStatus.fromJson(_json["deprecated"]);
20067 }
20068 if (_json.containsKey("description")) {
20069 description = _json["description"];
20070 }
20071 if (_json.containsKey("guestCpus")) {
20072 guestCpus = _json["guestCpus"];
20073 }
20074 if (_json.containsKey("id")) {
20075 id = _json["id"];
20076 }
20077 if (_json.containsKey("imageSpaceGb")) {
20078 imageSpaceGb = _json["imageSpaceGb"];
20079 }
20080 if (_json.containsKey("isSharedCpu")) {
20081 isSharedCpu = _json["isSharedCpu"];
20082 }
20083 if (_json.containsKey("kind")) {
20084 kind = _json["kind"];
20085 }
20086 if (_json.containsKey("maximumPersistentDisks")) {
20087 maximumPersistentDisks = _json["maximumPersistentDisks"];
20088 }
20089 if (_json.containsKey("maximumPersistentDisksSizeGb")) {
20090 maximumPersistentDisksSizeGb = _json["maximumPersistentDisksSizeGb"];
20091 }
20092 if (_json.containsKey("memoryMb")) {
20093 memoryMb = _json["memoryMb"];
20094 }
20095 if (_json.containsKey("name")) {
20096 name = _json["name"];
20097 }
20098 if (_json.containsKey("scratchDisks")) {
20099 scratchDisks = _json["scratchDisks"].map((value) => new MachineTypeScratch Disks.fromJson(value)).toList();
20100 }
20101 if (_json.containsKey("selfLink")) {
20102 selfLink = _json["selfLink"];
20103 }
20104 if (_json.containsKey("zone")) {
20105 zone = _json["zone"];
20106 }
20107 }
20108
20109 core.Map toJson() {
20110 var _json = new core.Map();
20111 if (creationTimestamp != null) {
20112 _json["creationTimestamp"] = creationTimestamp;
20113 }
20114 if (deprecated != null) {
20115 _json["deprecated"] = (deprecated).toJson();
20116 }
20117 if (description != null) {
20118 _json["description"] = description;
20119 }
20120 if (guestCpus != null) {
20121 _json["guestCpus"] = guestCpus;
20122 }
18569 if (id != null) { 20123 if (id != null) {
18570 _json["id"] = id; 20124 _json["id"] = id;
18571 } 20125 }
18572 if (items != null) { 20126 if (imageSpaceGb != null) {
18573 _json["items"] = items.map((value) => (value).toJson()).toList(); 20127 _json["imageSpaceGb"] = imageSpaceGb;
20128 }
20129 if (isSharedCpu != null) {
20130 _json["isSharedCpu"] = isSharedCpu;
18574 } 20131 }
18575 if (kind != null) { 20132 if (kind != null) {
18576 _json["kind"] = kind; 20133 _json["kind"] = kind;
18577 } 20134 }
18578 if (nextPageToken != null) { 20135 if (maximumPersistentDisks != null) {
18579 _json["nextPageToken"] = nextPageToken; 20136 _json["maximumPersistentDisks"] = maximumPersistentDisks;
20137 }
20138 if (maximumPersistentDisksSizeGb != null) {
20139 _json["maximumPersistentDisksSizeGb"] = maximumPersistentDisksSizeGb;
20140 }
20141 if (memoryMb != null) {
20142 _json["memoryMb"] = memoryMb;
20143 }
20144 if (name != null) {
20145 _json["name"] = name;
20146 }
20147 if (scratchDisks != null) {
20148 _json["scratchDisks"] = scratchDisks.map((value) => (value).toJson()).toLi st();
18580 } 20149 }
18581 if (selfLink != null) { 20150 if (selfLink != null) {
18582 _json["selfLink"] = selfLink; 20151 _json["selfLink"] = selfLink;
18583 } 20152 }
20153 if (zone != null) {
20154 _json["zone"] = zone;
20155 }
18584 return _json; 20156 return _json;
18585 } 20157 }
18586 } 20158 }
18587 20159
18588 class InstanceMoveRequest { 20160 class MachineTypeAggregatedList {
18589 /** 20161 /**
18590 * The URL of the destination zone to move the instance. This can be a full or 20162 * [Output Only] The unique identifier for the resource. This identifier is
18591 * partial URL. For example, the following are all valid URLs to a zone: 20163 * defined by the server.
18592 * - https://www.googleapis.com/compute/v1/projects/project/zones/zone
18593 * - projects/project/zones/zone
18594 * - zones/zone
18595 */
18596 core.String destinationZone;
18597 /**
18598 * The URL of the target instance to move. This can be a full or partial URL.
18599 * For example, the following are all valid URLs to an instance:
18600 * -
18601 * https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances /instance
18602 * - projects/project/zones/zone/instances/instance
18603 * - zones/zone/instances/instance
18604 */
18605 core.String targetInstance;
18606
18607 InstanceMoveRequest();
18608
18609 InstanceMoveRequest.fromJson(core.Map _json) {
18610 if (_json.containsKey("destinationZone")) {
18611 destinationZone = _json["destinationZone"];
18612 }
18613 if (_json.containsKey("targetInstance")) {
18614 targetInstance = _json["targetInstance"];
18615 }
18616 }
18617
18618 core.Map toJson() {
18619 var _json = new core.Map();
18620 if (destinationZone != null) {
18621 _json["destinationZone"] = destinationZone;
18622 }
18623 if (targetInstance != null) {
18624 _json["targetInstance"] = targetInstance;
18625 }
18626 return _json;
18627 }
18628 }
18629
18630 class InstanceProperties {
18631 /**
18632 * Enables instances created based on this template to send packets with
18633 * source IP addresses other than their own and receive packets with
18634 * destination IP addresses other than their own. If these instances will be
18635 * used as an IP gateway or it will be set as the next-hop in a Route
18636 * resource, specify true. If unsure, leave this set to false. See the
18637 * canIpForward documentation for more information.
18638 */
18639 core.bool canIpForward;
18640 /**
18641 * An optional text description for the instances that are created from this
18642 * instance template.
18643 */
18644 core.String description;
18645 /**
18646 * An array of disks that are associated with the instances that are created
18647 * from this template.
18648 */
18649 core.List<AttachedDisk> disks;
18650 /**
18651 * The machine type to use for instances that are created from this template.
18652 */
18653 core.String machineType;
18654 /**
18655 * The metadata key/value pairs to assign to instances that are created from
18656 * this template. These pairs can consist of custom metadata or predefined
18657 * keys. See Project and instance metadata for more information.
18658 */
18659 Metadata metadata;
18660 /** An array of network access configurations for this interface. */
18661 core.List<NetworkInterface> networkInterfaces;
18662 /**
18663 * Specifies the scheduling options for the instances that are created from
18664 * this template.
18665 */
18666 Scheduling scheduling;
18667 /**
18668 * A list of service accounts with specified scopes. Access tokens for these
18669 * service accounts are available to the instances that are created from this
18670 * template. Use metadata queries to obtain the access tokens for these
18671 * instances.
18672 */
18673 core.List<ServiceAccount> serviceAccounts;
18674 /**
18675 * A list of tags to apply to the instances that are created from this
18676 * template. The tags identify valid sources or targets for network firewalls.
18677 * The setTags method can modify this list of tags. Each tag within the list
18678 * must comply with RFC1035.
18679 */
18680 Tags tags;
18681
18682 InstanceProperties();
18683
18684 InstanceProperties.fromJson(core.Map _json) {
18685 if (_json.containsKey("canIpForward")) {
18686 canIpForward = _json["canIpForward"];
18687 }
18688 if (_json.containsKey("description")) {
18689 description = _json["description"];
18690 }
18691 if (_json.containsKey("disks")) {
18692 disks = _json["disks"].map((value) => new AttachedDisk.fromJson(value)).to List();
18693 }
18694 if (_json.containsKey("machineType")) {
18695 machineType = _json["machineType"];
18696 }
18697 if (_json.containsKey("metadata")) {
18698 metadata = new Metadata.fromJson(_json["metadata"]);
18699 }
18700 if (_json.containsKey("networkInterfaces")) {
18701 networkInterfaces = _json["networkInterfaces"].map((value) => new NetworkI nterface.fromJson(value)).toList();
18702 }
18703 if (_json.containsKey("scheduling")) {
18704 scheduling = new Scheduling.fromJson(_json["scheduling"]);
18705 }
18706 if (_json.containsKey("serviceAccounts")) {
18707 serviceAccounts = _json["serviceAccounts"].map((value) => new ServiceAccou nt.fromJson(value)).toList();
18708 }
18709 if (_json.containsKey("tags")) {
18710 tags = new Tags.fromJson(_json["tags"]);
18711 }
18712 }
18713
18714 core.Map toJson() {
18715 var _json = new core.Map();
18716 if (canIpForward != null) {
18717 _json["canIpForward"] = canIpForward;
18718 }
18719 if (description != null) {
18720 _json["description"] = description;
18721 }
18722 if (disks != null) {
18723 _json["disks"] = disks.map((value) => (value).toJson()).toList();
18724 }
18725 if (machineType != null) {
18726 _json["machineType"] = machineType;
18727 }
18728 if (metadata != null) {
18729 _json["metadata"] = (metadata).toJson();
18730 }
18731 if (networkInterfaces != null) {
18732 _json["networkInterfaces"] = networkInterfaces.map((value) => (value).toJs on()).toList();
18733 }
18734 if (scheduling != null) {
18735 _json["scheduling"] = (scheduling).toJson();
18736 }
18737 if (serviceAccounts != null) {
18738 _json["serviceAccounts"] = serviceAccounts.map((value) => (value).toJson() ).toList();
18739 }
18740 if (tags != null) {
18741 _json["tags"] = (tags).toJson();
18742 }
18743 return _json;
18744 }
18745 }
18746
18747 class InstanceReference {
18748 /** The URL for a specific instance. */
18749 core.String instance;
18750
18751 InstanceReference();
18752
18753 InstanceReference.fromJson(core.Map _json) {
18754 if (_json.containsKey("instance")) {
18755 instance = _json["instance"];
18756 }
18757 }
18758
18759 core.Map toJson() {
18760 var _json = new core.Map();
18761 if (instance != null) {
18762 _json["instance"] = instance;
18763 }
18764 return _json;
18765 }
18766 }
18767
18768 /** An Instance Template resource. */
18769 class InstanceTemplate {
18770 /**
18771 * [Output Only] The creation timestamp for this instance template in RFC3339
18772 * text format.
18773 */
18774 core.String creationTimestamp;
18775 /**
18776 * An optional description of this resource. Provide this property when you
18777 * create the resource.
18778 */
18779 core.String description;
18780 /**
18781 * [Output Only] A unique identifier for this instance template. The server
18782 * defines this identifier.
18783 */ 20164 */
18784 core.String id; 20165 core.String id;
18785 /** 20166 /** [Output Only] A map of scoped machine type lists. */
18786 * [Output Only] The resource type, which is always compute#instanceTemplate 20167 core.Map<core.String, MachineTypesScopedList> items;
18787 * for instance templates. 20168 /**
20169 * [Output Only] Type of resource. Always compute#machineTypeAggregatedList
20170 * for aggregated lists of machine types.
18788 */ 20171 */
18789 core.String kind; 20172 core.String kind;
18790 /** 20173 /**
18791 * Name of the resource; provided by the client when the resource is created. 20174 * [Output Only] This token allows you to get the next page of results for
18792 * The name must be 1-63 characters long, and comply with RFC1035. 20175 * list requests. If the number of results is larger than maxResults, use the
18793 * Specifically, the name must be 1-63 characters long and match the regular 20176 * nextPageToken as a value for the query parameter pageToken in the next list
18794 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must 20177 * request. Subsequent list requests will have their own nextPageToken to
18795 * be a lowercase letter, and all following characters must be a dash, 20178 * continue paging through the results.
18796 * lowercase letter, or digit, except the last character, which cannot be a 20179 */
18797 * dash. 20180 core.String nextPageToken;
18798 */ 20181 /** [Output Only] Server-defined URL for this resource. */
18799 core.String name;
18800 /** The instance properties for this instance template. */
18801 InstanceProperties properties;
18802 /**
18803 * [Output Only] The URL for this instance template. The server defines this
18804 * URL.
18805 */
18806 core.String selfLink; 20182 core.String selfLink;
18807 20183
18808 InstanceTemplate(); 20184 MachineTypeAggregatedList();
18809 20185
18810 InstanceTemplate.fromJson(core.Map _json) { 20186 MachineTypeAggregatedList.fromJson(core.Map _json) {
18811 if (_json.containsKey("creationTimestamp")) {
18812 creationTimestamp = _json["creationTimestamp"];
18813 }
18814 if (_json.containsKey("description")) {
18815 description = _json["description"];
18816 }
18817 if (_json.containsKey("id")) { 20187 if (_json.containsKey("id")) {
18818 id = _json["id"]; 20188 id = _json["id"];
18819 } 20189 }
20190 if (_json.containsKey("items")) {
20191 items = commons.mapMap(_json["items"], (item) => new MachineTypesScopedLis t.fromJson(item));
20192 }
18820 if (_json.containsKey("kind")) { 20193 if (_json.containsKey("kind")) {
18821 kind = _json["kind"]; 20194 kind = _json["kind"];
18822 } 20195 }
18823 if (_json.containsKey("name")) { 20196 if (_json.containsKey("nextPageToken")) {
18824 name = _json["name"]; 20197 nextPageToken = _json["nextPageToken"];
18825 }
18826 if (_json.containsKey("properties")) {
18827 properties = new InstanceProperties.fromJson(_json["properties"]);
18828 } 20198 }
18829 if (_json.containsKey("selfLink")) { 20199 if (_json.containsKey("selfLink")) {
18830 selfLink = _json["selfLink"]; 20200 selfLink = _json["selfLink"];
18831 } 20201 }
18832 } 20202 }
18833 20203
18834 core.Map toJson() { 20204 core.Map toJson() {
18835 var _json = new core.Map(); 20205 var _json = new core.Map();
18836 if (creationTimestamp != null) {
18837 _json["creationTimestamp"] = creationTimestamp;
18838 }
18839 if (description != null) {
18840 _json["description"] = description;
18841 }
18842 if (id != null) { 20206 if (id != null) {
18843 _json["id"] = id; 20207 _json["id"] = id;
18844 } 20208 }
20209 if (items != null) {
20210 _json["items"] = commons.mapMap(items, (item) => (item).toJson());
20211 }
18845 if (kind != null) { 20212 if (kind != null) {
18846 _json["kind"] = kind; 20213 _json["kind"] = kind;
18847 } 20214 }
18848 if (name != null) { 20215 if (nextPageToken != null) {
18849 _json["name"] = name; 20216 _json["nextPageToken"] = nextPageToken;
18850 }
18851 if (properties != null) {
18852 _json["properties"] = (properties).toJson();
18853 } 20217 }
18854 if (selfLink != null) { 20218 if (selfLink != null) {
18855 _json["selfLink"] = selfLink; 20219 _json["selfLink"] = selfLink;
18856 } 20220 }
18857 return _json; 20221 return _json;
18858 } 20222 }
18859 } 20223 }
18860 20224
18861 /** A list of instance templates. */ 20225 /** Contains a list of machine types. */
18862 class InstanceTemplateList { 20226 class MachineTypeList {
18863 /** 20227 /**
18864 * [Output Only] A unique identifier for this instance template. The server 20228 * [Output Only] The unique identifier for the resource. This identifier is
18865 * defines this identifier. 20229 * defined by the server.
18866 */ 20230 */
18867 core.String id; 20231 core.String id;
18868 /** [Output Only] list of InstanceTemplate resources. */ 20232 /** [Output Only] A list of Machine Type resources. */
18869 core.List<InstanceTemplate> items; 20233 core.List<MachineType> items;
18870 /** 20234 /**
18871 * [Output Only] The resource type, which is always 20235 * [Output Only] Type of resource. Always compute#machineTypeList for lists of
18872 * compute#instanceTemplatesListResponse for instance template lists. 20236 * machine types.
18873 */ 20237 */
18874 core.String kind; 20238 core.String kind;
18875 /** 20239 /**
18876 * [Output Only] This token allows you to get the next page of results for 20240 * [Output Only] This token allows you to get the next page of results for
18877 * list requests. If the number of results is larger than maxResults, use the 20241 * list requests. If the number of results is larger than maxResults, use the
18878 * nextPageToken as a value for the query parameter pageToken in the next list 20242 * nextPageToken as a value for the query parameter pageToken in the next list
18879 * request. Subsequent list requests will have their own nextPageToken to 20243 * request. Subsequent list requests will have their own nextPageToken to
18880 * continue paging through the results. 20244 * continue paging through the results.
18881 */ 20245 */
18882 core.String nextPageToken; 20246 core.String nextPageToken;
18883 /** 20247 /** [Output Only] Server-defined URL for this resource. */
18884 * [Output Only] The URL for this instance template list. The server defines
18885 * this URL.
18886 */
18887 core.String selfLink; 20248 core.String selfLink;
18888 20249
18889 InstanceTemplateList(); 20250 MachineTypeList();
18890 20251
18891 InstanceTemplateList.fromJson(core.Map _json) { 20252 MachineTypeList.fromJson(core.Map _json) {
18892 if (_json.containsKey("id")) { 20253 if (_json.containsKey("id")) {
18893 id = _json["id"]; 20254 id = _json["id"];
18894 } 20255 }
18895 if (_json.containsKey("items")) { 20256 if (_json.containsKey("items")) {
18896 items = _json["items"].map((value) => new InstanceTemplate.fromJson(value) ).toList(); 20257 items = _json["items"].map((value) => new MachineType.fromJson(value)).toL ist();
18897 } 20258 }
18898 if (_json.containsKey("kind")) { 20259 if (_json.containsKey("kind")) {
18899 kind = _json["kind"]; 20260 kind = _json["kind"];
18900 } 20261 }
18901 if (_json.containsKey("nextPageToken")) { 20262 if (_json.containsKey("nextPageToken")) {
18902 nextPageToken = _json["nextPageToken"]; 20263 nextPageToken = _json["nextPageToken"];
18903 } 20264 }
18904 if (_json.containsKey("selfLink")) { 20265 if (_json.containsKey("selfLink")) {
18905 selfLink = _json["selfLink"]; 20266 selfLink = _json["selfLink"];
18906 } 20267 }
(...skipping 13 matching lines...) Expand all
18920 if (nextPageToken != null) { 20281 if (nextPageToken != null) {
18921 _json["nextPageToken"] = nextPageToken; 20282 _json["nextPageToken"] = nextPageToken;
18922 } 20283 }
18923 if (selfLink != null) { 20284 if (selfLink != null) {
18924 _json["selfLink"] = selfLink; 20285 _json["selfLink"] = selfLink;
18925 } 20286 }
18926 return _json; 20287 return _json;
18927 } 20288 }
18928 } 20289 }
18929 20290
18930 class InstanceWithNamedPorts { 20291 class MachineTypesScopedListWarningData {
18931 /** [Output Only] The URL of the instance. */
18932 core.String instance;
18933 /** [Output Only] The named ports that belong to this instance group. */
18934 core.List<NamedPort> namedPorts;
18935 /**
18936 * [Output Only] The status of the instance.
18937 * Possible string values are:
18938 * - "PROVISIONING"
18939 * - "RUNNING"
18940 * - "STAGING"
18941 * - "STOPPED"
18942 * - "STOPPING"
18943 * - "SUSPENDED"
18944 * - "SUSPENDING"
18945 * - "TERMINATED"
18946 */
18947 core.String status;
18948
18949 InstanceWithNamedPorts();
18950
18951 InstanceWithNamedPorts.fromJson(core.Map _json) {
18952 if (_json.containsKey("instance")) {
18953 instance = _json["instance"];
18954 }
18955 if (_json.containsKey("namedPorts")) {
18956 namedPorts = _json["namedPorts"].map((value) => new NamedPort.fromJson(val ue)).toList();
18957 }
18958 if (_json.containsKey("status")) {
18959 status = _json["status"];
18960 }
18961 }
18962
18963 core.Map toJson() {
18964 var _json = new core.Map();
18965 if (instance != null) {
18966 _json["instance"] = instance;
18967 }
18968 if (namedPorts != null) {
18969 _json["namedPorts"] = namedPorts.map((value) => (value).toJson()).toList() ;
18970 }
18971 if (status != null) {
18972 _json["status"] = status;
18973 }
18974 return _json;
18975 }
18976 }
18977
18978 class InstancesScopedListWarningData {
18979 /** 20292 /**
18980 * [Output Only] A key that provides more detail on the warning being 20293 * [Output Only] A key that provides more detail on the warning being
18981 * returned. For example, for warnings where there are no results in a list 20294 * returned. For example, for warnings where there are no results in a list
18982 * request for a particular zone, this key might be scope and the key value 20295 * request for a particular zone, this key might be scope and the key value
18983 * might be the zone name. Other examples might be a key indicating a 20296 * might be the zone name. Other examples might be a key indicating a
18984 * deprecated resource and a suggested replacement, or a warning about invalid 20297 * deprecated resource and a suggested replacement, or a warning about invalid
18985 * network settings (for example, if an instance attempts to perform IP 20298 * network settings (for example, if an instance attempts to perform IP
18986 * forwarding but is not enabled for IP forwarding). 20299 * forwarding but is not enabled for IP forwarding).
18987 */ 20300 */
18988 core.String key; 20301 core.String key;
18989 /** [Output Only] A warning data value corresponding to the key. */ 20302 /** [Output Only] A warning data value corresponding to the key. */
18990 core.String value; 20303 core.String value;
18991 20304
18992 InstancesScopedListWarningData(); 20305 MachineTypesScopedListWarningData();
18993 20306
18994 InstancesScopedListWarningData.fromJson(core.Map _json) { 20307 MachineTypesScopedListWarningData.fromJson(core.Map _json) {
18995 if (_json.containsKey("key")) { 20308 if (_json.containsKey("key")) {
18996 key = _json["key"]; 20309 key = _json["key"];
18997 } 20310 }
18998 if (_json.containsKey("value")) { 20311 if (_json.containsKey("value")) {
18999 value = _json["value"]; 20312 value = _json["value"];
19000 } 20313 }
19001 } 20314 }
19002 20315
19003 core.Map toJson() { 20316 core.Map toJson() {
19004 var _json = new core.Map(); 20317 var _json = new core.Map();
19005 if (key != null) { 20318 if (key != null) {
19006 _json["key"] = key; 20319 _json["key"] = key;
19007 } 20320 }
19008 if (value != null) { 20321 if (value != null) {
19009 _json["value"] = value; 20322 _json["value"] = value;
19010 } 20323 }
19011 return _json; 20324 return _json;
19012 } 20325 }
19013 } 20326 }
19014 20327
19015 /** 20328 /**
19016 * [Output Only] Informational warning which replaces the list of instances when 20329 * [Output Only] An informational warning that appears when the machine types
19017 * the list is empty. 20330 * list is empty.
19018 */ 20331 */
19019 class InstancesScopedListWarning { 20332 class MachineTypesScopedListWarning {
19020 /** 20333 /**
19021 * [Output Only] A warning code, if applicable. For example, Compute Engine 20334 * [Output Only] A warning code, if applicable. For example, Compute Engine
19022 * returns NO_RESULTS_ON_PAGE if there are no results in the response. 20335 * returns NO_RESULTS_ON_PAGE if there are no results in the response.
19023 * Possible string values are: 20336 * Possible string values are:
19024 * - "CLEANUP_FAILED" 20337 * - "CLEANUP_FAILED"
19025 * - "DEPRECATED_RESOURCE_USED" 20338 * - "DEPRECATED_RESOURCE_USED"
19026 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" 20339 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
19027 * - "INJECTED_KERNELS_DEPRECATED" 20340 * - "INJECTED_KERNELS_DEPRECATED"
19028 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED" 20341 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
19029 * - "NEXT_HOP_CANNOT_IP_FORWARD" 20342 * - "NEXT_HOP_CANNOT_IP_FORWARD"
19030 * - "NEXT_HOP_INSTANCE_NOT_FOUND" 20343 * - "NEXT_HOP_INSTANCE_NOT_FOUND"
19031 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" 20344 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
19032 * - "NEXT_HOP_NOT_RUNNING" 20345 * - "NEXT_HOP_NOT_RUNNING"
19033 * - "NOT_CRITICAL_ERROR" 20346 * - "NOT_CRITICAL_ERROR"
19034 * - "NO_RESULTS_ON_PAGE" 20347 * - "NO_RESULTS_ON_PAGE"
19035 * - "REQUIRED_TOS_AGREEMENT" 20348 * - "REQUIRED_TOS_AGREEMENT"
19036 * - "RESOURCE_NOT_DELETED" 20349 * - "RESOURCE_NOT_DELETED"
19037 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE" 20350 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
19038 * - "UNREACHABLE" 20351 * - "UNREACHABLE"
19039 */ 20352 */
19040 core.String code; 20353 core.String code;
19041 /** 20354 /**
19042 * [Output Only] Metadata about this warning in key: value format. For 20355 * [Output Only] Metadata about this warning in key: value format. For
19043 * example: 20356 * example:
19044 * "data": [ { "key": "scope", "value": "zones/us-east1-d" } 20357 * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
19045 */ 20358 */
19046 core.List<InstancesScopedListWarningData> data; 20359 core.List<MachineTypesScopedListWarningData> data;
19047 /** [Output Only] A human-readable description of the warning code. */ 20360 /** [Output Only] A human-readable description of the warning code. */
19048 core.String message; 20361 core.String message;
19049 20362
19050 InstancesScopedListWarning(); 20363 MachineTypesScopedListWarning();
19051 20364
19052 InstancesScopedListWarning.fromJson(core.Map _json) { 20365 MachineTypesScopedListWarning.fromJson(core.Map _json) {
19053 if (_json.containsKey("code")) { 20366 if (_json.containsKey("code")) {
19054 code = _json["code"]; 20367 code = _json["code"];
19055 } 20368 }
19056 if (_json.containsKey("data")) { 20369 if (_json.containsKey("data")) {
19057 data = _json["data"].map((value) => new InstancesScopedListWarningData.fro mJson(value)).toList(); 20370 data = _json["data"].map((value) => new MachineTypesScopedListWarningData. fromJson(value)).toList();
19058 } 20371 }
19059 if (_json.containsKey("message")) { 20372 if (_json.containsKey("message")) {
19060 message = _json["message"]; 20373 message = _json["message"];
19061 } 20374 }
19062 } 20375 }
19063 20376
19064 core.Map toJson() { 20377 core.Map toJson() {
19065 var _json = new core.Map(); 20378 var _json = new core.Map();
19066 if (code != null) { 20379 if (code != null) {
19067 _json["code"] = code; 20380 _json["code"] = code;
19068 } 20381 }
19069 if (data != null) { 20382 if (data != null) {
19070 _json["data"] = data.map((value) => (value).toJson()).toList(); 20383 _json["data"] = data.map((value) => (value).toJson()).toList();
19071 } 20384 }
19072 if (message != null) { 20385 if (message != null) {
19073 _json["message"] = message; 20386 _json["message"] = message;
19074 } 20387 }
19075 return _json; 20388 return _json;
19076 } 20389 }
19077 } 20390 }
19078 20391
19079 class InstancesScopedList { 20392 class MachineTypesScopedList {
19080 /** [Output Only] List of instances contained in this scope. */ 20393 /** [Output Only] List of machine types contained in this scope. */
19081 core.List<Instance> instances; 20394 core.List<MachineType> machineTypes;
19082 /** 20395 /**
19083 * [Output Only] Informational warning which replaces the list of instances 20396 * [Output Only] An informational warning that appears when the machine types
19084 * when the list is empty. 20397 * list is empty.
19085 */ 20398 */
19086 InstancesScopedListWarning warning; 20399 MachineTypesScopedListWarning warning;
19087 20400
19088 InstancesScopedList(); 20401 MachineTypesScopedList();
19089 20402
19090 InstancesScopedList.fromJson(core.Map _json) { 20403 MachineTypesScopedList.fromJson(core.Map _json) {
19091 if (_json.containsKey("instances")) { 20404 if (_json.containsKey("machineTypes")) {
19092 instances = _json["instances"].map((value) => new Instance.fromJson(value) ).toList(); 20405 machineTypes = _json["machineTypes"].map((value) => new MachineType.fromJs on(value)).toList();
19093 } 20406 }
19094 if (_json.containsKey("warning")) { 20407 if (_json.containsKey("warning")) {
19095 warning = new InstancesScopedListWarning.fromJson(_json["warning"]); 20408 warning = new MachineTypesScopedListWarning.fromJson(_json["warning"]);
19096 } 20409 }
19097 } 20410 }
19098 20411
19099 core.Map toJson() { 20412 core.Map toJson() {
19100 var _json = new core.Map(); 20413 var _json = new core.Map();
19101 if (instances != null) { 20414 if (machineTypes != null) {
19102 _json["instances"] = instances.map((value) => (value).toJson()).toList(); 20415 _json["machineTypes"] = machineTypes.map((value) => (value).toJson()).toLi st();
19103 } 20416 }
19104 if (warning != null) { 20417 if (warning != null) {
19105 _json["warning"] = (warning).toJson(); 20418 _json["warning"] = (warning).toJson();
19106 } 20419 }
19107 return _json; 20420 return _json;
19108 } 20421 }
19109 } 20422 }
19110 20423
19111 class InstancesSetMachineTypeRequest { 20424 class ManagedInstance {
19112 /** 20425 /**
19113 * Full or partial URL of the machine type resource. See Machine Types for a 20426 * [Output Only] The current action that the managed instance group has
19114 * full list of machine types. For example: 20427 * scheduled for the instance. Possible values:
19115 * zones/us-central1-f/machineTypes/n1-standard-1 20428 * - NONE The instance is running, and the managed instance group does not
19116 */ 20429 * have any scheduled actions for this instance.
19117 core.String machineType; 20430 * - CREATING The managed instance group is creating this instance. If the
19118 20431 * group fails to create this instance, it will try again until it is
19119 InstancesSetMachineTypeRequest(); 20432 * successful.
19120 20433 * - CREATING_WITHOUT_RETRIES The managed instance group is attempting to
19121 InstancesSetMachineTypeRequest.fromJson(core.Map _json) { 20434 * create this instance only once. If the group fails to create this instance,
19122 if (_json.containsKey("machineType")) { 20435 * it does not try again and the group's target_size value is decreased.
19123 machineType = _json["machineType"]; 20436 * - RECREATING The managed instance group is recreating this instance.
19124 } 20437 * - DELETING The managed instance group is permanently deleting this
19125 } 20438 * instance.
19126 20439 * - ABANDONING The managed instance group is abandoning this instance. The
19127 core.Map toJson() { 20440 * instance will be removed from the instance group and from any target pools
19128 var _json = new core.Map(); 20441 * that are associated with this group.
19129 if (machineType != null) { 20442 * - RESTARTING The managed instance group is restarting the instance.
19130 _json["machineType"] = machineType; 20443 * - REFRESHING The managed instance group is applying configuration changes
19131 } 20444 * to the instance without stopping it. For example, the group can update the
19132 return _json; 20445 * target pool list for an instance without stopping that instance.
19133 } 20446 * Possible string values are:
19134 } 20447 * - "ABANDONING"
19135 20448 * - "CREATING"
19136 /** A license resource. */ 20449 * - "DELETING"
19137 class License { 20450 * - "NONE"
19138 /** 20451 * - "RECREATING"
19139 * [Output Only] If true, the customer will be charged license fee for running 20452 * - "REFRESHING"
19140 * software that contains this license on an instance. 20453 * - "RESTARTING"
19141 */ 20454 */
19142 core.bool chargesUseFee; 20455 core.String currentAction;
19143 /** [Output Only] Type of resource. Always compute#license for licenses. */ 20456 /**
20457 * [Output only] The unique identifier for this resource. This field is empty
20458 * when instance does not exist.
20459 */
20460 core.String id;
20461 /**
20462 * [Output Only] The URL of the instance. The URL can exist even if the
20463 * instance has not yet been created.
20464 */
20465 core.String instance;
20466 /**
20467 * [Output Only] The status of the instance. This field is empty when the
20468 * instance does not exist.
20469 * Possible string values are:
20470 * - "PROVISIONING"
20471 * - "RUNNING"
20472 * - "STAGING"
20473 * - "STOPPED"
20474 * - "STOPPING"
20475 * - "SUSPENDED"
20476 * - "SUSPENDING"
20477 * - "TERMINATED"
20478 */
20479 core.String instanceStatus;
20480 /**
20481 * [Output Only] Information about the last attempt to create or delete the
20482 * instance.
20483 */
20484 ManagedInstanceLastAttempt lastAttempt;
20485
20486 ManagedInstance();
20487
20488 ManagedInstance.fromJson(core.Map _json) {
20489 if (_json.containsKey("currentAction")) {
20490 currentAction = _json["currentAction"];
20491 }
20492 if (_json.containsKey("id")) {
20493 id = _json["id"];
20494 }
20495 if (_json.containsKey("instance")) {
20496 instance = _json["instance"];
20497 }
20498 if (_json.containsKey("instanceStatus")) {
20499 instanceStatus = _json["instanceStatus"];
20500 }
20501 if (_json.containsKey("lastAttempt")) {
20502 lastAttempt = new ManagedInstanceLastAttempt.fromJson(_json["lastAttempt"] );
20503 }
20504 }
20505
20506 core.Map toJson() {
20507 var _json = new core.Map();
20508 if (currentAction != null) {
20509 _json["currentAction"] = currentAction;
20510 }
20511 if (id != null) {
20512 _json["id"] = id;
20513 }
20514 if (instance != null) {
20515 _json["instance"] = instance;
20516 }
20517 if (instanceStatus != null) {
20518 _json["instanceStatus"] = instanceStatus;
20519 }
20520 if (lastAttempt != null) {
20521 _json["lastAttempt"] = (lastAttempt).toJson();
20522 }
20523 return _json;
20524 }
20525 }
20526
20527 class ManagedInstanceLastAttemptErrorsErrors {
20528 /** [Output Only] The error type identifier for this error. */
20529 core.String code;
20530 /**
20531 * [Output Only] Indicates the field in the request that caused the error.
20532 * This property is optional.
20533 */
20534 core.String location;
20535 /** [Output Only] An optional, human-readable error message. */
20536 core.String message;
20537
20538 ManagedInstanceLastAttemptErrorsErrors();
20539
20540 ManagedInstanceLastAttemptErrorsErrors.fromJson(core.Map _json) {
20541 if (_json.containsKey("code")) {
20542 code = _json["code"];
20543 }
20544 if (_json.containsKey("location")) {
20545 location = _json["location"];
20546 }
20547 if (_json.containsKey("message")) {
20548 message = _json["message"];
20549 }
20550 }
20551
20552 core.Map toJson() {
20553 var _json = new core.Map();
20554 if (code != null) {
20555 _json["code"] = code;
20556 }
20557 if (location != null) {
20558 _json["location"] = location;
20559 }
20560 if (message != null) {
20561 _json["message"] = message;
20562 }
20563 return _json;
20564 }
20565 }
20566
20567 /**
20568 * [Output Only] Encountered errors during the last attempt to create or delete
20569 * the instance.
20570 */
20571 class ManagedInstanceLastAttemptErrors {
20572 /**
20573 * [Output Only] The array of errors encountered while processing this
20574 * operation.
20575 */
20576 core.List<ManagedInstanceLastAttemptErrorsErrors> errors;
20577
20578 ManagedInstanceLastAttemptErrors();
20579
20580 ManagedInstanceLastAttemptErrors.fromJson(core.Map _json) {
20581 if (_json.containsKey("errors")) {
20582 errors = _json["errors"].map((value) => new ManagedInstanceLastAttemptErro rsErrors.fromJson(value)).toList();
20583 }
20584 }
20585
20586 core.Map toJson() {
20587 var _json = new core.Map();
20588 if (errors != null) {
20589 _json["errors"] = errors.map((value) => (value).toJson()).toList();
20590 }
20591 return _json;
20592 }
20593 }
20594
20595 class ManagedInstanceLastAttempt {
20596 /**
20597 * [Output Only] Encountered errors during the last attempt to create or
20598 * delete the instance.
20599 */
20600 ManagedInstanceLastAttemptErrors errors;
20601
20602 ManagedInstanceLastAttempt();
20603
20604 ManagedInstanceLastAttempt.fromJson(core.Map _json) {
20605 if (_json.containsKey("errors")) {
20606 errors = new ManagedInstanceLastAttemptErrors.fromJson(_json["errors"]);
20607 }
20608 }
20609
20610 core.Map toJson() {
20611 var _json = new core.Map();
20612 if (errors != null) {
20613 _json["errors"] = (errors).toJson();
20614 }
20615 return _json;
20616 }
20617 }
20618
20619 class MetadataItems {
20620 /**
20621 * Key for the metadata entry. Keys must conform to the following regexp:
20622 * [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as
20623 * part of a URL in the metadata server. Additionally, to avoid ambiguity,
20624 * keys must not conflict with any other metadata keys for the project.
20625 */
20626 core.String key;
20627 /**
20628 * Value for the metadata entry. These are free-form strings, and only have
20629 * meaning as interpreted by the image running in the instance. The only
20630 * restriction placed on values is that their size must be less than or equal
20631 * to 32768 bytes.
20632 */
20633 core.String value;
20634
20635 MetadataItems();
20636
20637 MetadataItems.fromJson(core.Map _json) {
20638 if (_json.containsKey("key")) {
20639 key = _json["key"];
20640 }
20641 if (_json.containsKey("value")) {
20642 value = _json["value"];
20643 }
20644 }
20645
20646 core.Map toJson() {
20647 var _json = new core.Map();
20648 if (key != null) {
20649 _json["key"] = key;
20650 }
20651 if (value != null) {
20652 _json["value"] = value;
20653 }
20654 return _json;
20655 }
20656 }
20657
20658 /** A metadata key/value entry. */
20659 class Metadata {
20660 /**
20661 * Specifies a fingerprint for this request, which is essentially a hash of
20662 * the metadata's contents and used for optimistic locking. The fingerprint is
20663 * initially generated by Compute Engine and changes after every request to
20664 * modify or update metadata. You must always provide an up-to-date
20665 * fingerprint hash in order to update or change metadata.
20666 */
20667 core.String fingerprint;
20668 core.List<core.int> get fingerprintAsBytes {
20669 return convert.BASE64.decode(fingerprint);
20670 }
20671
20672 void set fingerprintAsBytes(core.List<core.int> _bytes) {
20673 fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll( "+", "-");
20674 }
20675 /**
20676 * Array of key/value pairs. The total size of all keys and values must be
20677 * less than 512 KB.
20678 */
20679 core.List<MetadataItems> items;
20680 /**
20681 * [Output Only] Type of the resource. Always compute#metadata for metadata.
20682 */
19144 core.String kind; 20683 core.String kind;
19145 /** 20684
19146 * [Output Only] Name of the resource. The name is 1-63 characters long and 20685 Metadata();
19147 * complies with RFC1035. 20686
19148 */ 20687 Metadata.fromJson(core.Map _json) {
19149 core.String name; 20688 if (_json.containsKey("fingerprint")) {
19150 /** [Output Only] Server-defined URL for the resource. */ 20689 fingerprint = _json["fingerprint"];
19151 core.String selfLink; 20690 }
19152 20691 if (_json.containsKey("items")) {
19153 License(); 20692 items = _json["items"].map((value) => new MetadataItems.fromJson(value)).t oList();
19154
19155 License.fromJson(core.Map _json) {
19156 if (_json.containsKey("chargesUseFee")) {
19157 chargesUseFee = _json["chargesUseFee"];
19158 } 20693 }
19159 if (_json.containsKey("kind")) { 20694 if (_json.containsKey("kind")) {
19160 kind = _json["kind"]; 20695 kind = _json["kind"];
19161 } 20696 }
19162 if (_json.containsKey("name")) { 20697 }
19163 name = _json["name"]; 20698
19164 } 20699 core.Map toJson() {
19165 if (_json.containsKey("selfLink")) { 20700 var _json = new core.Map();
19166 selfLink = _json["selfLink"]; 20701 if (fingerprint != null) {
19167 } 20702 _json["fingerprint"] = fingerprint;
19168 }
19169
19170 core.Map toJson() {
19171 var _json = new core.Map();
19172 if (chargesUseFee != null) {
19173 _json["chargesUseFee"] = chargesUseFee;
19174 }
19175 if (kind != null) {
19176 _json["kind"] = kind;
19177 }
19178 if (name != null) {
19179 _json["name"] = name;
19180 }
19181 if (selfLink != null) {
19182 _json["selfLink"] = selfLink;
19183 }
19184 return _json;
19185 }
19186 }
19187
19188 class MachineTypeScratchDisks {
19189 /** Size of the scratch disk, defined in GB. */
19190 core.int diskGb;
19191
19192 MachineTypeScratchDisks();
19193
19194 MachineTypeScratchDisks.fromJson(core.Map _json) {
19195 if (_json.containsKey("diskGb")) {
19196 diskGb = _json["diskGb"];
19197 }
19198 }
19199
19200 core.Map toJson() {
19201 var _json = new core.Map();
19202 if (diskGb != null) {
19203 _json["diskGb"] = diskGb;
19204 }
19205 return _json;
19206 }
19207 }
19208
19209 /** A Machine Type resource. */
19210 class MachineType {
19211 /** [Output Only] Creation timestamp in RFC3339 text format. */
19212 core.String creationTimestamp;
19213 /**
19214 * [Output Only] The deprecation status associated with this machine type.
19215 */
19216 DeprecationStatus deprecated;
19217 /** [Output Only] An optional textual description of the resource. */
19218 core.String description;
19219 /**
19220 * [Output Only] The number of virtual CPUs that are available to the
19221 * instance.
19222 */
19223 core.int guestCpus;
19224 /**
19225 * [Output Only] The unique identifier for the resource. This identifier is
19226 * defined by the server.
19227 */
19228 core.String id;
19229 /**
19230 * [Deprecated] This property is deprecated and will never be populated with
19231 * any relevant values.
19232 */
19233 core.int imageSpaceGb;
19234 /**
19235 * [Output Only] The type of the resource. Always compute#machineType for
19236 * machine types.
19237 */
19238 core.String kind;
19239 /** [Output Only] Maximum persistent disks allowed. */
19240 core.int maximumPersistentDisks;
19241 /** [Output Only] Maximum total persistent disks size (GB) allowed. */
19242 core.String maximumPersistentDisksSizeGb;
19243 /**
19244 * [Output Only] The amount of physical memory available to the instance,
19245 * defined in MB.
19246 */
19247 core.int memoryMb;
19248 /** [Output Only] Name of the resource. */
19249 core.String name;
19250 /** [Output Only] List of extended scratch disks assigned to the instance. */
19251 core.List<MachineTypeScratchDisks> scratchDisks;
19252 /** [Output Only] Server-defined URL for the resource. */
19253 core.String selfLink;
19254 /**
19255 * [Output Only] The name of the zone where the machine type resides, such as
19256 * us-central1-a.
19257 */
19258 core.String zone;
19259
19260 MachineType();
19261
19262 MachineType.fromJson(core.Map _json) {
19263 if (_json.containsKey("creationTimestamp")) {
19264 creationTimestamp = _json["creationTimestamp"];
19265 }
19266 if (_json.containsKey("deprecated")) {
19267 deprecated = new DeprecationStatus.fromJson(_json["deprecated"]);
19268 }
19269 if (_json.containsKey("description")) {
19270 description = _json["description"];
19271 }
19272 if (_json.containsKey("guestCpus")) {
19273 guestCpus = _json["guestCpus"];
19274 }
19275 if (_json.containsKey("id")) {
19276 id = _json["id"];
19277 }
19278 if (_json.containsKey("imageSpaceGb")) {
19279 imageSpaceGb = _json["imageSpaceGb"];
19280 }
19281 if (_json.containsKey("kind")) {
19282 kind = _json["kind"];
19283 }
19284 if (_json.containsKey("maximumPersistentDisks")) {
19285 maximumPersistentDisks = _json["maximumPersistentDisks"];
19286 }
19287 if (_json.containsKey("maximumPersistentDisksSizeGb")) {
19288 maximumPersistentDisksSizeGb = _json["maximumPersistentDisksSizeGb"];
19289 }
19290 if (_json.containsKey("memoryMb")) {
19291 memoryMb = _json["memoryMb"];
19292 }
19293 if (_json.containsKey("name")) {
19294 name = _json["name"];
19295 }
19296 if (_json.containsKey("scratchDisks")) {
19297 scratchDisks = _json["scratchDisks"].map((value) => new MachineTypeScratch Disks.fromJson(value)).toList();
19298 }
19299 if (_json.containsKey("selfLink")) {
19300 selfLink = _json["selfLink"];
19301 }
19302 if (_json.containsKey("zone")) {
19303 zone = _json["zone"];
19304 }
19305 }
19306
19307 core.Map toJson() {
19308 var _json = new core.Map();
19309 if (creationTimestamp != null) {
19310 _json["creationTimestamp"] = creationTimestamp;
19311 }
19312 if (deprecated != null) {
19313 _json["deprecated"] = (deprecated).toJson();
19314 }
19315 if (description != null) {
19316 _json["description"] = description;
19317 }
19318 if (guestCpus != null) {
19319 _json["guestCpus"] = guestCpus;
19320 }
19321 if (id != null) {
19322 _json["id"] = id;
19323 }
19324 if (imageSpaceGb != null) {
19325 _json["imageSpaceGb"] = imageSpaceGb;
19326 }
19327 if (kind != null) {
19328 _json["kind"] = kind;
19329 }
19330 if (maximumPersistentDisks != null) {
19331 _json["maximumPersistentDisks"] = maximumPersistentDisks;
19332 }
19333 if (maximumPersistentDisksSizeGb != null) {
19334 _json["maximumPersistentDisksSizeGb"] = maximumPersistentDisksSizeGb;
19335 }
19336 if (memoryMb != null) {
19337 _json["memoryMb"] = memoryMb;
19338 }
19339 if (name != null) {
19340 _json["name"] = name;
19341 }
19342 if (scratchDisks != null) {
19343 _json["scratchDisks"] = scratchDisks.map((value) => (value).toJson()).toLi st();
19344 }
19345 if (selfLink != null) {
19346 _json["selfLink"] = selfLink;
19347 }
19348 if (zone != null) {
19349 _json["zone"] = zone;
19350 }
19351 return _json;
19352 }
19353 }
19354
19355 class MachineTypeAggregatedList {
19356 /**
19357 * [Output Only] The unique identifier for the resource. This identifier is
19358 * defined by the server.
19359 */
19360 core.String id;
19361 /** [Output Only] A map of scoped machine type lists. */
19362 core.Map<core.String, MachineTypesScopedList> items;
19363 /**
19364 * [Output Only] Type of resource. Always compute#machineTypeAggregatedList
19365 * for aggregated lists of machine types.
19366 */
19367 core.String kind;
19368 /**
19369 * [Output Only] This token allows you to get the next page of results for
19370 * list requests. If the number of results is larger than maxResults, use the
19371 * nextPageToken as a value for the query parameter pageToken in the next list
19372 * request. Subsequent list requests will have their own nextPageToken to
19373 * continue paging through the results.
19374 */
19375 core.String nextPageToken;
19376 /** [Output Only] Server-defined URL for this resource. */
19377 core.String selfLink;
19378
19379 MachineTypeAggregatedList();
19380
19381 MachineTypeAggregatedList.fromJson(core.Map _json) {
19382 if (_json.containsKey("id")) {
19383 id = _json["id"];
19384 }
19385 if (_json.containsKey("items")) {
19386 items = commons.mapMap(_json["items"], (item) => new MachineTypesScopedLis t.fromJson(item));
19387 }
19388 if (_json.containsKey("kind")) {
19389 kind = _json["kind"];
19390 }
19391 if (_json.containsKey("nextPageToken")) {
19392 nextPageToken = _json["nextPageToken"];
19393 }
19394 if (_json.containsKey("selfLink")) {
19395 selfLink = _json["selfLink"];
19396 }
19397 }
19398
19399 core.Map toJson() {
19400 var _json = new core.Map();
19401 if (id != null) {
19402 _json["id"] = id;
19403 }
19404 if (items != null) {
19405 _json["items"] = commons.mapMap(items, (item) => (item).toJson());
19406 }
19407 if (kind != null) {
19408 _json["kind"] = kind;
19409 }
19410 if (nextPageToken != null) {
19411 _json["nextPageToken"] = nextPageToken;
19412 }
19413 if (selfLink != null) {
19414 _json["selfLink"] = selfLink;
19415 }
19416 return _json;
19417 }
19418 }
19419
19420 /** Contains a list of machine types. */
19421 class MachineTypeList {
19422 /**
19423 * [Output Only] The unique identifier for the resource. This identifier is
19424 * defined by the server.
19425 */
19426 core.String id;
19427 /** [Output Only] A list of Machine Type resources. */
19428 core.List<MachineType> items;
19429 /**
19430 * [Output Only] Type of resource. Always compute#machineTypeList for lists of
19431 * machine types.
19432 */
19433 core.String kind;
19434 /**
19435 * [Output Only] This token allows you to get the next page of results for
19436 * list requests. If the number of results is larger than maxResults, use the
19437 * nextPageToken as a value for the query parameter pageToken in the next list
19438 * request. Subsequent list requests will have their own nextPageToken to
19439 * continue paging through the results.
19440 */
19441 core.String nextPageToken;
19442 /** [Output Only] Server-defined URL for this resource. */
19443 core.String selfLink;
19444
19445 MachineTypeList();
19446
19447 MachineTypeList.fromJson(core.Map _json) {
19448 if (_json.containsKey("id")) {
19449 id = _json["id"];
19450 }
19451 if (_json.containsKey("items")) {
19452 items = _json["items"].map((value) => new MachineType.fromJson(value)).toL ist();
19453 }
19454 if (_json.containsKey("kind")) {
19455 kind = _json["kind"];
19456 }
19457 if (_json.containsKey("nextPageToken")) {
19458 nextPageToken = _json["nextPageToken"];
19459 }
19460 if (_json.containsKey("selfLink")) {
19461 selfLink = _json["selfLink"];
19462 }
19463 }
19464
19465 core.Map toJson() {
19466 var _json = new core.Map();
19467 if (id != null) {
19468 _json["id"] = id;
19469 } 20703 }
19470 if (items != null) { 20704 if (items != null) {
19471 _json["items"] = items.map((value) => (value).toJson()).toList(); 20705 _json["items"] = items.map((value) => (value).toJson()).toList();
19472 } 20706 }
19473 if (kind != null) { 20707 if (kind != null) {
19474 _json["kind"] = kind; 20708 _json["kind"] = kind;
19475 } 20709 }
20710 return _json;
20711 }
20712 }
20713
20714 /** The named port. For example: . */
20715 class NamedPort {
20716 /**
20717 * The name for this named port. The name must be 1-63 characters long, and
20718 * comply with RFC1035.
20719 */
20720 core.String name;
20721 /** The port number, which can be a value between 1 and 65535. */
20722 core.int port;
20723
20724 NamedPort();
20725
20726 NamedPort.fromJson(core.Map _json) {
20727 if (_json.containsKey("name")) {
20728 name = _json["name"];
20729 }
20730 if (_json.containsKey("port")) {
20731 port = _json["port"];
20732 }
20733 }
20734
20735 core.Map toJson() {
20736 var _json = new core.Map();
20737 if (name != null) {
20738 _json["name"] = name;
20739 }
20740 if (port != null) {
20741 _json["port"] = port;
20742 }
20743 return _json;
20744 }
20745 }
20746
20747 /**
20748 * Represents a Network resource. Read Networks and Firewalls for more
20749 * information.
20750 */
20751 class Network {
20752 /**
20753 * The range of internal addresses that are legal on this network. This range
20754 * is a CIDR specification, for example: 192.168.0.0/16. Provided by the
20755 * client when the network is created.
20756 */
20757 core.String IPv4Range;
20758 /**
20759 * When set to true, the network is created in "auto subnet mode". When set to
20760 * false, the network is in "custom subnet mode".
20761 *
20762 * In "auto subnet mode", a newly created network is assigned the default CIDR
20763 * of 10.128.0.0/9 and it automatically creates one subnetwork per region.
20764 */
20765 core.bool autoCreateSubnetworks;
20766 /** [Output Only] Creation timestamp in RFC3339 text format. */
20767 core.String creationTimestamp;
20768 /**
20769 * An optional description of this resource. Provide this property when you
20770 * create the resource.
20771 */
20772 core.String description;
20773 /**
20774 * A gateway address for default routing to other networks. This value is read
20775 * only and is selected by the Google Compute Engine, typically as the first
20776 * usable address in the IPv4Range.
20777 */
20778 core.String gatewayIPv4;
20779 /**
20780 * [Output Only] The unique identifier for the resource. This identifier is
20781 * defined by the server.
20782 */
20783 core.String id;
20784 /**
20785 * [Output Only] Type of the resource. Always compute#network for networks.
20786 */
20787 core.String kind;
20788 /**
20789 * Name of the resource. Provided by the client when the resource is created.
20790 * The name must be 1-63 characters long, and comply with RFC1035.
20791 * Specifically, the name must be 1-63 characters long and match the regular
20792 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
20793 * be a lowercase letter, and all following characters must be a dash,
20794 * lowercase letter, or digit, except the last character, which cannot be a
20795 * dash.
20796 */
20797 core.String name;
20798 /** [Output Only] Server-defined URL for the resource. */
20799 core.String selfLink;
20800 /**
20801 * [Output Only] Server-defined fully-qualified URLs for all subnetworks in
20802 * this network.
20803 */
20804 core.List<core.String> subnetworks;
20805
20806 Network();
20807
20808 Network.fromJson(core.Map _json) {
20809 if (_json.containsKey("IPv4Range")) {
20810 IPv4Range = _json["IPv4Range"];
20811 }
20812 if (_json.containsKey("autoCreateSubnetworks")) {
20813 autoCreateSubnetworks = _json["autoCreateSubnetworks"];
20814 }
20815 if (_json.containsKey("creationTimestamp")) {
20816 creationTimestamp = _json["creationTimestamp"];
20817 }
20818 if (_json.containsKey("description")) {
20819 description = _json["description"];
20820 }
20821 if (_json.containsKey("gatewayIPv4")) {
20822 gatewayIPv4 = _json["gatewayIPv4"];
20823 }
20824 if (_json.containsKey("id")) {
20825 id = _json["id"];
20826 }
20827 if (_json.containsKey("kind")) {
20828 kind = _json["kind"];
20829 }
20830 if (_json.containsKey("name")) {
20831 name = _json["name"];
20832 }
20833 if (_json.containsKey("selfLink")) {
20834 selfLink = _json["selfLink"];
20835 }
20836 if (_json.containsKey("subnetworks")) {
20837 subnetworks = _json["subnetworks"];
20838 }
20839 }
20840
20841 core.Map toJson() {
20842 var _json = new core.Map();
20843 if (IPv4Range != null) {
20844 _json["IPv4Range"] = IPv4Range;
20845 }
20846 if (autoCreateSubnetworks != null) {
20847 _json["autoCreateSubnetworks"] = autoCreateSubnetworks;
20848 }
20849 if (creationTimestamp != null) {
20850 _json["creationTimestamp"] = creationTimestamp;
20851 }
20852 if (description != null) {
20853 _json["description"] = description;
20854 }
20855 if (gatewayIPv4 != null) {
20856 _json["gatewayIPv4"] = gatewayIPv4;
20857 }
20858 if (id != null) {
20859 _json["id"] = id;
20860 }
20861 if (kind != null) {
20862 _json["kind"] = kind;
20863 }
20864 if (name != null) {
20865 _json["name"] = name;
20866 }
20867 if (selfLink != null) {
20868 _json["selfLink"] = selfLink;
20869 }
20870 if (subnetworks != null) {
20871 _json["subnetworks"] = subnetworks;
20872 }
20873 return _json;
20874 }
20875 }
20876
20877 /** A network interface resource attached to an instance. */
20878 class NetworkInterface {
20879 /**
20880 * An array of configurations for this interface. Currently, ONE_TO_ONE_NAT is
20881 * the only access config supported. If there are no accessConfigs specified,
20882 * then this instance will have no external internet access.
20883 */
20884 core.List<AccessConfig> accessConfigs;
20885 /**
20886 * [Output Only] The name of the network interface, generated by the server.
20887 * For network devices, these are eth0, eth1, etc.
20888 */
20889 core.String name;
20890 /**
20891 * URL of the network resource for this instance. This is required for
20892 * creating an instance but optional when creating a firewall rule. If not
20893 * specified when creating a firewall rule, the default network is used:
20894 *
20895 * global/networks/default
20896 *
20897 * If you specify this property, you can specify the network as a full or
20898 * partial URL. For example, the following are all valid URLs:
20899 * -
20900 * https://www.googleapis.com/compute/v1/projects/project/global/networks/netw ork
20901 * - projects/project/global/networks/network
20902 * - global/networks/default
20903 */
20904 core.String network;
20905 /**
20906 * An IPv4 internal network address to assign to the instance for this network
20907 * interface. If not specified by the user, an unused internal IP is assigned
20908 * by the system.
20909 */
20910 core.String networkIP;
20911 /**
20912 * The URL of the Subnetwork resource for this instance. If the network
20913 * resource is in legacy mode, do not provide this property. If the network is
20914 * in auto subnet mode, providing the subnetwork is optional. If the network
20915 * is in custom subnet mode, then this field should be specified. If you
20916 * specify this property, you can specify the subnetwork as a full or partial
20917 * URL. For example, the following are all valid URLs:
20918 * -
20919 * https://www.googleapis.com/compute/v1/projects/project/regions/region/subne tworks/subnetwork
20920 * - regions/region/subnetworks/subnetwork
20921 */
20922 core.String subnetwork;
20923
20924 NetworkInterface();
20925
20926 NetworkInterface.fromJson(core.Map _json) {
20927 if (_json.containsKey("accessConfigs")) {
20928 accessConfigs = _json["accessConfigs"].map((value) => new AccessConfig.fro mJson(value)).toList();
20929 }
20930 if (_json.containsKey("name")) {
20931 name = _json["name"];
20932 }
20933 if (_json.containsKey("network")) {
20934 network = _json["network"];
20935 }
20936 if (_json.containsKey("networkIP")) {
20937 networkIP = _json["networkIP"];
20938 }
20939 if (_json.containsKey("subnetwork")) {
20940 subnetwork = _json["subnetwork"];
20941 }
20942 }
20943
20944 core.Map toJson() {
20945 var _json = new core.Map();
20946 if (accessConfigs != null) {
20947 _json["accessConfigs"] = accessConfigs.map((value) => (value).toJson()).to List();
20948 }
20949 if (name != null) {
20950 _json["name"] = name;
20951 }
20952 if (network != null) {
20953 _json["network"] = network;
20954 }
20955 if (networkIP != null) {
20956 _json["networkIP"] = networkIP;
20957 }
20958 if (subnetwork != null) {
20959 _json["subnetwork"] = subnetwork;
20960 }
20961 return _json;
20962 }
20963 }
20964
20965 /** Contains a list of networks. */
20966 class NetworkList {
20967 /**
20968 * [Output Only] The unique identifier for the resource. This identifier is
20969 * defined by the server.
20970 */
20971 core.String id;
20972 /** [Output Only] A list of Network resources. */
20973 core.List<Network> items;
20974 /**
20975 * [Output Only] Type of resource. Always compute#networkList for lists of
20976 * networks.
20977 */
20978 core.String kind;
20979 /**
20980 * [Output Only] This token allows you to get the next page of results for
20981 * list requests. If the number of results is larger than maxResults, use the
20982 * nextPageToken as a value for the query parameter pageToken in the next list
20983 * request. Subsequent list requests will have their own nextPageToken to
20984 * continue paging through the results.
20985 */
20986 core.String nextPageToken;
20987 /** [Output Only] Server-defined URL for this resource . */
20988 core.String selfLink;
20989
20990 NetworkList();
20991
20992 NetworkList.fromJson(core.Map _json) {
20993 if (_json.containsKey("id")) {
20994 id = _json["id"];
20995 }
20996 if (_json.containsKey("items")) {
20997 items = _json["items"].map((value) => new Network.fromJson(value)).toList( );
20998 }
20999 if (_json.containsKey("kind")) {
21000 kind = _json["kind"];
21001 }
21002 if (_json.containsKey("nextPageToken")) {
21003 nextPageToken = _json["nextPageToken"];
21004 }
21005 if (_json.containsKey("selfLink")) {
21006 selfLink = _json["selfLink"];
21007 }
21008 }
21009
21010 core.Map toJson() {
21011 var _json = new core.Map();
21012 if (id != null) {
21013 _json["id"] = id;
21014 }
21015 if (items != null) {
21016 _json["items"] = items.map((value) => (value).toJson()).toList();
21017 }
21018 if (kind != null) {
21019 _json["kind"] = kind;
21020 }
19476 if (nextPageToken != null) { 21021 if (nextPageToken != null) {
19477 _json["nextPageToken"] = nextPageToken; 21022 _json["nextPageToken"] = nextPageToken;
19478 } 21023 }
19479 if (selfLink != null) { 21024 if (selfLink != null) {
19480 _json["selfLink"] = selfLink; 21025 _json["selfLink"] = selfLink;
19481 } 21026 }
19482 return _json; 21027 return _json;
19483 } 21028 }
19484 } 21029 }
19485 21030
19486 class MachineTypesScopedListWarningData { 21031 class OperationErrorErrors {
19487 /**
19488 * [Output Only] A key that provides more detail on the warning being
19489 * returned. For example, for warnings where there are no results in a list
19490 * request for a particular zone, this key might be scope and the key value
19491 * might be the zone name. Other examples might be a key indicating a
19492 * deprecated resource and a suggested replacement, or a warning about invalid
19493 * network settings (for example, if an instance attempts to perform IP
19494 * forwarding but is not enabled for IP forwarding).
19495 */
19496 core.String key;
19497 /** [Output Only] A warning data value corresponding to the key. */
19498 core.String value;
19499
19500 MachineTypesScopedListWarningData();
19501
19502 MachineTypesScopedListWarningData.fromJson(core.Map _json) {
19503 if (_json.containsKey("key")) {
19504 key = _json["key"];
19505 }
19506 if (_json.containsKey("value")) {
19507 value = _json["value"];
19508 }
19509 }
19510
19511 core.Map toJson() {
19512 var _json = new core.Map();
19513 if (key != null) {
19514 _json["key"] = key;
19515 }
19516 if (value != null) {
19517 _json["value"] = value;
19518 }
19519 return _json;
19520 }
19521 }
19522
19523 /**
19524 * [Output Only] An informational warning that appears when the machine types
19525 * list is empty.
19526 */
19527 class MachineTypesScopedListWarning {
19528 /**
19529 * [Output Only] A warning code, if applicable. For example, Compute Engine
19530 * returns NO_RESULTS_ON_PAGE if there are no results in the response.
19531 * Possible string values are:
19532 * - "CLEANUP_FAILED"
19533 * - "DEPRECATED_RESOURCE_USED"
19534 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
19535 * - "INJECTED_KERNELS_DEPRECATED"
19536 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
19537 * - "NEXT_HOP_CANNOT_IP_FORWARD"
19538 * - "NEXT_HOP_INSTANCE_NOT_FOUND"
19539 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
19540 * - "NEXT_HOP_NOT_RUNNING"
19541 * - "NOT_CRITICAL_ERROR"
19542 * - "NO_RESULTS_ON_PAGE"
19543 * - "REQUIRED_TOS_AGREEMENT"
19544 * - "RESOURCE_NOT_DELETED"
19545 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
19546 * - "UNREACHABLE"
19547 */
19548 core.String code;
19549 /**
19550 * [Output Only] Metadata about this warning in key: value format. For
19551 * example:
19552 * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
19553 */
19554 core.List<MachineTypesScopedListWarningData> data;
19555 /** [Output Only] A human-readable description of the warning code. */
19556 core.String message;
19557
19558 MachineTypesScopedListWarning();
19559
19560 MachineTypesScopedListWarning.fromJson(core.Map _json) {
19561 if (_json.containsKey("code")) {
19562 code = _json["code"];
19563 }
19564 if (_json.containsKey("data")) {
19565 data = _json["data"].map((value) => new MachineTypesScopedListWarningData. fromJson(value)).toList();
19566 }
19567 if (_json.containsKey("message")) {
19568 message = _json["message"];
19569 }
19570 }
19571
19572 core.Map toJson() {
19573 var _json = new core.Map();
19574 if (code != null) {
19575 _json["code"] = code;
19576 }
19577 if (data != null) {
19578 _json["data"] = data.map((value) => (value).toJson()).toList();
19579 }
19580 if (message != null) {
19581 _json["message"] = message;
19582 }
19583 return _json;
19584 }
19585 }
19586
19587 class MachineTypesScopedList {
19588 /** [Output Only] List of machine types contained in this scope. */
19589 core.List<MachineType> machineTypes;
19590 /**
19591 * [Output Only] An informational warning that appears when the machine types
19592 * list is empty.
19593 */
19594 MachineTypesScopedListWarning warning;
19595
19596 MachineTypesScopedList();
19597
19598 MachineTypesScopedList.fromJson(core.Map _json) {
19599 if (_json.containsKey("machineTypes")) {
19600 machineTypes = _json["machineTypes"].map((value) => new MachineType.fromJs on(value)).toList();
19601 }
19602 if (_json.containsKey("warning")) {
19603 warning = new MachineTypesScopedListWarning.fromJson(_json["warning"]);
19604 }
19605 }
19606
19607 core.Map toJson() {
19608 var _json = new core.Map();
19609 if (machineTypes != null) {
19610 _json["machineTypes"] = machineTypes.map((value) => (value).toJson()).toLi st();
19611 }
19612 if (warning != null) {
19613 _json["warning"] = (warning).toJson();
19614 }
19615 return _json;
19616 }
19617 }
19618
19619 class ManagedInstance {
19620 /**
19621 * [Output Only] The current action that the managed instance group has
19622 * scheduled for the instance. Possible values:
19623 * - NONE The instance is running, and the managed instance group does not
19624 * have any scheduled actions for this instance.
19625 * - CREATING The managed instance group is creating this instance. If the
19626 * group fails to create this instance, it will try again until it is
19627 * successful.
19628 * - CREATING_WITHOUT_RETRIES The managed instance group is attempting to
19629 * create this instance only once. If the group fails to create this instance,
19630 * it does not try again and the group's target_size value is decreased.
19631 * - RECREATING The managed instance group is recreating this instance.
19632 * - DELETING The managed instance group is permanently deleting this
19633 * instance.
19634 * - ABANDONING The managed instance group is abandoning this instance. The
19635 * instance will be removed from the instance group and from any target pools
19636 * that are associated with this group.
19637 * - RESTARTING The managed instance group is restarting the instance.
19638 * - REFRESHING The managed instance group is applying configuration changes
19639 * to the instance without stopping it. For example, the group can update the
19640 * target pool list for an instance without stopping that instance.
19641 * Possible string values are:
19642 * - "ABANDONING"
19643 * - "CREATING"
19644 * - "DELETING"
19645 * - "NONE"
19646 * - "RECREATING"
19647 * - "REFRESHING"
19648 * - "RESTARTING"
19649 */
19650 core.String currentAction;
19651 /**
19652 * [Output only] The unique identifier for this resource. This field is empty
19653 * when instance does not exist.
19654 */
19655 core.String id;
19656 /**
19657 * [Output Only] The URL of the instance. The URL can exist even if the
19658 * instance has not yet been created.
19659 */
19660 core.String instance;
19661 /**
19662 * [Output Only] The status of the instance. This field is empty when the
19663 * instance does not exist.
19664 * Possible string values are:
19665 * - "PROVISIONING"
19666 * - "RUNNING"
19667 * - "STAGING"
19668 * - "STOPPED"
19669 * - "STOPPING"
19670 * - "SUSPENDED"
19671 * - "SUSPENDING"
19672 * - "TERMINATED"
19673 */
19674 core.String instanceStatus;
19675 /**
19676 * [Output Only] Information about the last attempt to create or delete the
19677 * instance.
19678 */
19679 ManagedInstanceLastAttempt lastAttempt;
19680
19681 ManagedInstance();
19682
19683 ManagedInstance.fromJson(core.Map _json) {
19684 if (_json.containsKey("currentAction")) {
19685 currentAction = _json["currentAction"];
19686 }
19687 if (_json.containsKey("id")) {
19688 id = _json["id"];
19689 }
19690 if (_json.containsKey("instance")) {
19691 instance = _json["instance"];
19692 }
19693 if (_json.containsKey("instanceStatus")) {
19694 instanceStatus = _json["instanceStatus"];
19695 }
19696 if (_json.containsKey("lastAttempt")) {
19697 lastAttempt = new ManagedInstanceLastAttempt.fromJson(_json["lastAttempt"] );
19698 }
19699 }
19700
19701 core.Map toJson() {
19702 var _json = new core.Map();
19703 if (currentAction != null) {
19704 _json["currentAction"] = currentAction;
19705 }
19706 if (id != null) {
19707 _json["id"] = id;
19708 }
19709 if (instance != null) {
19710 _json["instance"] = instance;
19711 }
19712 if (instanceStatus != null) {
19713 _json["instanceStatus"] = instanceStatus;
19714 }
19715 if (lastAttempt != null) {
19716 _json["lastAttempt"] = (lastAttempt).toJson();
19717 }
19718 return _json;
19719 }
19720 }
19721
19722 class ManagedInstanceLastAttemptErrorsErrors {
19723 /** [Output Only] The error type identifier for this error. */ 21032 /** [Output Only] The error type identifier for this error. */
19724 core.String code; 21033 core.String code;
19725 /** 21034 /**
19726 * [Output Only] Indicates the field in the request that caused the error. 21035 * [Output Only] Indicates the field in the request that caused the error.
19727 * This property is optional. 21036 * This property is optional.
19728 */ 21037 */
19729 core.String location; 21038 core.String location;
19730 /** [Output Only] An optional, human-readable error message. */ 21039 /** [Output Only] An optional, human-readable error message. */
19731 core.String message; 21040 core.String message;
19732 21041
19733 ManagedInstanceLastAttemptErrorsErrors(); 21042 OperationErrorErrors();
19734 21043
19735 ManagedInstanceLastAttemptErrorsErrors.fromJson(core.Map _json) { 21044 OperationErrorErrors.fromJson(core.Map _json) {
19736 if (_json.containsKey("code")) { 21045 if (_json.containsKey("code")) {
19737 code = _json["code"]; 21046 code = _json["code"];
19738 } 21047 }
19739 if (_json.containsKey("location")) { 21048 if (_json.containsKey("location")) {
19740 location = _json["location"]; 21049 location = _json["location"];
19741 } 21050 }
19742 if (_json.containsKey("message")) { 21051 if (_json.containsKey("message")) {
19743 message = _json["message"]; 21052 message = _json["message"];
19744 } 21053 }
19745 } 21054 }
19746 21055
19747 core.Map toJson() { 21056 core.Map toJson() {
19748 var _json = new core.Map(); 21057 var _json = new core.Map();
19749 if (code != null) { 21058 if (code != null) {
19750 _json["code"] = code; 21059 _json["code"] = code;
19751 } 21060 }
19752 if (location != null) { 21061 if (location != null) {
19753 _json["location"] = location; 21062 _json["location"] = location;
19754 } 21063 }
19755 if (message != null) { 21064 if (message != null) {
19756 _json["message"] = message; 21065 _json["message"] = message;
19757 } 21066 }
19758 return _json; 21067 return _json;
19759 } 21068 }
19760 } 21069 }
19761 21070
19762 /** 21071 /**
19763 * [Output Only] Encountered errors during the last attempt to create or delete 21072 * [Output Only] If errors are generated during processing of the operation,
19764 * the instance. 21073 * this field will be populated.
19765 */ 21074 */
19766 class ManagedInstanceLastAttemptErrors { 21075 class OperationError {
19767 /** 21076 /**
19768 * [Output Only] The array of errors encountered while processing this 21077 * [Output Only] The array of errors encountered while processing this
19769 * operation. 21078 * operation.
19770 */ 21079 */
19771 core.List<ManagedInstanceLastAttemptErrorsErrors> errors; 21080 core.List<OperationErrorErrors> errors;
19772 21081
19773 ManagedInstanceLastAttemptErrors(); 21082 OperationError();
19774 21083
19775 ManagedInstanceLastAttemptErrors.fromJson(core.Map _json) { 21084 OperationError.fromJson(core.Map _json) {
19776 if (_json.containsKey("errors")) { 21085 if (_json.containsKey("errors")) {
19777 errors = _json["errors"].map((value) => new ManagedInstanceLastAttemptErro rsErrors.fromJson(value)).toList(); 21086 errors = _json["errors"].map((value) => new OperationErrorErrors.fromJson( value)).toList();
19778 } 21087 }
19779 } 21088 }
19780 21089
19781 core.Map toJson() { 21090 core.Map toJson() {
19782 var _json = new core.Map(); 21091 var _json = new core.Map();
19783 if (errors != null) { 21092 if (errors != null) {
19784 _json["errors"] = errors.map((value) => (value).toJson()).toList(); 21093 _json["errors"] = errors.map((value) => (value).toJson()).toList();
19785 } 21094 }
19786 return _json; 21095 return _json;
19787 } 21096 }
19788 } 21097 }
19789 21098
19790 class ManagedInstanceLastAttempt { 21099 class OperationWarningsData {
19791 /** 21100 /**
19792 * [Output Only] Encountered errors during the last attempt to create or 21101 * [Output Only] A key that provides more detail on the warning being
19793 * delete the instance. 21102 * returned. For example, for warnings where there are no results in a list
19794 */ 21103 * request for a particular zone, this key might be scope and the key value
19795 ManagedInstanceLastAttemptErrors errors; 21104 * might be the zone name. Other examples might be a key indicating a
19796 21105 * deprecated resource and a suggested replacement, or a warning about invalid
19797 ManagedInstanceLastAttempt(); 21106 * network settings (for example, if an instance attempts to perform IP
19798 21107 * forwarding but is not enabled for IP forwarding).
19799 ManagedInstanceLastAttempt.fromJson(core.Map _json) {
19800 if (_json.containsKey("errors")) {
19801 errors = new ManagedInstanceLastAttemptErrors.fromJson(_json["errors"]);
19802 }
19803 }
19804
19805 core.Map toJson() {
19806 var _json = new core.Map();
19807 if (errors != null) {
19808 _json["errors"] = (errors).toJson();
19809 }
19810 return _json;
19811 }
19812 }
19813
19814 class MetadataItems {
19815 /**
19816 * Key for the metadata entry. Keys must conform to the following regexp:
19817 * [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as
19818 * part of a URL in the metadata server. Additionally, to avoid ambiguity,
19819 * keys must not conflict with any other metadata keys for the project.
19820 */ 21108 */
19821 core.String key; 21109 core.String key;
19822 /** 21110 /** [Output Only] A warning data value corresponding to the key. */
19823 * Value for the metadata entry. These are free-form strings, and only have
19824 * meaning as interpreted by the image running in the instance. The only
19825 * restriction placed on values is that their size must be less than or equal
19826 * to 32768 bytes.
19827 */
19828 core.String value; 21111 core.String value;
19829 21112
19830 MetadataItems(); 21113 OperationWarningsData();
19831 21114
19832 MetadataItems.fromJson(core.Map _json) { 21115 OperationWarningsData.fromJson(core.Map _json) {
19833 if (_json.containsKey("key")) { 21116 if (_json.containsKey("key")) {
19834 key = _json["key"]; 21117 key = _json["key"];
19835 } 21118 }
19836 if (_json.containsKey("value")) { 21119 if (_json.containsKey("value")) {
19837 value = _json["value"]; 21120 value = _json["value"];
19838 } 21121 }
19839 } 21122 }
19840 21123
19841 core.Map toJson() { 21124 core.Map toJson() {
19842 var _json = new core.Map(); 21125 var _json = new core.Map();
19843 if (key != null) { 21126 if (key != null) {
19844 _json["key"] = key; 21127 _json["key"] = key;
19845 } 21128 }
19846 if (value != null) { 21129 if (value != null) {
19847 _json["value"] = value; 21130 _json["value"] = value;
19848 } 21131 }
19849 return _json; 21132 return _json;
19850 } 21133 }
19851 } 21134 }
19852 21135
19853 /** A metadata key/value entry. */ 21136 class OperationWarnings {
19854 class Metadata {
19855 /** 21137 /**
19856 * Specifies a fingerprint for this request, which is essentially a hash of 21138 * [Output Only] A warning code, if applicable. For example, Compute Engine
19857 * the metadata's contents and used for optimistic locking. The fingerprint is 21139 * returns NO_RESULTS_ON_PAGE if there are no results in the response.
19858 * initially generated by Compute Engine and changes after every request to 21140 * Possible string values are:
19859 * modify or update metadata. You must always provide an up-to-date 21141 * - "CLEANUP_FAILED"
19860 * fingerprint hash in order to update or change metadata. 21142 * - "DEPRECATED_RESOURCE_USED"
21143 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
21144 * - "INJECTED_KERNELS_DEPRECATED"
21145 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
21146 * - "NEXT_HOP_CANNOT_IP_FORWARD"
21147 * - "NEXT_HOP_INSTANCE_NOT_FOUND"
21148 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
21149 * - "NEXT_HOP_NOT_RUNNING"
21150 * - "NOT_CRITICAL_ERROR"
21151 * - "NO_RESULTS_ON_PAGE"
21152 * - "REQUIRED_TOS_AGREEMENT"
21153 * - "RESOURCE_NOT_DELETED"
21154 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
21155 * - "UNREACHABLE"
19861 */ 21156 */
19862 core.String fingerprint; 21157 core.String code;
19863 core.List<core.int> get fingerprintAsBytes { 21158 /**
19864 return crypto.CryptoUtils.base64StringToBytes(fingerprint); 21159 * [Output Only] Metadata about this warning in key: value format. For
19865 } 21160 * example:
21161 * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
21162 */
21163 core.List<OperationWarningsData> data;
21164 /** [Output Only] A human-readable description of the warning code. */
21165 core.String message;
19866 21166
19867 void set fingerprintAsBytes(core.List<core.int> _bytes) { 21167 OperationWarnings();
19868 fingerprint = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true);
19869 }
19870 /**
19871 * Array of key/value pairs. The total size of all keys and values must be
19872 * less than 512 KB.
19873 */
19874 core.List<MetadataItems> items;
19875 /**
19876 * [Output Only] Type of the resource. Always compute#metadata for metadata.
19877 */
19878 core.String kind;
19879 21168
19880 Metadata(); 21169 OperationWarnings.fromJson(core.Map _json) {
19881 21170 if (_json.containsKey("code")) {
19882 Metadata.fromJson(core.Map _json) { 21171 code = _json["code"];
19883 if (_json.containsKey("fingerprint")) {
19884 fingerprint = _json["fingerprint"];
19885 } 21172 }
19886 if (_json.containsKey("items")) { 21173 if (_json.containsKey("data")) {
19887 items = _json["items"].map((value) => new MetadataItems.fromJson(value)).t oList(); 21174 data = _json["data"].map((value) => new OperationWarningsData.fromJson(val ue)).toList();
19888 } 21175 }
19889 if (_json.containsKey("kind")) { 21176 if (_json.containsKey("message")) {
19890 kind = _json["kind"]; 21177 message = _json["message"];
19891 } 21178 }
19892 } 21179 }
19893 21180
19894 core.Map toJson() { 21181 core.Map toJson() {
19895 var _json = new core.Map(); 21182 var _json = new core.Map();
19896 if (fingerprint != null) { 21183 if (code != null) {
19897 _json["fingerprint"] = fingerprint; 21184 _json["code"] = code;
19898 } 21185 }
19899 if (items != null) { 21186 if (data != null) {
19900 _json["items"] = items.map((value) => (value).toJson()).toList(); 21187 _json["data"] = data.map((value) => (value).toJson()).toList();
19901 } 21188 }
19902 if (kind != null) { 21189 if (message != null) {
19903 _json["kind"] = kind; 21190 _json["message"] = message;
19904 } 21191 }
19905 return _json; 21192 return _json;
19906 } 21193 }
19907 } 21194 }
19908 21195
19909 /** The named port. For example: . */ 21196 /** An Operation resource, used to manage asynchronous API requests. */
19910 class NamedPort { 21197 class Operation {
19911 /** 21198 /** [Output Only] Reserved for future use. */
19912 * The name for this named port. The name must be 1-63 characters long, and 21199 core.String clientOperationId;
19913 * comply with RFC1035.
19914 */
19915 core.String name;
19916 /** The port number, which can be a value between 1 and 65535. */
19917 core.int port;
19918
19919 NamedPort();
19920
19921 NamedPort.fromJson(core.Map _json) {
19922 if (_json.containsKey("name")) {
19923 name = _json["name"];
19924 }
19925 if (_json.containsKey("port")) {
19926 port = _json["port"];
19927 }
19928 }
19929
19930 core.Map toJson() {
19931 var _json = new core.Map();
19932 if (name != null) {
19933 _json["name"] = name;
19934 }
19935 if (port != null) {
19936 _json["port"] = port;
19937 }
19938 return _json;
19939 }
19940 }
19941
19942 /**
19943 * Represents a Network resource. Read Networks and Firewalls for more
19944 * information.
19945 */
19946 class Network {
19947 /**
19948 * The range of internal addresses that are legal on this network. This range
19949 * is a CIDR specification, for example: 192.168.0.0/16. Provided by the
19950 * client when the network is created.
19951 */
19952 core.String IPv4Range;
19953 /**
19954 * When set to true, the network is created in "auto subnet mode". When set to
19955 * false, the network is in "custom subnet mode".
19956 *
19957 * In "auto subnet mode", a newly created network is assigned the default CIDR
19958 * of 10.128.0.0/9 and it automatically creates one subnetwork per region.
19959 */
19960 core.bool autoCreateSubnetworks;
19961 /** [Output Only] Creation timestamp in RFC3339 text format. */ 21200 /** [Output Only] Creation timestamp in RFC3339 text format. */
19962 core.String creationTimestamp; 21201 core.String creationTimestamp;
19963 /** 21202 /**
19964 * An optional description of this resource. Provide this property when you 21203 * [Output Only] A textual description of the operation, which is set when the
19965 * create the resource. 21204 * operation is created.
19966 */ 21205 */
19967 core.String description; 21206 core.String description;
19968 /** 21207 /**
19969 * A gateway address for default routing to other networks. This value is read 21208 * [Output Only] The time that this operation was completed. This value is in
19970 * only and is selected by the Google Compute Engine, typically as the first 21209 * RFC3339 text format.
19971 * usable address in the IPv4Range.
19972 */ 21210 */
19973 core.String gatewayIPv4; 21211 core.String endTime;
21212 /**
21213 * [Output Only] If errors are generated during processing of the operation,
21214 * this field will be populated.
21215 */
21216 OperationError error;
21217 /**
21218 * [Output Only] If the operation fails, this field contains the HTTP error
21219 * message that was returned, such as NOT FOUND.
21220 */
21221 core.String httpErrorMessage;
21222 /**
21223 * [Output Only] If the operation fails, this field contains the HTTP error
21224 * status code that was returned. For example, a 404 means the resource was
21225 * not found.
21226 */
21227 core.int httpErrorStatusCode;
19974 /** 21228 /**
19975 * [Output Only] The unique identifier for the resource. This identifier is 21229 * [Output Only] The unique identifier for the resource. This identifier is
19976 * defined by the server. 21230 * defined by the server.
19977 */ 21231 */
19978 core.String id; 21232 core.String id;
19979 /** 21233 /**
19980 * [Output Only] Type of the resource. Always compute#network for networks. 21234 * [Output Only] The time that this operation was requested. This value is in
21235 * RFC3339 text format.
21236 */
21237 core.String insertTime;
21238 /**
21239 * [Output Only] Type of the resource. Always compute#operation for Operation
21240 * resources.
19981 */ 21241 */
19982 core.String kind; 21242 core.String kind;
21243 /** [Output Only] Name of the resource. */
21244 core.String name;
19983 /** 21245 /**
19984 * Name of the resource. Provided by the client when the resource is created. 21246 * [Output Only] The type of operation, such as insert, update, or delete, and
19985 * The name must be 1-63 characters long, and comply with RFC1035. 21247 * so on.
19986 * Specifically, the name must be 1-63 characters long and match the regular
19987 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
19988 * be a lowercase letter, and all following characters must be a dash,
19989 * lowercase letter, or digit, except the last character, which cannot be a
19990 * dash.
19991 */ 21248 */
19992 core.String name; 21249 core.String operationType;
21250 /**
21251 * [Output Only] An optional progress indicator that ranges from 0 to 100.
21252 * There is no requirement that this be linear or support any granularity of
21253 * operations. This should not be used to guess when the operation will be
21254 * complete. This number should monotonically increase as the operation
21255 * progresses.
21256 */
21257 core.int progress;
21258 /**
21259 * [Output Only] The URL of the region where the operation resides. Only
21260 * available when performing regional operations.
21261 */
21262 core.String region;
19993 /** [Output Only] Server-defined URL for the resource. */ 21263 /** [Output Only] Server-defined URL for the resource. */
19994 core.String selfLink; 21264 core.String selfLink;
19995 /** 21265 /**
19996 * [Output Only] Server-defined fully-qualified URLs for all subnetworks in 21266 * [Output Only] The time that this operation was started by the server. This
19997 * this network. 21267 * value is in RFC3339 text format.
19998 */ 21268 */
19999 core.List<core.String> subnetworks; 21269 core.String startTime;
21270 /**
21271 * [Output Only] The status of the operation, which can be one of the
21272 * following: PENDING, RUNNING, or DONE.
21273 * Possible string values are:
21274 * - "DONE"
21275 * - "PENDING"
21276 * - "RUNNING"
21277 */
21278 core.String status;
21279 /**
21280 * [Output Only] An optional textual description of the current status of the
21281 * operation.
21282 */
21283 core.String statusMessage;
21284 /**
21285 * [Output Only] The unique target ID, which identifies a specific incarnation
21286 * of the target resource.
21287 */
21288 core.String targetId;
21289 /** [Output Only] The URL of the resource that the operation modifies. */
21290 core.String targetLink;
21291 /**
21292 * [Output Only] User who requested the operation, for example:
21293 * user@example.com.
21294 */
21295 core.String user;
21296 /**
21297 * [Output Only] If warning messages are generated during processing of the
21298 * operation, this field will be populated.
21299 */
21300 core.List<OperationWarnings> warnings;
21301 /**
21302 * [Output Only] The URL of the zone where the operation resides. Only
21303 * available when performing per-zone operations.
21304 */
21305 core.String zone;
20000 21306
20001 Network(); 21307 Operation();
20002 21308
20003 Network.fromJson(core.Map _json) { 21309 Operation.fromJson(core.Map _json) {
20004 if (_json.containsKey("IPv4Range")) { 21310 if (_json.containsKey("clientOperationId")) {
20005 IPv4Range = _json["IPv4Range"]; 21311 clientOperationId = _json["clientOperationId"];
20006 }
20007 if (_json.containsKey("autoCreateSubnetworks")) {
20008 autoCreateSubnetworks = _json["autoCreateSubnetworks"];
20009 } 21312 }
20010 if (_json.containsKey("creationTimestamp")) { 21313 if (_json.containsKey("creationTimestamp")) {
20011 creationTimestamp = _json["creationTimestamp"]; 21314 creationTimestamp = _json["creationTimestamp"];
20012 } 21315 }
20013 if (_json.containsKey("description")) { 21316 if (_json.containsKey("description")) {
20014 description = _json["description"]; 21317 description = _json["description"];
20015 } 21318 }
20016 if (_json.containsKey("gatewayIPv4")) { 21319 if (_json.containsKey("endTime")) {
20017 gatewayIPv4 = _json["gatewayIPv4"]; 21320 endTime = _json["endTime"];
21321 }
21322 if (_json.containsKey("error")) {
21323 error = new OperationError.fromJson(_json["error"]);
21324 }
21325 if (_json.containsKey("httpErrorMessage")) {
21326 httpErrorMessage = _json["httpErrorMessage"];
21327 }
21328 if (_json.containsKey("httpErrorStatusCode")) {
21329 httpErrorStatusCode = _json["httpErrorStatusCode"];
20018 } 21330 }
20019 if (_json.containsKey("id")) { 21331 if (_json.containsKey("id")) {
20020 id = _json["id"]; 21332 id = _json["id"];
20021 } 21333 }
21334 if (_json.containsKey("insertTime")) {
21335 insertTime = _json["insertTime"];
21336 }
20022 if (_json.containsKey("kind")) { 21337 if (_json.containsKey("kind")) {
20023 kind = _json["kind"]; 21338 kind = _json["kind"];
20024 } 21339 }
20025 if (_json.containsKey("name")) { 21340 if (_json.containsKey("name")) {
20026 name = _json["name"]; 21341 name = _json["name"];
20027 } 21342 }
21343 if (_json.containsKey("operationType")) {
21344 operationType = _json["operationType"];
21345 }
21346 if (_json.containsKey("progress")) {
21347 progress = _json["progress"];
21348 }
21349 if (_json.containsKey("region")) {
21350 region = _json["region"];
21351 }
20028 if (_json.containsKey("selfLink")) { 21352 if (_json.containsKey("selfLink")) {
20029 selfLink = _json["selfLink"]; 21353 selfLink = _json["selfLink"];
20030 } 21354 }
20031 if (_json.containsKey("subnetworks")) { 21355 if (_json.containsKey("startTime")) {
20032 subnetworks = _json["subnetworks"]; 21356 startTime = _json["startTime"];
21357 }
21358 if (_json.containsKey("status")) {
21359 status = _json["status"];
21360 }
21361 if (_json.containsKey("statusMessage")) {
21362 statusMessage = _json["statusMessage"];
21363 }
21364 if (_json.containsKey("targetId")) {
21365 targetId = _json["targetId"];
21366 }
21367 if (_json.containsKey("targetLink")) {
21368 targetLink = _json["targetLink"];
21369 }
21370 if (_json.containsKey("user")) {
21371 user = _json["user"];
21372 }
21373 if (_json.containsKey("warnings")) {
21374 warnings = _json["warnings"].map((value) => new OperationWarnings.fromJson (value)).toList();
21375 }
21376 if (_json.containsKey("zone")) {
21377 zone = _json["zone"];
20033 } 21378 }
20034 } 21379 }
20035 21380
20036 core.Map toJson() { 21381 core.Map toJson() {
20037 var _json = new core.Map(); 21382 var _json = new core.Map();
20038 if (IPv4Range != null) { 21383 if (clientOperationId != null) {
20039 _json["IPv4Range"] = IPv4Range; 21384 _json["clientOperationId"] = clientOperationId;
20040 }
20041 if (autoCreateSubnetworks != null) {
20042 _json["autoCreateSubnetworks"] = autoCreateSubnetworks;
20043 } 21385 }
20044 if (creationTimestamp != null) { 21386 if (creationTimestamp != null) {
20045 _json["creationTimestamp"] = creationTimestamp; 21387 _json["creationTimestamp"] = creationTimestamp;
20046 } 21388 }
20047 if (description != null) { 21389 if (description != null) {
20048 _json["description"] = description; 21390 _json["description"] = description;
20049 } 21391 }
20050 if (gatewayIPv4 != null) { 21392 if (endTime != null) {
20051 _json["gatewayIPv4"] = gatewayIPv4; 21393 _json["endTime"] = endTime;
21394 }
21395 if (error != null) {
21396 _json["error"] = (error).toJson();
21397 }
21398 if (httpErrorMessage != null) {
21399 _json["httpErrorMessage"] = httpErrorMessage;
21400 }
21401 if (httpErrorStatusCode != null) {
21402 _json["httpErrorStatusCode"] = httpErrorStatusCode;
20052 } 21403 }
20053 if (id != null) { 21404 if (id != null) {
20054 _json["id"] = id; 21405 _json["id"] = id;
20055 } 21406 }
21407 if (insertTime != null) {
21408 _json["insertTime"] = insertTime;
21409 }
20056 if (kind != null) { 21410 if (kind != null) {
20057 _json["kind"] = kind; 21411 _json["kind"] = kind;
20058 } 21412 }
20059 if (name != null) { 21413 if (name != null) {
20060 _json["name"] = name; 21414 _json["name"] = name;
20061 } 21415 }
21416 if (operationType != null) {
21417 _json["operationType"] = operationType;
21418 }
21419 if (progress != null) {
21420 _json["progress"] = progress;
21421 }
21422 if (region != null) {
21423 _json["region"] = region;
21424 }
20062 if (selfLink != null) { 21425 if (selfLink != null) {
20063 _json["selfLink"] = selfLink; 21426 _json["selfLink"] = selfLink;
20064 } 21427 }
20065 if (subnetworks != null) { 21428 if (startTime != null) {
20066 _json["subnetworks"] = subnetworks; 21429 _json["startTime"] = startTime;
21430 }
21431 if (status != null) {
21432 _json["status"] = status;
21433 }
21434 if (statusMessage != null) {
21435 _json["statusMessage"] = statusMessage;
21436 }
21437 if (targetId != null) {
21438 _json["targetId"] = targetId;
21439 }
21440 if (targetLink != null) {
21441 _json["targetLink"] = targetLink;
21442 }
21443 if (user != null) {
21444 _json["user"] = user;
21445 }
21446 if (warnings != null) {
21447 _json["warnings"] = warnings.map((value) => (value).toJson()).toList();
21448 }
21449 if (zone != null) {
21450 _json["zone"] = zone;
20067 } 21451 }
20068 return _json; 21452 return _json;
20069 } 21453 }
20070 } 21454 }
20071 21455
20072 /** A network interface resource attached to an instance. */ 21456 class OperationAggregatedList {
20073 class NetworkInterface {
20074 /** 21457 /**
20075 * An array of configurations for this interface. Currently, ONE_TO_ONE_NAT is 21458 * [Output Only] The unique identifier for the resource. This identifier is
20076 * the only access config supported. If there are no accessConfigs specified, 21459 * defined by the server.
20077 * then this instance will have no external internet access.
20078 */ 21460 */
20079 core.List<AccessConfig> accessConfigs; 21461 core.String id;
21462 /** [Output Only] A map of scoped operation lists. */
21463 core.Map<core.String, OperationsScopedList> items;
20080 /** 21464 /**
20081 * [Output Only] The name of the network interface, generated by the server. 21465 * [Output Only] Type of resource. Always compute#operationAggregatedList for
20082 * For network devices, these are eth0, eth1, etc. 21466 * aggregated lists of operations.
20083 */ 21467 */
20084 core.String name; 21468 core.String kind;
20085 /** 21469 /**
20086 * URL of the network resource for this instance. This is required for 21470 * [Output Only] This token allows you to get the next page of results for
20087 * creating an instance but optional when creating a firewall rule. If not 21471 * list requests. If the number of results is larger than maxResults, use the
20088 * specified when creating a firewall rule, the default network is used: 21472 * nextPageToken as a value for the query parameter pageToken in the next list
20089 * 21473 * request. Subsequent list requests will have their own nextPageToken to
20090 * global/networks/default 21474 * continue paging through the results.
20091 *
20092 * If you specify this property, you can specify the network as a full or
20093 * partial URL. For example, the following are all valid URLs:
20094 * -
20095 * https://www.googleapis.com/compute/v1/projects/project/global/networks/netw ork
20096 * - projects/project/global/networks/network
20097 * - global/networks/default
20098 */ 21475 */
20099 core.String network; 21476 core.String nextPageToken;
20100 /** 21477 /** [Output Only] Server-defined URL for this resource. */
20101 * An IPv4 internal network address to assign to the instance for this network 21478 core.String selfLink;
20102 * interface. If not specified by the user, an unused internal IP is assigned
20103 * by the system.
20104 */
20105 core.String networkIP;
20106 /**
20107 * The URL of the Subnetwork resource for this instance. If the network
20108 * resource is in legacy mode, do not provide this property. If the network is
20109 * in auto subnet mode, providing the subnetwork is optional. If the network
20110 * is in custom subnet mode, then this field should be specified. If you
20111 * specify this property, you can specify the subnetwork as a full or partial
20112 * URL. For example, the following are all valid URLs:
20113 * -
20114 * https://www.googleapis.com/compute/v1/projects/project/regions/region/subne tworks/subnetwork
20115 * - regions/region/subnetworks/subnetwork
20116 */
20117 core.String subnetwork;
20118 21479
20119 NetworkInterface(); 21480 OperationAggregatedList();
20120 21481
20121 NetworkInterface.fromJson(core.Map _json) { 21482 OperationAggregatedList.fromJson(core.Map _json) {
20122 if (_json.containsKey("accessConfigs")) { 21483 if (_json.containsKey("id")) {
20123 accessConfigs = _json["accessConfigs"].map((value) => new AccessConfig.fro mJson(value)).toList(); 21484 id = _json["id"];
20124 } 21485 }
20125 if (_json.containsKey("name")) { 21486 if (_json.containsKey("items")) {
20126 name = _json["name"]; 21487 items = commons.mapMap(_json["items"], (item) => new OperationsScopedList. fromJson(item));
20127 } 21488 }
20128 if (_json.containsKey("network")) { 21489 if (_json.containsKey("kind")) {
20129 network = _json["network"]; 21490 kind = _json["kind"];
20130 } 21491 }
20131 if (_json.containsKey("networkIP")) { 21492 if (_json.containsKey("nextPageToken")) {
20132 networkIP = _json["networkIP"]; 21493 nextPageToken = _json["nextPageToken"];
20133 } 21494 }
20134 if (_json.containsKey("subnetwork")) { 21495 if (_json.containsKey("selfLink")) {
20135 subnetwork = _json["subnetwork"]; 21496 selfLink = _json["selfLink"];
20136 } 21497 }
20137 } 21498 }
20138 21499
20139 core.Map toJson() { 21500 core.Map toJson() {
20140 var _json = new core.Map(); 21501 var _json = new core.Map();
20141 if (accessConfigs != null) { 21502 if (id != null) {
20142 _json["accessConfigs"] = accessConfigs.map((value) => (value).toJson()).to List(); 21503 _json["id"] = id;
20143 } 21504 }
20144 if (name != null) { 21505 if (items != null) {
20145 _json["name"] = name; 21506 _json["items"] = commons.mapMap(items, (item) => (item).toJson());
20146 } 21507 }
20147 if (network != null) { 21508 if (kind != null) {
20148 _json["network"] = network; 21509 _json["kind"] = kind;
20149 } 21510 }
20150 if (networkIP != null) { 21511 if (nextPageToken != null) {
20151 _json["networkIP"] = networkIP; 21512 _json["nextPageToken"] = nextPageToken;
20152 } 21513 }
20153 if (subnetwork != null) { 21514 if (selfLink != null) {
20154 _json["subnetwork"] = subnetwork; 21515 _json["selfLink"] = selfLink;
20155 } 21516 }
20156 return _json; 21517 return _json;
20157 } 21518 }
20158 } 21519 }
20159 21520
20160 /** Contains a list of networks. */ 21521 /** Contains a list of Operation resources. */
20161 class NetworkList { 21522 class OperationList {
20162 /** 21523 /**
20163 * [Output Only] The unique identifier for the resource. This identifier is 21524 * [Output Only] The unique identifier for the resource. This identifier is
20164 * defined by the server. 21525 * defined by the server.
20165 */ 21526 */
20166 core.String id; 21527 core.String id;
20167 /** [Output Only] A list of Network resources. */ 21528 /** [Output Only] A list of Operation resources. */
20168 core.List<Network> items; 21529 core.List<Operation> items;
20169 /** 21530 /**
20170 * [Output Only] Type of resource. Always compute#networkList for lists of 21531 * [Output Only] Type of resource. Always compute#operations for Operations
20171 * networks. 21532 * resource.
20172 */ 21533 */
20173 core.String kind; 21534 core.String kind;
20174 /** 21535 /**
20175 * [Output Only] This token allows you to get the next page of results for 21536 * [Output Only] This token allows you to get the next page of results for
20176 * list requests. If the number of results is larger than maxResults, use the 21537 * list requests. If the number of results is larger than maxResults, use the
20177 * nextPageToken as a value for the query parameter pageToken in the next list 21538 * nextPageToken as a value for the query parameter pageToken in the next list
20178 * request. Subsequent list requests will have their own nextPageToken to 21539 * request. Subsequent list requests will have their own nextPageToken to
20179 * continue paging through the results. 21540 * continue paging through the results.
20180 */ 21541 */
20181 core.String nextPageToken; 21542 core.String nextPageToken;
20182 /** [Output Only] Server-defined URL for this resource . */ 21543 /** [Output Only] Server-defined URL for this resource. */
20183 core.String selfLink; 21544 core.String selfLink;
20184 21545
20185 NetworkList(); 21546 OperationList();
20186 21547
20187 NetworkList.fromJson(core.Map _json) { 21548 OperationList.fromJson(core.Map _json) {
20188 if (_json.containsKey("id")) { 21549 if (_json.containsKey("id")) {
20189 id = _json["id"]; 21550 id = _json["id"];
20190 } 21551 }
20191 if (_json.containsKey("items")) { 21552 if (_json.containsKey("items")) {
20192 items = _json["items"].map((value) => new Network.fromJson(value)).toList( ); 21553 items = _json["items"].map((value) => new Operation.fromJson(value)).toLis t();
20193 } 21554 }
20194 if (_json.containsKey("kind")) { 21555 if (_json.containsKey("kind")) {
20195 kind = _json["kind"]; 21556 kind = _json["kind"];
20196 } 21557 }
20197 if (_json.containsKey("nextPageToken")) { 21558 if (_json.containsKey("nextPageToken")) {
20198 nextPageToken = _json["nextPageToken"]; 21559 nextPageToken = _json["nextPageToken"];
20199 } 21560 }
20200 if (_json.containsKey("selfLink")) { 21561 if (_json.containsKey("selfLink")) {
20201 selfLink = _json["selfLink"]; 21562 selfLink = _json["selfLink"];
20202 } 21563 }
(...skipping 13 matching lines...) Expand all
20216 if (nextPageToken != null) { 21577 if (nextPageToken != null) {
20217 _json["nextPageToken"] = nextPageToken; 21578 _json["nextPageToken"] = nextPageToken;
20218 } 21579 }
20219 if (selfLink != null) { 21580 if (selfLink != null) {
20220 _json["selfLink"] = selfLink; 21581 _json["selfLink"] = selfLink;
20221 } 21582 }
20222 return _json; 21583 return _json;
20223 } 21584 }
20224 } 21585 }
20225 21586
20226 class OperationErrorErrors { 21587 class OperationsScopedListWarningData {
20227 /** [Output Only] The error type identifier for this error. */ 21588 /**
21589 * [Output Only] A key that provides more detail on the warning being
21590 * returned. For example, for warnings where there are no results in a list
21591 * request for a particular zone, this key might be scope and the key value
21592 * might be the zone name. Other examples might be a key indicating a
21593 * deprecated resource and a suggested replacement, or a warning about invalid
21594 * network settings (for example, if an instance attempts to perform IP
21595 * forwarding but is not enabled for IP forwarding).
21596 */
21597 core.String key;
21598 /** [Output Only] A warning data value corresponding to the key. */
21599 core.String value;
21600
21601 OperationsScopedListWarningData();
21602
21603 OperationsScopedListWarningData.fromJson(core.Map _json) {
21604 if (_json.containsKey("key")) {
21605 key = _json["key"];
21606 }
21607 if (_json.containsKey("value")) {
21608 value = _json["value"];
21609 }
21610 }
21611
21612 core.Map toJson() {
21613 var _json = new core.Map();
21614 if (key != null) {
21615 _json["key"] = key;
21616 }
21617 if (value != null) {
21618 _json["value"] = value;
21619 }
21620 return _json;
21621 }
21622 }
21623
21624 /**
21625 * [Output Only] Informational warning which replaces the list of operations
21626 * when the list is empty.
21627 */
21628 class OperationsScopedListWarning {
21629 /**
21630 * [Output Only] A warning code, if applicable. For example, Compute Engine
21631 * returns NO_RESULTS_ON_PAGE if there are no results in the response.
21632 * Possible string values are:
21633 * - "CLEANUP_FAILED"
21634 * - "DEPRECATED_RESOURCE_USED"
21635 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
21636 * - "INJECTED_KERNELS_DEPRECATED"
21637 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
21638 * - "NEXT_HOP_CANNOT_IP_FORWARD"
21639 * - "NEXT_HOP_INSTANCE_NOT_FOUND"
21640 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
21641 * - "NEXT_HOP_NOT_RUNNING"
21642 * - "NOT_CRITICAL_ERROR"
21643 * - "NO_RESULTS_ON_PAGE"
21644 * - "REQUIRED_TOS_AGREEMENT"
21645 * - "RESOURCE_NOT_DELETED"
21646 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
21647 * - "UNREACHABLE"
21648 */
20228 core.String code; 21649 core.String code;
20229 /** 21650 /**
20230 * [Output Only] Indicates the field in the request that caused the error. 21651 * [Output Only] Metadata about this warning in key: value format. For
20231 * This property is optional. 21652 * example:
21653 * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
20232 */ 21654 */
20233 core.String location; 21655 core.List<OperationsScopedListWarningData> data;
20234 /** [Output Only] An optional, human-readable error message. */ 21656 /** [Output Only] A human-readable description of the warning code. */
20235 core.String message; 21657 core.String message;
20236 21658
20237 OperationErrorErrors(); 21659 OperationsScopedListWarning();
20238 21660
20239 OperationErrorErrors.fromJson(core.Map _json) { 21661 OperationsScopedListWarning.fromJson(core.Map _json) {
20240 if (_json.containsKey("code")) { 21662 if (_json.containsKey("code")) {
20241 code = _json["code"]; 21663 code = _json["code"];
20242 } 21664 }
20243 if (_json.containsKey("location")) { 21665 if (_json.containsKey("data")) {
20244 location = _json["location"]; 21666 data = _json["data"].map((value) => new OperationsScopedListWarningData.fr omJson(value)).toList();
20245 } 21667 }
20246 if (_json.containsKey("message")) { 21668 if (_json.containsKey("message")) {
20247 message = _json["message"]; 21669 message = _json["message"];
20248 } 21670 }
20249 } 21671 }
20250 21672
20251 core.Map toJson() { 21673 core.Map toJson() {
20252 var _json = new core.Map(); 21674 var _json = new core.Map();
20253 if (code != null) { 21675 if (code != null) {
20254 _json["code"] = code; 21676 _json["code"] = code;
20255 } 21677 }
20256 if (location != null) { 21678 if (data != null) {
20257 _json["location"] = location; 21679 _json["data"] = data.map((value) => (value).toJson()).toList();
20258 } 21680 }
20259 if (message != null) { 21681 if (message != null) {
20260 _json["message"] = message; 21682 _json["message"] = message;
20261 } 21683 }
20262 return _json; 21684 return _json;
20263 } 21685 }
20264 } 21686 }
20265 21687
21688 class OperationsScopedList {
21689 /** [Output Only] List of operations contained in this scope. */
21690 core.List<Operation> operations;
21691 /**
21692 * [Output Only] Informational warning which replaces the list of operations
21693 * when the list is empty.
21694 */
21695 OperationsScopedListWarning warning;
21696
21697 OperationsScopedList();
21698
21699 OperationsScopedList.fromJson(core.Map _json) {
21700 if (_json.containsKey("operations")) {
21701 operations = _json["operations"].map((value) => new Operation.fromJson(val ue)).toList();
21702 }
21703 if (_json.containsKey("warning")) {
21704 warning = new OperationsScopedListWarning.fromJson(_json["warning"]);
21705 }
21706 }
21707
21708 core.Map toJson() {
21709 var _json = new core.Map();
21710 if (operations != null) {
21711 _json["operations"] = operations.map((value) => (value).toJson()).toList() ;
21712 }
21713 if (warning != null) {
21714 _json["warning"] = (warning).toJson();
21715 }
21716 return _json;
21717 }
21718 }
21719
20266 /** 21720 /**
20267 * [Output Only] If errors are generated during processing of the operation, 21721 * A matcher for the path portion of the URL. The BackendService from the
20268 * this field will be populated. 21722 * longest-matched rule will serve the URL. If no rule was matched, the default
21723 * service will be used.
20269 */ 21724 */
20270 class OperationError { 21725 class PathMatcher {
20271 /** 21726 /**
20272 * [Output Only] The array of errors encountered while processing this 21727 * The full or partial URL to the BackendService resource. This will be used
20273 * operation. 21728 * if none of the pathRules defined by this PathMatcher is matched by the
20274 */ 21729 * URL's path portion. For example, the following are all valid URLs to a
20275 core.List<OperationErrorErrors> errors; 21730 * BackendService resource:
20276 21731 * -
20277 OperationError(); 21732 * https://www.googleapis.com/compute/v1/projects/project/global/backendServic es/backendService
20278 21733 * - compute/v1/projects/project/global/backendServices/backendService
20279 OperationError.fromJson(core.Map _json) { 21734 * - global/backendServices/backendService
20280 if (_json.containsKey("errors")) { 21735 */
20281 errors = _json["errors"].map((value) => new OperationErrorErrors.fromJson( value)).toList(); 21736 core.String defaultService;
20282 } 21737 /**
20283 } 21738 * An optional description of this resource. Provide this property when you
20284 21739 * create the resource.
20285 core.Map toJson() { 21740 */
20286 var _json = new core.Map(); 21741 core.String description;
20287 if (errors != null) { 21742 /** The name to which this PathMatcher is referred by the HostRule. */
20288 _json["errors"] = errors.map((value) => (value).toJson()).toList(); 21743 core.String name;
20289 } 21744 /** The list of path rules. */
20290 return _json; 21745 core.List<PathRule> pathRules;
20291 } 21746
20292 } 21747 PathMatcher();
20293 21748
20294 class OperationWarningsData { 21749 PathMatcher.fromJson(core.Map _json) {
20295 /** 21750 if (_json.containsKey("defaultService")) {
20296 * [Output Only] A key that provides more detail on the warning being 21751 defaultService = _json["defaultService"];
20297 * returned. For example, for warnings where there are no results in a list 21752 }
20298 * request for a particular zone, this key might be scope and the key value 21753 if (_json.containsKey("description")) {
20299 * might be the zone name. Other examples might be a key indicating a 21754 description = _json["description"];
20300 * deprecated resource and a suggested replacement, or a warning about invalid 21755 }
20301 * network settings (for example, if an instance attempts to perform IP 21756 if (_json.containsKey("name")) {
20302 * forwarding but is not enabled for IP forwarding). 21757 name = _json["name"];
20303 */ 21758 }
20304 core.String key; 21759 if (_json.containsKey("pathRules")) {
20305 /** [Output Only] A warning data value corresponding to the key. */ 21760 pathRules = _json["pathRules"].map((value) => new PathRule.fromJson(value) ).toList();
20306 core.String value; 21761 }
20307 21762 }
20308 OperationWarningsData(); 21763
20309 21764 core.Map toJson() {
20310 OperationWarningsData.fromJson(core.Map _json) { 21765 var _json = new core.Map();
20311 if (_json.containsKey("key")) { 21766 if (defaultService != null) {
20312 key = _json["key"]; 21767 _json["defaultService"] = defaultService;
20313 } 21768 }
20314 if (_json.containsKey("value")) { 21769 if (description != null) {
20315 value = _json["value"]; 21770 _json["description"] = description;
20316 } 21771 }
20317 } 21772 if (name != null) {
20318 21773 _json["name"] = name;
20319 core.Map toJson() { 21774 }
20320 var _json = new core.Map(); 21775 if (pathRules != null) {
20321 if (key != null) { 21776 _json["pathRules"] = pathRules.map((value) => (value).toJson()).toList();
20322 _json["key"] = key; 21777 }
20323 } 21778 return _json;
20324 if (value != null) { 21779 }
20325 _json["value"] = value; 21780 }
20326 } 21781
20327 return _json; 21782 /**
20328 } 21783 * A path-matching rule for a URL. If matched, will use the specified
20329 } 21784 * BackendService to handle the traffic arriving at this URL.
20330 21785 */
20331 class OperationWarnings { 21786 class PathRule {
20332 /** 21787 /**
20333 * [Output Only] A warning code, if applicable. For example, Compute Engine 21788 * The list of path patterns to match. Each must start with / and the only
20334 * returns NO_RESULTS_ON_PAGE if there are no results in the response. 21789 * place a * is allowed is at the end following a /. The string fed to the
20335 * Possible string values are: 21790 * path matcher does not include any text after the first ? or #, and those
20336 * - "CLEANUP_FAILED" 21791 * chars are not allowed here.
20337 * - "DEPRECATED_RESOURCE_USED" 21792 */
20338 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" 21793 core.List<core.String> paths;
20339 * - "INJECTED_KERNELS_DEPRECATED" 21794 /** The URL of the BackendService resource if this rule is matched. */
20340 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED" 21795 core.String service;
20341 * - "NEXT_HOP_CANNOT_IP_FORWARD" 21796
20342 * - "NEXT_HOP_INSTANCE_NOT_FOUND" 21797 PathRule();
20343 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" 21798
20344 * - "NEXT_HOP_NOT_RUNNING" 21799 PathRule.fromJson(core.Map _json) {
20345 * - "NOT_CRITICAL_ERROR" 21800 if (_json.containsKey("paths")) {
20346 * - "NO_RESULTS_ON_PAGE" 21801 paths = _json["paths"];
20347 * - "REQUIRED_TOS_AGREEMENT" 21802 }
20348 * - "RESOURCE_NOT_DELETED" 21803 if (_json.containsKey("service")) {
20349 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE" 21804 service = _json["service"];
20350 * - "UNREACHABLE" 21805 }
20351 */ 21806 }
20352 core.String code; 21807
20353 /** 21808 core.Map toJson() {
20354 * [Output Only] Metadata about this warning in key: value format. For 21809 var _json = new core.Map();
20355 * example: 21810 if (paths != null) {
20356 * "data": [ { "key": "scope", "value": "zones/us-east1-d" } 21811 _json["paths"] = paths;
20357 */ 21812 }
20358 core.List<OperationWarningsData> data; 21813 if (service != null) {
20359 /** [Output Only] A human-readable description of the warning code. */ 21814 _json["service"] = service;
20360 core.String message; 21815 }
20361 21816 return _json;
20362 OperationWarnings(); 21817 }
20363 21818 }
20364 OperationWarnings.fromJson(core.Map _json) { 21819
20365 if (_json.containsKey("code")) { 21820 /**
20366 code = _json["code"]; 21821 * A Project resource. Projects can only be created in the Google Cloud Platform
20367 } 21822 * Console. Unless marked otherwise, values can only be modified in the console.
20368 if (_json.containsKey("data")) { 21823 */
20369 data = _json["data"].map((value) => new OperationWarningsData.fromJson(val ue)).toList(); 21824 class Project {
20370 } 21825 /**
20371 if (_json.containsKey("message")) { 21826 * Metadata key/value pairs available to all instances contained in this
20372 message = _json["message"]; 21827 * project. See Custom metadata for more information.
20373 } 21828 */
20374 } 21829 Metadata commonInstanceMetadata;
20375
20376 core.Map toJson() {
20377 var _json = new core.Map();
20378 if (code != null) {
20379 _json["code"] = code;
20380 }
20381 if (data != null) {
20382 _json["data"] = data.map((value) => (value).toJson()).toList();
20383 }
20384 if (message != null) {
20385 _json["message"] = message;
20386 }
20387 return _json;
20388 }
20389 }
20390
20391 /** An Operation resource, used to manage asynchronous API requests. */
20392 class Operation {
20393 /** [Output Only] Reserved for future use. */
20394 core.String clientOperationId;
20395 /** [Output Only] Creation timestamp in RFC3339 text format. */ 21830 /** [Output Only] Creation timestamp in RFC3339 text format. */
20396 core.String creationTimestamp; 21831 core.String creationTimestamp;
20397 /** 21832 /**
20398 * [Output Only] A textual description of the operation, which is set when the 21833 * [Output Only] Default service account used by VMs running in this project.
20399 * operation is created. 21834 */
20400 */ 21835 core.String defaultServiceAccount;
21836 /** An optional textual description of the resource. */
20401 core.String description; 21837 core.String description;
20402 /** 21838 /** Restricted features enabled for use on this project. */
20403 * [Output Only] The time that this operation was completed. This value is in 21839 core.List<core.String> enabledFeatures;
20404 * RFC3339 text format. 21840 /**
20405 */ 21841 * [Output Only] The unique identifier for the resource. This identifier is
20406 core.String endTime; 21842 * defined by the server. This is not the project ID, and is just a unique ID
20407 /** 21843 * used by Compute Engine to identify resources.
20408 * [Output Only] If errors are generated during processing of the operation, 21844 */
20409 * this field will be populated. 21845 core.String id;
20410 */ 21846 /**
20411 OperationError error; 21847 * [Output Only] Type of the resource. Always compute#project for projects.
20412 /** 21848 */
20413 * [Output Only] If the operation fails, this field contains the HTTP error 21849 core.String kind;
20414 * message that was returned, such as NOT FOUND. 21850 /**
20415 */ 21851 * The project ID. For example: my-example-project. Use the project ID to make
20416 core.String httpErrorMessage; 21852 * requests to Compute Engine.
20417 /** 21853 */
20418 * [Output Only] If the operation fails, this field contains the HTTP error 21854 core.String name;
20419 * status code that was returned. For example, a 404 means the resource was 21855 /** [Output Only] Quotas assigned to this project. */
20420 * not found. 21856 core.List<Quota> quotas;
20421 */ 21857 /** [Output Only] Server-defined URL for the resource. */
20422 core.int httpErrorStatusCode; 21858 core.String selfLink;
21859 /**
21860 * The naming prefix for daily usage reports and the Google Cloud Storage
21861 * bucket where they are stored.
21862 */
21863 UsageExportLocation usageExportLocation;
21864
21865 Project();
21866
21867 Project.fromJson(core.Map _json) {
21868 if (_json.containsKey("commonInstanceMetadata")) {
21869 commonInstanceMetadata = new Metadata.fromJson(_json["commonInstanceMetada ta"]);
21870 }
21871 if (_json.containsKey("creationTimestamp")) {
21872 creationTimestamp = _json["creationTimestamp"];
21873 }
21874 if (_json.containsKey("defaultServiceAccount")) {
21875 defaultServiceAccount = _json["defaultServiceAccount"];
21876 }
21877 if (_json.containsKey("description")) {
21878 description = _json["description"];
21879 }
21880 if (_json.containsKey("enabledFeatures")) {
21881 enabledFeatures = _json["enabledFeatures"];
21882 }
21883 if (_json.containsKey("id")) {
21884 id = _json["id"];
21885 }
21886 if (_json.containsKey("kind")) {
21887 kind = _json["kind"];
21888 }
21889 if (_json.containsKey("name")) {
21890 name = _json["name"];
21891 }
21892 if (_json.containsKey("quotas")) {
21893 quotas = _json["quotas"].map((value) => new Quota.fromJson(value)).toList( );
21894 }
21895 if (_json.containsKey("selfLink")) {
21896 selfLink = _json["selfLink"];
21897 }
21898 if (_json.containsKey("usageExportLocation")) {
21899 usageExportLocation = new UsageExportLocation.fromJson(_json["usageExportL ocation"]);
21900 }
21901 }
21902
21903 core.Map toJson() {
21904 var _json = new core.Map();
21905 if (commonInstanceMetadata != null) {
21906 _json["commonInstanceMetadata"] = (commonInstanceMetadata).toJson();
21907 }
21908 if (creationTimestamp != null) {
21909 _json["creationTimestamp"] = creationTimestamp;
21910 }
21911 if (defaultServiceAccount != null) {
21912 _json["defaultServiceAccount"] = defaultServiceAccount;
21913 }
21914 if (description != null) {
21915 _json["description"] = description;
21916 }
21917 if (enabledFeatures != null) {
21918 _json["enabledFeatures"] = enabledFeatures;
21919 }
21920 if (id != null) {
21921 _json["id"] = id;
21922 }
21923 if (kind != null) {
21924 _json["kind"] = kind;
21925 }
21926 if (name != null) {
21927 _json["name"] = name;
21928 }
21929 if (quotas != null) {
21930 _json["quotas"] = quotas.map((value) => (value).toJson()).toList();
21931 }
21932 if (selfLink != null) {
21933 _json["selfLink"] = selfLink;
21934 }
21935 if (usageExportLocation != null) {
21936 _json["usageExportLocation"] = (usageExportLocation).toJson();
21937 }
21938 return _json;
21939 }
21940 }
21941
21942 /** A quotas entry. */
21943 class Quota {
21944 /** [Output Only] Quota limit for this metric. */
21945 core.double limit;
21946 /**
21947 * [Output Only] Name of the quota metric.
21948 * Possible string values are:
21949 * - "AUTOSCALERS"
21950 * - "BACKEND_SERVICES"
21951 * - "CPUS"
21952 * - "DISKS_TOTAL_GB"
21953 * - "FIREWALLS"
21954 * - "FORWARDING_RULES"
21955 * - "HEALTH_CHECKS"
21956 * - "IMAGES"
21957 * - "INSTANCES"
21958 * - "INSTANCE_GROUPS"
21959 * - "INSTANCE_GROUP_MANAGERS"
21960 * - "INSTANCE_TEMPLATES"
21961 * - "IN_USE_ADDRESSES"
21962 * - "LOCAL_SSD_TOTAL_GB"
21963 * - "NETWORKS"
21964 * - "ROUTERS"
21965 * - "ROUTES"
21966 * - "SNAPSHOTS"
21967 * - "SSD_TOTAL_GB"
21968 * - "SSL_CERTIFICATES"
21969 * - "STATIC_ADDRESSES"
21970 * - "SUBNETWORKS"
21971 * - "TARGET_HTTPS_PROXIES"
21972 * - "TARGET_HTTP_PROXIES"
21973 * - "TARGET_INSTANCES"
21974 * - "TARGET_POOLS"
21975 * - "TARGET_VPN_GATEWAYS"
21976 * - "URL_MAPS"
21977 * - "VPN_TUNNELS"
21978 */
21979 core.String metric;
21980 /** [Output Only] Current usage of this metric. */
21981 core.double usage;
21982
21983 Quota();
21984
21985 Quota.fromJson(core.Map _json) {
21986 if (_json.containsKey("limit")) {
21987 limit = _json["limit"];
21988 }
21989 if (_json.containsKey("metric")) {
21990 metric = _json["metric"];
21991 }
21992 if (_json.containsKey("usage")) {
21993 usage = _json["usage"];
21994 }
21995 }
21996
21997 core.Map toJson() {
21998 var _json = new core.Map();
21999 if (limit != null) {
22000 _json["limit"] = limit;
22001 }
22002 if (metric != null) {
22003 _json["metric"] = metric;
22004 }
22005 if (usage != null) {
22006 _json["usage"] = usage;
22007 }
22008 return _json;
22009 }
22010 }
22011
22012 /** Region resource. */
22013 class Region {
22014 /** [Output Only] Creation timestamp in RFC3339 text format. */
22015 core.String creationTimestamp;
22016 /** [Output Only] The deprecation status associated with this region. */
22017 DeprecationStatus deprecated;
22018 /** [Output Only] Textual description of the resource. */
22019 core.String description;
20423 /** 22020 /**
20424 * [Output Only] The unique identifier for the resource. This identifier is 22021 * [Output Only] The unique identifier for the resource. This identifier is
20425 * defined by the server. 22022 * defined by the server.
20426 */ 22023 */
20427 core.String id; 22024 core.String id;
20428 /** 22025 /** [Output Only] Type of the resource. Always compute#region for regions. */
20429 * [Output Only] The time that this operation was requested. This value is in
20430 * RFC3339 text format.
20431 */
20432 core.String insertTime;
20433 /**
20434 * [Output Only] Type of the resource. Always compute#operation for Operation
20435 * resources.
20436 */
20437 core.String kind; 22026 core.String kind;
20438 /** [Output Only] Name of the resource. */ 22027 /** [Output Only] Name of the resource. */
20439 core.String name; 22028 core.String name;
20440 /** 22029 /** [Output Only] Quotas assigned to this region. */
20441 * [Output Only] The type of operation, such as insert, update, or delete, and 22030 core.List<Quota> quotas;
20442 * so on.
20443 */
20444 core.String operationType;
20445 /**
20446 * [Output Only] An optional progress indicator that ranges from 0 to 100.
20447 * There is no requirement that this be linear or support any granularity of
20448 * operations. This should not be used to guess when the operation will be
20449 * complete. This number should monotonically increase as the operation
20450 * progresses.
20451 */
20452 core.int progress;
20453 /**
20454 * [Output Only] The URL of the region where the operation resides. Only
20455 * available when performing regional operations.
20456 */
20457 core.String region;
20458 /** [Output Only] Server-defined URL for the resource. */ 22031 /** [Output Only] Server-defined URL for the resource. */
20459 core.String selfLink; 22032 core.String selfLink;
20460 /** 22033 /**
20461 * [Output Only] The time that this operation was started by the server. This 22034 * [Output Only] Status of the region, either UP or DOWN.
20462 * value is in RFC3339 text format.
20463 */
20464 core.String startTime;
20465 /**
20466 * [Output Only] The status of the operation, which can be one of the
20467 * following: PENDING, RUNNING, or DONE.
20468 * Possible string values are: 22035 * Possible string values are:
20469 * - "DONE" 22036 * - "DOWN"
20470 * - "PENDING" 22037 * - "UP"
20471 * - "RUNNING"
20472 */ 22038 */
20473 core.String status; 22039 core.String status;
20474 /** 22040 /**
20475 * [Output Only] An optional textual description of the current status of the 22041 * [Output Only] A list of zones available in this region, in the form of
20476 * operation. 22042 * resource URLs.
20477 */ 22043 */
20478 core.String statusMessage; 22044 core.List<core.String> zones;
20479 /** 22045
20480 * [Output Only] The unique target ID, which identifies a specific incarnation 22046 Region();
20481 * of the target resource. 22047
20482 */ 22048 Region.fromJson(core.Map _json) {
20483 core.String targetId;
20484 /** [Output Only] The URL of the resource that the operation modifies. */
20485 core.String targetLink;
20486 /**
20487 * [Output Only] User who requested the operation, for example:
20488 * user@example.com.
20489 */
20490 core.String user;
20491 /**
20492 * [Output Only] If warning messages are generated during processing of the
20493 * operation, this field will be populated.
20494 */
20495 core.List<OperationWarnings> warnings;
20496 /**
20497 * [Output Only] The URL of the zone where the operation resides. Only
20498 * available when performing per-zone operations.
20499 */
20500 core.String zone;
20501
20502 Operation();
20503
20504 Operation.fromJson(core.Map _json) {
20505 if (_json.containsKey("clientOperationId")) {
20506 clientOperationId = _json["clientOperationId"];
20507 }
20508 if (_json.containsKey("creationTimestamp")) { 22049 if (_json.containsKey("creationTimestamp")) {
20509 creationTimestamp = _json["creationTimestamp"]; 22050 creationTimestamp = _json["creationTimestamp"];
20510 } 22051 }
22052 if (_json.containsKey("deprecated")) {
22053 deprecated = new DeprecationStatus.fromJson(_json["deprecated"]);
22054 }
20511 if (_json.containsKey("description")) { 22055 if (_json.containsKey("description")) {
20512 description = _json["description"]; 22056 description = _json["description"];
20513 } 22057 }
20514 if (_json.containsKey("endTime")) {
20515 endTime = _json["endTime"];
20516 }
20517 if (_json.containsKey("error")) {
20518 error = new OperationError.fromJson(_json["error"]);
20519 }
20520 if (_json.containsKey("httpErrorMessage")) {
20521 httpErrorMessage = _json["httpErrorMessage"];
20522 }
20523 if (_json.containsKey("httpErrorStatusCode")) {
20524 httpErrorStatusCode = _json["httpErrorStatusCode"];
20525 }
20526 if (_json.containsKey("id")) { 22058 if (_json.containsKey("id")) {
20527 id = _json["id"]; 22059 id = _json["id"];
20528 } 22060 }
20529 if (_json.containsKey("insertTime")) {
20530 insertTime = _json["insertTime"];
20531 }
20532 if (_json.containsKey("kind")) { 22061 if (_json.containsKey("kind")) {
20533 kind = _json["kind"]; 22062 kind = _json["kind"];
20534 } 22063 }
20535 if (_json.containsKey("name")) { 22064 if (_json.containsKey("name")) {
20536 name = _json["name"]; 22065 name = _json["name"];
20537 } 22066 }
20538 if (_json.containsKey("operationType")) { 22067 if (_json.containsKey("quotas")) {
20539 operationType = _json["operationType"]; 22068 quotas = _json["quotas"].map((value) => new Quota.fromJson(value)).toList( );
20540 }
20541 if (_json.containsKey("progress")) {
20542 progress = _json["progress"];
20543 }
20544 if (_json.containsKey("region")) {
20545 region = _json["region"];
20546 } 22069 }
20547 if (_json.containsKey("selfLink")) { 22070 if (_json.containsKey("selfLink")) {
20548 selfLink = _json["selfLink"]; 22071 selfLink = _json["selfLink"];
20549 } 22072 }
20550 if (_json.containsKey("startTime")) {
20551 startTime = _json["startTime"];
20552 }
20553 if (_json.containsKey("status")) { 22073 if (_json.containsKey("status")) {
20554 status = _json["status"]; 22074 status = _json["status"];
20555 } 22075 }
20556 if (_json.containsKey("statusMessage")) { 22076 if (_json.containsKey("zones")) {
20557 statusMessage = _json["statusMessage"]; 22077 zones = _json["zones"];
20558 } 22078 }
20559 if (_json.containsKey("targetId")) { 22079 }
20560 targetId = _json["targetId"]; 22080
20561 } 22081 core.Map toJson() {
20562 if (_json.containsKey("targetLink")) { 22082 var _json = new core.Map();
20563 targetLink = _json["targetLink"];
20564 }
20565 if (_json.containsKey("user")) {
20566 user = _json["user"];
20567 }
20568 if (_json.containsKey("warnings")) {
20569 warnings = _json["warnings"].map((value) => new OperationWarnings.fromJson (value)).toList();
20570 }
20571 if (_json.containsKey("zone")) {
20572 zone = _json["zone"];
20573 }
20574 }
20575
20576 core.Map toJson() {
20577 var _json = new core.Map();
20578 if (clientOperationId != null) {
20579 _json["clientOperationId"] = clientOperationId;
20580 }
20581 if (creationTimestamp != null) { 22083 if (creationTimestamp != null) {
20582 _json["creationTimestamp"] = creationTimestamp; 22084 _json["creationTimestamp"] = creationTimestamp;
20583 } 22085 }
22086 if (deprecated != null) {
22087 _json["deprecated"] = (deprecated).toJson();
22088 }
20584 if (description != null) { 22089 if (description != null) {
20585 _json["description"] = description; 22090 _json["description"] = description;
20586 } 22091 }
20587 if (endTime != null) {
20588 _json["endTime"] = endTime;
20589 }
20590 if (error != null) {
20591 _json["error"] = (error).toJson();
20592 }
20593 if (httpErrorMessage != null) {
20594 _json["httpErrorMessage"] = httpErrorMessage;
20595 }
20596 if (httpErrorStatusCode != null) {
20597 _json["httpErrorStatusCode"] = httpErrorStatusCode;
20598 }
20599 if (id != null) { 22092 if (id != null) {
20600 _json["id"] = id; 22093 _json["id"] = id;
20601 } 22094 }
20602 if (insertTime != null) {
20603 _json["insertTime"] = insertTime;
20604 }
20605 if (kind != null) { 22095 if (kind != null) {
20606 _json["kind"] = kind; 22096 _json["kind"] = kind;
20607 } 22097 }
20608 if (name != null) { 22098 if (name != null) {
20609 _json["name"] = name; 22099 _json["name"] = name;
20610 } 22100 }
20611 if (operationType != null) { 22101 if (quotas != null) {
20612 _json["operationType"] = operationType; 22102 _json["quotas"] = quotas.map((value) => (value).toJson()).toList();
20613 }
20614 if (progress != null) {
20615 _json["progress"] = progress;
20616 }
20617 if (region != null) {
20618 _json["region"] = region;
20619 } 22103 }
20620 if (selfLink != null) { 22104 if (selfLink != null) {
20621 _json["selfLink"] = selfLink; 22105 _json["selfLink"] = selfLink;
20622 } 22106 }
20623 if (startTime != null) {
20624 _json["startTime"] = startTime;
20625 }
20626 if (status != null) { 22107 if (status != null) {
20627 _json["status"] = status; 22108 _json["status"] = status;
20628 } 22109 }
20629 if (statusMessage != null) { 22110 if (zones != null) {
20630 _json["statusMessage"] = statusMessage; 22111 _json["zones"] = zones;
20631 } 22112 }
20632 if (targetId != null) { 22113 return _json;
20633 _json["targetId"] = targetId; 22114 }
20634 } 22115 }
20635 if (targetLink != null) { 22116
20636 _json["targetLink"] = targetLink; 22117 /** Contains a list of region resources. */
20637 } 22118 class RegionList {
20638 if (user != null) {
20639 _json["user"] = user;
20640 }
20641 if (warnings != null) {
20642 _json["warnings"] = warnings.map((value) => (value).toJson()).toList();
20643 }
20644 if (zone != null) {
20645 _json["zone"] = zone;
20646 }
20647 return _json;
20648 }
20649 }
20650
20651 class OperationAggregatedList {
20652 /** 22119 /**
20653 * [Output Only] The unique identifier for the resource. This identifier is 22120 * [Output Only] The unique identifier for the resource. This identifier is
20654 * defined by the server. 22121 * defined by the server.
20655 */ 22122 */
20656 core.String id; 22123 core.String id;
20657 /** [Output Only] A map of scoped operation lists. */ 22124 /** [Output Only] A list of Region resources. */
20658 core.Map<core.String, OperationsScopedList> items; 22125 core.List<Region> items;
20659 /** 22126 /**
20660 * [Output Only] Type of resource. Always compute#operationAggregatedList for 22127 * [Output Only] Type of resource. Always compute#regionList for lists of
20661 * aggregated lists of operations. 22128 * regions.
20662 */ 22129 */
20663 core.String kind; 22130 core.String kind;
20664 /** 22131 /**
20665 * [Output Only] This token allows you to get the next page of results for 22132 * [Output Only] This token allows you to get the next page of results for
20666 * list requests. If the number of results is larger than maxResults, use the 22133 * list requests. If the number of results is larger than maxResults, use the
20667 * nextPageToken as a value for the query parameter pageToken in the next list 22134 * nextPageToken as a value for the query parameter pageToken in the next list
20668 * request. Subsequent list requests will have their own nextPageToken to 22135 * request. Subsequent list requests will have their own nextPageToken to
20669 * continue paging through the results. 22136 * continue paging through the results.
20670 */ 22137 */
20671 core.String nextPageToken; 22138 core.String nextPageToken;
20672 /** [Output Only] Server-defined URL for this resource. */ 22139 /** [Output Only] Server-defined URL for this resource. */
20673 core.String selfLink; 22140 core.String selfLink;
20674 22141
20675 OperationAggregatedList(); 22142 RegionList();
20676 22143
20677 OperationAggregatedList.fromJson(core.Map _json) { 22144 RegionList.fromJson(core.Map _json) {
20678 if (_json.containsKey("id")) { 22145 if (_json.containsKey("id")) {
20679 id = _json["id"]; 22146 id = _json["id"];
20680 } 22147 }
20681 if (_json.containsKey("items")) { 22148 if (_json.containsKey("items")) {
20682 items = commons.mapMap(_json["items"], (item) => new OperationsScopedList. fromJson(item)); 22149 items = _json["items"].map((value) => new Region.fromJson(value)).toList() ;
20683 } 22150 }
20684 if (_json.containsKey("kind")) { 22151 if (_json.containsKey("kind")) {
20685 kind = _json["kind"]; 22152 kind = _json["kind"];
20686 } 22153 }
20687 if (_json.containsKey("nextPageToken")) { 22154 if (_json.containsKey("nextPageToken")) {
20688 nextPageToken = _json["nextPageToken"]; 22155 nextPageToken = _json["nextPageToken"];
20689 } 22156 }
20690 if (_json.containsKey("selfLink")) { 22157 if (_json.containsKey("selfLink")) {
20691 selfLink = _json["selfLink"]; 22158 selfLink = _json["selfLink"];
20692 } 22159 }
20693 } 22160 }
20694 22161
20695 core.Map toJson() { 22162 core.Map toJson() {
20696 var _json = new core.Map(); 22163 var _json = new core.Map();
20697 if (id != null) { 22164 if (id != null) {
20698 _json["id"] = id; 22165 _json["id"] = id;
20699 } 22166 }
20700 if (items != null) { 22167 if (items != null) {
20701 _json["items"] = commons.mapMap(items, (item) => (item).toJson()); 22168 _json["items"] = items.map((value) => (value).toJson()).toList();
20702 } 22169 }
20703 if (kind != null) { 22170 if (kind != null) {
20704 _json["kind"] = kind; 22171 _json["kind"] = kind;
20705 } 22172 }
20706 if (nextPageToken != null) { 22173 if (nextPageToken != null) {
20707 _json["nextPageToken"] = nextPageToken; 22174 _json["nextPageToken"] = nextPageToken;
20708 } 22175 }
20709 if (selfLink != null) { 22176 if (selfLink != null) {
20710 _json["selfLink"] = selfLink; 22177 _json["selfLink"] = selfLink;
20711 } 22178 }
20712 return _json; 22179 return _json;
20713 } 22180 }
20714 } 22181 }
20715 22182
20716 /** Contains a list of Operation resources. */ 22183 class ResourceGroupReference {
20717 class OperationList {
20718 /** 22184 /**
20719 * [Output Only] The unique identifier for the resource. This identifier is 22185 * A URI referencing one of the resource views listed in the backend service.
20720 * defined by the server.
20721 */ 22186 */
20722 core.String id; 22187 core.String group;
20723 /** [Output Only] A list of Operation resources. */
20724 core.List<Operation> items;
20725 /**
20726 * [Output Only] Type of resource. Always compute#operations for Operations
20727 * resource.
20728 */
20729 core.String kind;
20730 /**
20731 * [Output Only] This token allows you to get the next page of results for
20732 * list requests. If the number of results is larger than maxResults, use the
20733 * nextPageToken as a value for the query parameter pageToken in the next list
20734 * request. Subsequent list requests will have their own nextPageToken to
20735 * continue paging through the results.
20736 */
20737 core.String nextPageToken;
20738 /** [Output Only] Server-defined URL for this resource. */
20739 core.String selfLink;
20740 22188
20741 OperationList(); 22189 ResourceGroupReference();
20742 22190
20743 OperationList.fromJson(core.Map _json) { 22191 ResourceGroupReference.fromJson(core.Map _json) {
20744 if (_json.containsKey("id")) { 22192 if (_json.containsKey("group")) {
20745 id = _json["id"]; 22193 group = _json["group"];
20746 }
20747 if (_json.containsKey("items")) {
20748 items = _json["items"].map((value) => new Operation.fromJson(value)).toLis t();
20749 }
20750 if (_json.containsKey("kind")) {
20751 kind = _json["kind"];
20752 }
20753 if (_json.containsKey("nextPageToken")) {
20754 nextPageToken = _json["nextPageToken"];
20755 }
20756 if (_json.containsKey("selfLink")) {
20757 selfLink = _json["selfLink"];
20758 } 22194 }
20759 } 22195 }
20760 22196
20761 core.Map toJson() { 22197 core.Map toJson() {
20762 var _json = new core.Map(); 22198 var _json = new core.Map();
20763 if (id != null) { 22199 if (group != null) {
20764 _json["id"] = id; 22200 _json["group"] = group;
20765 }
20766 if (items != null) {
20767 _json["items"] = items.map((value) => (value).toJson()).toList();
20768 }
20769 if (kind != null) {
20770 _json["kind"] = kind;
20771 }
20772 if (nextPageToken != null) {
20773 _json["nextPageToken"] = nextPageToken;
20774 }
20775 if (selfLink != null) {
20776 _json["selfLink"] = selfLink;
20777 } 22201 }
20778 return _json; 22202 return _json;
20779 } 22203 }
20780 } 22204 }
20781 22205
20782 class OperationsScopedListWarningData { 22206 class RouteWarningsData {
20783 /** 22207 /**
20784 * [Output Only] A key that provides more detail on the warning being 22208 * [Output Only] A key that provides more detail on the warning being
20785 * returned. For example, for warnings where there are no results in a list 22209 * returned. For example, for warnings where there are no results in a list
20786 * request for a particular zone, this key might be scope and the key value 22210 * request for a particular zone, this key might be scope and the key value
20787 * might be the zone name. Other examples might be a key indicating a 22211 * might be the zone name. Other examples might be a key indicating a
20788 * deprecated resource and a suggested replacement, or a warning about invalid 22212 * deprecated resource and a suggested replacement, or a warning about invalid
20789 * network settings (for example, if an instance attempts to perform IP 22213 * network settings (for example, if an instance attempts to perform IP
20790 * forwarding but is not enabled for IP forwarding). 22214 * forwarding but is not enabled for IP forwarding).
20791 */ 22215 */
20792 core.String key; 22216 core.String key;
20793 /** [Output Only] A warning data value corresponding to the key. */ 22217 /** [Output Only] A warning data value corresponding to the key. */
20794 core.String value; 22218 core.String value;
20795 22219
20796 OperationsScopedListWarningData(); 22220 RouteWarningsData();
20797 22221
20798 OperationsScopedListWarningData.fromJson(core.Map _json) { 22222 RouteWarningsData.fromJson(core.Map _json) {
20799 if (_json.containsKey("key")) { 22223 if (_json.containsKey("key")) {
20800 key = _json["key"]; 22224 key = _json["key"];
20801 } 22225 }
20802 if (_json.containsKey("value")) { 22226 if (_json.containsKey("value")) {
20803 value = _json["value"]; 22227 value = _json["value"];
20804 } 22228 }
20805 } 22229 }
20806 22230
20807 core.Map toJson() { 22231 core.Map toJson() {
20808 var _json = new core.Map(); 22232 var _json = new core.Map();
20809 if (key != null) { 22233 if (key != null) {
20810 _json["key"] = key; 22234 _json["key"] = key;
20811 } 22235 }
20812 if (value != null) { 22236 if (value != null) {
20813 _json["value"] = value; 22237 _json["value"] = value;
20814 } 22238 }
20815 return _json; 22239 return _json;
20816 } 22240 }
20817 } 22241 }
20818 22242
20819 /** 22243 class RouteWarnings {
20820 * [Output Only] Informational warning which replaces the list of operations
20821 * when the list is empty.
20822 */
20823 class OperationsScopedListWarning {
20824 /** 22244 /**
20825 * [Output Only] A warning code, if applicable. For example, Compute Engine 22245 * [Output Only] A warning code, if applicable. For example, Compute Engine
20826 * returns NO_RESULTS_ON_PAGE if there are no results in the response. 22246 * returns NO_RESULTS_ON_PAGE if there are no results in the response.
20827 * Possible string values are: 22247 * Possible string values are:
20828 * - "CLEANUP_FAILED" 22248 * - "CLEANUP_FAILED"
20829 * - "DEPRECATED_RESOURCE_USED" 22249 * - "DEPRECATED_RESOURCE_USED"
20830 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" 22250 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
20831 * - "INJECTED_KERNELS_DEPRECATED" 22251 * - "INJECTED_KERNELS_DEPRECATED"
20832 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED" 22252 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
20833 * - "NEXT_HOP_CANNOT_IP_FORWARD" 22253 * - "NEXT_HOP_CANNOT_IP_FORWARD"
20834 * - "NEXT_HOP_INSTANCE_NOT_FOUND" 22254 * - "NEXT_HOP_INSTANCE_NOT_FOUND"
20835 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" 22255 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
20836 * - "NEXT_HOP_NOT_RUNNING" 22256 * - "NEXT_HOP_NOT_RUNNING"
20837 * - "NOT_CRITICAL_ERROR" 22257 * - "NOT_CRITICAL_ERROR"
20838 * - "NO_RESULTS_ON_PAGE" 22258 * - "NO_RESULTS_ON_PAGE"
20839 * - "REQUIRED_TOS_AGREEMENT" 22259 * - "REQUIRED_TOS_AGREEMENT"
20840 * - "RESOURCE_NOT_DELETED" 22260 * - "RESOURCE_NOT_DELETED"
20841 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE" 22261 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
20842 * - "UNREACHABLE" 22262 * - "UNREACHABLE"
20843 */ 22263 */
20844 core.String code; 22264 core.String code;
20845 /** 22265 /**
20846 * [Output Only] Metadata about this warning in key: value format. For 22266 * [Output Only] Metadata about this warning in key: value format. For
20847 * example: 22267 * example:
20848 * "data": [ { "key": "scope", "value": "zones/us-east1-d" } 22268 * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
20849 */ 22269 */
20850 core.List<OperationsScopedListWarningData> data; 22270 core.List<RouteWarningsData> data;
20851 /** [Output Only] A human-readable description of the warning code. */ 22271 /** [Output Only] A human-readable description of the warning code. */
20852 core.String message; 22272 core.String message;
20853 22273
20854 OperationsScopedListWarning(); 22274 RouteWarnings();
20855 22275
20856 OperationsScopedListWarning.fromJson(core.Map _json) { 22276 RouteWarnings.fromJson(core.Map _json) {
20857 if (_json.containsKey("code")) { 22277 if (_json.containsKey("code")) {
20858 code = _json["code"]; 22278 code = _json["code"];
20859 } 22279 }
20860 if (_json.containsKey("data")) { 22280 if (_json.containsKey("data")) {
20861 data = _json["data"].map((value) => new OperationsScopedListWarningData.fr omJson(value)).toList(); 22281 data = _json["data"].map((value) => new RouteWarningsData.fromJson(value)) .toList();
20862 } 22282 }
20863 if (_json.containsKey("message")) { 22283 if (_json.containsKey("message")) {
20864 message = _json["message"]; 22284 message = _json["message"];
20865 } 22285 }
20866 } 22286 }
20867 22287
20868 core.Map toJson() { 22288 core.Map toJson() {
20869 var _json = new core.Map(); 22289 var _json = new core.Map();
20870 if (code != null) { 22290 if (code != null) {
20871 _json["code"] = code; 22291 _json["code"] = code;
20872 } 22292 }
20873 if (data != null) { 22293 if (data != null) {
20874 _json["data"] = data.map((value) => (value).toJson()).toList(); 22294 _json["data"] = data.map((value) => (value).toJson()).toList();
20875 } 22295 }
20876 if (message != null) { 22296 if (message != null) {
20877 _json["message"] = message; 22297 _json["message"] = message;
20878 } 22298 }
20879 return _json; 22299 return _json;
20880 } 22300 }
20881 } 22301 }
20882 22302
20883 class OperationsScopedList {
20884 /** [Output Only] List of operations contained in this scope. */
20885 core.List<Operation> operations;
20886 /**
20887 * [Output Only] Informational warning which replaces the list of operations
20888 * when the list is empty.
20889 */
20890 OperationsScopedListWarning warning;
20891
20892 OperationsScopedList();
20893
20894 OperationsScopedList.fromJson(core.Map _json) {
20895 if (_json.containsKey("operations")) {
20896 operations = _json["operations"].map((value) => new Operation.fromJson(val ue)).toList();
20897 }
20898 if (_json.containsKey("warning")) {
20899 warning = new OperationsScopedListWarning.fromJson(_json["warning"]);
20900 }
20901 }
20902
20903 core.Map toJson() {
20904 var _json = new core.Map();
20905 if (operations != null) {
20906 _json["operations"] = operations.map((value) => (value).toJson()).toList() ;
20907 }
20908 if (warning != null) {
20909 _json["warning"] = (warning).toJson();
20910 }
20911 return _json;
20912 }
20913 }
20914
20915 /** 22303 /**
20916 * A matcher for the path portion of the URL. The BackendService from the 22304 * Represents a Route resource. A route specifies how certain packets should be
20917 * longest-matched rule will serve the URL. If no rule was matched, the default 22305 * handled by the network. Routes are associated with instances by tags and the
20918 * service will be used. 22306 * set of routes for a particular instance is called its routing table.
22307 *
22308 * For each packet leaving a instance, the system searches that instance's
22309 * routing table for a single best matching route. Routes match packets by
22310 * destination IP address, preferring smaller or more specific ranges over
22311 * larger ones. If there is a tie, the system selects the route with the
22312 * smallest priority value. If there is still a tie, it uses the layer three and
22313 * four packet headers to select just one of the remaining matching routes. The
22314 * packet is then forwarded as specified by the nextHop field of the winning
22315 * route - either to another instance destination, a instance gateway or a
22316 * Google Compute Engine-operated gateway.
22317 *
22318 * Packets that do not match any route in the sending instance's routing table
22319 * are dropped.
20919 */ 22320 */
20920 class PathMatcher { 22321 class Route {
20921 /** 22322 /** [Output Only] Creation timestamp in RFC3339 text format. */
20922 * The full or partial URL to the BackendService resource. This will be used 22323 core.String creationTimestamp;
20923 * if none of the pathRules defined by this PathMatcher is matched by the
20924 * URL's path portion. For example, the following are all valid URLs to a
20925 * BackendService resource:
20926 * -
20927 * https://www.googleapis.com/compute/v1/projects/project/global/backendServic es/backendService
20928 * - compute/v1/projects/project/global/backendServices/backendService
20929 * - global/backendServices/backendService
20930 */
20931 core.String defaultService;
20932 /** 22324 /**
20933 * An optional description of this resource. Provide this property when you 22325 * An optional description of this resource. Provide this property when you
20934 * create the resource. 22326 * create the resource.
20935 */ 22327 */
20936 core.String description; 22328 core.String description;
20937 /** The name to which this PathMatcher is referred by the HostRule. */ 22329 /** The destination range of outgoing packets that this route applies to. */
20938 core.String name; 22330 core.String destRange;
20939 /** The list of path rules. */
20940 core.List<PathRule> pathRules;
20941
20942 PathMatcher();
20943
20944 PathMatcher.fromJson(core.Map _json) {
20945 if (_json.containsKey("defaultService")) {
20946 defaultService = _json["defaultService"];
20947 }
20948 if (_json.containsKey("description")) {
20949 description = _json["description"];
20950 }
20951 if (_json.containsKey("name")) {
20952 name = _json["name"];
20953 }
20954 if (_json.containsKey("pathRules")) {
20955 pathRules = _json["pathRules"].map((value) => new PathRule.fromJson(value) ).toList();
20956 }
20957 }
20958
20959 core.Map toJson() {
20960 var _json = new core.Map();
20961 if (defaultService != null) {
20962 _json["defaultService"] = defaultService;
20963 }
20964 if (description != null) {
20965 _json["description"] = description;
20966 }
20967 if (name != null) {
20968 _json["name"] = name;
20969 }
20970 if (pathRules != null) {
20971 _json["pathRules"] = pathRules.map((value) => (value).toJson()).toList();
20972 }
20973 return _json;
20974 }
20975 }
20976
20977 /**
20978 * A path-matching rule for a URL. If matched, will use the specified
20979 * BackendService to handle the traffic arriving at this URL.
20980 */
20981 class PathRule {
20982 /**
20983 * The list of path patterns to match. Each must start with / and the only
20984 * place a * is allowed is at the end following a /. The string fed to the
20985 * path matcher does not include any text after the first ? or #, and those
20986 * chars are not allowed here.
20987 */
20988 core.List<core.String> paths;
20989 /** The URL of the BackendService resource if this rule is matched. */
20990 core.String service;
20991
20992 PathRule();
20993
20994 PathRule.fromJson(core.Map _json) {
20995 if (_json.containsKey("paths")) {
20996 paths = _json["paths"];
20997 }
20998 if (_json.containsKey("service")) {
20999 service = _json["service"];
21000 }
21001 }
21002
21003 core.Map toJson() {
21004 var _json = new core.Map();
21005 if (paths != null) {
21006 _json["paths"] = paths;
21007 }
21008 if (service != null) {
21009 _json["service"] = service;
21010 }
21011 return _json;
21012 }
21013 }
21014
21015 /**
21016 * A Project resource. Projects can only be created in the Google Cloud Platform
21017 * Console. Unless marked otherwise, values can only be modified in the console.
21018 */
21019 class Project {
21020 /**
21021 * Metadata key/value pairs available to all instances contained in this
21022 * project. See Custom metadata for more information.
21023 */
21024 Metadata commonInstanceMetadata;
21025 /** [Output Only] Creation timestamp in RFC3339 text format. */
21026 core.String creationTimestamp;
21027 /** An optional textual description of the resource. */
21028 core.String description;
21029 /** Restricted features enabled for use on this project. */
21030 core.List<core.String> enabledFeatures;
21031 /** 22331 /**
21032 * [Output Only] The unique identifier for the resource. This identifier is 22332 * [Output Only] The unique identifier for the resource. This identifier is
21033 * defined by the server. This is not the project ID, and is just a unique ID 22333 * defined by the server.
21034 * used by Compute Engine to identify resources.
21035 */ 22334 */
21036 core.String id; 22335 core.String id;
21037 /** 22336 /**
21038 * [Output Only] Type of the resource. Always compute#project for projects. 22337 * [Output Only] Type of this resource. Always compute#routes for Route
22338 * resources.
21039 */ 22339 */
21040 core.String kind; 22340 core.String kind;
21041 /** 22341 /**
21042 * The project ID. For example: my-example-project. Use the project ID to make 22342 * Name of the resource. Provided by the client when the resource is created.
21043 * requests to Compute Engine. 22343 * The name must be 1-63 characters long, and comply with RFC1035.
22344 * Specifically, the name must be 1-63 characters long and match the regular
22345 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
22346 * be a lowercase letter, and all following characters must be a dash,
22347 * lowercase letter, or digit, except the last character, which cannot be a
22348 * dash.
21044 */ 22349 */
21045 core.String name; 22350 core.String name;
21046 /** [Output Only] Quotas assigned to this project. */ 22351 /** Fully-qualified URL of the network that this route applies to. */
21047 core.List<Quota> quotas; 22352 core.String network;
21048 /** [Output Only] Server-defined URL for the resource. */ 22353 /**
22354 * The URL to a gateway that should handle matching packets. You can only
22355 * specify the internet gateway using a full or partial valid URL:
22356 * projects/<project-id>/global/gateways/default-internet-gateway
22357 */
22358 core.String nextHopGateway;
22359 /**
22360 * The URL to an instance that should handle matching packets. You can specify
22361 * this as a full or partial URL. For example:
22362 * https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances /
22363 */
22364 core.String nextHopInstance;
22365 /**
22366 * The network IP address of an instance that should handle matching packets.
22367 */
22368 core.String nextHopIp;
22369 /** The URL of the local network if it should handle matching packets. */
22370 core.String nextHopNetwork;
22371 /** The URL to a VpnTunnel that should handle matching packets. */
22372 core.String nextHopVpnTunnel;
22373 /**
22374 * The priority of this route. Priority is used to break ties in cases where
22375 * there is more than one matching route of equal prefix length. In the case
22376 * of two routes with equal prefix length, the one with the lowest-numbered
22377 * priority value wins. Default value is 1000. Valid range is 0 through 65535.
22378 */
22379 core.int priority;
22380 /** [Output Only] Server-defined fully-qualified URL for this resource. */
21049 core.String selfLink; 22381 core.String selfLink;
22382 /** A list of instance tags to which this route applies. */
22383 core.List<core.String> tags;
21050 /** 22384 /**
21051 * The naming prefix for daily usage reports and the Google Cloud Storage 22385 * [Output Only] If potential misconfigurations are detected for this route,
21052 * bucket where they are stored. 22386 * this field will be populated with warning messages.
21053 */ 22387 */
21054 UsageExportLocation usageExportLocation; 22388 core.List<RouteWarnings> warnings;
21055 22389
21056 Project(); 22390 Route();
21057 22391
21058 Project.fromJson(core.Map _json) { 22392 Route.fromJson(core.Map _json) {
21059 if (_json.containsKey("commonInstanceMetadata")) {
21060 commonInstanceMetadata = new Metadata.fromJson(_json["commonInstanceMetada ta"]);
21061 }
21062 if (_json.containsKey("creationTimestamp")) { 22393 if (_json.containsKey("creationTimestamp")) {
21063 creationTimestamp = _json["creationTimestamp"]; 22394 creationTimestamp = _json["creationTimestamp"];
21064 } 22395 }
21065 if (_json.containsKey("description")) { 22396 if (_json.containsKey("description")) {
21066 description = _json["description"]; 22397 description = _json["description"];
21067 } 22398 }
21068 if (_json.containsKey("enabledFeatures")) { 22399 if (_json.containsKey("destRange")) {
21069 enabledFeatures = _json["enabledFeatures"]; 22400 destRange = _json["destRange"];
21070 } 22401 }
21071 if (_json.containsKey("id")) { 22402 if (_json.containsKey("id")) {
21072 id = _json["id"]; 22403 id = _json["id"];
21073 } 22404 }
21074 if (_json.containsKey("kind")) { 22405 if (_json.containsKey("kind")) {
21075 kind = _json["kind"]; 22406 kind = _json["kind"];
21076 } 22407 }
21077 if (_json.containsKey("name")) { 22408 if (_json.containsKey("name")) {
21078 name = _json["name"]; 22409 name = _json["name"];
21079 } 22410 }
21080 if (_json.containsKey("quotas")) { 22411 if (_json.containsKey("network")) {
21081 quotas = _json["quotas"].map((value) => new Quota.fromJson(value)).toList( ); 22412 network = _json["network"];
22413 }
22414 if (_json.containsKey("nextHopGateway")) {
22415 nextHopGateway = _json["nextHopGateway"];
22416 }
22417 if (_json.containsKey("nextHopInstance")) {
22418 nextHopInstance = _json["nextHopInstance"];
22419 }
22420 if (_json.containsKey("nextHopIp")) {
22421 nextHopIp = _json["nextHopIp"];
22422 }
22423 if (_json.containsKey("nextHopNetwork")) {
22424 nextHopNetwork = _json["nextHopNetwork"];
22425 }
22426 if (_json.containsKey("nextHopVpnTunnel")) {
22427 nextHopVpnTunnel = _json["nextHopVpnTunnel"];
22428 }
22429 if (_json.containsKey("priority")) {
22430 priority = _json["priority"];
21082 } 22431 }
21083 if (_json.containsKey("selfLink")) { 22432 if (_json.containsKey("selfLink")) {
21084 selfLink = _json["selfLink"]; 22433 selfLink = _json["selfLink"];
21085 } 22434 }
21086 if (_json.containsKey("usageExportLocation")) { 22435 if (_json.containsKey("tags")) {
21087 usageExportLocation = new UsageExportLocation.fromJson(_json["usageExportL ocation"]); 22436 tags = _json["tags"];
22437 }
22438 if (_json.containsKey("warnings")) {
22439 warnings = _json["warnings"].map((value) => new RouteWarnings.fromJson(val ue)).toList();
21088 } 22440 }
21089 } 22441 }
21090 22442
21091 core.Map toJson() { 22443 core.Map toJson() {
21092 var _json = new core.Map(); 22444 var _json = new core.Map();
21093 if (commonInstanceMetadata != null) {
21094 _json["commonInstanceMetadata"] = (commonInstanceMetadata).toJson();
21095 }
21096 if (creationTimestamp != null) { 22445 if (creationTimestamp != null) {
21097 _json["creationTimestamp"] = creationTimestamp; 22446 _json["creationTimestamp"] = creationTimestamp;
21098 } 22447 }
21099 if (description != null) { 22448 if (description != null) {
21100 _json["description"] = description; 22449 _json["description"] = description;
21101 } 22450 }
21102 if (enabledFeatures != null) { 22451 if (destRange != null) {
21103 _json["enabledFeatures"] = enabledFeatures; 22452 _json["destRange"] = destRange;
21104 } 22453 }
21105 if (id != null) { 22454 if (id != null) {
21106 _json["id"] = id; 22455 _json["id"] = id;
21107 } 22456 }
21108 if (kind != null) { 22457 if (kind != null) {
21109 _json["kind"] = kind; 22458 _json["kind"] = kind;
21110 } 22459 }
21111 if (name != null) { 22460 if (name != null) {
21112 _json["name"] = name; 22461 _json["name"] = name;
21113 } 22462 }
21114 if (quotas != null) { 22463 if (network != null) {
21115 _json["quotas"] = quotas.map((value) => (value).toJson()).toList(); 22464 _json["network"] = network;
22465 }
22466 if (nextHopGateway != null) {
22467 _json["nextHopGateway"] = nextHopGateway;
22468 }
22469 if (nextHopInstance != null) {
22470 _json["nextHopInstance"] = nextHopInstance;
22471 }
22472 if (nextHopIp != null) {
22473 _json["nextHopIp"] = nextHopIp;
22474 }
22475 if (nextHopNetwork != null) {
22476 _json["nextHopNetwork"] = nextHopNetwork;
22477 }
22478 if (nextHopVpnTunnel != null) {
22479 _json["nextHopVpnTunnel"] = nextHopVpnTunnel;
22480 }
22481 if (priority != null) {
22482 _json["priority"] = priority;
21116 } 22483 }
21117 if (selfLink != null) { 22484 if (selfLink != null) {
21118 _json["selfLink"] = selfLink; 22485 _json["selfLink"] = selfLink;
21119 } 22486 }
21120 if (usageExportLocation != null) { 22487 if (tags != null) {
21121 _json["usageExportLocation"] = (usageExportLocation).toJson(); 22488 _json["tags"] = tags;
22489 }
22490 if (warnings != null) {
22491 _json["warnings"] = warnings.map((value) => (value).toJson()).toList();
21122 } 22492 }
21123 return _json; 22493 return _json;
21124 } 22494 }
21125 } 22495 }
21126 22496
21127 /** A quotas entry. */ 22497 /** Contains a list of Route resources. */
21128 class Quota { 22498 class RouteList {
21129 /** [Output Only] Quota limit for this metric. */ 22499 /**
21130 core.double limit; 22500 * [Output Only] Unique identifier for the resource. Defined by the server.
21131 /** 22501 */
21132 * [Output Only] Name of the quota metric. 22502 core.String id;
21133 * Possible string values are: 22503 /** [Output Only] A list of Route resources. */
21134 * - "AUTOSCALERS" 22504 core.List<Route> items;
21135 * - "BACKEND_SERVICES" 22505 /** Type of resource. */
21136 * - "CPUS" 22506 core.String kind;
21137 * - "DISKS_TOTAL_GB" 22507 /**
21138 * - "FIREWALLS" 22508 * [Output Only] This token allows you to get the next page of results for
21139 * - "FORWARDING_RULES" 22509 * list requests. If the number of results is larger than maxResults, use the
21140 * - "HEALTH_CHECKS" 22510 * nextPageToken as a value for the query parameter pageToken in the next list
21141 * - "IMAGES" 22511 * request. Subsequent list requests will have their own nextPageToken to
21142 * - "INSTANCES" 22512 * continue paging through the results.
21143 * - "INSTANCE_GROUPS" 22513 */
21144 * - "INSTANCE_GROUP_MANAGERS" 22514 core.String nextPageToken;
21145 * - "INSTANCE_TEMPLATES" 22515 /** [Output Only] Server-defined URL for this resource. */
21146 * - "IN_USE_ADDRESSES" 22516 core.String selfLink;
21147 * - "LOCAL_SSD_TOTAL_GB" 22517
21148 * - "NETWORKS" 22518 RouteList();
21149 * - "ROUTES" 22519
21150 * - "SNAPSHOTS" 22520 RouteList.fromJson(core.Map _json) {
21151 * - "SSD_TOTAL_GB" 22521 if (_json.containsKey("id")) {
21152 * - "SSL_CERTIFICATES" 22522 id = _json["id"];
21153 * - "STATIC_ADDRESSES" 22523 }
21154 * - "SUBNETWORKS" 22524 if (_json.containsKey("items")) {
21155 * - "TARGET_HTTPS_PROXIES" 22525 items = _json["items"].map((value) => new Route.fromJson(value)).toList();
21156 * - "TARGET_HTTP_PROXIES" 22526 }
21157 * - "TARGET_INSTANCES" 22527 if (_json.containsKey("kind")) {
21158 * - "TARGET_POOLS" 22528 kind = _json["kind"];
21159 * - "TARGET_VPN_GATEWAYS" 22529 }
21160 * - "URL_MAPS" 22530 if (_json.containsKey("nextPageToken")) {
21161 * - "VPN_TUNNELS" 22531 nextPageToken = _json["nextPageToken"];
21162 */ 22532 }
21163 core.String metric; 22533 if (_json.containsKey("selfLink")) {
21164 /** [Output Only] Current usage of this metric. */ 22534 selfLink = _json["selfLink"];
21165 core.double usage;
21166
21167 Quota();
21168
21169 Quota.fromJson(core.Map _json) {
21170 if (_json.containsKey("limit")) {
21171 limit = _json["limit"];
21172 }
21173 if (_json.containsKey("metric")) {
21174 metric = _json["metric"];
21175 }
21176 if (_json.containsKey("usage")) {
21177 usage = _json["usage"];
21178 } 22535 }
21179 } 22536 }
21180 22537
21181 core.Map toJson() { 22538 core.Map toJson() {
21182 var _json = new core.Map(); 22539 var _json = new core.Map();
21183 if (limit != null) { 22540 if (id != null) {
21184 _json["limit"] = limit; 22541 _json["id"] = id;
21185 } 22542 }
21186 if (metric != null) { 22543 if (items != null) {
21187 _json["metric"] = metric; 22544 _json["items"] = items.map((value) => (value).toJson()).toList();
21188 } 22545 }
21189 if (usage != null) { 22546 if (kind != null) {
21190 _json["usage"] = usage; 22547 _json["kind"] = kind;
22548 }
22549 if (nextPageToken != null) {
22550 _json["nextPageToken"] = nextPageToken;
22551 }
22552 if (selfLink != null) {
22553 _json["selfLink"] = selfLink;
21191 } 22554 }
21192 return _json; 22555 return _json;
21193 } 22556 }
21194 } 22557 }
21195 22558
21196 /** Region resource. */ 22559 /** Router resource. */
21197 class Region { 22560 class Router {
22561 RouterBgp bgp;
22562 core.List<RouterBgpPeer> bgpPeers;
21198 /** [Output Only] Creation timestamp in RFC3339 text format. */ 22563 /** [Output Only] Creation timestamp in RFC3339 text format. */
21199 core.String creationTimestamp; 22564 core.String creationTimestamp;
21200 /** [Output Only] The deprecation status associated with this region. */ 22565 /**
21201 DeprecationStatus deprecated; 22566 * An optional description of this resource. Provide this property when you
21202 /** [Output Only] Textual description of the resource. */ 22567 * create the resource.
22568 */
21203 core.String description; 22569 core.String description;
21204 /** 22570 /**
21205 * [Output Only] The unique identifier for the resource. This identifier is 22571 * [Output Only] The unique identifier for the resource. This identifier is
21206 * defined by the server. 22572 * defined by the server.
21207 */ 22573 */
21208 core.String id; 22574 core.String id;
21209 /** [Output Only] Type of the resource. Always compute#region for regions. */ 22575 core.List<RouterInterface> interfaces;
22576 /** [Output Only] Type of resource. Always compute#router for routers. */
21210 core.String kind; 22577 core.String kind;
21211 /** [Output Only] Name of the resource. */ 22578 /**
22579 * Name of the resource. Provided by the client when the resource is created.
22580 * The name must be 1-63 characters long, and comply with RFC1035.
22581 * Specifically, the name must be 1-63 characters long and match the regular
22582 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
22583 * be a lowercase letter, and all following characters must be a dash,
22584 * lowercase letter, or digit, except the last character, which cannot be a
22585 * dash.
22586 */
21212 core.String name; 22587 core.String name;
21213 /** [Output Only] Quotas assigned to this region. */ 22588 /** URI of the network to which this router belongs. */
21214 core.List<Quota> quotas; 22589 core.String network;
22590 /** [Output Only] URI of the region where the router resides. */
22591 core.String region;
21215 /** [Output Only] Server-defined URL for the resource. */ 22592 /** [Output Only] Server-defined URL for the resource. */
21216 core.String selfLink; 22593 core.String selfLink;
21217 /** 22594
21218 * [Output Only] Status of the region, either UP or DOWN. 22595 Router();
21219 * Possible string values are: 22596
21220 * - "DOWN" 22597 Router.fromJson(core.Map _json) {
21221 * - "UP" 22598 if (_json.containsKey("bgp")) {
21222 */ 22599 bgp = new RouterBgp.fromJson(_json["bgp"]);
21223 core.String status; 22600 }
21224 /** 22601 if (_json.containsKey("bgpPeers")) {
21225 * [Output Only] A list of zones available in this region, in the form of 22602 bgpPeers = _json["bgpPeers"].map((value) => new RouterBgpPeer.fromJson(val ue)).toList();
21226 * resource URLs. 22603 }
21227 */
21228 core.List<core.String> zones;
21229
21230 Region();
21231
21232 Region.fromJson(core.Map _json) {
21233 if (_json.containsKey("creationTimestamp")) { 22604 if (_json.containsKey("creationTimestamp")) {
21234 creationTimestamp = _json["creationTimestamp"]; 22605 creationTimestamp = _json["creationTimestamp"];
21235 } 22606 }
21236 if (_json.containsKey("deprecated")) {
21237 deprecated = new DeprecationStatus.fromJson(_json["deprecated"]);
21238 }
21239 if (_json.containsKey("description")) { 22607 if (_json.containsKey("description")) {
21240 description = _json["description"]; 22608 description = _json["description"];
21241 } 22609 }
21242 if (_json.containsKey("id")) { 22610 if (_json.containsKey("id")) {
21243 id = _json["id"]; 22611 id = _json["id"];
21244 } 22612 }
22613 if (_json.containsKey("interfaces")) {
22614 interfaces = _json["interfaces"].map((value) => new RouterInterface.fromJs on(value)).toList();
22615 }
21245 if (_json.containsKey("kind")) { 22616 if (_json.containsKey("kind")) {
21246 kind = _json["kind"]; 22617 kind = _json["kind"];
21247 } 22618 }
21248 if (_json.containsKey("name")) { 22619 if (_json.containsKey("name")) {
21249 name = _json["name"]; 22620 name = _json["name"];
21250 } 22621 }
21251 if (_json.containsKey("quotas")) { 22622 if (_json.containsKey("network")) {
21252 quotas = _json["quotas"].map((value) => new Quota.fromJson(value)).toList( ); 22623 network = _json["network"];
22624 }
22625 if (_json.containsKey("region")) {
22626 region = _json["region"];
21253 } 22627 }
21254 if (_json.containsKey("selfLink")) { 22628 if (_json.containsKey("selfLink")) {
21255 selfLink = _json["selfLink"]; 22629 selfLink = _json["selfLink"];
21256 } 22630 }
21257 if (_json.containsKey("status")) {
21258 status = _json["status"];
21259 }
21260 if (_json.containsKey("zones")) {
21261 zones = _json["zones"];
21262 }
21263 } 22631 }
21264 22632
21265 core.Map toJson() { 22633 core.Map toJson() {
21266 var _json = new core.Map(); 22634 var _json = new core.Map();
22635 if (bgp != null) {
22636 _json["bgp"] = (bgp).toJson();
22637 }
22638 if (bgpPeers != null) {
22639 _json["bgpPeers"] = bgpPeers.map((value) => (value).toJson()).toList();
22640 }
21267 if (creationTimestamp != null) { 22641 if (creationTimestamp != null) {
21268 _json["creationTimestamp"] = creationTimestamp; 22642 _json["creationTimestamp"] = creationTimestamp;
21269 } 22643 }
21270 if (deprecated != null) {
21271 _json["deprecated"] = (deprecated).toJson();
21272 }
21273 if (description != null) { 22644 if (description != null) {
21274 _json["description"] = description; 22645 _json["description"] = description;
21275 } 22646 }
21276 if (id != null) { 22647 if (id != null) {
21277 _json["id"] = id; 22648 _json["id"] = id;
21278 } 22649 }
22650 if (interfaces != null) {
22651 _json["interfaces"] = interfaces.map((value) => (value).toJson()).toList() ;
22652 }
21279 if (kind != null) { 22653 if (kind != null) {
21280 _json["kind"] = kind; 22654 _json["kind"] = kind;
21281 } 22655 }
21282 if (name != null) { 22656 if (name != null) {
21283 _json["name"] = name; 22657 _json["name"] = name;
21284 } 22658 }
21285 if (quotas != null) { 22659 if (network != null) {
21286 _json["quotas"] = quotas.map((value) => (value).toJson()).toList(); 22660 _json["network"] = network;
22661 }
22662 if (region != null) {
22663 _json["region"] = region;
21287 } 22664 }
21288 if (selfLink != null) { 22665 if (selfLink != null) {
21289 _json["selfLink"] = selfLink; 22666 _json["selfLink"] = selfLink;
21290 } 22667 }
21291 if (status != null) {
21292 _json["status"] = status;
21293 }
21294 if (zones != null) {
21295 _json["zones"] = zones;
21296 }
21297 return _json; 22668 return _json;
21298 } 22669 }
21299 } 22670 }
21300 22671
21301 /** Contains a list of region resources. */ 22672 /** Contains a list of routers. */
21302 class RegionList { 22673 class RouterAggregatedList {
21303 /** 22674 /**
21304 * [Output Only] The unique identifier for the resource. This identifier is 22675 * [Output Only] The unique identifier for the resource. This identifier is
21305 * defined by the server. 22676 * defined by the server.
21306 */ 22677 */
21307 core.String id; 22678 core.String id;
21308 /** [Output Only] A list of Region resources. */ 22679 /** A map of scoped router lists. */
21309 core.List<Region> items; 22680 core.Map<core.String, RoutersScopedList> items;
21310 /** 22681 /** Type of resource. */
21311 * [Output Only] Type of resource. Always compute#regionList for lists of
21312 * regions.
21313 */
21314 core.String kind; 22682 core.String kind;
21315 /** 22683 /**
21316 * [Output Only] This token allows you to get the next page of results for 22684 * [Output Only] This token allows you to get the next page of results for
21317 * list requests. If the number of results is larger than maxResults, use the 22685 * list requests. If the number of results is larger than maxResults, use the
21318 * nextPageToken as a value for the query parameter pageToken in the next list 22686 * nextPageToken as a value for the query parameter pageToken in the next list
21319 * request. Subsequent list requests will have their own nextPageToken to 22687 * request. Subsequent list requests will have their own nextPageToken to
21320 * continue paging through the results. 22688 * continue paging through the results.
21321 */ 22689 */
21322 core.String nextPageToken; 22690 core.String nextPageToken;
21323 /** [Output Only] Server-defined URL for this resource. */ 22691 /** [Output Only] Server-defined URL for this resource. */
21324 core.String selfLink; 22692 core.String selfLink;
21325 22693
21326 RegionList(); 22694 RouterAggregatedList();
21327 22695
21328 RegionList.fromJson(core.Map _json) { 22696 RouterAggregatedList.fromJson(core.Map _json) {
21329 if (_json.containsKey("id")) { 22697 if (_json.containsKey("id")) {
21330 id = _json["id"]; 22698 id = _json["id"];
21331 } 22699 }
21332 if (_json.containsKey("items")) { 22700 if (_json.containsKey("items")) {
21333 items = _json["items"].map((value) => new Region.fromJson(value)).toList() ; 22701 items = commons.mapMap(_json["items"], (item) => new RoutersScopedList.fro mJson(item));
21334 } 22702 }
21335 if (_json.containsKey("kind")) { 22703 if (_json.containsKey("kind")) {
21336 kind = _json["kind"]; 22704 kind = _json["kind"];
21337 } 22705 }
21338 if (_json.containsKey("nextPageToken")) { 22706 if (_json.containsKey("nextPageToken")) {
21339 nextPageToken = _json["nextPageToken"]; 22707 nextPageToken = _json["nextPageToken"];
21340 } 22708 }
21341 if (_json.containsKey("selfLink")) { 22709 if (_json.containsKey("selfLink")) {
21342 selfLink = _json["selfLink"]; 22710 selfLink = _json["selfLink"];
21343 } 22711 }
21344 } 22712 }
21345 22713
21346 core.Map toJson() { 22714 core.Map toJson() {
21347 var _json = new core.Map(); 22715 var _json = new core.Map();
21348 if (id != null) { 22716 if (id != null) {
21349 _json["id"] = id; 22717 _json["id"] = id;
21350 } 22718 }
21351 if (items != null) { 22719 if (items != null) {
21352 _json["items"] = items.map((value) => (value).toJson()).toList(); 22720 _json["items"] = commons.mapMap(items, (item) => (item).toJson());
21353 } 22721 }
21354 if (kind != null) { 22722 if (kind != null) {
21355 _json["kind"] = kind; 22723 _json["kind"] = kind;
21356 } 22724 }
21357 if (nextPageToken != null) { 22725 if (nextPageToken != null) {
21358 _json["nextPageToken"] = nextPageToken; 22726 _json["nextPageToken"] = nextPageToken;
21359 } 22727 }
21360 if (selfLink != null) { 22728 if (selfLink != null) {
21361 _json["selfLink"] = selfLink; 22729 _json["selfLink"] = selfLink;
21362 } 22730 }
21363 return _json; 22731 return _json;
21364 } 22732 }
21365 } 22733 }
21366 22734
21367 class ResourceGroupReference { 22735 class RouterBgp {
21368 /** 22736 /**
21369 * A URI referencing one of the resource views listed in the backend service. 22737 * Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN,
21370 */ 22738 * either 16-bit or 32-bit. The value will be fixed for this router resource.
21371 core.String group; 22739 * All VPN tunnels that link to this router will have the same local ASN.
21372 22740 */
21373 ResourceGroupReference(); 22741 core.int asn;
21374 22742
21375 ResourceGroupReference.fromJson(core.Map _json) { 22743 RouterBgp();
21376 if (_json.containsKey("group")) { 22744
21377 group = _json["group"]; 22745 RouterBgp.fromJson(core.Map _json) {
21378 } 22746 if (_json.containsKey("asn")) {
21379 } 22747 asn = _json["asn"];
21380 22748 }
21381 core.Map toJson() { 22749 }
21382 var _json = new core.Map(); 22750
21383 if (group != null) { 22751 core.Map toJson() {
21384 _json["group"] = group; 22752 var _json = new core.Map();
21385 } 22753 if (asn != null) {
21386 return _json; 22754 _json["asn"] = asn;
21387 } 22755 }
21388 } 22756 return _json;
21389 22757 }
21390 class RouteWarningsData { 22758 }
22759
22760 /**
22761 * BGP information that needs to be configured into the routing stack to
22762 * establish the BGP peering. It must specify peer ASN and either interface
22763 * name, IP, or peer IP. Reference: https://tools.ietf.org/html/rfc4273
22764 */
22765 class RouterBgpPeer {
22766 /**
22767 * The priority of routes advertised to this BGP peer. In the case where there
22768 * is more than one matching route of maximum length, the routes with lowest
22769 * priority value win.
22770 */
22771 core.int advertisedRoutePriority;
22772 /** Name of the interface the BGP peer is associated with. */
22773 core.String interfaceName;
22774 /** IP address of the interface inside Google Cloud Platform. */
22775 core.String ipAddress;
22776 /**
22777 * Name of this BGP peer. The name must be 1-63 characters long and comply
22778 * with RFC1035.
22779 */
22780 core.String name;
22781 /**
22782 * Peer BGP Autonomous System Number (ASN). For VPN use case, this value can
22783 * be different for every tunnel.
22784 */
22785 core.int peerAsn;
22786 /** IP address of the BGP interface outside Google cloud. */
22787 core.String peerIpAddress;
22788
22789 RouterBgpPeer();
22790
22791 RouterBgpPeer.fromJson(core.Map _json) {
22792 if (_json.containsKey("advertisedRoutePriority")) {
22793 advertisedRoutePriority = _json["advertisedRoutePriority"];
22794 }
22795 if (_json.containsKey("interfaceName")) {
22796 interfaceName = _json["interfaceName"];
22797 }
22798 if (_json.containsKey("ipAddress")) {
22799 ipAddress = _json["ipAddress"];
22800 }
22801 if (_json.containsKey("name")) {
22802 name = _json["name"];
22803 }
22804 if (_json.containsKey("peerAsn")) {
22805 peerAsn = _json["peerAsn"];
22806 }
22807 if (_json.containsKey("peerIpAddress")) {
22808 peerIpAddress = _json["peerIpAddress"];
22809 }
22810 }
22811
22812 core.Map toJson() {
22813 var _json = new core.Map();
22814 if (advertisedRoutePriority != null) {
22815 _json["advertisedRoutePriority"] = advertisedRoutePriority;
22816 }
22817 if (interfaceName != null) {
22818 _json["interfaceName"] = interfaceName;
22819 }
22820 if (ipAddress != null) {
22821 _json["ipAddress"] = ipAddress;
22822 }
22823 if (name != null) {
22824 _json["name"] = name;
22825 }
22826 if (peerAsn != null) {
22827 _json["peerAsn"] = peerAsn;
22828 }
22829 if (peerIpAddress != null) {
22830 _json["peerIpAddress"] = peerIpAddress;
22831 }
22832 return _json;
22833 }
22834 }
22835
22836 /**
22837 * Router interfaces. Each interface requires either one linked resource (e.g.
22838 * linked_vpn_tunnel) or IP address + range (specified in ip_range).
22839 */
22840 class RouterInterface {
22841 /**
22842 * IP address and range of the interface. The IP range must be in the RFC3927
22843 * link-local IP space. The value must be a CIDR-formatted string, for
22844 * example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents
22845 * the IP address of the interface.
22846 */
22847 core.String ipRange;
22848 /**
22849 * URI of linked VPN tunnel. It must be in the same region as the router. Each
22850 * interface can have at most one linked resource.
22851 */
22852 core.String linkedVpnTunnel;
22853 /**
22854 * Name of this interface entry. The name must be 1-63 characters long and
22855 * comply with RFC1035.
22856 */
22857 core.String name;
22858
22859 RouterInterface();
22860
22861 RouterInterface.fromJson(core.Map _json) {
22862 if (_json.containsKey("ipRange")) {
22863 ipRange = _json["ipRange"];
22864 }
22865 if (_json.containsKey("linkedVpnTunnel")) {
22866 linkedVpnTunnel = _json["linkedVpnTunnel"];
22867 }
22868 if (_json.containsKey("name")) {
22869 name = _json["name"];
22870 }
22871 }
22872
22873 core.Map toJson() {
22874 var _json = new core.Map();
22875 if (ipRange != null) {
22876 _json["ipRange"] = ipRange;
22877 }
22878 if (linkedVpnTunnel != null) {
22879 _json["linkedVpnTunnel"] = linkedVpnTunnel;
22880 }
22881 if (name != null) {
22882 _json["name"] = name;
22883 }
22884 return _json;
22885 }
22886 }
22887
22888 /** Contains a list of Router resources. */
22889 class RouterList {
22890 /**
22891 * [Output Only] The unique identifier for the resource. This identifier is
22892 * defined by the server.
22893 */
22894 core.String id;
22895 /** A list of Router resources. */
22896 core.List<Router> items;
22897 /** [Output Only] Type of resource. Always compute#router for routers. */
22898 core.String kind;
22899 /**
22900 * [Output Only] This token allows you to get the next page of results for
22901 * list requests. If the number of results is larger than maxResults, use the
22902 * nextPageToken as a value for the query parameter pageToken in the next list
22903 * request. Subsequent list requests will have their own nextPageToken to
22904 * continue paging through the results.
22905 */
22906 core.String nextPageToken;
22907 /** [Output Only] Server-defined URL for the resource. */
22908 core.String selfLink;
22909
22910 RouterList();
22911
22912 RouterList.fromJson(core.Map _json) {
22913 if (_json.containsKey("id")) {
22914 id = _json["id"];
22915 }
22916 if (_json.containsKey("items")) {
22917 items = _json["items"].map((value) => new Router.fromJson(value)).toList() ;
22918 }
22919 if (_json.containsKey("kind")) {
22920 kind = _json["kind"];
22921 }
22922 if (_json.containsKey("nextPageToken")) {
22923 nextPageToken = _json["nextPageToken"];
22924 }
22925 if (_json.containsKey("selfLink")) {
22926 selfLink = _json["selfLink"];
22927 }
22928 }
22929
22930 core.Map toJson() {
22931 var _json = new core.Map();
22932 if (id != null) {
22933 _json["id"] = id;
22934 }
22935 if (items != null) {
22936 _json["items"] = items.map((value) => (value).toJson()).toList();
22937 }
22938 if (kind != null) {
22939 _json["kind"] = kind;
22940 }
22941 if (nextPageToken != null) {
22942 _json["nextPageToken"] = nextPageToken;
22943 }
22944 if (selfLink != null) {
22945 _json["selfLink"] = selfLink;
22946 }
22947 return _json;
22948 }
22949 }
22950
22951 class RouterStatus {
22952 /** Best routes for this router's network. */
22953 core.List<Route> bestRoutes;
22954 core.List<RouterStatusBgpPeerStatus> bgpPeerStatus;
22955 /** URI of the network to which this router belongs. */
22956 core.String network;
22957
22958 RouterStatus();
22959
22960 RouterStatus.fromJson(core.Map _json) {
22961 if (_json.containsKey("bestRoutes")) {
22962 bestRoutes = _json["bestRoutes"].map((value) => new Route.fromJson(value)) .toList();
22963 }
22964 if (_json.containsKey("bgpPeerStatus")) {
22965 bgpPeerStatus = _json["bgpPeerStatus"].map((value) => new RouterStatusBgpP eerStatus.fromJson(value)).toList();
22966 }
22967 if (_json.containsKey("network")) {
22968 network = _json["network"];
22969 }
22970 }
22971
22972 core.Map toJson() {
22973 var _json = new core.Map();
22974 if (bestRoutes != null) {
22975 _json["bestRoutes"] = bestRoutes.map((value) => (value).toJson()).toList() ;
22976 }
22977 if (bgpPeerStatus != null) {
22978 _json["bgpPeerStatus"] = bgpPeerStatus.map((value) => (value).toJson()).to List();
22979 }
22980 if (network != null) {
22981 _json["network"] = network;
22982 }
22983 return _json;
22984 }
22985 }
22986
22987 class RouterStatusBgpPeerStatus {
22988 /** Routes that were advertised to the remote BGP peer */
22989 core.List<Route> advertisedRoutes;
22990 /** IP address of the local BGP interface. */
22991 core.String ipAddress;
22992 /** URL of the VPN tunnel that this BGP peer controls. */
22993 core.String linkedVpnTunnel;
22994 /** Name of this BGP peer. Unique within the Routers resource. */
22995 core.String name;
22996 /** Number of routes learned from the remote BGP Peer. */
22997 core.int numLearnedRoutes;
22998 /** IP address of the remote BGP interface. */
22999 core.String peerIpAddress;
23000 /** BGP state as specified in RFC1771. */
23001 core.String state;
23002 /**
23003 * Status of the BGP peer: {UP, DOWN}
23004 * Possible string values are:
23005 * - "DOWN"
23006 * - "UNKNOWN"
23007 * - "UP"
23008 */
23009 core.String status;
23010 /**
23011 * Time this session has been up. Format: 14 years, 51 weeks, 6 days, 23
23012 * hours, 59 minutes, 59 seconds
23013 */
23014 core.String uptime;
23015 /** Time this session has been up, in seconds. Format: 145 */
23016 core.String uptimeSeconds;
23017
23018 RouterStatusBgpPeerStatus();
23019
23020 RouterStatusBgpPeerStatus.fromJson(core.Map _json) {
23021 if (_json.containsKey("advertisedRoutes")) {
23022 advertisedRoutes = _json["advertisedRoutes"].map((value) => new Route.from Json(value)).toList();
23023 }
23024 if (_json.containsKey("ipAddress")) {
23025 ipAddress = _json["ipAddress"];
23026 }
23027 if (_json.containsKey("linkedVpnTunnel")) {
23028 linkedVpnTunnel = _json["linkedVpnTunnel"];
23029 }
23030 if (_json.containsKey("name")) {
23031 name = _json["name"];
23032 }
23033 if (_json.containsKey("numLearnedRoutes")) {
23034 numLearnedRoutes = _json["numLearnedRoutes"];
23035 }
23036 if (_json.containsKey("peerIpAddress")) {
23037 peerIpAddress = _json["peerIpAddress"];
23038 }
23039 if (_json.containsKey("state")) {
23040 state = _json["state"];
23041 }
23042 if (_json.containsKey("status")) {
23043 status = _json["status"];
23044 }
23045 if (_json.containsKey("uptime")) {
23046 uptime = _json["uptime"];
23047 }
23048 if (_json.containsKey("uptimeSeconds")) {
23049 uptimeSeconds = _json["uptimeSeconds"];
23050 }
23051 }
23052
23053 core.Map toJson() {
23054 var _json = new core.Map();
23055 if (advertisedRoutes != null) {
23056 _json["advertisedRoutes"] = advertisedRoutes.map((value) => (value).toJson ()).toList();
23057 }
23058 if (ipAddress != null) {
23059 _json["ipAddress"] = ipAddress;
23060 }
23061 if (linkedVpnTunnel != null) {
23062 _json["linkedVpnTunnel"] = linkedVpnTunnel;
23063 }
23064 if (name != null) {
23065 _json["name"] = name;
23066 }
23067 if (numLearnedRoutes != null) {
23068 _json["numLearnedRoutes"] = numLearnedRoutes;
23069 }
23070 if (peerIpAddress != null) {
23071 _json["peerIpAddress"] = peerIpAddress;
23072 }
23073 if (state != null) {
23074 _json["state"] = state;
23075 }
23076 if (status != null) {
23077 _json["status"] = status;
23078 }
23079 if (uptime != null) {
23080 _json["uptime"] = uptime;
23081 }
23082 if (uptimeSeconds != null) {
23083 _json["uptimeSeconds"] = uptimeSeconds;
23084 }
23085 return _json;
23086 }
23087 }
23088
23089 class RouterStatusResponse {
23090 /** Type of resource. */
23091 core.String kind;
23092 RouterStatus result;
23093
23094 RouterStatusResponse();
23095
23096 RouterStatusResponse.fromJson(core.Map _json) {
23097 if (_json.containsKey("kind")) {
23098 kind = _json["kind"];
23099 }
23100 if (_json.containsKey("result")) {
23101 result = new RouterStatus.fromJson(_json["result"]);
23102 }
23103 }
23104
23105 core.Map toJson() {
23106 var _json = new core.Map();
23107 if (kind != null) {
23108 _json["kind"] = kind;
23109 }
23110 if (result != null) {
23111 _json["result"] = (result).toJson();
23112 }
23113 return _json;
23114 }
23115 }
23116
23117 class RoutersScopedListWarningData {
21391 /** 23118 /**
21392 * [Output Only] A key that provides more detail on the warning being 23119 * [Output Only] A key that provides more detail on the warning being
21393 * returned. For example, for warnings where there are no results in a list 23120 * returned. For example, for warnings where there are no results in a list
21394 * request for a particular zone, this key might be scope and the key value 23121 * request for a particular zone, this key might be scope and the key value
21395 * might be the zone name. Other examples might be a key indicating a 23122 * might be the zone name. Other examples might be a key indicating a
21396 * deprecated resource and a suggested replacement, or a warning about invalid 23123 * deprecated resource and a suggested replacement, or a warning about invalid
21397 * network settings (for example, if an instance attempts to perform IP 23124 * network settings (for example, if an instance attempts to perform IP
21398 * forwarding but is not enabled for IP forwarding). 23125 * forwarding but is not enabled for IP forwarding).
21399 */ 23126 */
21400 core.String key; 23127 core.String key;
21401 /** [Output Only] A warning data value corresponding to the key. */ 23128 /** [Output Only] A warning data value corresponding to the key. */
21402 core.String value; 23129 core.String value;
21403 23130
21404 RouteWarningsData(); 23131 RoutersScopedListWarningData();
21405 23132
21406 RouteWarningsData.fromJson(core.Map _json) { 23133 RoutersScopedListWarningData.fromJson(core.Map _json) {
21407 if (_json.containsKey("key")) { 23134 if (_json.containsKey("key")) {
21408 key = _json["key"]; 23135 key = _json["key"];
21409 } 23136 }
21410 if (_json.containsKey("value")) { 23137 if (_json.containsKey("value")) {
21411 value = _json["value"]; 23138 value = _json["value"];
21412 } 23139 }
21413 } 23140 }
21414 23141
21415 core.Map toJson() { 23142 core.Map toJson() {
21416 var _json = new core.Map(); 23143 var _json = new core.Map();
21417 if (key != null) { 23144 if (key != null) {
21418 _json["key"] = key; 23145 _json["key"] = key;
21419 } 23146 }
21420 if (value != null) { 23147 if (value != null) {
21421 _json["value"] = value; 23148 _json["value"] = value;
21422 } 23149 }
21423 return _json; 23150 return _json;
21424 } 23151 }
21425 } 23152 }
21426 23153
21427 class RouteWarnings { 23154 /**
23155 * Informational warning which replaces the list of routers when the list is
23156 * empty.
23157 */
23158 class RoutersScopedListWarning {
21428 /** 23159 /**
21429 * [Output Only] A warning code, if applicable. For example, Compute Engine 23160 * [Output Only] A warning code, if applicable. For example, Compute Engine
21430 * returns NO_RESULTS_ON_PAGE if there are no results in the response. 23161 * returns NO_RESULTS_ON_PAGE if there are no results in the response.
21431 * Possible string values are: 23162 * Possible string values are:
21432 * - "CLEANUP_FAILED" 23163 * - "CLEANUP_FAILED"
21433 * - "DEPRECATED_RESOURCE_USED" 23164 * - "DEPRECATED_RESOURCE_USED"
21434 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" 23165 * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
21435 * - "INJECTED_KERNELS_DEPRECATED" 23166 * - "INJECTED_KERNELS_DEPRECATED"
21436 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED" 23167 * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
21437 * - "NEXT_HOP_CANNOT_IP_FORWARD" 23168 * - "NEXT_HOP_CANNOT_IP_FORWARD"
21438 * - "NEXT_HOP_INSTANCE_NOT_FOUND" 23169 * - "NEXT_HOP_INSTANCE_NOT_FOUND"
21439 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" 23170 * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
21440 * - "NEXT_HOP_NOT_RUNNING" 23171 * - "NEXT_HOP_NOT_RUNNING"
21441 * - "NOT_CRITICAL_ERROR" 23172 * - "NOT_CRITICAL_ERROR"
21442 * - "NO_RESULTS_ON_PAGE" 23173 * - "NO_RESULTS_ON_PAGE"
21443 * - "REQUIRED_TOS_AGREEMENT" 23174 * - "REQUIRED_TOS_AGREEMENT"
21444 * - "RESOURCE_NOT_DELETED" 23175 * - "RESOURCE_NOT_DELETED"
21445 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE" 23176 * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
21446 * - "UNREACHABLE" 23177 * - "UNREACHABLE"
21447 */ 23178 */
21448 core.String code; 23179 core.String code;
21449 /** 23180 /**
21450 * [Output Only] Metadata about this warning in key: value format. For 23181 * [Output Only] Metadata about this warning in key: value format. For
21451 * example: 23182 * example:
21452 * "data": [ { "key": "scope", "value": "zones/us-east1-d" } 23183 * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
21453 */ 23184 */
21454 core.List<RouteWarningsData> data; 23185 core.List<RoutersScopedListWarningData> data;
21455 /** [Output Only] A human-readable description of the warning code. */ 23186 /** [Output Only] A human-readable description of the warning code. */
21456 core.String message; 23187 core.String message;
21457 23188
21458 RouteWarnings(); 23189 RoutersScopedListWarning();
21459 23190
21460 RouteWarnings.fromJson(core.Map _json) { 23191 RoutersScopedListWarning.fromJson(core.Map _json) {
21461 if (_json.containsKey("code")) { 23192 if (_json.containsKey("code")) {
21462 code = _json["code"]; 23193 code = _json["code"];
21463 } 23194 }
21464 if (_json.containsKey("data")) { 23195 if (_json.containsKey("data")) {
21465 data = _json["data"].map((value) => new RouteWarningsData.fromJson(value)) .toList(); 23196 data = _json["data"].map((value) => new RoutersScopedListWarningData.fromJ son(value)).toList();
21466 } 23197 }
21467 if (_json.containsKey("message")) { 23198 if (_json.containsKey("message")) {
21468 message = _json["message"]; 23199 message = _json["message"];
21469 } 23200 }
21470 } 23201 }
21471 23202
21472 core.Map toJson() { 23203 core.Map toJson() {
21473 var _json = new core.Map(); 23204 var _json = new core.Map();
21474 if (code != null) { 23205 if (code != null) {
21475 _json["code"] = code; 23206 _json["code"] = code;
21476 } 23207 }
21477 if (data != null) { 23208 if (data != null) {
21478 _json["data"] = data.map((value) => (value).toJson()).toList(); 23209 _json["data"] = data.map((value) => (value).toJson()).toList();
21479 } 23210 }
21480 if (message != null) { 23211 if (message != null) {
21481 _json["message"] = message; 23212 _json["message"] = message;
21482 } 23213 }
21483 return _json; 23214 return _json;
21484 } 23215 }
21485 } 23216 }
21486 23217
21487 /** 23218 class RoutersScopedList {
21488 * Represents a Route resource. A route specifies how certain packets should be 23219 /** List of routers contained in this scope. */
21489 * handled by the network. Routes are associated with instances by tags and the 23220 core.List<Router> routers;
21490 * set of routes for a particular instance is called its routing table. 23221 /**
21491 * 23222 * Informational warning which replaces the list of routers when the list is
21492 * For each packet leaving a instance, the system searches that instance's 23223 * empty.
21493 * routing table for a single best matching route. Routes match packets by 23224 */
21494 * destination IP address, preferring smaller or more specific ranges over 23225 RoutersScopedListWarning warning;
21495 * larger ones. If there is a tie, the system selects the route with the 23226
21496 * smallest priority value. If there is still a tie, it uses the layer three and 23227 RoutersScopedList();
21497 * four packet headers to select just one of the remaining matching routes. The 23228
21498 * packet is then forwarded as specified by the nextHop field of the winning 23229 RoutersScopedList.fromJson(core.Map _json) {
21499 * route - either to another instance destination, a instance gateway or a 23230 if (_json.containsKey("routers")) {
21500 * Google Compute Engine-operated gateway. 23231 routers = _json["routers"].map((value) => new Router.fromJson(value)).toLi st();
21501 * 23232 }
21502 * Packets that do not match any route in the sending instance's routing table 23233 if (_json.containsKey("warning")) {
21503 * are dropped. 23234 warning = new RoutersScopedListWarning.fromJson(_json["warning"]);
21504 */ 23235 }
21505 class Route { 23236 }
21506 /** [Output Only] Creation timestamp in RFC3339 text format. */ 23237
21507 core.String creationTimestamp; 23238 core.Map toJson() {
21508 /** 23239 var _json = new core.Map();
21509 * An optional description of this resource. Provide this property when you 23240 if (routers != null) {
21510 * create the resource. 23241 _json["routers"] = routers.map((value) => (value).toJson()).toList();
21511 */ 23242 }
21512 core.String description; 23243 if (warning != null) {
21513 /** The destination range of outgoing packets that this route applies to. */ 23244 _json["warning"] = (warning).toJson();
21514 core.String destRange; 23245 }
21515 /** 23246 return _json;
21516 * [Output Only] The unique identifier for the resource. This identifier is 23247 }
21517 * defined by the server.
21518 */
21519 core.String id;
21520 /**
21521 * [Output Only] Type of this resource. Always compute#routes for Route
21522 * resources.
21523 */
21524 core.String kind;
21525 /**
21526 * Name of the resource. Provided by the client when the resource is created.
21527 * The name must be 1-63 characters long, and comply with RFC1035.
21528 * Specifically, the name must be 1-63 characters long and match the regular
21529 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
21530 * be a lowercase letter, and all following characters must be a dash,
21531 * lowercase letter, or digit, except the last character, which cannot be a
21532 * dash.
21533 */
21534 core.String name;
21535 /** Fully-qualified URL of the network that this route applies to. */
21536 core.String network;
21537 /**
21538 * The URL to a gateway that should handle matching packets. You can only
21539 * specify the internet gateway using a full or partial valid URL:
21540 * projects/<project-id>/global/gateways/default-internet-gateway
21541 */
21542 core.String nextHopGateway;
21543 /**
21544 * The URL to an instance that should handle matching packets. You can specify
21545 * this as a full or partial URL. For example:
21546 * https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances /
21547 */
21548 core.String nextHopInstance;
21549 /**
21550 * The network IP address of an instance that should handle matching packets.
21551 */
21552 core.String nextHopIp;
21553 /** The URL of the local network if it should handle matching packets. */
21554 core.String nextHopNetwork;
21555 /** The URL to a VpnTunnel that should handle matching packets. */
21556 core.String nextHopVpnTunnel;
21557 /**
21558 * The priority of this route. Priority is used to break ties in cases where
21559 * there is more than one matching route of equal prefix length. In the case
21560 * of two routes with equal prefix length, the one with the lowest-numbered
21561 * priority value wins. Default value is 1000. Valid range is 0 through 65535.
21562 */
21563 core.int priority;
21564 /** [Output Only] Server-defined fully-qualified URL for this resource. */
21565 core.String selfLink;
21566 /** A list of instance tags to which this route applies. */
21567 core.List<core.String> tags;
21568 /**
21569 * [Output Only] If potential misconfigurations are detected for this route,
21570 * this field will be populated with warning messages.
21571 */
21572 core.List<RouteWarnings> warnings;
21573
21574 Route();
21575
21576 Route.fromJson(core.Map _json) {
21577 if (_json.containsKey("creationTimestamp")) {
21578 creationTimestamp = _json["creationTimestamp"];
21579 }
21580 if (_json.containsKey("description")) {
21581 description = _json["description"];
21582 }
21583 if (_json.containsKey("destRange")) {
21584 destRange = _json["destRange"];
21585 }
21586 if (_json.containsKey("id")) {
21587 id = _json["id"];
21588 }
21589 if (_json.containsKey("kind")) {
21590 kind = _json["kind"];
21591 }
21592 if (_json.containsKey("name")) {
21593 name = _json["name"];
21594 }
21595 if (_json.containsKey("network")) {
21596 network = _json["network"];
21597 }
21598 if (_json.containsKey("nextHopGateway")) {
21599 nextHopGateway = _json["nextHopGateway"];
21600 }
21601 if (_json.containsKey("nextHopInstance")) {
21602 nextHopInstance = _json["nextHopInstance"];
21603 }
21604 if (_json.containsKey("nextHopIp")) {
21605 nextHopIp = _json["nextHopIp"];
21606 }
21607 if (_json.containsKey("nextHopNetwork")) {
21608 nextHopNetwork = _json["nextHopNetwork"];
21609 }
21610 if (_json.containsKey("nextHopVpnTunnel")) {
21611 nextHopVpnTunnel = _json["nextHopVpnTunnel"];
21612 }
21613 if (_json.containsKey("priority")) {
21614 priority = _json["priority"];
21615 }
21616 if (_json.containsKey("selfLink")) {
21617 selfLink = _json["selfLink"];
21618 }
21619 if (_json.containsKey("tags")) {
21620 tags = _json["tags"];
21621 }
21622 if (_json.containsKey("warnings")) {
21623 warnings = _json["warnings"].map((value) => new RouteWarnings.fromJson(val ue)).toList();
21624 }
21625 }
21626
21627 core.Map toJson() {
21628 var _json = new core.Map();
21629 if (creationTimestamp != null) {
21630 _json["creationTimestamp"] = creationTimestamp;
21631 }
21632 if (description != null) {
21633 _json["description"] = description;
21634 }
21635 if (destRange != null) {
21636 _json["destRange"] = destRange;
21637 }
21638 if (id != null) {
21639 _json["id"] = id;
21640 }
21641 if (kind != null) {
21642 _json["kind"] = kind;
21643 }
21644 if (name != null) {
21645 _json["name"] = name;
21646 }
21647 if (network != null) {
21648 _json["network"] = network;
21649 }
21650 if (nextHopGateway != null) {
21651 _json["nextHopGateway"] = nextHopGateway;
21652 }
21653 if (nextHopInstance != null) {
21654 _json["nextHopInstance"] = nextHopInstance;
21655 }
21656 if (nextHopIp != null) {
21657 _json["nextHopIp"] = nextHopIp;
21658 }
21659 if (nextHopNetwork != null) {
21660 _json["nextHopNetwork"] = nextHopNetwork;
21661 }
21662 if (nextHopVpnTunnel != null) {
21663 _json["nextHopVpnTunnel"] = nextHopVpnTunnel;
21664 }
21665 if (priority != null) {
21666 _json["priority"] = priority;
21667 }
21668 if (selfLink != null) {
21669 _json["selfLink"] = selfLink;
21670 }
21671 if (tags != null) {
21672 _json["tags"] = tags;
21673 }
21674 if (warnings != null) {
21675 _json["warnings"] = warnings.map((value) => (value).toJson()).toList();
21676 }
21677 return _json;
21678 }
21679 }
21680
21681 /** Contains a list of Route resources. */
21682 class RouteList {
21683 /**
21684 * [Output Only] Unique identifier for the resource. Defined by the server.
21685 */
21686 core.String id;
21687 /** [Output Only] A list of Route resources. */
21688 core.List<Route> items;
21689 /** Type of resource. */
21690 core.String kind;
21691 /**
21692 * [Output Only] This token allows you to get the next page of results for
21693 * list requests. If the number of results is larger than maxResults, use the
21694 * nextPageToken as a value for the query parameter pageToken in the next list
21695 * request. Subsequent list requests will have their own nextPageToken to
21696 * continue paging through the results.
21697 */
21698 core.String nextPageToken;
21699 /** [Output Only] Server-defined URL for this resource. */
21700 core.String selfLink;
21701
21702 RouteList();
21703
21704 RouteList.fromJson(core.Map _json) {
21705 if (_json.containsKey("id")) {
21706 id = _json["id"];
21707 }
21708 if (_json.containsKey("items")) {
21709 items = _json["items"].map((value) => new Route.fromJson(value)).toList();
21710 }
21711 if (_json.containsKey("kind")) {
21712 kind = _json["kind"];
21713 }
21714 if (_json.containsKey("nextPageToken")) {
21715 nextPageToken = _json["nextPageToken"];
21716 }
21717 if (_json.containsKey("selfLink")) {
21718 selfLink = _json["selfLink"];
21719 }
21720 }
21721
21722 core.Map toJson() {
21723 var _json = new core.Map();
21724 if (id != null) {
21725 _json["id"] = id;
21726 }
21727 if (items != null) {
21728 _json["items"] = items.map((value) => (value).toJson()).toList();
21729 }
21730 if (kind != null) {
21731 _json["kind"] = kind;
21732 }
21733 if (nextPageToken != null) {
21734 _json["nextPageToken"] = nextPageToken;
21735 }
21736 if (selfLink != null) {
21737 _json["selfLink"] = selfLink;
21738 }
21739 return _json;
21740 }
21741 } 23248 }
21742 23249
21743 /** Sets the scheduling options for an Instance. */ 23250 /** Sets the scheduling options for an Instance. */
21744 class Scheduling { 23251 class Scheduling {
21745 /** 23252 /**
21746 * Specifies whether the instance should be automatically restarted if it is 23253 * Specifies whether the instance should be automatically restarted if it is
21747 * terminated by Compute Engine (not terminated by a user). You can only set 23254 * terminated by Compute Engine (not terminated by a user). You can only set
21748 * the automatic restart option for standard instances. Preemptible instances 23255 * the automatic restart option for standard instances. Preemptible instances
21749 * cannot be automatically restarted. 23256 * cannot be automatically restarted.
21750 */ 23257 */
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
21894 * The name must be 1-63 characters long, and comply with RFC1035. 23401 * The name must be 1-63 characters long, and comply with RFC1035.
21895 * Specifically, the name must be 1-63 characters long and match the regular 23402 * Specifically, the name must be 1-63 characters long and match the regular
21896 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must 23403 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
21897 * be a lowercase letter, and all following characters must be a dash, 23404 * be a lowercase letter, and all following characters must be a dash,
21898 * lowercase letter, or digit, except the last character, which cannot be a 23405 * lowercase letter, or digit, except the last character, which cannot be a
21899 * dash. 23406 * dash.
21900 */ 23407 */
21901 core.String name; 23408 core.String name;
21902 /** [Output Only] Server-defined URL for the resource. */ 23409 /** [Output Only] Server-defined URL for the resource. */
21903 core.String selfLink; 23410 core.String selfLink;
23411 /**
23412 * Encrypts the snapshot using a customer-supplied encryption key.
23413 *
23414 * After you encrypt a snapshot using a customer-supplied key, you must
23415 * provide the same key if you use the image later For example, you must
23416 * provide the encryption key when you create a disk from the encrypted
23417 * snapshot in a future request.
23418 *
23419 * Customer-supplied encryption keys do not protect access to metadata of the
23420 * disk.
23421 *
23422 * If you do not provide an encryption key when creating the snapshot, then
23423 * the snapshot will be encrypted using an automatically generated key and you
23424 * do not need to provide a key to use the snapshot later.
23425 */
23426 CustomerEncryptionKey snapshotEncryptionKey;
21904 /** [Output Only] The source disk used to create this snapshot. */ 23427 /** [Output Only] The source disk used to create this snapshot. */
21905 core.String sourceDisk; 23428 core.String sourceDisk;
21906 /** 23429 /**
23430 * The customer-supplied encryption key of the source disk. Required if the
23431 * source disk is protected by a customer-supplied encryption key.
23432 */
23433 CustomerEncryptionKey sourceDiskEncryptionKey;
23434 /**
21907 * [Output Only] The ID value of the disk used to create this snapshot. This 23435 * [Output Only] The ID value of the disk used to create this snapshot. This
21908 * value may be used to determine whether the snapshot was taken from the 23436 * value may be used to determine whether the snapshot was taken from the
21909 * current or a previous instance of a given disk name. 23437 * current or a previous instance of a given disk name.
21910 */ 23438 */
21911 core.String sourceDiskId; 23439 core.String sourceDiskId;
21912 /** 23440 /**
21913 * [Output Only] The status of the snapshot. This can be CREATING, DELETING, 23441 * [Output Only] The status of the snapshot. This can be CREATING, DELETING,
21914 * FAILED, READY, or UPLOADING. 23442 * FAILED, READY, or UPLOADING.
21915 * Possible string values are: 23443 * Possible string values are:
21916 * - "CREATING" 23444 * - "CREATING"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
21957 } 23485 }
21958 if (_json.containsKey("licenses")) { 23486 if (_json.containsKey("licenses")) {
21959 licenses = _json["licenses"]; 23487 licenses = _json["licenses"];
21960 } 23488 }
21961 if (_json.containsKey("name")) { 23489 if (_json.containsKey("name")) {
21962 name = _json["name"]; 23490 name = _json["name"];
21963 } 23491 }
21964 if (_json.containsKey("selfLink")) { 23492 if (_json.containsKey("selfLink")) {
21965 selfLink = _json["selfLink"]; 23493 selfLink = _json["selfLink"];
21966 } 23494 }
23495 if (_json.containsKey("snapshotEncryptionKey")) {
23496 snapshotEncryptionKey = new CustomerEncryptionKey.fromJson(_json["snapshot EncryptionKey"]);
23497 }
21967 if (_json.containsKey("sourceDisk")) { 23498 if (_json.containsKey("sourceDisk")) {
21968 sourceDisk = _json["sourceDisk"]; 23499 sourceDisk = _json["sourceDisk"];
21969 } 23500 }
23501 if (_json.containsKey("sourceDiskEncryptionKey")) {
23502 sourceDiskEncryptionKey = new CustomerEncryptionKey.fromJson(_json["source DiskEncryptionKey"]);
23503 }
21970 if (_json.containsKey("sourceDiskId")) { 23504 if (_json.containsKey("sourceDiskId")) {
21971 sourceDiskId = _json["sourceDiskId"]; 23505 sourceDiskId = _json["sourceDiskId"];
21972 } 23506 }
21973 if (_json.containsKey("status")) { 23507 if (_json.containsKey("status")) {
21974 status = _json["status"]; 23508 status = _json["status"];
21975 } 23509 }
21976 if (_json.containsKey("storageBytes")) { 23510 if (_json.containsKey("storageBytes")) {
21977 storageBytes = _json["storageBytes"]; 23511 storageBytes = _json["storageBytes"];
21978 } 23512 }
21979 if (_json.containsKey("storageBytesStatus")) { 23513 if (_json.containsKey("storageBytesStatus")) {
(...skipping 20 matching lines...) Expand all
22000 } 23534 }
22001 if (licenses != null) { 23535 if (licenses != null) {
22002 _json["licenses"] = licenses; 23536 _json["licenses"] = licenses;
22003 } 23537 }
22004 if (name != null) { 23538 if (name != null) {
22005 _json["name"] = name; 23539 _json["name"] = name;
22006 } 23540 }
22007 if (selfLink != null) { 23541 if (selfLink != null) {
22008 _json["selfLink"] = selfLink; 23542 _json["selfLink"] = selfLink;
22009 } 23543 }
23544 if (snapshotEncryptionKey != null) {
23545 _json["snapshotEncryptionKey"] = (snapshotEncryptionKey).toJson();
23546 }
22010 if (sourceDisk != null) { 23547 if (sourceDisk != null) {
22011 _json["sourceDisk"] = sourceDisk; 23548 _json["sourceDisk"] = sourceDisk;
22012 } 23549 }
23550 if (sourceDiskEncryptionKey != null) {
23551 _json["sourceDiskEncryptionKey"] = (sourceDiskEncryptionKey).toJson();
23552 }
22013 if (sourceDiskId != null) { 23553 if (sourceDiskId != null) {
22014 _json["sourceDiskId"] = sourceDiskId; 23554 _json["sourceDiskId"] = sourceDiskId;
22015 } 23555 }
22016 if (status != null) { 23556 if (status != null) {
22017 _json["status"] = status; 23557 _json["status"] = status;
22018 } 23558 }
22019 if (storageBytes != null) { 23559 if (storageBytes != null) {
22020 _json["storageBytes"] = storageBytes; 23560 _json["storageBytes"] = storageBytes;
22021 } 23561 }
22022 if (storageBytesStatus != null) { 23562 if (storageBytesStatus != null) {
(...skipping 624 matching lines...) Expand 10 before | Expand all | Expand 10 after
22647 * Specifies a fingerprint for this request, which is essentially a hash of 24187 * Specifies a fingerprint for this request, which is essentially a hash of
22648 * the metadata's contents and used for optimistic locking. The fingerprint is 24188 * the metadata's contents and used for optimistic locking. The fingerprint is
22649 * initially generated by Compute Engine and changes after every request to 24189 * initially generated by Compute Engine and changes after every request to
22650 * modify or update metadata. You must always provide an up-to-date 24190 * modify or update metadata. You must always provide an up-to-date
22651 * fingerprint hash in order to update or change metadata. 24191 * fingerprint hash in order to update or change metadata.
22652 * 24192 *
22653 * To see the latest fingerprint, make get() request to the instance. 24193 * To see the latest fingerprint, make get() request to the instance.
22654 */ 24194 */
22655 core.String fingerprint; 24195 core.String fingerprint;
22656 core.List<core.int> get fingerprintAsBytes { 24196 core.List<core.int> get fingerprintAsBytes {
22657 return crypto.CryptoUtils.base64StringToBytes(fingerprint); 24197 return convert.BASE64.decode(fingerprint);
22658 } 24198 }
22659 24199
22660 void set fingerprintAsBytes(core.List<core.int> _bytes) { 24200 void set fingerprintAsBytes(core.List<core.int> _bytes) {
22661 fingerprint = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true); 24201 fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll( "+", "-");
22662 } 24202 }
22663 /** 24203 /**
22664 * An array of tags. Each tag must be 1-63 characters long, and comply with 24204 * An array of tags. Each tag must be 1-63 characters long, and comply with
22665 * RFC1035. 24205 * RFC1035.
22666 */ 24206 */
22667 core.List<core.String> items; 24207 core.List<core.String> items;
22668 24208
22669 Tags(); 24209 Tags();
22670 24210
22671 Tags.fromJson(core.Map _json) { 24211 Tags.fromJson(core.Map _json) {
(...skipping 1794 matching lines...) Expand 10 before | Expand all | Expand 10 after
24466 */ 26006 */
24467 core.String description; 26007 core.String description;
24468 /** 26008 /**
24469 * Fingerprint of this resource. A hash of the contents stored in this object. 26009 * Fingerprint of this resource. A hash of the contents stored in this object.
24470 * This field is used in optimistic locking. This field will be ignored when 26010 * This field is used in optimistic locking. This field will be ignored when
24471 * inserting a UrlMap. An up-to-date fingerprint must be provided in order to 26011 * inserting a UrlMap. An up-to-date fingerprint must be provided in order to
24472 * update the UrlMap. 26012 * update the UrlMap.
24473 */ 26013 */
24474 core.String fingerprint; 26014 core.String fingerprint;
24475 core.List<core.int> get fingerprintAsBytes { 26015 core.List<core.int> get fingerprintAsBytes {
24476 return crypto.CryptoUtils.base64StringToBytes(fingerprint); 26016 return convert.BASE64.decode(fingerprint);
24477 } 26017 }
24478 26018
24479 void set fingerprintAsBytes(core.List<core.int> _bytes) { 26019 void set fingerprintAsBytes(core.List<core.int> _bytes) {
24480 fingerprint = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true); 26020 fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll( "+", "-");
24481 } 26021 }
24482 /** The list of HostRules to use against the URL. */ 26022 /** The list of HostRules to use against the URL. */
24483 core.List<HostRule> hostRules; 26023 core.List<HostRule> hostRules;
24484 /** 26024 /**
24485 * [Output Only] The unique identifier for the resource. This identifier is 26025 * [Output Only] The unique identifier for the resource. This identifier is
24486 * defined by the server. 26026 * defined by the server.
24487 */ 26027 */
24488 core.String id; 26028 core.String id;
24489 /** 26029 /**
24490 * [Output Only] Type of the resource. Always compute#urlMaps for url maps. 26030 * [Output Only] Type of the resource. Always compute#urlMaps for url maps.
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after
24887 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must 26427 * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
24888 * be a lowercase letter, and all following characters must be a dash, 26428 * be a lowercase letter, and all following characters must be a dash,
24889 * lowercase letter, or digit, except the last character, which cannot be a 26429 * lowercase letter, or digit, except the last character, which cannot be a
24890 * dash. 26430 * dash.
24891 */ 26431 */
24892 core.String name; 26432 core.String name;
24893 /** IP address of the peer VPN gateway. */ 26433 /** IP address of the peer VPN gateway. */
24894 core.String peerIp; 26434 core.String peerIp;
24895 /** [Output Only] URL of the region where the VPN tunnel resides. */ 26435 /** [Output Only] URL of the region where the VPN tunnel resides. */
24896 core.String region; 26436 core.String region;
26437 /**
26438 * Remote traffic selectors to use when establishing the VPN tunnel with peer
26439 * VPN gateway. The value should be a CIDR formatted string, for example:
26440 * 192.168.0.0/16. The ranges should be disjoint.
26441 */
26442 core.List<core.String> remoteTrafficSelector;
26443 /** URL of router resource to be used for dynamic routing. */
26444 core.String router;
24897 /** [Output Only] Server-defined URL for the resource. */ 26445 /** [Output Only] Server-defined URL for the resource. */
24898 core.String selfLink; 26446 core.String selfLink;
24899 /** 26447 /**
24900 * Shared secret used to set the secure session between the Cloud VPN gateway 26448 * Shared secret used to set the secure session between the Cloud VPN gateway
24901 * and the peer VPN gateway. 26449 * and the peer VPN gateway.
24902 */ 26450 */
24903 core.String sharedSecret; 26451 core.String sharedSecret;
24904 /** Hash of the shared secret. */ 26452 /** Hash of the shared secret. */
24905 core.String sharedSecretHash; 26453 core.String sharedSecretHash;
24906 /** 26454 /**
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
24952 } 26500 }
24953 if (_json.containsKey("name")) { 26501 if (_json.containsKey("name")) {
24954 name = _json["name"]; 26502 name = _json["name"];
24955 } 26503 }
24956 if (_json.containsKey("peerIp")) { 26504 if (_json.containsKey("peerIp")) {
24957 peerIp = _json["peerIp"]; 26505 peerIp = _json["peerIp"];
24958 } 26506 }
24959 if (_json.containsKey("region")) { 26507 if (_json.containsKey("region")) {
24960 region = _json["region"]; 26508 region = _json["region"];
24961 } 26509 }
26510 if (_json.containsKey("remoteTrafficSelector")) {
26511 remoteTrafficSelector = _json["remoteTrafficSelector"];
26512 }
26513 if (_json.containsKey("router")) {
26514 router = _json["router"];
26515 }
24962 if (_json.containsKey("selfLink")) { 26516 if (_json.containsKey("selfLink")) {
24963 selfLink = _json["selfLink"]; 26517 selfLink = _json["selfLink"];
24964 } 26518 }
24965 if (_json.containsKey("sharedSecret")) { 26519 if (_json.containsKey("sharedSecret")) {
24966 sharedSecret = _json["sharedSecret"]; 26520 sharedSecret = _json["sharedSecret"];
24967 } 26521 }
24968 if (_json.containsKey("sharedSecretHash")) { 26522 if (_json.containsKey("sharedSecretHash")) {
24969 sharedSecretHash = _json["sharedSecretHash"]; 26523 sharedSecretHash = _json["sharedSecretHash"];
24970 } 26524 }
24971 if (_json.containsKey("status")) { 26525 if (_json.containsKey("status")) {
(...skipping 29 matching lines...) Expand all
25001 } 26555 }
25002 if (name != null) { 26556 if (name != null) {
25003 _json["name"] = name; 26557 _json["name"] = name;
25004 } 26558 }
25005 if (peerIp != null) { 26559 if (peerIp != null) {
25006 _json["peerIp"] = peerIp; 26560 _json["peerIp"] = peerIp;
25007 } 26561 }
25008 if (region != null) { 26562 if (region != null) {
25009 _json["region"] = region; 26563 _json["region"] = region;
25010 } 26564 }
26565 if (remoteTrafficSelector != null) {
26566 _json["remoteTrafficSelector"] = remoteTrafficSelector;
26567 }
26568 if (router != null) {
26569 _json["router"] = router;
26570 }
25011 if (selfLink != null) { 26571 if (selfLink != null) {
25012 _json["selfLink"] = selfLink; 26572 _json["selfLink"] = selfLink;
25013 } 26573 }
25014 if (sharedSecret != null) { 26574 if (sharedSecret != null) {
25015 _json["sharedSecret"] = sharedSecret; 26575 _json["sharedSecret"] = sharedSecret;
25016 } 26576 }
25017 if (sharedSecretHash != null) { 26577 if (sharedSecretHash != null) {
25018 _json["sharedSecretHash"] = sharedSecretHash; 26578 _json["sharedSecretHash"] = sharedSecretHash;
25019 } 26579 }
25020 if (status != null) { 26580 if (status != null) {
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after
25437 } 26997 }
25438 if (nextPageToken != null) { 26998 if (nextPageToken != null) {
25439 _json["nextPageToken"] = nextPageToken; 26999 _json["nextPageToken"] = nextPageToken;
25440 } 27000 }
25441 if (selfLink != null) { 27001 if (selfLink != null) {
25442 _json["selfLink"] = selfLink; 27002 _json["selfLink"] = selfLink;
25443 } 27003 }
25444 return _json; 27004 return _json;
25445 } 27005 }
25446 } 27006 }
OLDNEW
« no previous file with comments | « generated/googleapis/lib/cloudresourcemanager/v1.dart ('k') | generated/googleapis/lib/consumersurveys/v2.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698