upload method

Future<UploadYumArtifactMediaResponse> upload(
  1. UploadYumArtifactRequest request,
  2. String parent, {
  3. String? $fields,
  4. Media? uploadMedia,
})

Directly uploads a Yum artifact.

The returned Operation will complete once the resources are uploaded. Package, Version, and File resources are created based on the imported artifact. Imported artifacts that conflict with existing resources are ignored.

request - The metadata request object.

Request parameters:

parent - The name of the parent resource where the artifacts will be uploaded. Value must have pattern ^projects/\[^/\]+/locations/\[^/\]+/repositories/\[^/\]+$.

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

uploadMedia - The media to upload.

Completes with a UploadYumArtifactMediaResponse.

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<UploadYumArtifactMediaResponse> upload(
  UploadYumArtifactRequest request,
  core.String parent, {
  core.String? $fields,
  commons.Media? uploadMedia,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    if ($fields != null) 'fields': [$fields],
  };

  core.String url_;
  if (uploadMedia == null) {
    url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/yumArtifacts:create';
  } else {
    url_ = '/upload/v1/' +
        core.Uri.encodeFull('$parent') +
        '/yumArtifacts:create';
  }

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