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.opensearch.model.UpgradeDomainResponse Maven / Gradle / Ivy
Go to download
The AWS Java SDK for Open Search module holds the client classes that are used for
communicating with Open Search.
/*
* 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.opensearch.model;
import java.util.Arrays;
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.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.LocationTrait;
import software.amazon.awssdk.core.traits.MapTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructMap;
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;
/**
*
* Container for the response returned by UpgradeDomain
operation.
*
*/
@Generated("software.amazon.awssdk:codegen")
public final class UpgradeDomainResponse extends OpenSearchResponse implements
ToCopyableBuilder {
private static final SdkField UPGRADE_ID_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("UpgradeId").getter(getter(UpgradeDomainResponse::upgradeId)).setter(setter(Builder::upgradeId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("UpgradeId").build()).build();
private static final SdkField DOMAIN_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("DomainName").getter(getter(UpgradeDomainResponse::domainName)).setter(setter(Builder::domainName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DomainName").build()).build();
private static final SdkField TARGET_VERSION_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("TargetVersion").getter(getter(UpgradeDomainResponse::targetVersion))
.setter(setter(Builder::targetVersion))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("TargetVersion").build()).build();
private static final SdkField PERFORM_CHECK_ONLY_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("PerformCheckOnly").getter(getter(UpgradeDomainResponse::performCheckOnly))
.setter(setter(Builder::performCheckOnly))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PerformCheckOnly").build()).build();
private static final SdkField> ADVANCED_OPTIONS_FIELD = SdkField
.> builder(MarshallingType.MAP)
.memberName("AdvancedOptions")
.getter(getter(UpgradeDomainResponse::advancedOptions))
.setter(setter(Builder::advancedOptions))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AdvancedOptions").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 CHANGE_PROGRESS_DETAILS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("ChangeProgressDetails")
.getter(getter(UpgradeDomainResponse::changeProgressDetails)).setter(setter(Builder::changeProgressDetails))
.constructor(ChangeProgressDetails::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ChangeProgressDetails").build())
.build();
private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(UPGRADE_ID_FIELD,
DOMAIN_NAME_FIELD, TARGET_VERSION_FIELD, PERFORM_CHECK_ONLY_FIELD, ADVANCED_OPTIONS_FIELD,
CHANGE_PROGRESS_DETAILS_FIELD));
private final String upgradeId;
private final String domainName;
private final String targetVersion;
private final Boolean performCheckOnly;
private final Map advancedOptions;
private final ChangeProgressDetails changeProgressDetails;
private UpgradeDomainResponse(BuilderImpl builder) {
super(builder);
this.upgradeId = builder.upgradeId;
this.domainName = builder.domainName;
this.targetVersion = builder.targetVersion;
this.performCheckOnly = builder.performCheckOnly;
this.advancedOptions = builder.advancedOptions;
this.changeProgressDetails = builder.changeProgressDetails;
}
/**
*
* The unique identifier of the domain upgrade.
*
*
* @return The unique identifier of the domain upgrade.
*/
public final String upgradeId() {
return upgradeId;
}
/**
*
* The name of the domain that was upgraded.
*
*
* @return The name of the domain that was upgraded.
*/
public final String domainName() {
return domainName;
}
/**
*
* OpenSearch or Elasticsearch version that the domain was upgraded to.
*
*
* @return OpenSearch or Elasticsearch version that the domain was upgraded to.
*/
public final String targetVersion() {
return targetVersion;
}
/**
*
* When true, indicates that an upgrade eligibility check was performed.
*
*
* @return When true, indicates that an upgrade eligibility check was performed.
*/
public final Boolean performCheckOnly() {
return performCheckOnly;
}
/**
* For responses, this returns true if the service returned a value for the AdvancedOptions property. This DOES NOT
* check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property).
* This is useful because the SDK will never return a null collection or map, but you may need to differentiate
* between the service returning nothing (or null) and the service returning an empty collection or map. For
* requests, this returns true if a value for the property was specified in the request builder, and false if a
* value was not specified.
*/
public final boolean hasAdvancedOptions() {
return advancedOptions != null && !(advancedOptions instanceof SdkAutoConstructMap);
}
/**
*
* The advanced options configuration for the domain.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasAdvancedOptions} method.
*
*
* @return The advanced options configuration for the domain.
*/
public final Map advancedOptions() {
return advancedOptions;
}
/**
*
* Container for information about a configuration change happening on a domain.
*
*
* @return Container for information about a configuration change happening on a domain.
*/
public final ChangeProgressDetails changeProgressDetails() {
return changeProgressDetails;
}
@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(upgradeId());
hashCode = 31 * hashCode + Objects.hashCode(domainName());
hashCode = 31 * hashCode + Objects.hashCode(targetVersion());
hashCode = 31 * hashCode + Objects.hashCode(performCheckOnly());
hashCode = 31 * hashCode + Objects.hashCode(hasAdvancedOptions() ? advancedOptions() : null);
hashCode = 31 * hashCode + Objects.hashCode(changeProgressDetails());
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 UpgradeDomainResponse)) {
return false;
}
UpgradeDomainResponse other = (UpgradeDomainResponse) obj;
return Objects.equals(upgradeId(), other.upgradeId()) && Objects.equals(domainName(), other.domainName())
&& Objects.equals(targetVersion(), other.targetVersion())
&& Objects.equals(performCheckOnly(), other.performCheckOnly())
&& hasAdvancedOptions() == other.hasAdvancedOptions()
&& Objects.equals(advancedOptions(), other.advancedOptions())
&& Objects.equals(changeProgressDetails(), other.changeProgressDetails());
}
/**
* 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("UpgradeDomainResponse").add("UpgradeId", upgradeId()).add("DomainName", domainName())
.add("TargetVersion", targetVersion()).add("PerformCheckOnly", performCheckOnly())
.add("AdvancedOptions", hasAdvancedOptions() ? advancedOptions() : null)
.add("ChangeProgressDetails", changeProgressDetails()).build();
}
public final Optional getValueForField(String fieldName, Class clazz) {
switch (fieldName) {
case "UpgradeId":
return Optional.ofNullable(clazz.cast(upgradeId()));
case "DomainName":
return Optional.ofNullable(clazz.cast(domainName()));
case "TargetVersion":
return Optional.ofNullable(clazz.cast(targetVersion()));
case "PerformCheckOnly":
return Optional.ofNullable(clazz.cast(performCheckOnly()));
case "AdvancedOptions":
return Optional.ofNullable(clazz.cast(advancedOptions()));
case "ChangeProgressDetails":
return Optional.ofNullable(clazz.cast(changeProgressDetails()));
default:
return Optional.empty();
}
}
@Override
public final List> sdkFields() {
return SDK_FIELDS;
}
private static Function getter(Function g) {
return obj -> g.apply((UpgradeDomainResponse) obj);
}
private static BiConsumer setter(BiConsumer s) {
return (obj, val) -> s.accept((Builder) obj, val);
}
public interface Builder extends OpenSearchResponse.Builder, SdkPojo, CopyableBuilder {
/**
*
* The unique identifier of the domain upgrade.
*
*
* @param upgradeId
* The unique identifier of the domain upgrade.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder upgradeId(String upgradeId);
/**
*
* The name of the domain that was upgraded.
*
*
* @param domainName
* The name of the domain that was upgraded.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder domainName(String domainName);
/**
*
* OpenSearch or Elasticsearch version that the domain was upgraded to.
*
*
* @param targetVersion
* OpenSearch or Elasticsearch version that the domain was upgraded to.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder targetVersion(String targetVersion);
/**
*
* When true, indicates that an upgrade eligibility check was performed.
*
*
* @param performCheckOnly
* When true, indicates that an upgrade eligibility check was performed.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder performCheckOnly(Boolean performCheckOnly);
/**
*
* The advanced options configuration for the domain.
*
*
* @param advancedOptions
* The advanced options configuration for the domain.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder advancedOptions(Map advancedOptions);
/**
*
* Container for information about a configuration change happening on a domain.
*
*
* @param changeProgressDetails
* Container for information about a configuration change happening on a domain.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder changeProgressDetails(ChangeProgressDetails changeProgressDetails);
/**
*
* Container for information about a configuration change happening on a domain.
*
* This is a convenience method that creates an instance of the {@link ChangeProgressDetails.Builder} avoiding
* the need to create one manually via {@link ChangeProgressDetails#builder()}.
*
*
* When the {@link Consumer} completes, {@link ChangeProgressDetails.Builder#build()} is called immediately and
* its result is passed to {@link #changeProgressDetails(ChangeProgressDetails)}.
*
* @param changeProgressDetails
* a consumer that will call methods on {@link ChangeProgressDetails.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #changeProgressDetails(ChangeProgressDetails)
*/
default Builder changeProgressDetails(Consumer changeProgressDetails) {
return changeProgressDetails(ChangeProgressDetails.builder().applyMutation(changeProgressDetails).build());
}
}
static final class BuilderImpl extends OpenSearchResponse.BuilderImpl implements Builder {
private String upgradeId;
private String domainName;
private String targetVersion;
private Boolean performCheckOnly;
private Map advancedOptions = DefaultSdkAutoConstructMap.getInstance();
private ChangeProgressDetails changeProgressDetails;
private BuilderImpl() {
}
private BuilderImpl(UpgradeDomainResponse model) {
super(model);
upgradeId(model.upgradeId);
domainName(model.domainName);
targetVersion(model.targetVersion);
performCheckOnly(model.performCheckOnly);
advancedOptions(model.advancedOptions);
changeProgressDetails(model.changeProgressDetails);
}
public final String getUpgradeId() {
return upgradeId;
}
public final void setUpgradeId(String upgradeId) {
this.upgradeId = upgradeId;
}
@Override
public final Builder upgradeId(String upgradeId) {
this.upgradeId = upgradeId;
return this;
}
public final String getDomainName() {
return domainName;
}
public final void setDomainName(String domainName) {
this.domainName = domainName;
}
@Override
public final Builder domainName(String domainName) {
this.domainName = domainName;
return this;
}
public final String getTargetVersion() {
return targetVersion;
}
public final void setTargetVersion(String targetVersion) {
this.targetVersion = targetVersion;
}
@Override
public final Builder targetVersion(String targetVersion) {
this.targetVersion = targetVersion;
return this;
}
public final Boolean getPerformCheckOnly() {
return performCheckOnly;
}
public final void setPerformCheckOnly(Boolean performCheckOnly) {
this.performCheckOnly = performCheckOnly;
}
@Override
public final Builder performCheckOnly(Boolean performCheckOnly) {
this.performCheckOnly = performCheckOnly;
return this;
}
public final Map getAdvancedOptions() {
if (advancedOptions instanceof SdkAutoConstructMap) {
return null;
}
return advancedOptions;
}
public final void setAdvancedOptions(Map advancedOptions) {
this.advancedOptions = AdvancedOptionsCopier.copy(advancedOptions);
}
@Override
public final Builder advancedOptions(Map advancedOptions) {
this.advancedOptions = AdvancedOptionsCopier.copy(advancedOptions);
return this;
}
public final ChangeProgressDetails.Builder getChangeProgressDetails() {
return changeProgressDetails != null ? changeProgressDetails.toBuilder() : null;
}
public final void setChangeProgressDetails(ChangeProgressDetails.BuilderImpl changeProgressDetails) {
this.changeProgressDetails = changeProgressDetails != null ? changeProgressDetails.build() : null;
}
@Override
public final Builder changeProgressDetails(ChangeProgressDetails changeProgressDetails) {
this.changeProgressDetails = changeProgressDetails;
return this;
}
@Override
public UpgradeDomainResponse build() {
return new UpgradeDomainResponse(this);
}
@Override
public List> sdkFields() {
return SDK_FIELDS;
}
}
}