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

io.github.cdklabs.cdk.appflow.SnowflakeConnectorProfileProps Maven / Gradle / Ivy

package io.github.cdklabs.cdk.appflow;

/**
 * (experimental) Properties for a Snowflake connectorprofile.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.103.1 (build bef2dea)", date = "2024-09-23T07:35:38.286Z")
@software.amazon.jsii.Jsii(module = io.github.cdklabs.cdk.appflow.$Module.class, fqn = "@cdklabs/cdk-appflow.SnowflakeConnectorProfileProps")
@software.amazon.jsii.Jsii.Proxy(SnowflakeConnectorProfileProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public interface SnowflakeConnectorProfileProps extends software.amazon.jsii.JsiiSerializable, io.github.cdklabs.cdk.appflow.ConnectorProfileProps {

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull java.lang.String getAccount();

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull io.github.cdklabs.cdk.appflow.SnowflakeBasicAuthSettings getBasicAuth();

    /**
     * (experimental) The name of the Snowflake database.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull java.lang.String getDatabase();

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull io.github.cdklabs.cdk.appflow.S3Location getLocation();

    /**
     * (experimental) The name of the Snowflake stage.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull java.lang.String getStage();

    /**
     * (experimental) The name of the Snowflake warehouse.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull java.lang.String getWarehouse();

    /**
     * (experimental) Details of the Snowflake Storage Integration.
     * 

* When provided, this construct will automatically create an IAM Role allowing access to the S3 Bucket which will be available as a [integrationROle property]{@link SnowflakeConnectorProfile#integrationRole } * For details of the integration see {@link https://docs.snowflake.com/en/user-guide/data-load-s3-config-storage-integration} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable io.github.cdklabs.cdk.appflow.SnowflakeStorageIntegration getIntegration() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.String getRegion() { return null; } /** * (experimental) The name of the Snowflake schema. *

* Default: PUBLIC */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.String getSchema() { return null; } /** * @return a {@link Builder} of {@link SnowflakeConnectorProfileProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) static Builder builder() { return new Builder(); } /** * A builder for {@link SnowflakeConnectorProfileProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public static final class Builder implements software.amazon.jsii.Builder { java.lang.String account; io.github.cdklabs.cdk.appflow.SnowflakeBasicAuthSettings basicAuth; java.lang.String database; io.github.cdklabs.cdk.appflow.S3Location location; java.lang.String stage; java.lang.String warehouse; io.github.cdklabs.cdk.appflow.SnowflakeStorageIntegration integration; java.lang.String region; java.lang.String schema; software.amazon.awscdk.services.kms.IKey key; java.lang.String name; /** * Sets the value of {@link SnowflakeConnectorProfileProps#getAccount} * @param account the value to be set. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder account(java.lang.String account) { this.account = account; return this; } /** * Sets the value of {@link SnowflakeConnectorProfileProps#getBasicAuth} * @param basicAuth the value to be set. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder basicAuth(io.github.cdklabs.cdk.appflow.SnowflakeBasicAuthSettings basicAuth) { this.basicAuth = basicAuth; return this; } /** * Sets the value of {@link SnowflakeConnectorProfileProps#getDatabase} * @param database The name of the Snowflake database. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder database(java.lang.String database) { this.database = database; return this; } /** * Sets the value of {@link SnowflakeConnectorProfileProps#getLocation} * @param location the value to be set. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder location(io.github.cdklabs.cdk.appflow.S3Location location) { this.location = location; return this; } /** * Sets the value of {@link SnowflakeConnectorProfileProps#getStage} * @param stage The name of the Snowflake stage. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder stage(java.lang.String stage) { this.stage = stage; return this; } /** * Sets the value of {@link SnowflakeConnectorProfileProps#getWarehouse} * @param warehouse The name of the Snowflake warehouse. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder warehouse(java.lang.String warehouse) { this.warehouse = warehouse; return this; } /** * Sets the value of {@link SnowflakeConnectorProfileProps#getIntegration} * @param integration Details of the Snowflake Storage Integration. * When provided, this construct will automatically create an IAM Role allowing access to the S3 Bucket which will be available as a [integrationROle property]{@link SnowflakeConnectorProfile#integrationRole } * * For details of the integration see {@link https://docs.snowflake.com/en/user-guide/data-load-s3-config-storage-integration} * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder integration(io.github.cdklabs.cdk.appflow.SnowflakeStorageIntegration integration) { this.integration = integration; return this; } /** * Sets the value of {@link SnowflakeConnectorProfileProps#getRegion} * @param region the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder region(java.lang.String region) { this.region = region; return this; } /** * Sets the value of {@link SnowflakeConnectorProfileProps#getSchema} * @param schema The name of the Snowflake schema. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder schema(java.lang.String schema) { this.schema = schema; return this; } /** * Sets the value of {@link SnowflakeConnectorProfileProps#getKey} * @param key TODO: think if this should be here as not all connector profiles have that. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder key(software.amazon.awscdk.services.kms.IKey key) { this.key = key; return this; } /** * Sets the value of {@link SnowflakeConnectorProfileProps#getName} * @param name the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder name(java.lang.String name) { this.name = name; return this; } /** * Builds the configured instance. * @return a new instance of {@link SnowflakeConnectorProfileProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @Override public SnowflakeConnectorProfileProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link SnowflakeConnectorProfileProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements SnowflakeConnectorProfileProps { private final java.lang.String account; private final io.github.cdklabs.cdk.appflow.SnowflakeBasicAuthSettings basicAuth; private final java.lang.String database; private final io.github.cdklabs.cdk.appflow.S3Location location; private final java.lang.String stage; private final java.lang.String warehouse; private final io.github.cdklabs.cdk.appflow.SnowflakeStorageIntegration integration; private final java.lang.String region; private final java.lang.String schema; private final software.amazon.awscdk.services.kms.IKey key; private final java.lang.String name; /** * 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.account = software.amazon.jsii.Kernel.get(this, "account", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.basicAuth = software.amazon.jsii.Kernel.get(this, "basicAuth", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdk.appflow.SnowflakeBasicAuthSettings.class)); this.database = software.amazon.jsii.Kernel.get(this, "database", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.location = software.amazon.jsii.Kernel.get(this, "location", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdk.appflow.S3Location.class)); this.stage = software.amazon.jsii.Kernel.get(this, "stage", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.warehouse = software.amazon.jsii.Kernel.get(this, "warehouse", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.integration = software.amazon.jsii.Kernel.get(this, "integration", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdk.appflow.SnowflakeStorageIntegration.class)); this.region = software.amazon.jsii.Kernel.get(this, "region", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.schema = software.amazon.jsii.Kernel.get(this, "schema", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.key = software.amazon.jsii.Kernel.get(this, "key", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.kms.IKey.class)); this.name = software.amazon.jsii.Kernel.get(this, "name", 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.account = java.util.Objects.requireNonNull(builder.account, "account is required"); this.basicAuth = java.util.Objects.requireNonNull(builder.basicAuth, "basicAuth is required"); this.database = java.util.Objects.requireNonNull(builder.database, "database is required"); this.location = java.util.Objects.requireNonNull(builder.location, "location is required"); this.stage = java.util.Objects.requireNonNull(builder.stage, "stage is required"); this.warehouse = java.util.Objects.requireNonNull(builder.warehouse, "warehouse is required"); this.integration = builder.integration; this.region = builder.region; this.schema = builder.schema; this.key = builder.key; this.name = builder.name; } @Override public final java.lang.String getAccount() { return this.account; } @Override public final io.github.cdklabs.cdk.appflow.SnowflakeBasicAuthSettings getBasicAuth() { return this.basicAuth; } @Override public final java.lang.String getDatabase() { return this.database; } @Override public final io.github.cdklabs.cdk.appflow.S3Location getLocation() { return this.location; } @Override public final java.lang.String getStage() { return this.stage; } @Override public final java.lang.String getWarehouse() { return this.warehouse; } @Override public final io.github.cdklabs.cdk.appflow.SnowflakeStorageIntegration getIntegration() { return this.integration; } @Override public final java.lang.String getRegion() { return this.region; } @Override public final java.lang.String getSchema() { return this.schema; } @Override public final software.amazon.awscdk.services.kms.IKey getKey() { return this.key; } @Override public final java.lang.String getName() { return this.name; } @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("account", om.valueToTree(this.getAccount())); data.set("basicAuth", om.valueToTree(this.getBasicAuth())); data.set("database", om.valueToTree(this.getDatabase())); data.set("location", om.valueToTree(this.getLocation())); data.set("stage", om.valueToTree(this.getStage())); data.set("warehouse", om.valueToTree(this.getWarehouse())); if (this.getIntegration() != null) { data.set("integration", om.valueToTree(this.getIntegration())); } if (this.getRegion() != null) { data.set("region", om.valueToTree(this.getRegion())); } if (this.getSchema() != null) { data.set("schema", om.valueToTree(this.getSchema())); } if (this.getKey() != null) { data.set("key", om.valueToTree(this.getKey())); } if (this.getName() != null) { data.set("name", om.valueToTree(this.getName())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@cdklabs/cdk-appflow.SnowflakeConnectorProfileProps")); 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; SnowflakeConnectorProfileProps.Jsii$Proxy that = (SnowflakeConnectorProfileProps.Jsii$Proxy) o; if (!account.equals(that.account)) return false; if (!basicAuth.equals(that.basicAuth)) return false; if (!database.equals(that.database)) return false; if (!location.equals(that.location)) return false; if (!stage.equals(that.stage)) return false; if (!warehouse.equals(that.warehouse)) return false; if (this.integration != null ? !this.integration.equals(that.integration) : that.integration != null) return false; if (this.region != null ? !this.region.equals(that.region) : that.region != null) return false; if (this.schema != null ? !this.schema.equals(that.schema) : that.schema != null) return false; if (this.key != null ? !this.key.equals(that.key) : that.key != null) return false; return this.name != null ? this.name.equals(that.name) : that.name == null; } @Override public final int hashCode() { int result = this.account.hashCode(); result = 31 * result + (this.basicAuth.hashCode()); result = 31 * result + (this.database.hashCode()); result = 31 * result + (this.location.hashCode()); result = 31 * result + (this.stage.hashCode()); result = 31 * result + (this.warehouse.hashCode()); result = 31 * result + (this.integration != null ? this.integration.hashCode() : 0); result = 31 * result + (this.region != null ? this.region.hashCode() : 0); result = 31 * result + (this.schema != null ? this.schema.hashCode() : 0); result = 31 * result + (this.key != null ? this.key.hashCode() : 0); result = 31 * result + (this.name != null ? this.name.hashCode() : 0); return result; } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy