create method

Future<BillingAccount> create(
  1. BillingAccount request,
  2. String parent, {
  3. String? $fields,
})

This method creates billing subaccounts.

Google Cloud resellers should use the Channel Services APIs, accounts.customers.create and accounts.customers.entitlements.create. When creating a subaccount, the current authenticated user must have the billing.accounts.update IAM permission on the parent account, which is typically given to billing account administrators. This method will return an error if the parent account has not been provisioned for subaccounts.

request - The metadata request object.

Request parameters:

parent - Optional. The parent to create a billing account from. Format:

  • billingAccounts/{billing_account_id}, for example, billingAccounts/012345-567890-ABCDEF Value must have pattern ^organizations/\[^/\]+$.

$fields - Selector specifying which fields to include in a partial response.

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.

Implementation

async.Future<BillingAccount> create(
  BillingAccount request,
  core.String parent, {
  core.String? $fields,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    if ($fields != null) 'fields': [$fields],
  };

  final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/billingAccounts';

  final response_ = await _requester.request(
    url_,
    'POST',
    body: body_,
    queryParams: queryParams_,
  );
  return BillingAccount.fromJson(
      response_ as core.Map<core.String, core.dynamic>);
}