software.amazon.awscdk.AutoScalingReplacingUpdate Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cdk Show documentation
Show all versions of cdk Show documentation
AWS Cloud Development Kit Core Library
package software.amazon.awscdk;
/**
* Specifies whether an Auto Scaling group and the instances it contains are replaced during an update.
*
* During replacement,
* AWS CloudFormation retains the old group until it finishes creating the new one. If the update fails, AWS CloudFormation
* can roll back to the old Auto Scaling group and delete the new Auto Scaling group.
*
* While AWS CloudFormation creates the new group, it doesn't detach or attach any instances. After successfully creating
* the new Auto Scaling group, AWS CloudFormation deletes the old Auto Scaling group during the cleanup process.
*
* When you set the WillReplace parameter, remember to specify a matching CreationPolicy. If the minimum number of
* instances (specified by the MinSuccessfulInstancesPercent property) don't signal success within the Timeout period
* (specified in the CreationPolicy policy), the replacement update fails and AWS CloudFormation rolls back to the old
* Auto Scaling group.
*/
@javax.annotation.Generated(value = "jsii-pacmak/0.10.5 (build 46bc9b0)", date = "2019-05-06T20:49:40.933Z")
public interface AutoScalingReplacingUpdate extends software.amazon.jsii.JsiiSerializable {
java.lang.Boolean getWillReplace();
/**
* @return a {@link Builder} of {@link AutoScalingReplacingUpdate}
*/
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link AutoScalingReplacingUpdate}
*/
final class Builder {
@javax.annotation.Nullable
private java.lang.Boolean _willReplace;
/**
* Sets the value of WillReplace
* @param value the value to be set
* @return {@code this}
*/
public Builder withWillReplace(@javax.annotation.Nullable final java.lang.Boolean value) {
this._willReplace = value;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link AutoScalingReplacingUpdate}
* @throws NullPointerException if any required attribute was not provided
*/
public AutoScalingReplacingUpdate build() {
return new AutoScalingReplacingUpdate() {
@javax.annotation.Nullable
private final java.lang.Boolean $willReplace = _willReplace;
@Override
public java.lang.Boolean getWillReplace() {
return this.$willReplace;
}
public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
obj.set("willReplace", om.valueToTree(this.getWillReplace()));
return obj;
}
};
}
}
/**
* A proxy class which represents a concrete javascript instance of this type.
*/
final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.awscdk.AutoScalingReplacingUpdate {
protected Jsii$Proxy(final software.amazon.jsii.JsiiObject.InitializationMode mode) {
super(mode);
}
@Override
@javax.annotation.Nullable
public java.lang.Boolean getWillReplace() {
return this.jsiiGet("willReplace", java.lang.Boolean.class);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy