com.hashicorp.cdktf.Precondition Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cdktf Show documentation
Show all versions of cdktf Show documentation
Cloud Development Kit for Terraform
The newest version!
package com.hashicorp.cdktf;
/**
* (experimental) Terraform checks a precondition before evaluating the object it is associated with.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.102.0 (build e354887)", date = "2024-11-11T10:07:42.094Z")
@software.amazon.jsii.Jsii(module = com.hashicorp.cdktf.$Module.class, fqn = "cdktf.Precondition")
@software.amazon.jsii.Jsii.Proxy(Precondition.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public interface Precondition extends software.amazon.jsii.JsiiSerializable, com.hashicorp.cdktf.TerraformCondition {
/**
* @return a {@link Builder} of {@link Precondition}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link Precondition}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public static final class Builder implements software.amazon.jsii.Builder {
java.lang.Object condition;
java.lang.String errorMessage;
/**
* Sets the value of {@link Precondition#getCondition}
* @param condition This is a boolean expression that should return true if the intended assumption or guarantee is fulfilled or false if it does not. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder condition(java.lang.Object condition) {
this.condition = condition;
return this;
}
/**
* Sets the value of {@link Precondition#getErrorMessage}
* @param errorMessage This contains the text that Terraform will include as part of error messages when it detects an unmet condition. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder errorMessage(java.lang.String errorMessage) {
this.errorMessage = errorMessage;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link Precondition}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public Precondition build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link Precondition}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements Precondition {
private final java.lang.Object condition;
private final java.lang.String errorMessage;
/**
* Constructor that initializes the object based on values retrieved from the JsiiObject.
* @param objRef Reference to the JSII managed object.
*/
protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
this.condition = software.amazon.jsii.Kernel.get(this, "condition", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.errorMessage = software.amazon.jsii.Kernel.get(this, "errorMessage", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
protected Jsii$Proxy(final Builder builder) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.condition = java.util.Objects.requireNonNull(builder.condition, "condition is required");
this.errorMessage = java.util.Objects.requireNonNull(builder.errorMessage, "errorMessage is required");
}
@Override
public final java.lang.Object getCondition() {
return this.condition;
}
@Override
public final java.lang.String getErrorMessage() {
return this.errorMessage;
}
@Override
@software.amazon.jsii.Internal
public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
data.set("condition", om.valueToTree(this.getCondition()));
data.set("errorMessage", om.valueToTree(this.getErrorMessage()));
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("cdktf.Precondition"));
struct.set("data", data);
final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
obj.set("$jsii.struct", struct);
return obj;
}
@Override
public final boolean equals(final Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Precondition.Jsii$Proxy that = (Precondition.Jsii$Proxy) o;
if (!condition.equals(that.condition)) return false;
return this.errorMessage.equals(that.errorMessage);
}
@Override
public final int hashCode() {
int result = this.condition.hashCode();
result = 31 * result + (this.errorMessage.hashCode());
return result;
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy