Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
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.
/*
* 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 extends Builder> 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;
}
}
}