| Index: generated/googleapis_beta/lib/appengine/v1beta4.dart
|
| diff --git a/generated/googleapis_beta/lib/appengine/v1beta4.dart b/generated/googleapis_beta/lib/appengine/v1beta4.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3e26c8fd670bb8d8da9f1ba9ffc57e9c2e1b1205
|
| --- /dev/null
|
| +++ b/generated/googleapis_beta/lib/appengine/v1beta4.dart
|
| @@ -0,0 +1,2759 @@
|
| +// This is a generated file (see the discoveryapis_generator project).
|
| +
|
| +library googleapis_beta.appengine.v1beta4;
|
| +
|
| +import 'dart:core' as core;
|
| +import 'dart:async' as async;
|
| +import 'dart:convert' as convert;
|
| +
|
| +import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons;
|
| +import 'package:http/http.dart' as http;
|
| +
|
| +export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' show
|
| + ApiRequestError, DetailedApiRequestError;
|
| +
|
| +const core.String USER_AGENT = 'dart-api-client appengine/v1beta4';
|
| +
|
| +/**
|
| + * The App Engine Admin API enables developers to provision and manage their App
|
| + * Engine applications.
|
| + */
|
| +class AppengineApi {
|
| + /** View and manage your data across Google Cloud Platform services */
|
| + static const CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform";
|
| +
|
| +
|
| + final commons.ApiRequester _requester;
|
| +
|
| + AppsResourceApi get apps => new AppsResourceApi(_requester);
|
| +
|
| + AppengineApi(http.Client client, {core.String rootUrl: "https://appengine.googleapis.com/", core.String servicePath: ""}) :
|
| + _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT);
|
| +}
|
| +
|
| +
|
| +class AppsResourceApi {
|
| + final commons.ApiRequester _requester;
|
| +
|
| + AppsModulesResourceApi get modules => new AppsModulesResourceApi(_requester);
|
| + AppsOperationsResourceApi get operations => new AppsOperationsResourceApi(_requester);
|
| +
|
| + AppsResourceApi(commons.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Gets information about an application.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [appsId] - Part of `name`. Name of the application to get. For example:
|
| + * "apps/myapp".
|
| + *
|
| + * [ensureResourcesExist] - Certain resources associated with an application
|
| + * are created on-demand. Controls whether these resources should be created
|
| + * when performing the `GET` operation. If specified and any resources cloud
|
| + * not be created, the request will fail with an error code.
|
| + *
|
| + * Completes with a [Application].
|
| + *
|
| + * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<Application> get(core.String appsId, {core.bool ensureResourcesExist}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = commons.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (appsId == null) {
|
| + throw new core.ArgumentError("Parameter appsId is required.");
|
| + }
|
| + if (ensureResourcesExist != null) {
|
| + _queryParams["ensureResourcesExist"] = ["${ensureResourcesExist}"];
|
| + }
|
| +
|
| + _url = 'v1beta4/apps/' + commons.Escaper.ecapeVariable('$appsId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Application.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +class AppsModulesResourceApi {
|
| + final commons.ApiRequester _requester;
|
| +
|
| + AppsModulesVersionsResourceApi get versions => new AppsModulesVersionsResourceApi(_requester);
|
| +
|
| + AppsModulesResourceApi(commons.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Deletes a module and all enclosed versions.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [appsId] - Part of `name`. Name of the resource requested. For example:
|
| + * "apps/myapp/modules/default".
|
| + *
|
| + * [modulesId] - Part of `name`. See documentation of `appsId`.
|
| + *
|
| + * Completes with a [Operation].
|
| + *
|
| + * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<Operation> delete(core.String appsId, core.String modulesId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = commons.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (appsId == null) {
|
| + throw new core.ArgumentError("Parameter appsId is required.");
|
| + }
|
| + if (modulesId == null) {
|
| + throw new core.ArgumentError("Parameter modulesId is required.");
|
| + }
|
| +
|
| + _url = 'v1beta4/apps/' + commons.Escaper.ecapeVariable('$appsId') + '/modules/' + commons.Escaper.ecapeVariable('$modulesId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "DELETE",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Operation.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Gets the current configuration of the module.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [appsId] - Part of `name`. Name of the resource requested. For example:
|
| + * "/apps/myapp/modules/default".
|
| + *
|
| + * [modulesId] - Part of `name`. See documentation of `appsId`.
|
| + *
|
| + * Completes with a [Module].
|
| + *
|
| + * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<Module> get(core.String appsId, core.String modulesId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = commons.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (appsId == null) {
|
| + throw new core.ArgumentError("Parameter appsId is required.");
|
| + }
|
| + if (modulesId == null) {
|
| + throw new core.ArgumentError("Parameter modulesId is required.");
|
| + }
|
| +
|
| + _url = 'v1beta4/apps/' + commons.Escaper.ecapeVariable('$appsId') + '/modules/' + commons.Escaper.ecapeVariable('$modulesId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Module.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Lists all the modules in the application.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [appsId] - Part of `name`. Name of the resource requested. For example:
|
| + * "/apps/myapp".
|
| + *
|
| + * [pageSize] - Maximum results to return per page.
|
| + *
|
| + * [pageToken] - Continuation token for fetching the next page of results.
|
| + *
|
| + * Completes with a [ListModulesResponse].
|
| + *
|
| + * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<ListModulesResponse> list(core.String appsId, {core.int pageSize, core.String pageToken}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = commons.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (appsId == null) {
|
| + throw new core.ArgumentError("Parameter appsId is required.");
|
| + }
|
| + if (pageSize != null) {
|
| + _queryParams["pageSize"] = ["${pageSize}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| +
|
| + _url = 'v1beta4/apps/' + commons.Escaper.ecapeVariable('$appsId') + '/modules';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new ListModulesResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Updates the configuration of the specified module.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [appsId] - Part of `name`. Name of the resource to update. For example:
|
| + * "apps/myapp/modules/default".
|
| + *
|
| + * [modulesId] - Part of `name`. See documentation of `appsId`.
|
| + *
|
| + * [mask] - Standard field mask for the set of fields to be updated.
|
| + *
|
| + * [migrateTraffic] - Whether to use Traffic Migration to shift traffic
|
| + * gradually. Traffic can only be migrated from a single version to another
|
| + * single version.
|
| + *
|
| + * Completes with a [Operation].
|
| + *
|
| + * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<Operation> patch(Module request, core.String appsId, core.String modulesId, {core.String mask, core.bool migrateTraffic}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = commons.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (appsId == null) {
|
| + throw new core.ArgumentError("Parameter appsId is required.");
|
| + }
|
| + if (modulesId == null) {
|
| + throw new core.ArgumentError("Parameter modulesId is required.");
|
| + }
|
| + if (mask != null) {
|
| + _queryParams["mask"] = [mask];
|
| + }
|
| + if (migrateTraffic != null) {
|
| + _queryParams["migrateTraffic"] = ["${migrateTraffic}"];
|
| + }
|
| +
|
| + _url = 'v1beta4/apps/' + commons.Escaper.ecapeVariable('$appsId') + '/modules/' + commons.Escaper.ecapeVariable('$modulesId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "PATCH",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Operation.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +class AppsModulesVersionsResourceApi {
|
| + final commons.ApiRequester _requester;
|
| +
|
| + AppsModulesVersionsResourceApi(commons.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Deploys new code and resource files to a version.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [appsId] - Part of `name`. Name of the resource to update. For example:
|
| + * "apps/myapp/modules/default".
|
| + *
|
| + * [modulesId] - Part of `name`. See documentation of `appsId`.
|
| + *
|
| + * Completes with a [Operation].
|
| + *
|
| + * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<Operation> create(Version request, core.String appsId, core.String modulesId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = commons.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (appsId == null) {
|
| + throw new core.ArgumentError("Parameter appsId is required.");
|
| + }
|
| + if (modulesId == null) {
|
| + throw new core.ArgumentError("Parameter modulesId is required.");
|
| + }
|
| +
|
| + _url = 'v1beta4/apps/' + commons.Escaper.ecapeVariable('$appsId') + '/modules/' + commons.Escaper.ecapeVariable('$modulesId') + '/versions';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Operation.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Deletes an existing version.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [appsId] - Part of `name`. Name of the resource requested. For example:
|
| + * "apps/myapp/modules/default/versions/v1".
|
| + *
|
| + * [modulesId] - Part of `name`. See documentation of `appsId`.
|
| + *
|
| + * [versionsId] - Part of `name`. See documentation of `appsId`.
|
| + *
|
| + * Completes with a [Operation].
|
| + *
|
| + * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<Operation> delete(core.String appsId, core.String modulesId, core.String versionsId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = commons.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (appsId == null) {
|
| + throw new core.ArgumentError("Parameter appsId is required.");
|
| + }
|
| + if (modulesId == null) {
|
| + throw new core.ArgumentError("Parameter modulesId is required.");
|
| + }
|
| + if (versionsId == null) {
|
| + throw new core.ArgumentError("Parameter versionsId is required.");
|
| + }
|
| +
|
| + _url = 'v1beta4/apps/' + commons.Escaper.ecapeVariable('$appsId') + '/modules/' + commons.Escaper.ecapeVariable('$modulesId') + '/versions/' + commons.Escaper.ecapeVariable('$versionsId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "DELETE",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Operation.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Gets application deployment information.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [appsId] - Part of `name`. Name of the resource requested. For example:
|
| + * "apps/myapp/modules/default/versions/v1".
|
| + *
|
| + * [modulesId] - Part of `name`. See documentation of `appsId`.
|
| + *
|
| + * [versionsId] - Part of `name`. See documentation of `appsId`.
|
| + *
|
| + * [view] - Controls the set of fields returned in the `Get` response.
|
| + * Possible string values are:
|
| + * - "BASIC" : A BASIC.
|
| + * - "FULL" : A FULL.
|
| + *
|
| + * Completes with a [Version].
|
| + *
|
| + * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<Version> get(core.String appsId, core.String modulesId, core.String versionsId, {core.String view}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = commons.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (appsId == null) {
|
| + throw new core.ArgumentError("Parameter appsId is required.");
|
| + }
|
| + if (modulesId == null) {
|
| + throw new core.ArgumentError("Parameter modulesId is required.");
|
| + }
|
| + if (versionsId == null) {
|
| + throw new core.ArgumentError("Parameter versionsId is required.");
|
| + }
|
| + if (view != null) {
|
| + _queryParams["view"] = [view];
|
| + }
|
| +
|
| + _url = 'v1beta4/apps/' + commons.Escaper.ecapeVariable('$appsId') + '/modules/' + commons.Escaper.ecapeVariable('$modulesId') + '/versions/' + commons.Escaper.ecapeVariable('$versionsId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Version.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Lists the versions of a module.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [appsId] - Part of `name`. Name of the resource requested. For example:
|
| + * "apps/myapp/modules/default".
|
| + *
|
| + * [modulesId] - Part of `name`. See documentation of `appsId`.
|
| + *
|
| + * [view] - Controls the set of fields returned in the `List` response.
|
| + * Possible string values are:
|
| + * - "BASIC" : A BASIC.
|
| + * - "FULL" : A FULL.
|
| + *
|
| + * [pageSize] - Maximum results to return per page.
|
| + *
|
| + * [pageToken] - Continuation token for fetching the next page of results.
|
| + *
|
| + * Completes with a [ListVersionsResponse].
|
| + *
|
| + * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<ListVersionsResponse> list(core.String appsId, core.String modulesId, {core.String view, core.int pageSize, core.String pageToken}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = commons.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (appsId == null) {
|
| + throw new core.ArgumentError("Parameter appsId is required.");
|
| + }
|
| + if (modulesId == null) {
|
| + throw new core.ArgumentError("Parameter modulesId is required.");
|
| + }
|
| + if (view != null) {
|
| + _queryParams["view"] = [view];
|
| + }
|
| + if (pageSize != null) {
|
| + _queryParams["pageSize"] = ["${pageSize}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| +
|
| + _url = 'v1beta4/apps/' + commons.Escaper.ecapeVariable('$appsId') + '/modules/' + commons.Escaper.ecapeVariable('$modulesId') + '/versions';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new ListVersionsResponse.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +class AppsOperationsResourceApi {
|
| + final commons.ApiRequester _requester;
|
| +
|
| + AppsOperationsResourceApi(commons.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Gets the latest state of a long-running operation. Clients can use this
|
| + * method to poll the operation result at intervals as recommended by the API
|
| + * service.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [appsId] - Part of `name`. The name of the operation resource.
|
| + *
|
| + * [operationsId] - Part of `name`. See documentation of `appsId`.
|
| + *
|
| + * Completes with a [Operation].
|
| + *
|
| + * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<Operation> get(core.String appsId, core.String operationsId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = commons.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (appsId == null) {
|
| + throw new core.ArgumentError("Parameter appsId is required.");
|
| + }
|
| + if (operationsId == null) {
|
| + throw new core.ArgumentError("Parameter operationsId is required.");
|
| + }
|
| +
|
| + _url = 'v1beta4/apps/' + commons.Escaper.ecapeVariable('$appsId') + '/operations/' + commons.Escaper.ecapeVariable('$operationsId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Operation.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Lists operations that match the specified filter in the request. If the
|
| + * server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the
|
| + * `name` binding below allows API services to override the binding to use
|
| + * different resource name schemes, such as `users / * /operations`.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [appsId] - Part of `name`. The name of the operation collection.
|
| + *
|
| + * [filter] - The standard List filter.
|
| + *
|
| + * [pageSize] - The standard List page size.
|
| + *
|
| + * [pageToken] - The standard List page token.
|
| + *
|
| + * Completes with a [ListOperationsResponse].
|
| + *
|
| + * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<ListOperationsResponse> list(core.String appsId, {core.String filter, core.int pageSize, core.String pageToken}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = commons.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (appsId == null) {
|
| + throw new core.ArgumentError("Parameter appsId is required.");
|
| + }
|
| + if (filter != null) {
|
| + _queryParams["filter"] = [filter];
|
| + }
|
| + if (pageSize != null) {
|
| + _queryParams["pageSize"] = ["${pageSize}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| +
|
| + _url = 'v1beta4/apps/' + commons.Escaper.ecapeVariable('$appsId') + '/operations';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new ListOperationsResponse.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +
|
| +/** API Serving configuration for Cloud Endpoints. */
|
| +class ApiConfigHandler {
|
| + /**
|
| + * For users not logged in, how to handle access to resources with required
|
| + * login. Defaults to "redirect".
|
| + * Possible string values are:
|
| + * - "AUTH_FAIL_ACTION_UNSPECIFIED" : A AUTH_FAIL_ACTION_UNSPECIFIED.
|
| + * - "AUTH_FAIL_ACTION_REDIRECT" : A AUTH_FAIL_ACTION_REDIRECT.
|
| + * - "AUTH_FAIL_ACTION_UNAUTHORIZED" : A AUTH_FAIL_ACTION_UNAUTHORIZED.
|
| + */
|
| + core.String authFailAction;
|
| + /**
|
| + * What level of login is required to access this resource. Default is
|
| + * "optional".
|
| + * Possible string values are:
|
| + * - "LOGIN_UNSPECIFIED" : A LOGIN_UNSPECIFIED.
|
| + * - "LOGIN_OPTIONAL" : A LOGIN_OPTIONAL.
|
| + * - "LOGIN_ADMIN" : A LOGIN_ADMIN.
|
| + * - "LOGIN_REQUIRED" : A LOGIN_REQUIRED.
|
| + */
|
| + core.String login;
|
| + /** Specifies the path to the script from the application root directory. */
|
| + core.String script;
|
| + /**
|
| + * Configures whether security (HTTPS) should be enforced for this URL.
|
| + * Possible string values are:
|
| + * - "SECURE_UNSPECIFIED" : A SECURE_UNSPECIFIED.
|
| + * - "SECURE_DEFAULT" : A SECURE_DEFAULT.
|
| + * - "SECURE_NEVER" : A SECURE_NEVER.
|
| + * - "SECURE_OPTIONAL" : A SECURE_OPTIONAL.
|
| + * - "SECURE_ALWAYS" : A SECURE_ALWAYS.
|
| + */
|
| + core.String securityLevel;
|
| + /** URL to serve the endpoint at. */
|
| + core.String url;
|
| +
|
| + ApiConfigHandler();
|
| +
|
| + ApiConfigHandler.fromJson(core.Map _json) {
|
| + if (_json.containsKey("authFailAction")) {
|
| + authFailAction = _json["authFailAction"];
|
| + }
|
| + if (_json.containsKey("login")) {
|
| + login = _json["login"];
|
| + }
|
| + if (_json.containsKey("script")) {
|
| + script = _json["script"];
|
| + }
|
| + if (_json.containsKey("securityLevel")) {
|
| + securityLevel = _json["securityLevel"];
|
| + }
|
| + if (_json.containsKey("url")) {
|
| + url = _json["url"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (authFailAction != null) {
|
| + _json["authFailAction"] = authFailAction;
|
| + }
|
| + if (login != null) {
|
| + _json["login"] = login;
|
| + }
|
| + if (script != null) {
|
| + _json["script"] = script;
|
| + }
|
| + if (securityLevel != null) {
|
| + _json["securityLevel"] = securityLevel;
|
| + }
|
| + if (url != null) {
|
| + _json["url"] = url;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** Use Google Cloud Endpoints to handle requests. */
|
| +class ApiEndpointHandler {
|
| + /** Specifies the path to the script from the application root directory. */
|
| + core.String scriptPath;
|
| +
|
| + ApiEndpointHandler();
|
| +
|
| + ApiEndpointHandler.fromJson(core.Map _json) {
|
| + if (_json.containsKey("scriptPath")) {
|
| + scriptPath = _json["scriptPath"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (scriptPath != null) {
|
| + _json["scriptPath"] = scriptPath;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * An Application contains the top-level configuration of an App Engine
|
| + * application.
|
| + */
|
| +class Application {
|
| + /**
|
| + * A Google Cloud Storage bucket which can be used for storing files
|
| + * associated with an application. This bucket is associated with the
|
| + * application and can be used by the gcloud deployment commands. @OutputOnly
|
| + */
|
| + core.String codeBucket;
|
| + /**
|
| + * HTTP path dispatch rules for requests to the app that do not explicitly
|
| + * target a module or version. The rules are order-dependent.
|
| + */
|
| + core.List<UrlDispatchRule> dispatchRules;
|
| + /**
|
| + * The relative name/path of the application. Example: "myapp". @OutputOnly
|
| + */
|
| + core.String id;
|
| + /**
|
| + * The location from which the application will be run. Choices are "us" for
|
| + * United States and "eu" for European Union. Application instances will run
|
| + * out of data centers in the chosen location and all of the application's End
|
| + * User Content will be stored at rest in the chosen location. The default is
|
| + * "us".
|
| + */
|
| + core.String location;
|
| + /**
|
| + * The full path to the application in the API. Example: "apps/myapp".
|
| + * @OutputOnly
|
| + */
|
| + core.String name;
|
| +
|
| + Application();
|
| +
|
| + Application.fromJson(core.Map _json) {
|
| + if (_json.containsKey("codeBucket")) {
|
| + codeBucket = _json["codeBucket"];
|
| + }
|
| + if (_json.containsKey("dispatchRules")) {
|
| + dispatchRules = _json["dispatchRules"].map((value) => new UrlDispatchRule.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("location")) {
|
| + location = _json["location"];
|
| + }
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (codeBucket != null) {
|
| + _json["codeBucket"] = codeBucket;
|
| + }
|
| + if (dispatchRules != null) {
|
| + _json["dispatchRules"] = dispatchRules.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (location != null) {
|
| + _json["location"] = location;
|
| + }
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * Automatic scaling is the scaling policy that App Engine has used since its
|
| + * inception. It is based on request rate, response latencies, and other
|
| + * application metrics.
|
| + */
|
| +class AutomaticScaling {
|
| + /**
|
| + * The amount of time that the
|
| + * [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/) should wait
|
| + * between changes to the number of virtual machines. Applies only to the VM
|
| + * runtime.
|
| + */
|
| + core.String coolDownPeriod;
|
| + /** Target scaling by CPU usage. */
|
| + CpuUtilization cpuUtilization;
|
| + /**
|
| + * The number of concurrent requests an automatic scaling instance can accept
|
| + * before the scheduler spawns a new instance. Default value is chosen based
|
| + * on the runtime.
|
| + */
|
| + core.int maxConcurrentRequests;
|
| + /**
|
| + * The maximum number of idle instances that App Engine should maintain for
|
| + * this version.
|
| + */
|
| + core.int maxIdleInstances;
|
| + /**
|
| + * The maximum amount of time that App Engine should allow a request to wait
|
| + * in the pending queue before starting a new instance to handle it.
|
| + */
|
| + core.String maxPendingLatency;
|
| + /**
|
| + * Max number of instances that App Engine should start to handle requests.
|
| + */
|
| + core.int maxTotalInstances;
|
| + /**
|
| + * The minimum number of idle instances that App Engine should maintain for
|
| + * this version. Only applies to the default version of a module, since other
|
| + * versions are not expected to receive significant traffic.
|
| + */
|
| + core.int minIdleInstances;
|
| + /**
|
| + * The minimum amount of time that App Engine should allow a request to wait
|
| + * in the pending queue before starting a new instance to handle it.
|
| + */
|
| + core.String minPendingLatency;
|
| + /** Minimum number of instances that App Engine should maintain. */
|
| + core.int minTotalInstances;
|
| +
|
| + AutomaticScaling();
|
| +
|
| + AutomaticScaling.fromJson(core.Map _json) {
|
| + if (_json.containsKey("coolDownPeriod")) {
|
| + coolDownPeriod = _json["coolDownPeriod"];
|
| + }
|
| + if (_json.containsKey("cpuUtilization")) {
|
| + cpuUtilization = new CpuUtilization.fromJson(_json["cpuUtilization"]);
|
| + }
|
| + if (_json.containsKey("maxConcurrentRequests")) {
|
| + maxConcurrentRequests = _json["maxConcurrentRequests"];
|
| + }
|
| + if (_json.containsKey("maxIdleInstances")) {
|
| + maxIdleInstances = _json["maxIdleInstances"];
|
| + }
|
| + if (_json.containsKey("maxPendingLatency")) {
|
| + maxPendingLatency = _json["maxPendingLatency"];
|
| + }
|
| + if (_json.containsKey("maxTotalInstances")) {
|
| + maxTotalInstances = _json["maxTotalInstances"];
|
| + }
|
| + if (_json.containsKey("minIdleInstances")) {
|
| + minIdleInstances = _json["minIdleInstances"];
|
| + }
|
| + if (_json.containsKey("minPendingLatency")) {
|
| + minPendingLatency = _json["minPendingLatency"];
|
| + }
|
| + if (_json.containsKey("minTotalInstances")) {
|
| + minTotalInstances = _json["minTotalInstances"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (coolDownPeriod != null) {
|
| + _json["coolDownPeriod"] = coolDownPeriod;
|
| + }
|
| + if (cpuUtilization != null) {
|
| + _json["cpuUtilization"] = (cpuUtilization).toJson();
|
| + }
|
| + if (maxConcurrentRequests != null) {
|
| + _json["maxConcurrentRequests"] = maxConcurrentRequests;
|
| + }
|
| + if (maxIdleInstances != null) {
|
| + _json["maxIdleInstances"] = maxIdleInstances;
|
| + }
|
| + if (maxPendingLatency != null) {
|
| + _json["maxPendingLatency"] = maxPendingLatency;
|
| + }
|
| + if (maxTotalInstances != null) {
|
| + _json["maxTotalInstances"] = maxTotalInstances;
|
| + }
|
| + if (minIdleInstances != null) {
|
| + _json["minIdleInstances"] = minIdleInstances;
|
| + }
|
| + if (minPendingLatency != null) {
|
| + _json["minPendingLatency"] = minPendingLatency;
|
| + }
|
| + if (minTotalInstances != null) {
|
| + _json["minTotalInstances"] = minTotalInstances;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * A module with basic scaling will create an instance when the application
|
| + * receives a request. The instance will be turned down when the app becomes
|
| + * idle. Basic scaling is ideal for work that is intermittent or driven by user
|
| + * activity.
|
| + */
|
| +class BasicScaling {
|
| + /**
|
| + * The instance will be shut down this amount of time after receiving its last
|
| + * request.
|
| + */
|
| + core.String idleTimeout;
|
| + /**
|
| + * The maximum number of instances for App Engine to create for this version.
|
| + */
|
| + core.int maxInstances;
|
| +
|
| + BasicScaling();
|
| +
|
| + BasicScaling.fromJson(core.Map _json) {
|
| + if (_json.containsKey("idleTimeout")) {
|
| + idleTimeout = _json["idleTimeout"];
|
| + }
|
| + if (_json.containsKey("maxInstances")) {
|
| + maxInstances = _json["maxInstances"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (idleTimeout != null) {
|
| + _json["idleTimeout"] = idleTimeout;
|
| + }
|
| + if (maxInstances != null) {
|
| + _json["maxInstances"] = maxInstances;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * A Docker (container) image which should be used to start the application.
|
| + */
|
| +class ContainerInfo {
|
| + /**
|
| + * Reference to a hosted container image. Must be a URI to a resource in a
|
| + * Docker repository. Must be fully qualified, including tag or digest. e.g.
|
| + * gcr.io/my-project/image:tag or gcr.io/my-project/image@digest
|
| + */
|
| + core.String image;
|
| + /** The SHA256 hash of the image in hex. */
|
| + core.String sha256;
|
| +
|
| + ContainerInfo();
|
| +
|
| + ContainerInfo.fromJson(core.Map _json) {
|
| + if (_json.containsKey("image")) {
|
| + image = _json["image"];
|
| + }
|
| + if (_json.containsKey("sha256")) {
|
| + sha256 = _json["sha256"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (image != null) {
|
| + _json["image"] = image;
|
| + }
|
| + if (sha256 != null) {
|
| + _json["sha256"] = sha256;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** Target scaling by CPU usage. */
|
| +class CpuUtilization {
|
| + /** The period of time over which CPU utilization is calculated. */
|
| + core.String aggregationWindowLength;
|
| + /** Target (0-1) CPU utilization ratio to maintain when scaling. */
|
| + core.double targetUtilization;
|
| +
|
| + CpuUtilization();
|
| +
|
| + CpuUtilization.fromJson(core.Map _json) {
|
| + if (_json.containsKey("aggregationWindowLength")) {
|
| + aggregationWindowLength = _json["aggregationWindowLength"];
|
| + }
|
| + if (_json.containsKey("targetUtilization")) {
|
| + targetUtilization = _json["targetUtilization"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (aggregationWindowLength != null) {
|
| + _json["aggregationWindowLength"] = aggregationWindowLength;
|
| + }
|
| + if (targetUtilization != null) {
|
| + _json["targetUtilization"] = targetUtilization;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** Code and application artifacts used to deploy a version to App Engine. */
|
| +class Deployment {
|
| + /**
|
| + * If supplied, a docker (container) image which should be used to start the
|
| + * application. Only applicable to the 'vm' runtime.
|
| + */
|
| + ContainerInfo container;
|
| + /**
|
| + * A manifest of files stored in Google Cloud Storage which should be included
|
| + * as part of this application. All files must be readable using the
|
| + * credentials supplied with this call.
|
| + */
|
| + core.Map<core.String, FileInfo> files;
|
| + /**
|
| + * The origin of the source code for this deployment. There can be more than
|
| + * one source reference per Version if source code is distributed among
|
| + * multiple repositories.
|
| + */
|
| + core.List<SourceReference> sourceReferences;
|
| +
|
| + Deployment();
|
| +
|
| + Deployment.fromJson(core.Map _json) {
|
| + if (_json.containsKey("container")) {
|
| + container = new ContainerInfo.fromJson(_json["container"]);
|
| + }
|
| + if (_json.containsKey("files")) {
|
| + files = commons.mapMap(_json["files"], (item) => new FileInfo.fromJson(item));
|
| + }
|
| + if (_json.containsKey("sourceReferences")) {
|
| + sourceReferences = _json["sourceReferences"].map((value) => new SourceReference.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (container != null) {
|
| + _json["container"] = (container).toJson();
|
| + }
|
| + if (files != null) {
|
| + _json["files"] = commons.mapMap(files, (item) => (item).toJson());
|
| + }
|
| + if (sourceReferences != null) {
|
| + _json["sourceReferences"] = sourceReferences.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** A custom static error page to be served when an error occurs. */
|
| +class ErrorHandler {
|
| + /**
|
| + * The error condition this handler applies to.
|
| + * Possible string values are:
|
| + * - "ERROR_CODE_UNSPECIFIED" : A ERROR_CODE_UNSPECIFIED.
|
| + * - "ERROR_CODE_DEFAULT" : A ERROR_CODE_DEFAULT.
|
| + * - "ERROR_CODE_OVER_QUOTA" : A ERROR_CODE_OVER_QUOTA.
|
| + * - "ERROR_CODE_DOS_API_DENIAL" : A ERROR_CODE_DOS_API_DENIAL.
|
| + * - "ERROR_CODE_TIMEOUT" : A ERROR_CODE_TIMEOUT.
|
| + */
|
| + core.String errorCode;
|
| + /** MIME type of file. If unspecified, "text/html" is assumed. */
|
| + core.String mimeType;
|
| + /** Static file content to be served for this error. */
|
| + core.String staticFile;
|
| +
|
| + ErrorHandler();
|
| +
|
| + ErrorHandler.fromJson(core.Map _json) {
|
| + if (_json.containsKey("errorCode")) {
|
| + errorCode = _json["errorCode"];
|
| + }
|
| + if (_json.containsKey("mimeType")) {
|
| + mimeType = _json["mimeType"];
|
| + }
|
| + if (_json.containsKey("staticFile")) {
|
| + staticFile = _json["staticFile"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (errorCode != null) {
|
| + _json["errorCode"] = errorCode;
|
| + }
|
| + if (mimeType != null) {
|
| + _json["mimeType"] = mimeType;
|
| + }
|
| + if (staticFile != null) {
|
| + _json["staticFile"] = staticFile;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** Field represents a single field of a message type. */
|
| +class Field {
|
| + /**
|
| + * The field cardinality, i.e. optional/required/repeated.
|
| + * Possible string values are:
|
| + * - "CARDINALITY_UNKNOWN" : A CARDINALITY_UNKNOWN.
|
| + * - "CARDINALITY_OPTIONAL" : A CARDINALITY_OPTIONAL.
|
| + * - "CARDINALITY_REQUIRED" : A CARDINALITY_REQUIRED.
|
| + * - "CARDINALITY_REPEATED" : A CARDINALITY_REPEATED.
|
| + */
|
| + core.String cardinality;
|
| + /** The JSON name for this field. */
|
| + core.String jsonName;
|
| + /**
|
| + * The field kind.
|
| + * Possible string values are:
|
| + * - "TYPE_UNKNOWN" : A TYPE_UNKNOWN.
|
| + * - "TYPE_DOUBLE" : A TYPE_DOUBLE.
|
| + * - "TYPE_FLOAT" : A TYPE_FLOAT.
|
| + * - "TYPE_INT64" : A TYPE_INT64.
|
| + * - "TYPE_UINT64" : A TYPE_UINT64.
|
| + * - "TYPE_INT32" : A TYPE_INT32.
|
| + * - "TYPE_FIXED64" : A TYPE_FIXED64.
|
| + * - "TYPE_FIXED32" : A TYPE_FIXED32.
|
| + * - "TYPE_BOOL" : A TYPE_BOOL.
|
| + * - "TYPE_STRING" : A TYPE_STRING.
|
| + * - "TYPE_GROUP" : A TYPE_GROUP.
|
| + * - "TYPE_MESSAGE" : A TYPE_MESSAGE.
|
| + * - "TYPE_BYTES" : A TYPE_BYTES.
|
| + * - "TYPE_UINT32" : A TYPE_UINT32.
|
| + * - "TYPE_ENUM" : A TYPE_ENUM.
|
| + * - "TYPE_SFIXED32" : A TYPE_SFIXED32.
|
| + * - "TYPE_SFIXED64" : A TYPE_SFIXED64.
|
| + * - "TYPE_SINT32" : A TYPE_SINT32.
|
| + * - "TYPE_SINT64" : A TYPE_SINT64.
|
| + */
|
| + core.String kind;
|
| + /** The field name. */
|
| + core.String name;
|
| + /** The proto field number. */
|
| + core.int number;
|
| + /** Index in Type.oneofs. Starts at 1. Zero means no oneof mapping. */
|
| + core.int oneofIndex;
|
| + /** The proto options. */
|
| + core.List<Option> options;
|
| + /** Whether to use alternative packed wire representation. */
|
| + core.bool packed;
|
| + /**
|
| + * The type URL (without the scheme) when the type is MESSAGE or ENUM, such as
|
| + * `type.googleapis.com/google.protobuf.Empty`.
|
| + */
|
| + core.String typeUrl;
|
| +
|
| + Field();
|
| +
|
| + Field.fromJson(core.Map _json) {
|
| + if (_json.containsKey("cardinality")) {
|
| + cardinality = _json["cardinality"];
|
| + }
|
| + if (_json.containsKey("jsonName")) {
|
| + jsonName = _json["jsonName"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + if (_json.containsKey("number")) {
|
| + number = _json["number"];
|
| + }
|
| + if (_json.containsKey("oneofIndex")) {
|
| + oneofIndex = _json["oneofIndex"];
|
| + }
|
| + if (_json.containsKey("options")) {
|
| + options = _json["options"].map((value) => new Option.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("packed")) {
|
| + packed = _json["packed"];
|
| + }
|
| + if (_json.containsKey("typeUrl")) {
|
| + typeUrl = _json["typeUrl"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (cardinality != null) {
|
| + _json["cardinality"] = cardinality;
|
| + }
|
| + if (jsonName != null) {
|
| + _json["jsonName"] = jsonName;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + if (number != null) {
|
| + _json["number"] = number;
|
| + }
|
| + if (oneofIndex != null) {
|
| + _json["oneofIndex"] = oneofIndex;
|
| + }
|
| + if (options != null) {
|
| + _json["options"] = options.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (packed != null) {
|
| + _json["packed"] = packed;
|
| + }
|
| + if (typeUrl != null) {
|
| + _json["typeUrl"] = typeUrl;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** A single source file which is part of the application to be deployed. */
|
| +class FileInfo {
|
| + /**
|
| + * The MIME type of the file; if unspecified, the value from Google Cloud
|
| + * Storage will be used.
|
| + */
|
| + core.String mimeType;
|
| + /** The SHA1 (160 bits) hash of the file in hex. */
|
| + core.String sha1Sum;
|
| + /**
|
| + * The URL source to use to fetch this file. Must be a URL to a resource in
|
| + * Google Cloud Storage.
|
| + */
|
| + core.String sourceUrl;
|
| +
|
| + FileInfo();
|
| +
|
| + FileInfo.fromJson(core.Map _json) {
|
| + if (_json.containsKey("mimeType")) {
|
| + mimeType = _json["mimeType"];
|
| + }
|
| + if (_json.containsKey("sha1Sum")) {
|
| + sha1Sum = _json["sha1Sum"];
|
| + }
|
| + if (_json.containsKey("sourceUrl")) {
|
| + sourceUrl = _json["sourceUrl"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (mimeType != null) {
|
| + _json["mimeType"] = mimeType;
|
| + }
|
| + if (sha1Sum != null) {
|
| + _json["sha1Sum"] = sha1Sum;
|
| + }
|
| + if (sourceUrl != null) {
|
| + _json["sourceUrl"] = sourceUrl;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * Configure health checking for the VM instances. Unhealthy VM instances will
|
| + * be killed and replaced with new instances.
|
| + */
|
| +class HealthCheck {
|
| + /** The interval between health checks. */
|
| + core.String checkInterval;
|
| + /** Whether to explicitly disable health checks for this instance. */
|
| + core.bool disableHealthCheck;
|
| + /**
|
| + * The number of consecutive successful health checks before receiving
|
| + * traffic.
|
| + */
|
| + core.int healthyThreshold;
|
| + /**
|
| + * The host header to send when performing an HTTP health check (e.g.
|
| + * myapp.appspot.com)
|
| + */
|
| + core.String host;
|
| + /**
|
| + * The number of consecutive failed health checks before an instance is
|
| + * restarted.
|
| + */
|
| + core.int restartThreshold;
|
| + /** The amount of time before the health check is considered failed. */
|
| + core.String timeout;
|
| + /**
|
| + * The number of consecutive failed health checks before removing traffic.
|
| + */
|
| + core.int unhealthyThreshold;
|
| +
|
| + HealthCheck();
|
| +
|
| + HealthCheck.fromJson(core.Map _json) {
|
| + if (_json.containsKey("checkInterval")) {
|
| + checkInterval = _json["checkInterval"];
|
| + }
|
| + if (_json.containsKey("disableHealthCheck")) {
|
| + disableHealthCheck = _json["disableHealthCheck"];
|
| + }
|
| + if (_json.containsKey("healthyThreshold")) {
|
| + healthyThreshold = _json["healthyThreshold"];
|
| + }
|
| + if (_json.containsKey("host")) {
|
| + host = _json["host"];
|
| + }
|
| + if (_json.containsKey("restartThreshold")) {
|
| + restartThreshold = _json["restartThreshold"];
|
| + }
|
| + if (_json.containsKey("timeout")) {
|
| + timeout = _json["timeout"];
|
| + }
|
| + if (_json.containsKey("unhealthyThreshold")) {
|
| + unhealthyThreshold = _json["unhealthyThreshold"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (checkInterval != null) {
|
| + _json["checkInterval"] = checkInterval;
|
| + }
|
| + if (disableHealthCheck != null) {
|
| + _json["disableHealthCheck"] = disableHealthCheck;
|
| + }
|
| + if (healthyThreshold != null) {
|
| + _json["healthyThreshold"] = healthyThreshold;
|
| + }
|
| + if (host != null) {
|
| + _json["host"] = host;
|
| + }
|
| + if (restartThreshold != null) {
|
| + _json["restartThreshold"] = restartThreshold;
|
| + }
|
| + if (timeout != null) {
|
| + _json["timeout"] = timeout;
|
| + }
|
| + if (unhealthyThreshold != null) {
|
| + _json["unhealthyThreshold"] = unhealthyThreshold;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** A Python runtime third-party library required by the application. */
|
| +class Library {
|
| + /** The name of the library, e.g. "PIL" or "django". */
|
| + core.String name;
|
| + /** The version of the library to select, or "latest". */
|
| + core.String version;
|
| +
|
| + Library();
|
| +
|
| + Library.fromJson(core.Map _json) {
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + if (_json.containsKey("version")) {
|
| + version = _json["version"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + if (version != null) {
|
| + _json["version"] = version;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** Response message for `Modules.ListModules`. */
|
| +class ListModulesResponse {
|
| + /** The modules belonging to the requested application. */
|
| + core.List<Module> modules;
|
| + /** Continuation token for fetching the next page of results. */
|
| + core.String nextPageToken;
|
| +
|
| + ListModulesResponse();
|
| +
|
| + ListModulesResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("modules")) {
|
| + modules = _json["modules"].map((value) => new Module.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (modules != null) {
|
| + _json["modules"] = modules.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * The response message for
|
| + * [Operations.ListOperations][google.longrunning.Operations.ListOperations].
|
| + */
|
| +class ListOperationsResponse {
|
| + /** The standard List next-page token. */
|
| + core.String nextPageToken;
|
| + /** A list of operations that matches the specified filter in the request. */
|
| + core.List<Operation> operations;
|
| +
|
| + ListOperationsResponse();
|
| +
|
| + ListOperationsResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + if (_json.containsKey("operations")) {
|
| + operations = _json["operations"].map((value) => new Operation.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + if (operations != null) {
|
| + _json["operations"] = operations.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** Response message for `Versions.ListVersions`. */
|
| +class ListVersionsResponse {
|
| + /** Continuation token for fetching the next page of results. */
|
| + core.String nextPageToken;
|
| + /** The versions belonging to the requested application module. */
|
| + core.List<Version> versions;
|
| +
|
| + ListVersionsResponse();
|
| +
|
| + ListVersionsResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + if (_json.containsKey("versions")) {
|
| + versions = _json["versions"].map((value) => new Version.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + if (versions != null) {
|
| + _json["versions"] = versions.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * A module with manual scaling runs continuously, allowing you to perform
|
| + * complex initialization and rely on the state of its memory over time.
|
| + */
|
| +class ManualScaling {
|
| + /**
|
| + * The number of instances to assign to the module at the start. This number
|
| + * can later be altered by using the [Modules
|
| + * API](https://cloud.google.com/appengine/docs/python/modules/functions)
|
| + * `set_num_instances()` function.
|
| + */
|
| + core.int instances;
|
| +
|
| + ManualScaling();
|
| +
|
| + ManualScaling.fromJson(core.Map _json) {
|
| + if (_json.containsKey("instances")) {
|
| + instances = _json["instances"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (instances != null) {
|
| + _json["instances"] = instances;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * A module is a component of an application that provides a single service or
|
| + * configuration. A module has a collection of versions that define a specific
|
| + * set of code used to implement the functionality of that module.
|
| + */
|
| +class Module {
|
| + /**
|
| + * The relative name/path of the module within the application. Example:
|
| + * "default" @OutputOnly
|
| + */
|
| + core.String id;
|
| + /**
|
| + * The full path to the Module resource in the API. Example:
|
| + * "apps/myapp/modules/default" @OutputOnly
|
| + */
|
| + core.String name;
|
| + /**
|
| + * A mapping that defines fractional HTTP traffic diversion to different
|
| + * versions within the module.
|
| + */
|
| + TrafficSplit split;
|
| +
|
| + Module();
|
| +
|
| + Module.fromJson(core.Map _json) {
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + if (_json.containsKey("split")) {
|
| + split = new TrafficSplit.fromJson(_json["split"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + if (split != null) {
|
| + _json["split"] = (split).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** Used to specify extra network settings (for VM runtimes only). */
|
| +class Network {
|
| + /**
|
| + * A list of ports (or port pairs) to forward from the VM into the app
|
| + * container.
|
| + */
|
| + core.List<core.String> forwardedPorts;
|
| + /** A tag to apply to the VM instance during creation. */
|
| + core.String instanceTag;
|
| + /**
|
| + * The Google Compute Engine network where the VMs will be created. If not
|
| + * specified, or empty, the network named 'default' will be used. (The short
|
| + * name should be specified, not the resource path.)
|
| + */
|
| + core.String name;
|
| +
|
| + Network();
|
| +
|
| + Network.fromJson(core.Map _json) {
|
| + if (_json.containsKey("forwardedPorts")) {
|
| + forwardedPorts = _json["forwardedPorts"];
|
| + }
|
| + if (_json.containsKey("instanceTag")) {
|
| + instanceTag = _json["instanceTag"];
|
| + }
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (forwardedPorts != null) {
|
| + _json["forwardedPorts"] = forwardedPorts;
|
| + }
|
| + if (instanceTag != null) {
|
| + _json["instanceTag"] = instanceTag;
|
| + }
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * This resource represents a long-running operation that is the result of a
|
| + * network API call.
|
| + */
|
| +class Operation {
|
| + /**
|
| + * If the value is `false`, it means the operation is still in progress. If
|
| + * true, the operation is completed and the `result` is available.
|
| + */
|
| + core.bool done;
|
| + /** The error result of the operation in case of failure. */
|
| + Status error;
|
| + /**
|
| + * Service-specific metadata associated with the operation. It typically
|
| + * contains progress information and common metadata such as create time. Some
|
| + * services might not provide such metadata. Any method that returns a
|
| + * long-running operation should document the metadata type, if any.
|
| + *
|
| + * The values for Object must be JSON objects. It can consist of `num`,
|
| + * `String`, `bool` and `null` as well as `Map` and `List` values.
|
| + */
|
| + core.Map<core.String, core.Object> metadata;
|
| + /**
|
| + * The server-assigned name, which is only unique within the same service that
|
| + * originally returns it. If you use the default HTTP mapping above, the
|
| + * `name` should have the format of `operations/some/unique/name`.
|
| + */
|
| + core.String name;
|
| + /**
|
| + * The normal response of the operation in case of success. If the original
|
| + * method returns no data on success, such as `Delete`, the response is
|
| + * `google.protobuf.Empty`. If the original method is standard
|
| + * `Get`/`Create`/`Update`, the response should be the resource. For other
|
| + * methods, the response should have the type `XxxResponse`, where `Xxx` is
|
| + * the original method name. For example, if the original method name is
|
| + * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
|
| + *
|
| + * The values for Object must be JSON objects. It can consist of `num`,
|
| + * `String`, `bool` and `null` as well as `Map` and `List` values.
|
| + */
|
| + core.Map<core.String, core.Object> response;
|
| +
|
| + Operation();
|
| +
|
| + Operation.fromJson(core.Map _json) {
|
| + if (_json.containsKey("done")) {
|
| + done = _json["done"];
|
| + }
|
| + if (_json.containsKey("error")) {
|
| + error = new Status.fromJson(_json["error"]);
|
| + }
|
| + if (_json.containsKey("metadata")) {
|
| + metadata = _json["metadata"];
|
| + }
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + if (_json.containsKey("response")) {
|
| + response = _json["response"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (done != null) {
|
| + _json["done"] = done;
|
| + }
|
| + if (error != null) {
|
| + _json["error"] = (error).toJson();
|
| + }
|
| + if (metadata != null) {
|
| + _json["metadata"] = metadata;
|
| + }
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + if (response != null) {
|
| + _json["response"] = response;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * Metadata for the given
|
| + * [google.longrunning.Operation][google.longrunning.Operation].
|
| + */
|
| +class OperationMetadata {
|
| + /**
|
| + * Timestamp that this operation was completed. (Not present if the operation
|
| + * is still in progress.) @OutputOnly
|
| + */
|
| + core.String endTime;
|
| + /** Timestamp that this operation was received. @OutputOnly */
|
| + core.String insertTime;
|
| + /** The type of the operation, e.g. 'deployment'. @OutputOnly */
|
| + core.String operationType;
|
| + /** The user who requested this operation. @OutputOnly */
|
| + core.String user;
|
| +
|
| + OperationMetadata();
|
| +
|
| + OperationMetadata.fromJson(core.Map _json) {
|
| + if (_json.containsKey("endTime")) {
|
| + endTime = _json["endTime"];
|
| + }
|
| + if (_json.containsKey("insertTime")) {
|
| + insertTime = _json["insertTime"];
|
| + }
|
| + if (_json.containsKey("operationType")) {
|
| + operationType = _json["operationType"];
|
| + }
|
| + if (_json.containsKey("user")) {
|
| + user = _json["user"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (endTime != null) {
|
| + _json["endTime"] = endTime;
|
| + }
|
| + if (insertTime != null) {
|
| + _json["insertTime"] = insertTime;
|
| + }
|
| + if (operationType != null) {
|
| + _json["operationType"] = operationType;
|
| + }
|
| + if (user != null) {
|
| + _json["user"] = user;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** Proto option attached to messages/fields/enums etc. */
|
| +class Option {
|
| + /** Proto option name. */
|
| + core.String name;
|
| + /**
|
| + * Proto option value.
|
| + *
|
| + * The values for Object must be JSON objects. It can consist of `num`,
|
| + * `String`, `bool` and `null` as well as `Map` and `List` values.
|
| + */
|
| + core.Map<core.String, core.Object> value;
|
| +
|
| + Option();
|
| +
|
| + Option.fromJson(core.Map _json) {
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + if (_json.containsKey("value")) {
|
| + value = _json["value"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + if (value != null) {
|
| + _json["value"] = value;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** Used to specify how many machine resources an app version needs. */
|
| +class Resources {
|
| + /** How many CPU cores an app version needs. */
|
| + core.double cpu;
|
| + /** How much disk size, in GB, an app version needs. */
|
| + core.double diskGb;
|
| + /** How much memory, in GB, an app version needs. */
|
| + core.double memoryGb;
|
| +
|
| + Resources();
|
| +
|
| + Resources.fromJson(core.Map _json) {
|
| + if (_json.containsKey("cpu")) {
|
| + cpu = _json["cpu"];
|
| + }
|
| + if (_json.containsKey("diskGb")) {
|
| + diskGb = _json["diskGb"];
|
| + }
|
| + if (_json.containsKey("memoryGb")) {
|
| + memoryGb = _json["memoryGb"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (cpu != null) {
|
| + _json["cpu"] = cpu;
|
| + }
|
| + if (diskGb != null) {
|
| + _json["diskGb"] = diskGb;
|
| + }
|
| + if (memoryGb != null) {
|
| + _json["memoryGb"] = memoryGb;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** Executes a script to handle the request that matches the URL pattern. */
|
| +class ScriptHandler {
|
| + /** Specifies the path to the script from the application root directory. */
|
| + core.String scriptPath;
|
| +
|
| + ScriptHandler();
|
| +
|
| + ScriptHandler.fromJson(core.Map _json) {
|
| + if (_json.containsKey("scriptPath")) {
|
| + scriptPath = _json["scriptPath"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (scriptPath != null) {
|
| + _json["scriptPath"] = scriptPath;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * `SourceContext` represents information about the source of a protobuf
|
| + * element, like the file in which it is defined.
|
| + */
|
| +class SourceContext {
|
| + /**
|
| + * The path-qualified name of the .proto file that contained the associated
|
| + * protobuf element. For example: `"google/protobuf/source.proto"`.
|
| + */
|
| + core.String fileName;
|
| +
|
| + SourceContext();
|
| +
|
| + SourceContext.fromJson(core.Map _json) {
|
| + if (_json.containsKey("fileName")) {
|
| + fileName = _json["fileName"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (fileName != null) {
|
| + _json["fileName"] = fileName;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * A reference to a particular snapshot of the source tree used to build and
|
| + * deploy the application.
|
| + */
|
| +class SourceReference {
|
| + /**
|
| + * Optional. A URI string identifying the repository. Example:
|
| + * "https://source.developers.google.com/p/app-123/r/default"
|
| + */
|
| + core.String repository;
|
| + /**
|
| + * The canonical (and persistent) identifier of the deployed revision, i.e.
|
| + * any kind of aliases including tags or branch names are not allowed. Example
|
| + * (git): "2198322f89e0bb2e25021667c2ed489d1fd34e6b"
|
| + */
|
| + core.String revisionId;
|
| +
|
| + SourceReference();
|
| +
|
| + SourceReference.fromJson(core.Map _json) {
|
| + if (_json.containsKey("repository")) {
|
| + repository = _json["repository"];
|
| + }
|
| + if (_json.containsKey("revisionId")) {
|
| + revisionId = _json["revisionId"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (repository != null) {
|
| + _json["repository"] = repository;
|
| + }
|
| + if (revisionId != null) {
|
| + _json["revisionId"] = revisionId;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * Files served directly to the user for a given URL, such as images, CSS
|
| + * stylesheets, or JavaScript source files. Static directory handlers make it
|
| + * easy to serve the entire contents of a directory as static files.
|
| + */
|
| +class StaticDirectoryHandler {
|
| + /**
|
| + * By default, files declared in static file handlers are uploaded as static
|
| + * data and are only served to end users, they cannot be read by an
|
| + * application. If this field is set to true, the files are also uploaded as
|
| + * code data so your application can read them. Both uploads are charged
|
| + * against your code and static data storage resource quotas.
|
| + */
|
| + core.bool applicationReadable;
|
| + /**
|
| + * The path to the directory containing the static files, from the application
|
| + * root directory. Everything after the end of the matched url pattern is
|
| + * appended to static_dir to form the full path to the requested file.
|
| + */
|
| + core.String directory;
|
| + /**
|
| + * The length of time a static file served by this handler ought to be cached
|
| + * by web proxies and browsers.
|
| + */
|
| + core.String expiration;
|
| + /** HTTP headers to use for all responses from these URLs. */
|
| + core.Map<core.String, core.String> httpHeaders;
|
| + /**
|
| + * If specified, all files served by this handler will be served using the
|
| + * specified MIME type. If not specified, the MIME type for a file will be
|
| + * derived from the file's filename extension.
|
| + */
|
| + core.String mimeType;
|
| + /**
|
| + * If true, this UrlMap entry does not match the request unless the file
|
| + * referenced by the handler also exists. If no such file exists, processing
|
| + * will continue with the next UrlMap that matches the requested URL.
|
| + */
|
| + core.bool requireMatchingFile;
|
| +
|
| + StaticDirectoryHandler();
|
| +
|
| + StaticDirectoryHandler.fromJson(core.Map _json) {
|
| + if (_json.containsKey("applicationReadable")) {
|
| + applicationReadable = _json["applicationReadable"];
|
| + }
|
| + if (_json.containsKey("directory")) {
|
| + directory = _json["directory"];
|
| + }
|
| + if (_json.containsKey("expiration")) {
|
| + expiration = _json["expiration"];
|
| + }
|
| + if (_json.containsKey("httpHeaders")) {
|
| + httpHeaders = _json["httpHeaders"];
|
| + }
|
| + if (_json.containsKey("mimeType")) {
|
| + mimeType = _json["mimeType"];
|
| + }
|
| + if (_json.containsKey("requireMatchingFile")) {
|
| + requireMatchingFile = _json["requireMatchingFile"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (applicationReadable != null) {
|
| + _json["applicationReadable"] = applicationReadable;
|
| + }
|
| + if (directory != null) {
|
| + _json["directory"] = directory;
|
| + }
|
| + if (expiration != null) {
|
| + _json["expiration"] = expiration;
|
| + }
|
| + if (httpHeaders != null) {
|
| + _json["httpHeaders"] = httpHeaders;
|
| + }
|
| + if (mimeType != null) {
|
| + _json["mimeType"] = mimeType;
|
| + }
|
| + if (requireMatchingFile != null) {
|
| + _json["requireMatchingFile"] = requireMatchingFile;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * Files served directly to the user for a given URL, such as images, CSS
|
| + * stylesheets, or JavaScript source files. Static file handlers describe which
|
| + * files in the application directory are static files, and which URLs serve
|
| + * them.
|
| + */
|
| +class StaticFilesHandler {
|
| + /**
|
| + * By default, files declared in static file handlers are uploaded as static
|
| + * data and are only served to end users, they cannot be read by an
|
| + * application. If this field is set to true, the files are also uploaded as
|
| + * code data so your application can read them. Both uploads are charged
|
| + * against your code and static data storage resource quotas.
|
| + */
|
| + core.bool applicationReadable;
|
| + /**
|
| + * The length of time a static file served by this handler ought to be cached
|
| + * by web proxies and browsers.
|
| + */
|
| + core.String expiration;
|
| + /** HTTP headers to use for all responses from these URLs. */
|
| + core.Map<core.String, core.String> httpHeaders;
|
| + /**
|
| + * If specified, all files served by this handler will be served using the
|
| + * specified MIME type. If not specified, the MIME type for a file will be
|
| + * derived from the file's filename extension.
|
| + */
|
| + core.String mimeType;
|
| + /**
|
| + * The path to the static files matched by the URL pattern, from the
|
| + * application root directory. The path can refer to text matched in groupings
|
| + * in the URL pattern.
|
| + */
|
| + core.String path;
|
| + /**
|
| + * If true, this [UrlMap][google.appengine.v1beta4.UrlMap] entry does not
|
| + * match the request unless the file referenced by the handler also exists. If
|
| + * no such file exists, processing will continue with the next
|
| + * [UrlMap][google.appengine.v1beta4.UrlMap] that matches the requested URL.
|
| + */
|
| + core.bool requireMatchingFile;
|
| + /**
|
| + * A regular expression that matches the file paths for all files that will be
|
| + * referenced by this handler.
|
| + */
|
| + core.String uploadPathRegex;
|
| +
|
| + StaticFilesHandler();
|
| +
|
| + StaticFilesHandler.fromJson(core.Map _json) {
|
| + if (_json.containsKey("applicationReadable")) {
|
| + applicationReadable = _json["applicationReadable"];
|
| + }
|
| + if (_json.containsKey("expiration")) {
|
| + expiration = _json["expiration"];
|
| + }
|
| + if (_json.containsKey("httpHeaders")) {
|
| + httpHeaders = _json["httpHeaders"];
|
| + }
|
| + if (_json.containsKey("mimeType")) {
|
| + mimeType = _json["mimeType"];
|
| + }
|
| + if (_json.containsKey("path")) {
|
| + path = _json["path"];
|
| + }
|
| + if (_json.containsKey("requireMatchingFile")) {
|
| + requireMatchingFile = _json["requireMatchingFile"];
|
| + }
|
| + if (_json.containsKey("uploadPathRegex")) {
|
| + uploadPathRegex = _json["uploadPathRegex"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (applicationReadable != null) {
|
| + _json["applicationReadable"] = applicationReadable;
|
| + }
|
| + if (expiration != null) {
|
| + _json["expiration"] = expiration;
|
| + }
|
| + if (httpHeaders != null) {
|
| + _json["httpHeaders"] = httpHeaders;
|
| + }
|
| + if (mimeType != null) {
|
| + _json["mimeType"] = mimeType;
|
| + }
|
| + if (path != null) {
|
| + _json["path"] = path;
|
| + }
|
| + if (requireMatchingFile != null) {
|
| + _json["requireMatchingFile"] = requireMatchingFile;
|
| + }
|
| + if (uploadPathRegex != null) {
|
| + _json["uploadPathRegex"] = uploadPathRegex;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * The `Status` defines a logical error model that is suitable for different
|
| + * programming environments, including REST APIs and RPC APIs. It is used by
|
| + * [gRPC](https://github.com/grpc). The error model is designed to be: - Simple
|
| + * to use and understand for most users. - Flexible enough to meet unexpected
|
| + * needs. # Overview The `Status` message contains 3 pieces of data: error code,
|
| + * error message, and error details. The error code should be an enum value of
|
| + * [google.rpc.Code][google.rpc.Code], but it may accept additional error codes
|
| + * if needed. The error message should be a developer-facing English message
|
| + * that helps developers *understand* and *resolve* the error. If a localized
|
| + * user-facing error message is needed, it can be sent in the error details or
|
| + * localized by the client. The optional error details may contain arbitrary
|
| + * information about the error. There is a predefined set of error detail types
|
| + * in the package `google.rpc` which can be used for common error conditions. #
|
| + * Language mapping The `Status` message is the logical representation of the
|
| + * error model, but it is not necessarily the actual wire format. When the
|
| + * `Status` message is exposed in different client libraries and different wire
|
| + * protocols, it can be mapped differently. For example, it will likely be
|
| + * mapped to some exceptions in Java, but more likely mapped to some error codes
|
| + * in C. # Other uses The error model and the `Status` message can be used in a
|
| + * variety of environments - either with or without APIs - to provide consistent
|
| + * developer experience across different environments. Example uses of this
|
| + * error model include: - Partial errors. If a service needs to return partial
|
| + * errors to the client, it may embed the `Status` in the normal response to
|
| + * indicate the partial errors. - Workflow errors. A typical workflow has
|
| + * multiple steps. Each step may have a `Status` message for error reporting
|
| + * purpose. - Batch operations. If a client uses batch request and batch
|
| + * response, the `Status` message should be used directly inside batch response,
|
| + * one for each error sub-response. - Asynchronous operations. If an API call
|
| + * embeds asynchronous operation results in its response, the status of those
|
| + * operations should be represented directly using the `Status` message. -
|
| + * Logging. If some API errors are stored in logs, the message `Status` could be
|
| + * used directly after any stripping needed for security/privacy reasons.
|
| + */
|
| +class Status {
|
| + /**
|
| + * The status code, which should be an enum value of
|
| + * [google.rpc.Code][google.rpc.Code].
|
| + */
|
| + core.int code;
|
| + /**
|
| + * A list of messages that carry the error details. There will be a common set
|
| + * of message types for APIs to use.
|
| + *
|
| + * The values for Object must be JSON objects. It can consist of `num`,
|
| + * `String`, `bool` and `null` as well as `Map` and `List` values.
|
| + */
|
| + core.List<core.Map<core.String, core.Object>> details;
|
| + /**
|
| + * A developer-facing error message, which should be in English. Any
|
| + * user-facing error message should be localized and sent in the
|
| + * [google.rpc.Status.details][google.rpc.Status.details] field, or localized
|
| + * by the client.
|
| + */
|
| + core.String message;
|
| +
|
| + Status();
|
| +
|
| + Status.fromJson(core.Map _json) {
|
| + if (_json.containsKey("code")) {
|
| + code = _json["code"];
|
| + }
|
| + if (_json.containsKey("details")) {
|
| + details = _json["details"];
|
| + }
|
| + if (_json.containsKey("message")) {
|
| + message = _json["message"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (code != null) {
|
| + _json["code"] = code;
|
| + }
|
| + if (details != null) {
|
| + _json["details"] = details;
|
| + }
|
| + if (message != null) {
|
| + _json["message"] = message;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * Configuration for traffic splitting for versions within a single module.
|
| + * Traffic splitting allows traffic directed to the module to be assigned to one
|
| + * of several versions in a fractional way, enabling experiments and canarying
|
| + * new builds, for example.
|
| + */
|
| +class TrafficSplit {
|
| + /**
|
| + * Mapping from module version IDs within the module to fractional (0.000, 1]
|
| + * allocations of traffic for that version. Each version may only be specified
|
| + * once, but some versions in the module may not have any traffic allocation.
|
| + * Modules that have traffic allocated in this field may not be deleted until
|
| + * the module is deleted, or their traffic allocation is removed. Allocations
|
| + * must sum to 1. Supports precision up to two decimal places for IP-based
|
| + * splits and up to three decimal places for cookie-based splits.
|
| + */
|
| + core.Map<core.String, core.double> allocations;
|
| + /**
|
| + * Which mechanism should be used as a selector when choosing a version to
|
| + * send a request to. The traffic selection algorithm will be stable for
|
| + * either type until allocations are changed.
|
| + * Possible string values are:
|
| + * - "UNSPECIFIED" : A UNSPECIFIED.
|
| + * - "COOKIE" : A COOKIE.
|
| + * - "IP" : A IP.
|
| + */
|
| + core.String shardBy;
|
| +
|
| + TrafficSplit();
|
| +
|
| + TrafficSplit.fromJson(core.Map _json) {
|
| + if (_json.containsKey("allocations")) {
|
| + allocations = _json["allocations"];
|
| + }
|
| + if (_json.containsKey("shardBy")) {
|
| + shardBy = _json["shardBy"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (allocations != null) {
|
| + _json["allocations"] = allocations;
|
| + }
|
| + if (shardBy != null) {
|
| + _json["shardBy"] = shardBy;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** A light-weight descriptor for a proto message type. */
|
| +class Type {
|
| + /** The list of fields. */
|
| + core.List<Field> fields;
|
| + /** The fully qualified message name. */
|
| + core.String name;
|
| + /**
|
| + * The list of oneof definitions. The list of oneofs declared in this Type
|
| + */
|
| + core.List<core.String> oneofs;
|
| + /** The proto options. */
|
| + core.List<Option> options;
|
| + /** The source context. */
|
| + SourceContext sourceContext;
|
| + /**
|
| + * The source syntax.
|
| + * Possible string values are:
|
| + * - "SYNTAX_PROTO2" : A SYNTAX_PROTO2.
|
| + * - "SYNTAX_PROTO3" : A SYNTAX_PROTO3.
|
| + */
|
| + core.String syntax;
|
| +
|
| + Type();
|
| +
|
| + Type.fromJson(core.Map _json) {
|
| + if (_json.containsKey("fields")) {
|
| + fields = _json["fields"].map((value) => new Field.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + if (_json.containsKey("oneofs")) {
|
| + oneofs = _json["oneofs"];
|
| + }
|
| + if (_json.containsKey("options")) {
|
| + options = _json["options"].map((value) => new Option.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("sourceContext")) {
|
| + sourceContext = new SourceContext.fromJson(_json["sourceContext"]);
|
| + }
|
| + if (_json.containsKey("syntax")) {
|
| + syntax = _json["syntax"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (fields != null) {
|
| + _json["fields"] = fields.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + if (oneofs != null) {
|
| + _json["oneofs"] = oneofs;
|
| + }
|
| + if (options != null) {
|
| + _json["options"] = options.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (sourceContext != null) {
|
| + _json["sourceContext"] = (sourceContext).toJson();
|
| + }
|
| + if (syntax != null) {
|
| + _json["syntax"] = syntax;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** Rules to match an HTTP request and dispatch that request to a module. */
|
| +class UrlDispatchRule {
|
| + /**
|
| + * The domain name to match on. Supports '*' (glob) wildcarding on the
|
| + * left-hand side of a '.'. If empty, all domains will be matched (the same as
|
| + * '*').
|
| + */
|
| + core.String domain;
|
| + /**
|
| + * The resource id of a Module in this application that should service the
|
| + * matched request. The Module must already exist. Example: "default".
|
| + */
|
| + core.String module;
|
| + /**
|
| + * The pathname within the host. This must start with a '/'. A single '*'
|
| + * (glob) can be included at the end of the path. The sum of the lengths of
|
| + * the domain and path may not exceed 100 characters.
|
| + */
|
| + core.String path;
|
| +
|
| + UrlDispatchRule();
|
| +
|
| + UrlDispatchRule.fromJson(core.Map _json) {
|
| + if (_json.containsKey("domain")) {
|
| + domain = _json["domain"];
|
| + }
|
| + if (_json.containsKey("module")) {
|
| + module = _json["module"];
|
| + }
|
| + if (_json.containsKey("path")) {
|
| + path = _json["path"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (domain != null) {
|
| + _json["domain"] = domain;
|
| + }
|
| + if (module != null) {
|
| + _json["module"] = module;
|
| + }
|
| + if (path != null) {
|
| + _json["path"] = path;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * A URL pattern and description of how it should be handled. App Engine can
|
| + * handle URLs by executing application code, or by serving static files
|
| + * uploaded with the code, such as images, CSS or JavaScript.
|
| + */
|
| +class UrlMap {
|
| + /** Use API Endpoints to handle requests. */
|
| + ApiEndpointHandler apiEndpoint;
|
| + /**
|
| + * For users not logged in, how to handle access to resources with required
|
| + * login. Defaults to "redirect".
|
| + * Possible string values are:
|
| + * - "AUTH_FAIL_ACTION_UNSPECIFIED" : A AUTH_FAIL_ACTION_UNSPECIFIED.
|
| + * - "AUTH_FAIL_ACTION_REDIRECT" : A AUTH_FAIL_ACTION_REDIRECT.
|
| + * - "AUTH_FAIL_ACTION_UNAUTHORIZED" : A AUTH_FAIL_ACTION_UNAUTHORIZED.
|
| + */
|
| + core.String authFailAction;
|
| + /**
|
| + * What level of login is required to access this resource.
|
| + * Possible string values are:
|
| + * - "LOGIN_UNSPECIFIED" : A LOGIN_UNSPECIFIED.
|
| + * - "LOGIN_OPTIONAL" : A LOGIN_OPTIONAL.
|
| + * - "LOGIN_ADMIN" : A LOGIN_ADMIN.
|
| + * - "LOGIN_REQUIRED" : A LOGIN_REQUIRED.
|
| + */
|
| + core.String login;
|
| + /**
|
| + * `30x` code to use when performing redirects for the `secure` field. A `302`
|
| + * is used by default.
|
| + * Possible string values are:
|
| + * - "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED" : A
|
| + * REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED.
|
| + * - "REDIRECT_HTTP_RESPONSE_CODE_301" : A REDIRECT_HTTP_RESPONSE_CODE_301.
|
| + * - "REDIRECT_HTTP_RESPONSE_CODE_302" : A REDIRECT_HTTP_RESPONSE_CODE_302.
|
| + * - "REDIRECT_HTTP_RESPONSE_CODE_303" : A REDIRECT_HTTP_RESPONSE_CODE_303.
|
| + * - "REDIRECT_HTTP_RESPONSE_CODE_307" : A REDIRECT_HTTP_RESPONSE_CODE_307.
|
| + */
|
| + core.String redirectHttpResponseCode;
|
| + /** Executes a script to handle the request that matches the URL pattern. */
|
| + ScriptHandler script;
|
| + /**
|
| + * Configures whether security (HTTPS) should be enforced for this URL.
|
| + * Possible string values are:
|
| + * - "SECURE_UNSPECIFIED" : A SECURE_UNSPECIFIED.
|
| + * - "SECURE_DEFAULT" : A SECURE_DEFAULT.
|
| + * - "SECURE_NEVER" : A SECURE_NEVER.
|
| + * - "SECURE_OPTIONAL" : A SECURE_OPTIONAL.
|
| + * - "SECURE_ALWAYS" : A SECURE_ALWAYS.
|
| + */
|
| + core.String securityLevel;
|
| + /**
|
| + * Serves the entire contents of a directory as static files. This attribute
|
| + * is deprecated. You can mimic the behavior of static directories using
|
| + * static files.
|
| + */
|
| + StaticDirectoryHandler staticDirectory;
|
| + /** Returns the contents of a file, such as an image, as the response. */
|
| + StaticFilesHandler staticFiles;
|
| + /**
|
| + * A URL prefix. This value uses regular expression syntax (and so regexp
|
| + * special characters must be escaped), but it should not contain groupings.
|
| + * All URLs that begin with this prefix are handled by this handler, using the
|
| + * portion of the URL after the prefix as part of the file path. This is
|
| + * always required.
|
| + */
|
| + core.String urlRegex;
|
| +
|
| + UrlMap();
|
| +
|
| + UrlMap.fromJson(core.Map _json) {
|
| + if (_json.containsKey("apiEndpoint")) {
|
| + apiEndpoint = new ApiEndpointHandler.fromJson(_json["apiEndpoint"]);
|
| + }
|
| + if (_json.containsKey("authFailAction")) {
|
| + authFailAction = _json["authFailAction"];
|
| + }
|
| + if (_json.containsKey("login")) {
|
| + login = _json["login"];
|
| + }
|
| + if (_json.containsKey("redirectHttpResponseCode")) {
|
| + redirectHttpResponseCode = _json["redirectHttpResponseCode"];
|
| + }
|
| + if (_json.containsKey("script")) {
|
| + script = new ScriptHandler.fromJson(_json["script"]);
|
| + }
|
| + if (_json.containsKey("securityLevel")) {
|
| + securityLevel = _json["securityLevel"];
|
| + }
|
| + if (_json.containsKey("staticDirectory")) {
|
| + staticDirectory = new StaticDirectoryHandler.fromJson(_json["staticDirectory"]);
|
| + }
|
| + if (_json.containsKey("staticFiles")) {
|
| + staticFiles = new StaticFilesHandler.fromJson(_json["staticFiles"]);
|
| + }
|
| + if (_json.containsKey("urlRegex")) {
|
| + urlRegex = _json["urlRegex"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (apiEndpoint != null) {
|
| + _json["apiEndpoint"] = (apiEndpoint).toJson();
|
| + }
|
| + if (authFailAction != null) {
|
| + _json["authFailAction"] = authFailAction;
|
| + }
|
| + if (login != null) {
|
| + _json["login"] = login;
|
| + }
|
| + if (redirectHttpResponseCode != null) {
|
| + _json["redirectHttpResponseCode"] = redirectHttpResponseCode;
|
| + }
|
| + if (script != null) {
|
| + _json["script"] = (script).toJson();
|
| + }
|
| + if (securityLevel != null) {
|
| + _json["securityLevel"] = securityLevel;
|
| + }
|
| + if (staticDirectory != null) {
|
| + _json["staticDirectory"] = (staticDirectory).toJson();
|
| + }
|
| + if (staticFiles != null) {
|
| + _json["staticFiles"] = (staticFiles).toJson();
|
| + }
|
| + if (urlRegex != null) {
|
| + _json["urlRegex"] = urlRegex;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * A Version is a specific set of source code and configuration files deployed
|
| + * to a module.
|
| + */
|
| +class Version {
|
| + /**
|
| + * Serving configuration for Google Cloud Endpoints. Only returned in `GET`
|
| + * requests if `view=FULL` is set. May only be set on create requests; once
|
| + * created, is immutable.
|
| + */
|
| + ApiConfigHandler apiConfig;
|
| + /**
|
| + * Automatic scaling is the scaling policy that App Engine has used since its
|
| + * inception. It is based on request rate, response latencies, and other
|
| + * application metrics.
|
| + */
|
| + AutomaticScaling automaticScaling;
|
| + /**
|
| + * A module with basic scaling will create an instance when the application
|
| + * receives a request. The instance will be turned down when the app becomes
|
| + * idle. Basic scaling is ideal for work that is intermittent or driven by
|
| + * user activity.
|
| + */
|
| + BasicScaling basicScaling;
|
| + /** Beta settings supplied to the application via metadata. */
|
| + core.Map<core.String, core.String> betaSettings;
|
| + /**
|
| + * The length of time a static file served by a static file handler ought to
|
| + * be cached by web proxies and browsers, if the handler does not specify its
|
| + * own expiration. Only returned in `GET` requests if `view=FULL` is set. May
|
| + * only be set on create requests; once created, is immutable.
|
| + */
|
| + core.String defaultExpiration;
|
| + /**
|
| + * Code and application artifacts that make up this version. Only returned in
|
| + * `GET` requests if `view=FULL` is set. May only be set on create requests;
|
| + * once created, is immutable.
|
| + */
|
| + Deployment deployment;
|
| + /**
|
| + * Environment variables made available to the application. Only returned in
|
| + * `GET` requests if `view=FULL` is set. May only be set on create requests;
|
| + * once created, is immutable.
|
| + */
|
| + core.Map<core.String, core.String> envVariables;
|
| + /**
|
| + * Custom static error pages instead of these generic error pages, (limit 10
|
| + * KB/page) Only returned in `GET` requests if `view=FULL` is set. May only be
|
| + * set on create requests; once created, is immutable.
|
| + */
|
| + core.List<ErrorHandler> errorHandlers;
|
| + /**
|
| + * An ordered list of URL Matching patterns that should be applied to incoming
|
| + * requests. The first matching URL consumes the request, and subsequent
|
| + * handlers are not attempted. Only returned in `GET` requests if `view=FULL`
|
| + * is set. May only be set on create requests; once created, is immutable.
|
| + */
|
| + core.List<UrlMap> handlers;
|
| + /**
|
| + * Configure health checking for the VM instances. Unhealthy VM instances will
|
| + * be stopped and replaced with new instances. Only returned in `GET` requests
|
| + * if `view=FULL` is set. May only be set on create requests; once created, is
|
| + * immutable.
|
| + */
|
| + HealthCheck healthCheck;
|
| + /** The relative name/path of the Version within the module. Example: "v1" */
|
| + core.String id;
|
| + /**
|
| + * Before an application can receive email or XMPP messages, the application
|
| + * must be configured to enable the service.
|
| + */
|
| + core.List<core.String> inboundServices;
|
| + /**
|
| + * The frontend instance class to use to run this app. Valid values are `[F1,
|
| + * F2, F4, F4_1G]`.
|
| + */
|
| + core.String instanceClass;
|
| + /**
|
| + * Configuration for Python runtime third-party libraries required by the
|
| + * application. Only returned in `GET` requests if `view=FULL` is set. May
|
| + * only be set on create requests; once created, is immutable.
|
| + */
|
| + core.List<Library> libraries;
|
| + /**
|
| + * A module with manual scaling runs continuously, allowing you to perform
|
| + * complex initialization and rely on the state of its memory over time.
|
| + */
|
| + ManualScaling manualScaling;
|
| + /**
|
| + * The full path to the Version resource in the API. Example:
|
| + * "apps/myapp/modules/default/versions/v1". @OutputOnly
|
| + */
|
| + core.String name;
|
| + /** Used to specify extra network settings (for VM runtimes only). */
|
| + Network network;
|
| + /**
|
| + * Go only. Files that match this pattern will not be built into the app. May
|
| + * only be set on create requests.
|
| + */
|
| + core.String nobuildFilesRegex;
|
| + /**
|
| + * Used to specify how many machine resources an app version needs (for VM
|
| + * runtimes only).
|
| + */
|
| + Resources resources;
|
| + /** The desired runtime. Values can include python27, java7, go, etc. */
|
| + core.String runtime;
|
| + /** If true, multiple requests can be dispatched to the app at once. */
|
| + core.bool threadsafe;
|
| + /** Whether to deploy this app in a VM container. */
|
| + core.bool vm;
|
| +
|
| + Version();
|
| +
|
| + Version.fromJson(core.Map _json) {
|
| + if (_json.containsKey("apiConfig")) {
|
| + apiConfig = new ApiConfigHandler.fromJson(_json["apiConfig"]);
|
| + }
|
| + if (_json.containsKey("automaticScaling")) {
|
| + automaticScaling = new AutomaticScaling.fromJson(_json["automaticScaling"]);
|
| + }
|
| + if (_json.containsKey("basicScaling")) {
|
| + basicScaling = new BasicScaling.fromJson(_json["basicScaling"]);
|
| + }
|
| + if (_json.containsKey("betaSettings")) {
|
| + betaSettings = _json["betaSettings"];
|
| + }
|
| + if (_json.containsKey("defaultExpiration")) {
|
| + defaultExpiration = _json["defaultExpiration"];
|
| + }
|
| + if (_json.containsKey("deployment")) {
|
| + deployment = new Deployment.fromJson(_json["deployment"]);
|
| + }
|
| + if (_json.containsKey("envVariables")) {
|
| + envVariables = _json["envVariables"];
|
| + }
|
| + if (_json.containsKey("errorHandlers")) {
|
| + errorHandlers = _json["errorHandlers"].map((value) => new ErrorHandler.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("handlers")) {
|
| + handlers = _json["handlers"].map((value) => new UrlMap.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("healthCheck")) {
|
| + healthCheck = new HealthCheck.fromJson(_json["healthCheck"]);
|
| + }
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("inboundServices")) {
|
| + inboundServices = _json["inboundServices"];
|
| + }
|
| + if (_json.containsKey("instanceClass")) {
|
| + instanceClass = _json["instanceClass"];
|
| + }
|
| + if (_json.containsKey("libraries")) {
|
| + libraries = _json["libraries"].map((value) => new Library.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("manualScaling")) {
|
| + manualScaling = new ManualScaling.fromJson(_json["manualScaling"]);
|
| + }
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + if (_json.containsKey("network")) {
|
| + network = new Network.fromJson(_json["network"]);
|
| + }
|
| + if (_json.containsKey("nobuildFilesRegex")) {
|
| + nobuildFilesRegex = _json["nobuildFilesRegex"];
|
| + }
|
| + if (_json.containsKey("resources")) {
|
| + resources = new Resources.fromJson(_json["resources"]);
|
| + }
|
| + if (_json.containsKey("runtime")) {
|
| + runtime = _json["runtime"];
|
| + }
|
| + if (_json.containsKey("threadsafe")) {
|
| + threadsafe = _json["threadsafe"];
|
| + }
|
| + if (_json.containsKey("vm")) {
|
| + vm = _json["vm"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (apiConfig != null) {
|
| + _json["apiConfig"] = (apiConfig).toJson();
|
| + }
|
| + if (automaticScaling != null) {
|
| + _json["automaticScaling"] = (automaticScaling).toJson();
|
| + }
|
| + if (basicScaling != null) {
|
| + _json["basicScaling"] = (basicScaling).toJson();
|
| + }
|
| + if (betaSettings != null) {
|
| + _json["betaSettings"] = betaSettings;
|
| + }
|
| + if (defaultExpiration != null) {
|
| + _json["defaultExpiration"] = defaultExpiration;
|
| + }
|
| + if (deployment != null) {
|
| + _json["deployment"] = (deployment).toJson();
|
| + }
|
| + if (envVariables != null) {
|
| + _json["envVariables"] = envVariables;
|
| + }
|
| + if (errorHandlers != null) {
|
| + _json["errorHandlers"] = errorHandlers.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (handlers != null) {
|
| + _json["handlers"] = handlers.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (healthCheck != null) {
|
| + _json["healthCheck"] = (healthCheck).toJson();
|
| + }
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (inboundServices != null) {
|
| + _json["inboundServices"] = inboundServices;
|
| + }
|
| + if (instanceClass != null) {
|
| + _json["instanceClass"] = instanceClass;
|
| + }
|
| + if (libraries != null) {
|
| + _json["libraries"] = libraries.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (manualScaling != null) {
|
| + _json["manualScaling"] = (manualScaling).toJson();
|
| + }
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + if (network != null) {
|
| + _json["network"] = (network).toJson();
|
| + }
|
| + if (nobuildFilesRegex != null) {
|
| + _json["nobuildFilesRegex"] = nobuildFilesRegex;
|
| + }
|
| + if (resources != null) {
|
| + _json["resources"] = (resources).toJson();
|
| + }
|
| + if (runtime != null) {
|
| + _json["runtime"] = runtime;
|
| + }
|
| + if (threadsafe != null) {
|
| + _json["threadsafe"] = threadsafe;
|
| + }
|
| + if (vm != null) {
|
| + _json["vm"] = vm;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
|
|