org.mongodb.awscdk.resources.mongodbatlas.CfnClusterPropsBiConnector Maven / Gradle / Ivy
Show all versions of awscdk-resources-mongodbatlas Show documentation
package org.mongodb.awscdk.resources.mongodbatlas;
/**
* Settings needed to configure the MongoDB Connector for Business Intelligence for this cluster.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.102.0 (build e354887)", date = "2024-09-27T09:31:28.761Z")
@software.amazon.jsii.Jsii(module = org.mongodb.awscdk.resources.mongodbatlas.$Module.class, fqn = "awscdk-resources-mongodbatlas.CfnClusterPropsBiConnector")
@software.amazon.jsii.Jsii.Proxy(CfnClusterPropsBiConnector.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface CfnClusterPropsBiConnector extends software.amazon.jsii.JsiiSerializable {
/**
* Flag that indicates whether MongoDB Connector for Business Intelligence is enabled on the specified cluster.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getEnabled() {
return null;
}
/**
* Data source node designated for the MongoDB Connector for Business Intelligence on MongoDB Cloud.
*
* The MongoDB Connector for Business Intelligence on MongoDB Cloud reads data from the primary, secondary, or analytics node based on your read preferences. Defaults to ANALYTICS node, or SECONDARY if there are no ANALYTICS nodes.
*
* Default: ANALYTICS node, or SECONDARY if there are no ANALYTICS nodes.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getReadPreference() {
return null;
}
/**
* @return a {@link Builder} of {@link CfnClusterPropsBiConnector}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link CfnClusterPropsBiConnector}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
java.lang.Boolean enabled;
java.lang.String readPreference;
/**
* Sets the value of {@link CfnClusterPropsBiConnector#getEnabled}
* @param enabled Flag that indicates whether MongoDB Connector for Business Intelligence is enabled on the specified cluster.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder enabled(java.lang.Boolean enabled) {
this.enabled = enabled;
return this;
}
/**
* Sets the value of {@link CfnClusterPropsBiConnector#getReadPreference}
* @param readPreference Data source node designated for the MongoDB Connector for Business Intelligence on MongoDB Cloud.
* The MongoDB Connector for Business Intelligence on MongoDB Cloud reads data from the primary, secondary, or analytics node based on your read preferences. Defaults to ANALYTICS node, or SECONDARY if there are no ANALYTICS nodes.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder readPreference(java.lang.String readPreference) {
this.readPreference = readPreference;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link CfnClusterPropsBiConnector}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public CfnClusterPropsBiConnector build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link CfnClusterPropsBiConnector}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CfnClusterPropsBiConnector {
private final java.lang.Boolean enabled;
private final java.lang.String readPreference;
/**
* 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.enabled = software.amazon.jsii.Kernel.get(this, "enabled", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
this.readPreference = software.amazon.jsii.Kernel.get(this, "readPreference", 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.enabled = builder.enabled;
this.readPreference = builder.readPreference;
}
@Override
public final java.lang.Boolean getEnabled() {
return this.enabled;
}
@Override
public final java.lang.String getReadPreference() {
return this.readPreference;
}
@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.getEnabled() != null) {
data.set("enabled", om.valueToTree(this.getEnabled()));
}
if (this.getReadPreference() != null) {
data.set("readPreference", om.valueToTree(this.getReadPreference()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("awscdk-resources-mongodbatlas.CfnClusterPropsBiConnector"));
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;
CfnClusterPropsBiConnector.Jsii$Proxy that = (CfnClusterPropsBiConnector.Jsii$Proxy) o;
if (this.enabled != null ? !this.enabled.equals(that.enabled) : that.enabled != null) return false;
return this.readPreference != null ? this.readPreference.equals(that.readPreference) : that.readPreference == null;
}
@Override
public final int hashCode() {
int result = this.enabled != null ? this.enabled.hashCode() : 0;
result = 31 * result + (this.readPreference != null ? this.readPreference.hashCode() : 0);
return result;
}
}
}