class Aws::CodeArtifact::Types::CopyPackageVersionsRequest

@note When making an API call, you may pass CopyPackageVersionsRequest

data as a hash:

    {
      domain: "DomainName", # required
      domain_owner: "AccountId",
      source_repository: "RepositoryName", # required
      destination_repository: "RepositoryName", # required
      format: "npm", # required, accepts npm, pypi, maven, nuget
      namespace: "PackageNamespace",
      package: "PackageName", # required
      versions: ["PackageVersion"],
      version_revisions: {
        "PackageVersion" => "PackageVersionRevision",
      },
      allow_overwrite: false,
      include_from_upstream: false,
    }

@!attribute [rw] domain

The name of the domain that contains the source and destination
repositories.
@return [String]

@!attribute [rw] domain_owner

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

@!attribute [rw] source_repository

The name of the repository that contains the package versions to
copy.
@return [String]

@!attribute [rw] destination_repository

The name of the repository into which package versions are copied.
@return [String]

@!attribute [rw] format

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.
@return [String]

@!attribute [rw] namespace

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.
@return [String]

@!attribute [rw] package

The name of the package that is copied.
@return [String]

@!attribute [rw] versions

The versions of the package to copy.

<note markdown="1"> You must specify `versions` or `versionRevisions`. You cannot
specify both.

 </note>
@return [Array<String>]

@!attribute [rw] version_revisions

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 markdown="1"> You must specify `versions` or `versionRevisions`. You cannot
specify both.

 </note>
@return [Hash<String,String>]

@!attribute [rw] allow_overwrite

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.
@return [Boolean]

@!attribute [rw] include_from_upstream

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][1].

[1]: https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html
@return [Boolean]

@see docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/CopyPackageVersionsRequest AWS API Documentation

Constants

SENSITIVE