1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// 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): <p> The name of the domain that contains the source and destination repositories. </p>
    ///   - [`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): <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
    ///   - [`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): <p> The name of the repository that contains the package versions to be copied. </p>
    ///   - [`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): <p> The name of the repository into which package versions are copied. </p>
    ///   - [`format(PackageFormat)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::format) / [`set_format(Option<PackageFormat>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::set_format): <p> The format of the package versions to be copied. </p>
    ///   - [`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): <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>
    ///   - [`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): <p> The name of the package that contains the versions to be copied. </p>
    ///   - [`versions(Vec<String>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::versions) / [`set_versions(Option<Vec<String>>)`](crate::operation::copy_package_versions::builders::CopyPackageVersionsFluentBuilder::set_versions): <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>
    ///   - [`version_revisions(HashMap<String, 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): <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>
    ///   - [`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): <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>
    ///   - [`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): <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>
    /// - 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(),
        )
    }
}