All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.codeartifact.model.CopyPackageVersionsRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Codeartifact module holds the client classes that are used for communicating with Codeartifact.

There is a newer version: 2.29.39
Show newest version
/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.codeartifact.model;

import java.beans.Transient;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.ListTrait;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.core.traits.MapTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructList;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructMap;
import software.amazon.awssdk.core.util.SdkAutoConstructList;
import software.amazon.awssdk.core.util.SdkAutoConstructMap;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 */
@Generated("software.amazon.awssdk:codegen")
public final class CopyPackageVersionsRequest extends CodeartifactRequest implements
        ToCopyableBuilder {
    private static final SdkField DOMAIN_FIELD = SdkField. builder(MarshallingType.STRING).memberName("domain")
            .getter(getter(CopyPackageVersionsRequest::domain)).setter(setter(Builder::domain))
            .traits(LocationTrait.builder().location(MarshallLocation.QUERY_PARAM).locationName("domain").build()).build();

    private static final SdkField DOMAIN_OWNER_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("domainOwner").getter(getter(CopyPackageVersionsRequest::domainOwner))
            .setter(setter(Builder::domainOwner))
            .traits(LocationTrait.builder().location(MarshallLocation.QUERY_PARAM).locationName("domain-owner").build()).build();

    private static final SdkField SOURCE_REPOSITORY_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("sourceRepository").getter(getter(CopyPackageVersionsRequest::sourceRepository))
            .setter(setter(Builder::sourceRepository))
            .traits(LocationTrait.builder().location(MarshallLocation.QUERY_PARAM).locationName("source-repository").build())
            .build();

    private static final SdkField DESTINATION_REPOSITORY_FIELD = SdkField
            . builder(MarshallingType.STRING)
            .memberName("destinationRepository")
            .getter(getter(CopyPackageVersionsRequest::destinationRepository))
            .setter(setter(Builder::destinationRepository))
            .traits(LocationTrait.builder().location(MarshallLocation.QUERY_PARAM).locationName("destination-repository").build())
            .build();

    private static final SdkField FORMAT_FIELD = SdkField. builder(MarshallingType.STRING).memberName("format")
            .getter(getter(CopyPackageVersionsRequest::formatAsString)).setter(setter(Builder::format))
            .traits(LocationTrait.builder().location(MarshallLocation.QUERY_PARAM).locationName("format").build()).build();

    private static final SdkField NAMESPACE_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("namespace").getter(getter(CopyPackageVersionsRequest::namespace)).setter(setter(Builder::namespace))
            .traits(LocationTrait.builder().location(MarshallLocation.QUERY_PARAM).locationName("namespace").build()).build();

    private static final SdkField PACKAGE_FIELD = SdkField. builder(MarshallingType.STRING).memberName("package")
            .getter(getter(CopyPackageVersionsRequest::packageValue)).setter(setter(Builder::packageValue))
            .traits(LocationTrait.builder().location(MarshallLocation.QUERY_PARAM).locationName("package").build()).build();

    private static final SdkField> VERSIONS_FIELD = SdkField
            .> builder(MarshallingType.LIST)
            .memberName("versions")
            .getter(getter(CopyPackageVersionsRequest::versions))
            .setter(setter(Builder::versions))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("versions").build(),
                    ListTrait
                            .builder()
                            .memberLocationName(null)
                            .memberFieldInfo(
                                    SdkField. builder(MarshallingType.STRING)
                                            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
                                                    .locationName("member").build()).build()).build()).build();

    private static final SdkField> VERSION_REVISIONS_FIELD = SdkField
            .> builder(MarshallingType.MAP)
            .memberName("versionRevisions")
            .getter(getter(CopyPackageVersionsRequest::versionRevisions))
            .setter(setter(Builder::versionRevisions))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("versionRevisions").build(),
                    MapTrait.builder()
                            .keyLocationName("key")
                            .valueLocationName("value")
                            .valueFieldInfo(
                                    SdkField. builder(MarshallingType.STRING)
                                            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
                                                    .locationName("value").build()).build()).build()).build();

    private static final SdkField ALLOW_OVERWRITE_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
            .memberName("allowOverwrite").getter(getter(CopyPackageVersionsRequest::allowOverwrite))
            .setter(setter(Builder::allowOverwrite))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("allowOverwrite").build()).build();

    private static final SdkField INCLUDE_FROM_UPSTREAM_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
            .memberName("includeFromUpstream").getter(getter(CopyPackageVersionsRequest::includeFromUpstream))
            .setter(setter(Builder::includeFromUpstream))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("includeFromUpstream").build())
            .build();

    private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(DOMAIN_FIELD,
            DOMAIN_OWNER_FIELD, SOURCE_REPOSITORY_FIELD, DESTINATION_REPOSITORY_FIELD, FORMAT_FIELD, NAMESPACE_FIELD,
            PACKAGE_FIELD, VERSIONS_FIELD, VERSION_REVISIONS_FIELD, ALLOW_OVERWRITE_FIELD, INCLUDE_FROM_UPSTREAM_FIELD));

    private final String domain;

    private final String domainOwner;

    private final String sourceRepository;

    private final String destinationRepository;

    private final String format;

    private final String namespace;

    private final String packageValue;

    private final List versions;

    private final Map versionRevisions;

    private final Boolean allowOverwrite;

    private final Boolean includeFromUpstream;

    private CopyPackageVersionsRequest(BuilderImpl builder) {
        super(builder);
        this.domain = builder.domain;
        this.domainOwner = builder.domainOwner;
        this.sourceRepository = builder.sourceRepository;
        this.destinationRepository = builder.destinationRepository;
        this.format = builder.format;
        this.namespace = builder.namespace;
        this.packageValue = builder.packageValue;
        this.versions = builder.versions;
        this.versionRevisions = builder.versionRevisions;
        this.allowOverwrite = builder.allowOverwrite;
        this.includeFromUpstream = builder.includeFromUpstream;
    }

    /**
     * 

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

* * @return The name of the domain that contains the source and destination repositories. */ public final String domain() { return domain; } /** *

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

* * @return The 12-digit account number of the AWS account that owns the domain. It does not include dashes or * spaces. */ public final String domainOwner() { return domainOwner; } /** *

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

* * @return The name of the repository that contains the package versions to copy. */ public final String sourceRepository() { return sourceRepository; } /** *

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

* * @return The name of the repository into which package versions are copied. */ public final String destinationRepository() { return destinationRepository; } /** *

* 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. *

    *
  • *
*

* If the service returns an enum value that is not available in the current SDK version, {@link #format} will * return {@link PackageFormat#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from * {@link #formatAsString}. *

* * @return 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. *

    *
  • * @see PackageFormat */ public final PackageFormat format() { return PackageFormat.fromValue(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. *

      *
    • *
    *

    * If the service returns an enum value that is not available in the current SDK version, {@link #format} will * return {@link PackageFormat#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from * {@link #formatAsString}. *

    * * @return 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. *

      *
    • * @see PackageFormat */ public final String formatAsString() { return format; } /** *

      * 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 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. *

        *
      • */ public final String namespace() { return namespace; } /** *

        * The name of the package that is copied. *

        * * @return The name of the package that is copied. */ public final String packageValue() { return packageValue; } /** * Returns true if the Versions property was specified by the sender (it may be empty), or false if the sender did * not specify the value (it will be empty). For responses returned by the SDK, the sender is the AWS service. */ public final boolean hasVersions() { return versions != null && !(versions instanceof SdkAutoConstructList); } /** *

        * The versions of the package to copy. *

        * *

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

        *
        *

        * Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

        *

        * You can use {@link #hasVersions()} to see if a value was sent in this field. *

        * * @return The versions of the package to copy.

        *

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

        */ public final List versions() { return versions; } /** * Returns true if the VersionRevisions property was specified by the sender (it may be empty), or false if the * sender did not specify the value (it will be empty). For responses returned by the SDK, the sender is the AWS * service. */ public final boolean hasVersionRevisions() { return versionRevisions != null && !(versionRevisions instanceof SdkAutoConstructMap); } /** *

        * 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. *

        * *

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

        *
        *

        * Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

        *

        * You can use {@link #hasVersionRevisions()} to see if a value was sent in this field. *

        * * @return 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.

        *

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

        */ public final Map versionRevisions() { return versionRevisions; } /** *

        * 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 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. */ public final Boolean allowOverwrite() { return allowOverwrite; } /** *

        * 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. *

        * * @return 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. */ public final Boolean includeFromUpstream() { return includeFromUpstream; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public final int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + super.hashCode(); hashCode = 31 * hashCode + Objects.hashCode(domain()); hashCode = 31 * hashCode + Objects.hashCode(domainOwner()); hashCode = 31 * hashCode + Objects.hashCode(sourceRepository()); hashCode = 31 * hashCode + Objects.hashCode(destinationRepository()); hashCode = 31 * hashCode + Objects.hashCode(formatAsString()); hashCode = 31 * hashCode + Objects.hashCode(namespace()); hashCode = 31 * hashCode + Objects.hashCode(packageValue()); hashCode = 31 * hashCode + Objects.hashCode(hasVersions() ? versions() : null); hashCode = 31 * hashCode + Objects.hashCode(hasVersionRevisions() ? versionRevisions() : null); hashCode = 31 * hashCode + Objects.hashCode(allowOverwrite()); hashCode = 31 * hashCode + Objects.hashCode(includeFromUpstream()); return hashCode; } @Override public final boolean equals(Object obj) { return super.equals(obj) && equalsBySdkFields(obj); } @Override public final boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof CopyPackageVersionsRequest)) { return false; } CopyPackageVersionsRequest other = (CopyPackageVersionsRequest) obj; return Objects.equals(domain(), other.domain()) && Objects.equals(domainOwner(), other.domainOwner()) && Objects.equals(sourceRepository(), other.sourceRepository()) && Objects.equals(destinationRepository(), other.destinationRepository()) && Objects.equals(formatAsString(), other.formatAsString()) && Objects.equals(namespace(), other.namespace()) && Objects.equals(packageValue(), other.packageValue()) && hasVersions() == other.hasVersions() && Objects.equals(versions(), other.versions()) && hasVersionRevisions() == other.hasVersionRevisions() && Objects.equals(versionRevisions(), other.versionRevisions()) && Objects.equals(allowOverwrite(), other.allowOverwrite()) && Objects.equals(includeFromUpstream(), other.includeFromUpstream()); } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. */ @Override public final String toString() { return ToString.builder("CopyPackageVersionsRequest").add("Domain", domain()).add("DomainOwner", domainOwner()) .add("SourceRepository", sourceRepository()).add("DestinationRepository", destinationRepository()) .add("Format", formatAsString()).add("Namespace", namespace()).add("Package", packageValue()) .add("Versions", hasVersions() ? versions() : null) .add("VersionRevisions", hasVersionRevisions() ? versionRevisions() : null) .add("AllowOverwrite", allowOverwrite()).add("IncludeFromUpstream", includeFromUpstream()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "domain": return Optional.ofNullable(clazz.cast(domain())); case "domainOwner": return Optional.ofNullable(clazz.cast(domainOwner())); case "sourceRepository": return Optional.ofNullable(clazz.cast(sourceRepository())); case "destinationRepository": return Optional.ofNullable(clazz.cast(destinationRepository())); case "format": return Optional.ofNullable(clazz.cast(formatAsString())); case "namespace": return Optional.ofNullable(clazz.cast(namespace())); case "package": return Optional.ofNullable(clazz.cast(packageValue())); case "versions": return Optional.ofNullable(clazz.cast(versions())); case "versionRevisions": return Optional.ofNullable(clazz.cast(versionRevisions())); case "allowOverwrite": return Optional.ofNullable(clazz.cast(allowOverwrite())); case "includeFromUpstream": return Optional.ofNullable(clazz.cast(includeFromUpstream())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((CopyPackageVersionsRequest) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends CodeartifactRequest.Builder, SdkPojo, CopyableBuilder { /** *

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

        * * @param domain * The name of the domain that contains the source and destination repositories. * @return Returns a reference to this object so that method calls can be chained together. */ Builder domain(String domain); /** *

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

        * * @param domainOwner * The 12-digit account number of the AWS account that owns the domain. It does not include dashes or * spaces. * @return Returns a reference to this object so that method calls can be chained together. */ Builder domainOwner(String domainOwner); /** *

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

        * * @param sourceRepository * The name of the repository that contains the package versions to copy. * @return Returns a reference to this object so that method calls can be chained together. */ Builder sourceRepository(String sourceRepository); /** *

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

        * * @param destinationRepository * The name of the repository into which package versions are copied. * @return Returns a reference to this object so that method calls can be chained together. */ Builder destinationRepository(String destinationRepository); /** *

        * 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. *

          *
        • *
        * * @param 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. *

          *
        • * @see PackageFormat * @return Returns a reference to this object so that method calls can be chained together. * @see PackageFormat */ Builder format(String 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. *

            *
          • *
          * * @param 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. *

            *
          • * @see PackageFormat * @return Returns a reference to this object so that method calls can be chained together. * @see PackageFormat */ Builder format(PackageFormat format); /** *

            * 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. *

              *
            • *
            * * @param 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 Returns a reference to this object so that method calls can be chained together. */ Builder namespace(String namespace); /** *

              * The name of the package that is copied. *

              * * @param packageValue * The name of the package that is copied. * @return Returns a reference to this object so that method calls can be chained together. */ Builder packageValue(String packageValue); /** *

              * The versions of the package to copy. *

              * *

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

              *
              * * @param versions * The versions of the package to copy.

              *

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

              * @return Returns a reference to this object so that method calls can be chained together. */ Builder versions(Collection versions); /** *

              * The versions of the package to copy. *

              * *

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

              *
              * * @param versions * The versions of the package to copy.

              *

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

              * @return Returns a reference to this object so that method calls can be chained together. */ Builder versions(String... versions); /** *

              * 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. *

              * *

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

              *
              * * @param versionRevisions * 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.

              *

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

              * @return Returns a reference to this object so that method calls can be chained together. */ Builder versionRevisions(Map versionRevisions); /** *

              * 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. *

              * * @param allowOverwrite * 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 Returns a reference to this object so that method calls can be chained together. */ Builder allowOverwrite(Boolean allowOverwrite); /** *

              * 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. *

              * * @param includeFromUpstream * 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. * @return Returns a reference to this object so that method calls can be chained together. */ Builder includeFromUpstream(Boolean includeFromUpstream); @Override Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration); @Override Builder overrideConfiguration(Consumer builderConsumer); } static final class BuilderImpl extends CodeartifactRequest.BuilderImpl implements Builder { private String domain; private String domainOwner; private String sourceRepository; private String destinationRepository; private String format; private String namespace; private String packageValue; private List versions = DefaultSdkAutoConstructList.getInstance(); private Map versionRevisions = DefaultSdkAutoConstructMap.getInstance(); private Boolean allowOverwrite; private Boolean includeFromUpstream; private BuilderImpl() { } private BuilderImpl(CopyPackageVersionsRequest model) { super(model); domain(model.domain); domainOwner(model.domainOwner); sourceRepository(model.sourceRepository); destinationRepository(model.destinationRepository); format(model.format); namespace(model.namespace); packageValue(model.packageValue); versions(model.versions); versionRevisions(model.versionRevisions); allowOverwrite(model.allowOverwrite); includeFromUpstream(model.includeFromUpstream); } public final String getDomain() { return domain; } public final void setDomain(String domain) { this.domain = domain; } @Override @Transient public final Builder domain(String domain) { this.domain = domain; return this; } public final String getDomainOwner() { return domainOwner; } public final void setDomainOwner(String domainOwner) { this.domainOwner = domainOwner; } @Override @Transient public final Builder domainOwner(String domainOwner) { this.domainOwner = domainOwner; return this; } public final String getSourceRepository() { return sourceRepository; } public final void setSourceRepository(String sourceRepository) { this.sourceRepository = sourceRepository; } @Override @Transient public final Builder sourceRepository(String sourceRepository) { this.sourceRepository = sourceRepository; return this; } public final String getDestinationRepository() { return destinationRepository; } public final void setDestinationRepository(String destinationRepository) { this.destinationRepository = destinationRepository; } @Override @Transient public final Builder destinationRepository(String destinationRepository) { this.destinationRepository = destinationRepository; return this; } public final String getFormat() { return format; } public final void setFormat(String format) { this.format = format; } @Override @Transient public final Builder format(String format) { this.format = format; return this; } @Override @Transient public final Builder format(PackageFormat format) { this.format(format == null ? null : format.toString()); return this; } public final String getNamespace() { return namespace; } public final void setNamespace(String namespace) { this.namespace = namespace; } @Override @Transient public final Builder namespace(String namespace) { this.namespace = namespace; return this; } public final String getPackageValue() { return packageValue; } public final void setPackageValue(String packageValue) { this.packageValue = packageValue; } @Override @Transient public final Builder packageValue(String packageValue) { this.packageValue = packageValue; return this; } public final Collection getVersions() { if (versions instanceof SdkAutoConstructList) { return null; } return versions; } public final void setVersions(Collection versions) { this.versions = PackageVersionListCopier.copy(versions); } @Override @Transient public final Builder versions(Collection versions) { this.versions = PackageVersionListCopier.copy(versions); return this; } @Override @Transient @SafeVarargs public final Builder versions(String... versions) { versions(Arrays.asList(versions)); return this; } public final Map getVersionRevisions() { if (versionRevisions instanceof SdkAutoConstructMap) { return null; } return versionRevisions; } public final void setVersionRevisions(Map versionRevisions) { this.versionRevisions = PackageVersionRevisionMapCopier.copy(versionRevisions); } @Override @Transient public final Builder versionRevisions(Map versionRevisions) { this.versionRevisions = PackageVersionRevisionMapCopier.copy(versionRevisions); return this; } public final Boolean getAllowOverwrite() { return allowOverwrite; } public final void setAllowOverwrite(Boolean allowOverwrite) { this.allowOverwrite = allowOverwrite; } @Override @Transient public final Builder allowOverwrite(Boolean allowOverwrite) { this.allowOverwrite = allowOverwrite; return this; } public final Boolean getIncludeFromUpstream() { return includeFromUpstream; } public final void setIncludeFromUpstream(Boolean includeFromUpstream) { this.includeFromUpstream = includeFromUpstream; } @Override @Transient public final Builder includeFromUpstream(Boolean includeFromUpstream) { this.includeFromUpstream = includeFromUpstream; return this; } @Override public Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration) { super.overrideConfiguration(overrideConfiguration); return this; } @Override public Builder overrideConfiguration(Consumer builderConsumer) { super.overrideConfiguration(builderConsumer); return this; } @Override public CopyPackageVersionsRequest build() { return new CopyPackageVersionsRequest(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy