1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CopyPackageVersions`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`domain(impl Into<String>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::domain) / [`set_domain(Option<String>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::set_domain):<br>required: **true**<br><p> The name of the domain that contains the source and destination repositories. </p><br>
    ///   - [`domain_owner(impl Into<String>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::domain_owner) / [`set_domain_owner(Option<String>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::set_domain_owner):<br>required: **false**<br><p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p><br>
    ///   - [`source_repository(impl Into<String>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::source_repository) / [`set_source_repository(Option<String>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::set_source_repository):<br>required: **true**<br><p> The name of the repository that contains the package versions to be copied. </p><br>
    ///   - [`destination_repository(impl Into<String>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::destination_repository) / [`set_destination_repository(Option<String>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::set_destination_repository):<br>required: **true**<br><p> The name of the repository into which package versions are copied. </p><br>
    ///   - [`format(PackageFormat)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::format) / [`set_format(Option<PackageFormat>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::set_format):<br>required: **true**<br><p> The format of the package versions to be copied. </p><br>
    ///   - [`namespace(impl Into<String>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::namespace) / [`set_namespace(Option<String>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::set_namespace):<br>required: **false**<br><p>The namespace of the package versions to be copied. The package version component that specifies its namespace depends on its type. For example:</p>  <ul>   <li> <p> The namespace of a Maven package version is its <code>groupId</code>. The namespace is required when copying Maven package versions. </p> </li>   <li> <p> The namespace of an npm package version is its <code>scope</code>. </p> </li>   <li> <p> Python and NuGet package versions do not contain a corresponding component, package versions of those formats do not have a namespace. </p> </li>   <li> <p> The namespace of a generic package is its <code>namespace</code>. </p> </li>  </ul><br>
    ///   - [`package(impl Into<String>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::package) / [`set_package(Option<String>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::set_package):<br>required: **true**<br><p> The name of the package that contains the versions to be copied. </p><br>
    ///   - [`versions(impl Into<String>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::versions) / [`set_versions(Option<Vec::<String>>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::set_versions):<br>required: **false**<br><p> The versions of the package to be copied. </p> <note>   <p> You must specify <code>versions</code> or <code>versionRevisions</code>. You cannot specify both. </p>  </note><br>
    ///   - [`version_revisions(impl Into<String>, impl Into<String>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::version_revisions) / [`set_version_revisions(Option<HashMap::<String, String>>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::set_version_revisions):<br>required: **false**<br><p> A list of key-value pairs. The keys are package versions and the values are package version revisions. A <code>CopyPackageVersion</code> operation succeeds if the specified versions in the source repository match the specified package version revision. </p> <note>   <p> You must specify <code>versions</code> or <code>versionRevisions</code>. You cannot specify both. </p>  </note><br>
    ///   - [`allow_overwrite(bool)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::allow_overwrite) / [`set_allow_overwrite(Option<bool>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::set_allow_overwrite):<br>required: **false**<br><p> 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 <code>failedVersions</code> field of the response with an <code>ALREADY_EXISTS</code> error code. </p><br>
    ///   - [`include_from_upstream(bool)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::include_from_upstream) / [`set_include_from_upstream(Option<bool>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::set_include_from_upstream):<br>required: **false**<br><p> 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 <a href="https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html">Working with upstream repositories</a>. </p><br>
    /// - On success, responds with [`CopyPackageVersionsOutput`](crate::operation::copy_package_versions::CopyPackageVersionsOutput) with field(s):
    ///   - [`successful_versions(Option<HashMap::<String, SuccessfulPackageVersionInfo>>)`](crate::operation::copy_package_versions::CopyPackageVersionsOutput::successful_versions): <p> A list of the package versions that were successfully copied to your repository. </p>
    ///   - [`failed_versions(Option<HashMap::<String, PackageVersionError>>)`](crate::operation::copy_package_versions::CopyPackageVersionsOutput::failed_versions): <p> A map of package versions that failed to copy and their error codes. The possible error codes are in the <code>PackageVersionError</code> data type. They are: </p>  <ul>   <li> <p> <code>ALREADY_EXISTS</code> </p> </li>   <li> <p> <code>MISMATCHED_REVISION</code> </p> </li>   <li> <p> <code>MISMATCHED_STATUS</code> </p> </li>   <li> <p> <code>NOT_ALLOWED</code> </p> </li>   <li> <p> <code>NOT_FOUND</code> </p> </li>   <li> <p> <code>SKIPPED</code> </p> </li>  </ul>
    /// - On failure, responds with [`SdkError<CopyPackageVersionsError>`](crate::operation::copy_package_versions::CopyPackageVersionsError)
    pub fn copy_package_versions(&self) -> crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder {
        crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::new(self.handle.clone())
    }
}