create method

Used by partners to create a subscription for their customers.

The created subscription is associated with the end user inferred from the end user credentials. This API must be authorized by the end user using OAuth.

request - The metadata request object.

Request parameters:

parent - Required. The parent resource name, which is the identifier of the partner. It will have the format of "partners/{partner_id}". Value must have pattern ^partners/\[^/\]+$.

subscriptionId - Required. Identifies the subscription resource on the Partner side. The value is restricted to 63 ASCII characters at the maximum. If a subscription was previously created with the same subscription_id, we will directly return that one.

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

Completes with a GoogleCloudPaymentsResellerSubscriptionV1Subscription.

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<GoogleCloudPaymentsResellerSubscriptionV1Subscription> create(
  GoogleCloudPaymentsResellerSubscriptionV1Subscription request,
  core.String parent, {
  core.String? subscriptionId,
  core.String? $fields,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    if (subscriptionId != null) 'subscriptionId': [subscriptionId],
    if ($fields != null) 'fields': [$fields],
  };

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

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