Index: generated/googleapis/lib/cloudbilling/v1.dart |
diff --git a/generated/googleapis/lib/cloudbilling/v1.dart b/generated/googleapis/lib/cloudbilling/v1.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..07a9d4d02ebad42849957901ee48e38b80c61c35 |
--- /dev/null |
+++ b/generated/googleapis/lib/cloudbilling/v1.dart |
@@ -0,0 +1,516 @@ |
+// This is a generated file (see the discoveryapis_generator project). |
+ |
+library googleapis.cloudbilling.v1; |
+ |
+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 cloudbilling/v1'; |
+ |
+class CloudbillingApi { |
+ /** View and manage your data across Google Cloud Platform services */ |
+ static const CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"; |
+ |
+ |
+ final commons.ApiRequester _requester; |
+ |
+ BillingAccountsResourceApi get billingAccounts => new BillingAccountsResourceApi(_requester); |
+ ProjectsResourceApi get projects => new ProjectsResourceApi(_requester); |
+ |
+ CloudbillingApi(http.Client client, {core.String rootUrl: "https://cloudbilling.googleapis.com/", core.String servicePath: ""}) : |
+ _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT); |
+} |
+ |
+ |
+class BillingAccountsResourceApi { |
+ final commons.ApiRequester _requester; |
+ |
+ BillingAccountsProjectsResourceApi get projects => new BillingAccountsProjectsResourceApi(_requester); |
+ |
+ BillingAccountsResourceApi(commons.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Gets information about a billing account. The current authenticated user |
+ * must be an [owner of the billing |
+ * account](https://support.google.com/cloud/answer/4430947). |
+ * |
+ * Request parameters: |
+ * |
+ * [name] - The resource name of the billing account to retrieve. For example, |
+ * `billingAccounts/012345-567890-ABCDEF`. |
+ * Value must have pattern "^billingAccounts/[^/]*$". |
+ * |
+ * Completes with a [BillingAccount]. |
+ * |
+ * 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<BillingAccount> get(core.String name) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (name == null) { |
+ throw new core.ArgumentError("Parameter name is required."); |
+ } |
+ |
+ _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new BillingAccount.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Lists the billing accounts that the current authenticated user |
+ * [owns](https://support.google.com/cloud/answer/4430947). |
+ * |
+ * Request parameters: |
+ * |
+ * [pageSize] - Requested page size. The maximum page size is 100; this is |
+ * also the default. |
+ * |
+ * [pageToken] - A token identifying a page of results to return. This should |
+ * be a `next_page_token` value returned from a previous `ListBillingAccounts` |
+ * call. If unspecified, the first page of results is returned. |
+ * |
+ * Completes with a [ListBillingAccountsResponse]. |
+ * |
+ * 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<ListBillingAccountsResponse> list({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 (pageSize != null) { |
+ _queryParams["pageSize"] = ["${pageSize}"]; |
+ } |
+ if (pageToken != null) { |
+ _queryParams["pageToken"] = [pageToken]; |
+ } |
+ |
+ _url = 'v1/billingAccounts'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new ListBillingAccountsResponse.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+class BillingAccountsProjectsResourceApi { |
+ final commons.ApiRequester _requester; |
+ |
+ BillingAccountsProjectsResourceApi(commons.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Lists the projects associated with a billing account. The current |
+ * authenticated user must be an [owner of the billing |
+ * account](https://support.google.com/cloud/answer/4430947). |
+ * |
+ * Request parameters: |
+ * |
+ * [name] - The resource name of the billing account associated with the |
+ * projects that you want to list. For example, |
+ * `billingAccounts/012345-567890-ABCDEF`. |
+ * Value must have pattern "^billingAccounts/[^/]*$". |
+ * |
+ * [pageSize] - Requested page size. The maximum page size is 100; this is |
+ * also the default. |
+ * |
+ * [pageToken] - A token identifying a page of results to be returned. This |
+ * should be a `next_page_token` value returned from a previous |
+ * `ListProjectBillingInfo` call. If unspecified, the first page of results is |
+ * returned. |
+ * |
+ * Completes with a [ListProjectBillingInfoResponse]. |
+ * |
+ * 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<ListProjectBillingInfoResponse> list(core.String name, {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 (name == null) { |
+ throw new core.ArgumentError("Parameter name is required."); |
+ } |
+ if (pageSize != null) { |
+ _queryParams["pageSize"] = ["${pageSize}"]; |
+ } |
+ if (pageToken != null) { |
+ _queryParams["pageToken"] = [pageToken]; |
+ } |
+ |
+ _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/projects'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new ListProjectBillingInfoResponse.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+class ProjectsResourceApi { |
+ final commons.ApiRequester _requester; |
+ |
+ ProjectsResourceApi(commons.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Gets the billing information for a project. The current authenticated user |
+ * must have [permission to view the |
+ * project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo |
+ * ). |
+ * |
+ * Request parameters: |
+ * |
+ * [name] - The resource name of the project for which billing information is |
+ * retrieved. For example, `projects/tokyo-rain-123`. |
+ * Value must have pattern "^projects/[^/]*$". |
+ * |
+ * Completes with a [ProjectBillingInfo]. |
+ * |
+ * 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<ProjectBillingInfo> getBillingInfo(core.String name) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (name == null) { |
+ throw new core.ArgumentError("Parameter name is required."); |
+ } |
+ |
+ _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/billingInfo'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new ProjectBillingInfo.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Sets or updates the billing account associated with a project. You specify |
+ * the new billing account by setting the `billing_account_name` in the |
+ * `ProjectBillingInfo` resource to the resource name of a billing account. |
+ * Associating a project with an open billing account enables billing on the |
+ * project and allows charges for resource usage. If the project already had a |
+ * billing account, this method changes the billing account used for resource |
+ * usage charges. *Note:* Incurred charges that have not yet been reported in |
+ * the transaction history of the Google Developers Console may be billed to |
+ * the new billing account, even if the charge occurred before the new billing |
+ * account was assigned to the project. The current authenticated user must |
+ * have ownership privileges for both the |
+ * [project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo |
+ * ) and the [billing |
+ * account](https://support.google.com/cloud/answer/4430947). You can disable |
+ * billing on the project by setting the `billing_account_name` field to |
+ * empty. This action disassociates the current billing account from the |
+ * project. Any billable activity of your in-use services will stop, and your |
+ * application could stop functioning as expected. Any unbilled charges to |
+ * date will be billed to the previously associated account. The current |
+ * authenticated user must be either an owner of the project or an owner of |
+ * the billing account for the project. Note that associating a project with a |
+ * *closed* billing account will have much the same effect as disabling |
+ * billing on the project: any paid resources used by the project will be shut |
+ * down. Thus, unless you wish to disable billing, you should always call this |
+ * method with the name of an *open* billing account. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [name] - The resource name of the project associated with the billing |
+ * information that you want to update. For example, |
+ * `projects/tokyo-rain-123`. |
+ * Value must have pattern "^projects/[^/]*$". |
+ * |
+ * Completes with a [ProjectBillingInfo]. |
+ * |
+ * 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<ProjectBillingInfo> updateBillingInfo(ProjectBillingInfo request, core.String name) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (name == null) { |
+ throw new core.ArgumentError("Parameter name is required."); |
+ } |
+ |
+ _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/billingInfo'; |
+ |
+ var _response = _requester.request(_url, |
+ "PUT", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new ProjectBillingInfo.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+ |
+/** |
+ * A billing account in [Google Developers |
+ * Console](https://console.developers.google.com/). You can assign a billing |
+ * account to one or more projects. |
+ */ |
+class BillingAccount { |
+ /** |
+ * The display name given to the billing account, such as `My Billing |
+ * Account`. This name is displayed in the Google Developers Console. |
+ */ |
+ core.String displayName; |
+ /** |
+ * The resource name of the billing account. The resource name has the form |
+ * `billingAccounts/{billing_account_id}`. For example, |
+ * `billingAccounts/012345-567890-ABCDEF` would be the resource name for |
+ * billing account `012345-567890-ABCDEF`. |
+ */ |
+ core.String name; |
+ /** |
+ * True if the billing account is open, and will therefore be charged for any |
+ * usage on associated projects. False if the billing account is closed, and |
+ * therefore projects associated with it will be unable to use paid services. |
+ */ |
+ core.bool open; |
+ |
+ BillingAccount(); |
+ |
+ BillingAccount.fromJson(core.Map _json) { |
+ if (_json.containsKey("displayName")) { |
+ displayName = _json["displayName"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("open")) { |
+ open = _json["open"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (displayName != null) { |
+ _json["displayName"] = displayName; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (open != null) { |
+ _json["open"] = open; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Response message for `ListBillingAccounts`. */ |
+class ListBillingAccountsResponse { |
+ /** A list of billing accounts. */ |
+ core.List<BillingAccount> billingAccounts; |
+ /** |
+ * A token to retrieve the next page of results. To retrieve the next page, |
+ * call `ListBillingAccounts` again with the `page_token` field set to this |
+ * value. This field is empty if there are no more results to retrieve. |
+ */ |
+ core.String nextPageToken; |
+ |
+ ListBillingAccountsResponse(); |
+ |
+ ListBillingAccountsResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("billingAccounts")) { |
+ billingAccounts = _json["billingAccounts"].map((value) => new BillingAccount.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("nextPageToken")) { |
+ nextPageToken = _json["nextPageToken"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (billingAccounts != null) { |
+ _json["billingAccounts"] = billingAccounts.map((value) => (value).toJson()).toList(); |
+ } |
+ if (nextPageToken != null) { |
+ _json["nextPageToken"] = nextPageToken; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Request message for `ListProjectBillingInfoResponse`. */ |
+class ListProjectBillingInfoResponse { |
+ /** |
+ * A token to retrieve the next page of results. To retrieve the next page, |
+ * call `ListProjectBillingInfo` again with the `page_token` field set to this |
+ * value. This field is empty if there are no more results to retrieve. |
+ */ |
+ core.String nextPageToken; |
+ /** |
+ * A list of `ProjectBillingInfo` resources representing the projects |
+ * associated with the billing account. |
+ */ |
+ core.List<ProjectBillingInfo> projectBillingInfo; |
+ |
+ ListProjectBillingInfoResponse(); |
+ |
+ ListProjectBillingInfoResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("nextPageToken")) { |
+ nextPageToken = _json["nextPageToken"]; |
+ } |
+ if (_json.containsKey("projectBillingInfo")) { |
+ projectBillingInfo = _json["projectBillingInfo"].map((value) => new ProjectBillingInfo.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (nextPageToken != null) { |
+ _json["nextPageToken"] = nextPageToken; |
+ } |
+ if (projectBillingInfo != null) { |
+ _json["projectBillingInfo"] = projectBillingInfo.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * Encapsulation of billing information for a Developers Console project. A |
+ * project has at most one associated billing account at a time (but a billing |
+ * account can be assigned to multiple projects). |
+ */ |
+class ProjectBillingInfo { |
+ /** |
+ * The resource name of the billing account associated with the project, if |
+ * any. For example, `billingAccounts/012345-567890-ABCDEF`. |
+ */ |
+ core.String billingAccountName; |
+ /** |
+ * True if the project is associated with an open billing account, to which |
+ * usage on the project is charged. False if the project is associated with a |
+ * closed billing account, or no billing account at all, and therefore cannot |
+ * use paid services. This field is read-only. |
+ */ |
+ core.bool billingEnabled; |
+ /** |
+ * The resource name for the `ProjectBillingInfo`; has the form |
+ * `projects/{project_id}/billingInfo`. For example, the resource name for the |
+ * billing information for project `tokyo-rain-123` would be |
+ * `projects/tokyo-rain-123/billingInfo`. This field is read-only. |
+ */ |
+ core.String name; |
+ /** |
+ * The ID of the project that this `ProjectBillingInfo` represents, such as |
+ * `tokyo-rain-123`. This is a convenience field so that you don't need to |
+ * parse the `name` field to obtain a project ID. This field is read-only. |
+ */ |
+ core.String projectId; |
+ |
+ ProjectBillingInfo(); |
+ |
+ ProjectBillingInfo.fromJson(core.Map _json) { |
+ if (_json.containsKey("billingAccountName")) { |
+ billingAccountName = _json["billingAccountName"]; |
+ } |
+ if (_json.containsKey("billingEnabled")) { |
+ billingEnabled = _json["billingEnabled"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("projectId")) { |
+ projectId = _json["projectId"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (billingAccountName != null) { |
+ _json["billingAccountName"] = billingAccountName; |
+ } |
+ if (billingEnabled != null) { |
+ _json["billingEnabled"] = billingEnabled; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (projectId != null) { |
+ _json["projectId"] = projectId; |
+ } |
+ return _json; |
+ } |
+} |