attributes method

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

Updates developer attributes.

This API replaces the existing attributes with those specified in the request. Add new attributes, and include or exclude any existing attributes that you want to retain or remove, respectively. The custom attribute limit is 18. Note: OAuth access tokens and Key Management Service (KMS) entities (apps, developers, and API products) are cached for 180 seconds (default). Any custom attributes associated with these entities are cached for at least 180 seconds after the entity is accessed at runtime. Therefore, an 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:

parent - Required. Email address of the developer for which attributes are being updated. Use the following structure in your request: organizations/{org}/developers/{developer_email} Value must have pattern ^organizations/\[^/\]+/developers/\[^/\]+$.

$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 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') + '/attributes';

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