upload method

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

Directly uploads an Apt 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 UploadAptArtifactMediaResponse.

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<UploadAptArtifactMediaResponse> upload(
  UploadAptArtifactRequest 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') + '/aptArtifacts:create';
  } else {
    url_ = '/upload/v1/' +
        core.Uri.encodeFull('$parent') +
        '/aptArtifacts:create';
  }

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