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

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

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

/**
 * When AWS CloudFormation creates the associated resource, configures the number of required success signals and the length of time that AWS CloudFormation waits for those signals.
 */
@javax.annotation.Generated(value = "jsii-pacmak/0.10.5 (build 46bc9b0)", date = "2019-05-06T20:49:40.956Z")
public interface ResourceSignal extends software.amazon.jsii.JsiiSerializable {
    /**
     * The number of success signals AWS CloudFormation must receive before it sets the resource status as CREATE_COMPLETE. If the resource receives a failure signal or doesn't receive the specified number of signals before the timeout period expires, the resource creation fails and AWS CloudFormation rolls the stack back.
     */
    java.lang.Number getCount();
    /**
     * The length of time that AWS CloudFormation waits for the number of signals that was specified in the Count property. The timeout period starts after AWS CloudFormation starts creating the resource, and the timeout expires no sooner than the time you specify but can occur shortly thereafter. The maximum time that you can specify is 12 hours.
     */
    java.lang.String getTimeout();

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

    /**
     * A builder for {@link ResourceSignal}
     */
    final class Builder {
        @javax.annotation.Nullable
        private java.lang.Number _count;
        @javax.annotation.Nullable
        private java.lang.String _timeout;

        /**
         * Sets the value of Count
         * @param value The number of success signals AWS CloudFormation must receive before it sets the resource status as CREATE_COMPLETE. If the resource receives a failure signal or doesn't receive the specified number of signals before the timeout period expires, the resource creation fails and AWS CloudFormation rolls the stack back.
         * @return {@code this}
         */
        public Builder withCount(@javax.annotation.Nullable final java.lang.Number value) {
            this._count = value;
            return this;
        }
        /**
         * Sets the value of Timeout
         * @param value The length of time that AWS CloudFormation waits for the number of signals that was specified in the Count property. The timeout period starts after AWS CloudFormation starts creating the resource, and the timeout expires no sooner than the time you specify but can occur shortly thereafter. The maximum time that you can specify is 12 hours.
         * @return {@code this}
         */
        public Builder withTimeout(@javax.annotation.Nullable final java.lang.String value) {
            this._timeout = value;
            return this;
        }

        /**
         * Builds the configured instance.
         * @return a new instance of {@link ResourceSignal}
         * @throws NullPointerException if any required attribute was not provided
         */
        public ResourceSignal build() {
            return new ResourceSignal() {
                @javax.annotation.Nullable
                private final java.lang.Number $count = _count;
                @javax.annotation.Nullable
                private final java.lang.String $timeout = _timeout;

                @Override
                public java.lang.Number getCount() {
                    return this.$count;
                }

                @Override
                public java.lang.String getTimeout() {
                    return this.$timeout;
                }

                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("count", om.valueToTree(this.getCount()));
                    obj.set("timeout", om.valueToTree(this.getTimeout()));
                    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.ResourceSignal {
        protected Jsii$Proxy(final software.amazon.jsii.JsiiObject.InitializationMode mode) {
            super(mode);
        }

        /**
         * The number of success signals AWS CloudFormation must receive before it sets the resource status as CREATE_COMPLETE. If the resource receives a failure signal or doesn't receive the specified number of signals before the timeout period expires, the resource creation fails and AWS CloudFormation rolls the stack back.
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.Number getCount() {
            return this.jsiiGet("count", java.lang.Number.class);
        }

        /**
         * The length of time that AWS CloudFormation waits for the number of signals that was specified in the Count property. The timeout period starts after AWS CloudFormation starts creating the resource, and the timeout expires no sooner than the time you specify but can occur shortly thereafter. The maximum time that you can specify is 12 hours.
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.String getTimeout() {
            return this.jsiiGet("timeout", java.lang.String.class);
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy