com.hashicorp.cdktf.AppConfig Maven / Gradle / Ivy
package com.hashicorp.cdktf;
/**
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.98.0 (build 00b106d)", date = "2024-05-27T11:46:31.993Z")
@software.amazon.jsii.Jsii(module = com.hashicorp.cdktf.$Module.class, fqn = "cdktf.AppConfig")
@software.amazon.jsii.Jsii.Proxy(AppConfig.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public interface AppConfig extends software.amazon.jsii.JsiiSerializable {
/**
* (experimental) Additional context values for the application.
*
* Context set by the CLI or the context
key in cdktf.json
has precedence.
*
* Context can be read from any construct using node.getContext(key)
.
*
* Default: - no additional context
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.util.Map getContext() {
return null;
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getHclOutput() {
return null;
}
/**
* (experimental) The directory to output Terraform resources.
*
* If you are using the CDKTF CLI, this value is automatically set from one of the following three sources:
*
*
* - The
-o
/ --output
CLI option
* - The
CDKTF_OUTDIR
environment variable
* - The
outdir
key in cdktf.json
*
*
* If you are using the CDKTF CLI and want to set a different value here, you will also need to set the same value via one of the three ways specified above.
*
* The most common case to set this value is when you are using the CDKTF library directly (e.g. when writing unit tests).
*
* Default: - CDKTF_OUTDIR if defined, otherwise "cdktf.out"
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.String getOutdir() {
return null;
}
/**
* (experimental) Whether to skip backend validation during synthesis of the app.
*
* Default: - false
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getSkipBackendValidation() {
return null;
}
/**
* (experimental) Whether to skip all validations during synthesis of the app.
*
* Default: - false
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getSkipValidation() {
return null;
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getStackTraces() {
return null;
}
/**
* @return a {@link Builder} of {@link AppConfig}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link AppConfig}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public static final class Builder implements software.amazon.jsii.Builder {
java.util.Map context;
java.lang.Boolean hclOutput;
java.lang.String outdir;
java.lang.Boolean skipBackendValidation;
java.lang.Boolean skipValidation;
java.lang.Boolean stackTraces;
/**
* Sets the value of {@link AppConfig#getContext}
* @param context Additional context values for the application.
* Context set by the CLI or the context
key in cdktf.json
has precedence.
*
* Context can be read from any construct using node.getContext(key)
.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@SuppressWarnings("unchecked")
public Builder context(java.util.Map context) {
this.context = (java.util.Map)context;
return this;
}
/**
* Sets the value of {@link AppConfig#getHclOutput}
* @param hclOutput the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder hclOutput(java.lang.Boolean hclOutput) {
this.hclOutput = hclOutput;
return this;
}
/**
* Sets the value of {@link AppConfig#getOutdir}
* @param outdir The directory to output Terraform resources.
* If you are using the CDKTF CLI, this value is automatically set from one of the following three sources:
*
*
* - The
-o
/ --output
CLI option
* - The
CDKTF_OUTDIR
environment variable
* - The
outdir
key in cdktf.json
*
*
* If you are using the CDKTF CLI and want to set a different value here, you will also need to set the same value via one of the three ways specified above.
*
* The most common case to set this value is when you are using the CDKTF library directly (e.g. when writing unit tests).
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder outdir(java.lang.String outdir) {
this.outdir = outdir;
return this;
}
/**
* Sets the value of {@link AppConfig#getSkipBackendValidation}
* @param skipBackendValidation Whether to skip backend validation during synthesis of the app.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder skipBackendValidation(java.lang.Boolean skipBackendValidation) {
this.skipBackendValidation = skipBackendValidation;
return this;
}
/**
* Sets the value of {@link AppConfig#getSkipValidation}
* @param skipValidation Whether to skip all validations during synthesis of the app.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder skipValidation(java.lang.Boolean skipValidation) {
this.skipValidation = skipValidation;
return this;
}
/**
* Sets the value of {@link AppConfig#getStackTraces}
* @param stackTraces the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder stackTraces(java.lang.Boolean stackTraces) {
this.stackTraces = stackTraces;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link AppConfig}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public AppConfig build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link AppConfig}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements AppConfig {
private final java.util.Map context;
private final java.lang.Boolean hclOutput;
private final java.lang.String outdir;
private final java.lang.Boolean skipBackendValidation;
private final java.lang.Boolean skipValidation;
private final java.lang.Boolean stackTraces;
/**
* 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.context = software.amazon.jsii.Kernel.get(this, "context", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)));
this.hclOutput = software.amazon.jsii.Kernel.get(this, "hclOutput", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
this.outdir = software.amazon.jsii.Kernel.get(this, "outdir", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.skipBackendValidation = software.amazon.jsii.Kernel.get(this, "skipBackendValidation", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
this.skipValidation = software.amazon.jsii.Kernel.get(this, "skipValidation", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
this.stackTraces = software.amazon.jsii.Kernel.get(this, "stackTraces", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
@SuppressWarnings("unchecked")
protected Jsii$Proxy(final Builder builder) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.context = (java.util.Map)builder.context;
this.hclOutput = builder.hclOutput;
this.outdir = builder.outdir;
this.skipBackendValidation = builder.skipBackendValidation;
this.skipValidation = builder.skipValidation;
this.stackTraces = builder.stackTraces;
}
@Override
public final java.util.Map getContext() {
return this.context;
}
@Override
public final java.lang.Boolean getHclOutput() {
return this.hclOutput;
}
@Override
public final java.lang.String getOutdir() {
return this.outdir;
}
@Override
public final java.lang.Boolean getSkipBackendValidation() {
return this.skipBackendValidation;
}
@Override
public final java.lang.Boolean getSkipValidation() {
return this.skipValidation;
}
@Override
public final java.lang.Boolean getStackTraces() {
return this.stackTraces;
}
@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();
if (this.getContext() != null) {
data.set("context", om.valueToTree(this.getContext()));
}
if (this.getHclOutput() != null) {
data.set("hclOutput", om.valueToTree(this.getHclOutput()));
}
if (this.getOutdir() != null) {
data.set("outdir", om.valueToTree(this.getOutdir()));
}
if (this.getSkipBackendValidation() != null) {
data.set("skipBackendValidation", om.valueToTree(this.getSkipBackendValidation()));
}
if (this.getSkipValidation() != null) {
data.set("skipValidation", om.valueToTree(this.getSkipValidation()));
}
if (this.getStackTraces() != null) {
data.set("stackTraces", om.valueToTree(this.getStackTraces()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("cdktf.AppConfig"));
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;
AppConfig.Jsii$Proxy that = (AppConfig.Jsii$Proxy) o;
if (this.context != null ? !this.context.equals(that.context) : that.context != null) return false;
if (this.hclOutput != null ? !this.hclOutput.equals(that.hclOutput) : that.hclOutput != null) return false;
if (this.outdir != null ? !this.outdir.equals(that.outdir) : that.outdir != null) return false;
if (this.skipBackendValidation != null ? !this.skipBackendValidation.equals(that.skipBackendValidation) : that.skipBackendValidation != null) return false;
if (this.skipValidation != null ? !this.skipValidation.equals(that.skipValidation) : that.skipValidation != null) return false;
return this.stackTraces != null ? this.stackTraces.equals(that.stackTraces) : that.stackTraces == null;
}
@Override
public final int hashCode() {
int result = this.context != null ? this.context.hashCode() : 0;
result = 31 * result + (this.hclOutput != null ? this.hclOutput.hashCode() : 0);
result = 31 * result + (this.outdir != null ? this.outdir.hashCode() : 0);
result = 31 * result + (this.skipBackendValidation != null ? this.skipBackendValidation.hashCode() : 0);
result = 31 * result + (this.skipValidation != null ? this.skipValidation.hashCode() : 0);
result = 31 * result + (this.stackTraces != null ? this.stackTraces.hashCode() : 0);
return result;
}
}
}