create method

Future<MappingRule> create(
  1. MappingRule request,
  2. String parent, {
  3. String? mappingRuleId,
  4. String? requestId,
  5. String? $fields,
})

Creates a new mapping rule for a given conversion workspace.

request - The metadata request object.

Request parameters:

parent - Required. The parent which owns this collection of mapping rules. Value must have pattern ^projects/\[^/\]+/locations/\[^/\]+/conversionWorkspaces/\[^/\]+$.

mappingRuleId - Required. The ID of the rule to create.

requestId - A unique ID used to identify the request. If the server receives two requests with the same ID, then the second request is ignored. It is recommended to always set this value to a UUID. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.

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

Completes with a MappingRule.

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

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

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