create method

Future<Step> create(
  1. Step request,
  2. String projectId,
  3. String historyId,
  4. String executionId, {
  5. String? requestId,
  6. String? $fields,
})

Creates a Step.

The returned Step will have the id set. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if the step is too large (more than 10Mib) - NOT_FOUND - if the containing Execution does not exist

request - The metadata request object.

Request parameters:

projectId - Required. A Project id.

historyId - Required. A History id.

executionId - Required. An Execution id.

requestId - A unique request ID for server to detect duplicated requests. For example, a UUID. Optional, but strongly recommended.

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

Completes with a Step.

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<Step> create(
  Step request,
  core.String projectId,
  core.String historyId,
  core.String executionId, {
  core.String? requestId,
  core.String? $fields,
}) async {
  final _body = convert.json.encode(request.toJson());
  final _queryParams = <core.String, core.List<core.String>>{
    if (requestId != null) 'requestId': [requestId],
    if ($fields != null) 'fields': [$fields],
  };

  final _url = 'toolresults/v1beta3/projects/' +
      commons.escapeVariable('$projectId') +
      '/histories/' +
      commons.escapeVariable('$historyId') +
      '/executions/' +
      commons.escapeVariable('$executionId') +
      '/steps';

  final _response = await _requester.request(
    _url,
    'POST',
    body: _body,
    queryParams: _queryParams,
  );
  return Step.fromJson(_response as core.Map<core.String, core.dynamic>);
}