create method

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

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 with the same ID already exists, the creation fails with an ALREADY_EXISTS error.

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

Completes with a Subscription.

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<Subscription> create(
  Subscription 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>>{
    'subscriptionId': ?subscriptionId == null ? null : [subscriptionId],
    'fields': ?$fields == null ? null : [$fields],
  };

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

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