[ aws . codeartifact ]

copy-package-versions

Description

Copies package versions from one repository to another repository in the same domain.

Note

You must specify versions or versionRevisions . You cannot specify both.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  copy-package-versions
--domain <value>
[--domain-owner <value>]
--source-repository <value>
--destination-repository <value>
--format <value>
[--namespace <value>]
--package <value>
[--versions <value>]
[--version-revisions <value>]
[--allow-overwrite | --no-allow-overwrite]
[--include-from-upstream | --no-include-from-upstream]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]

Options

--domain (string)

The name of the domain that contains the source and destination repositories.

--domain-owner (string)

The 12-digit account number of the AWS account that owns the domain. It does not include dashes or spaces.

--source-repository (string)

The name of the repository that contains the package versions to copy.

--destination-repository (string)

The name of the repository into which package versions are copied.

--format (string)

The format of the package that is copied. The valid package types are:

  • npm : A Node Package Manager (npm) package.

  • pypi : A Python Package Index (PyPI) package.

  • maven : A Maven package that contains compiled code in a distributable format, such as a JAR file.

Possible values:

  • npm

  • pypi

  • maven

  • nuget

--namespace (string)

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

  • The namespace of a Maven package is its groupId .

  • The namespace of an npm package is its scope .

  • A Python package does not contain a corresponding component, so Python packages do not have a namespace.

--package (string)

The name of the package that is copied.

--versions (list)

The versions of the package to copy.

Note

You must specify versions or versionRevisions . You cannot specify both.

(string)

Syntax:

"string" "string" ...

--version-revisions (map)

A list of key-value pairs. The keys are package versions and the values are package version revisions. A CopyPackageVersion operation succeeds if the specified versions in the source repository match the specified package version revision.

Note

You must specify versions or versionRevisions . You cannot specify both.

key -> (string)

value -> (string)

Shorthand Syntax:

KeyName1=string,KeyName2=string

JSON Syntax:

{"string": "string"
  ...}

--allow-overwrite | --no-allow-overwrite (boolean)

Set to true to overwrite a package version that already exists in the destination repository. If set to false and the package version already exists in the destination repository, the package version is returned in the failedVersions field of the response with an ALREADY_EXISTS error code.

--include-from-upstream | --no-include-from-upstream (boolean)

Set to true to copy packages from repositories that are upstream from the source repository to the destination repository. The default setting is false. For more information, see Working with upstream repositories .

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.

Examples

To copy package versions from one repository to another

The following copy-package-versions moves versions 4.0.0 and 5.0.0 of a package named test-package from my-repo to test-repo.

aws codeartifact copy-package-versions \
    --domain test-domain \
    --source-repository my-repo \
    --destination-repository test-repo \
    --format npm \
    --package test-package \
    --versions '["4.0.0", "5.0.0"]'

Output:

{
    "format": "npm",
    "package": "test-package",
    "versions": [
        {
        "version": "5.0.0",
        "revision": "REVISION-1-SAMPLE-6C81EFF7DA55CC",
        "status": "Published"
        },
        {
        "version": "4.0.0",
        "revision": "REVISION-2-SAMPLE-55C752BEE772FC",
        "status": "Published"
        }
    ]
}

For more information, see Copy packages between repositories in the AWS CodeArtifact User Guide.

Output

successfulVersions -> (map)

A list of the package versions that were successfully copied to your repository.

key -> (string)

value -> (structure)

Contains the revision and status of a package version.

revision -> (string)

The revision of a package version.

status -> (string)

The status of a package version. Valid statuses are:

  • Published

  • Unfinished

  • Unlisted

  • Archived

  • Disposed

failedVersions -> (map)

A map of package versions that failed to copy and their error codes. The possible error codes are in the PackageVersionError data type. They are:

  • ALREADY_EXISTS

  • MISMATCHED_REVISION

  • MISMATCHED_STATUS

  • NOT_ALLOWED

  • NOT_FOUND

  • SKIPPED

key -> (string)

value -> (structure)

An error associated with package.

errorCode -> (string)

The error code associated with the error. Valid error codes are:

  • ALREADY_EXISTS

  • MISMATCHED_REVISION

  • MISMATCHED_STATUS

  • NOT_ALLOWED

  • NOT_FOUND

  • SKIPPED

errorMessage -> (string)

The error message associated with the error.