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

software.amazon.awscdk.AutoScalingScheduledAction Maven / Gradle / Ivy

There is a newer version: 0.36.1
Show newest version
package software.amazon.awscdk;

/**
 * With scheduled actions, the group size properties of an Auto Scaling group can change at any time.
 * 
 * When you update a
 * stack with an Auto Scaling group and scheduled action, AWS CloudFormation always sets the group size property values of
 * your Auto Scaling group to the values that are defined in the AWS::AutoScaling::AutoScalingGroup resource of your template,
 * even if a scheduled action is in effect.
 * 
 * If you do not want AWS CloudFormation to change any of the group size property values when you have a scheduled action in
 * effect, use the AutoScalingScheduledAction update policy to prevent AWS CloudFormation from changing the MinSize, MaxSize,
 * or DesiredCapacity properties unless you have modified these values in your template.\
 */
@javax.annotation.Generated(value = "jsii-pacmak/0.10.5 (build 46bc9b0)", date = "2019-05-06T20:49:40.934Z")
public interface AutoScalingScheduledAction extends software.amazon.jsii.JsiiSerializable {
    java.lang.Boolean getIgnoreUnmodifiedGroupSizeProperties();

    /**
     * @return a {@link Builder} of {@link AutoScalingScheduledAction}
     */
    static Builder builder() {
        return new Builder();
    }

    /**
     * A builder for {@link AutoScalingScheduledAction}
     */
    final class Builder {
        @javax.annotation.Nullable
        private java.lang.Boolean _ignoreUnmodifiedGroupSizeProperties;

        /**
         * Sets the value of IgnoreUnmodifiedGroupSizeProperties
         * @param value the value to be set
         * @return {@code this}
         */
        public Builder withIgnoreUnmodifiedGroupSizeProperties(@javax.annotation.Nullable final java.lang.Boolean value) {
            this._ignoreUnmodifiedGroupSizeProperties = value;
            return this;
        }

        /**
         * Builds the configured instance.
         * @return a new instance of {@link AutoScalingScheduledAction}
         * @throws NullPointerException if any required attribute was not provided
         */
        public AutoScalingScheduledAction build() {
            return new AutoScalingScheduledAction() {
                @javax.annotation.Nullable
                private final java.lang.Boolean $ignoreUnmodifiedGroupSizeProperties = _ignoreUnmodifiedGroupSizeProperties;

                @Override
                public java.lang.Boolean getIgnoreUnmodifiedGroupSizeProperties() {
                    return this.$ignoreUnmodifiedGroupSizeProperties;
                }

                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("ignoreUnmodifiedGroupSizeProperties", om.valueToTree(this.getIgnoreUnmodifiedGroupSizeProperties()));
                    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.AutoScalingScheduledAction {
        protected Jsii$Proxy(final software.amazon.jsii.JsiiObject.InitializationMode mode) {
            super(mode);
        }

        @Override
        @javax.annotation.Nullable
        public java.lang.Boolean getIgnoreUnmodifiedGroupSizeProperties() {
            return this.jsiiGet("ignoreUnmodifiedGroupSizeProperties", java.lang.Boolean.class);
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy