attributes method

Updates or creates API product attributes.

This API replaces the current list of attributes with the attributes specified in the request body. In this way, you can update existing attributes, add new attributes, or delete existing attributes by omitting them from the request body. Note: OAuth access tokens and Key Management Service (KMS) entities (apps, developers, and API products) are cached for 180 seconds (current default). Any custom attributes associated with entities also get cached for at least 180 seconds after entity is accessed during runtime. In this case, the ExpiresIn element on the OAuthV2 policy won't be able to expire an access token in less than 180 seconds.

request - The metadata request object.

Request parameters:

name - Required. Name of the API product. 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 GoogleCloudApigeeV1Attributes.

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<GoogleCloudApigeeV1Attributes> attributes(
  GoogleCloudApigeeV1Attributes request,
  core.String name, {
  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('$name') + '/attributes';

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