create method

Create a rate plan that is associated with an API product in an organization.

Using rate plans, API product owners can monetize their API products by configuring one or more of the following: - Billing frequency - Initial setup fees for using an API product - Payment funding model (postpaid only) - Fixed recurring or consumption-based charges for using an API product - Revenue sharing with developer partners An API product can have multiple rate plans associated with it but only one rate plan can be active at any point of time. **Note: From the developer's perspective, they purchase API products not rate plans.

request - The metadata request object.

Request parameters:

parent - Required. Name of the API product that is associated with the rate plan. Use the following structure in your request: organizations/{org}/apiproducts/{apiproduct} Value must have pattern ^organizations/\[^/\]+/apiproducts/\[^/\]+$.

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

Completes with a GoogleCloudApigeeV1RatePlan.

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<GoogleCloudApigeeV1RatePlan> create(
  GoogleCloudApigeeV1RatePlan 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') + '/rateplans';

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