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

com.pulumi.awsnative.kinesisfirehose.kotlin.outputs.DeliveryStreamSnowflakeDestinationConfiguration.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.kinesisfirehose.kotlin.outputs

import com.pulumi.awsnative.kinesisfirehose.kotlin.enums.DeliveryStreamSnowflakeDestinationConfigurationDataLoadingOption
import com.pulumi.awsnative.kinesisfirehose.kotlin.enums.DeliveryStreamSnowflakeDestinationConfigurationS3BackupMode
import kotlin.String
import kotlin.Suppress

/**
 *
 * @property accountUrl URL for accessing your Snowflake account. This URL must include your [account identifier](https://docs.aws.amazon.com/https://docs.snowflake.com/en/user-guide/admin-account-identifier) . Note that the protocol (https://) and port number are optional.
 * @property cloudWatchLoggingOptions
 * @property contentColumnName The name of the record content column
 * @property dataLoadingOption Choose to load JSON keys mapped to table column names or choose to split the JSON payload where content is mapped to a record content column and source metadata is mapped to a record metadata column.
 * @property database All data in Snowflake is maintained in databases.
 * @property keyPassphrase Passphrase to decrypt the private key when the key is encrypted. For information, see [Using Key Pair Authentication & Key Rotation](https://docs.aws.amazon.com/https://docs.snowflake.com/en/user-guide/data-load-snowpipe-streaming-configuration#using-key-pair-authentication-key-rotation) .
 * @property metaDataColumnName The name of the record metadata column
 * @property privateKey The private key used to encrypt your Snowflake client. For information, see [Using Key Pair Authentication & Key Rotation](https://docs.aws.amazon.com/https://docs.snowflake.com/en/user-guide/data-load-snowpipe-streaming-configuration#using-key-pair-authentication-key-rotation) .
 * @property processingConfiguration
 * @property retryOptions The time period where Firehose will retry sending data to the chosen HTTP endpoint.
 * @property roleArn The Amazon Resource Name (ARN) of the Snowflake role
 * @property s3BackupMode Choose an S3 backup mode
 * @property s3Configuration
 * @property schema Each database consists of one or more schemas, which are logical groupings of database objects, such as tables and views
 * @property secretsManagerConfiguration The configuration that defines how you access secrets for Snowflake.
 * @property snowflakeRoleConfiguration Optionally configure a Snowflake role. Otherwise the default user role will be used.
 * @property snowflakeVpcConfiguration The VPCE ID for Firehose to privately connect with Snowflake. The ID format is com.amazonaws.vpce.[region].vpce-svc-<[id]>. For more information, see [Amazon PrivateLink & Snowflake](https://docs.aws.amazon.com/https://docs.snowflake.com/en/user-guide/admin-security-privatelink)
 * @property table All data in Snowflake is stored in database tables, logically structured as collections of columns and rows.
 * @property user User login name for the Snowflake account.
 */
public data class DeliveryStreamSnowflakeDestinationConfiguration(
    public val accountUrl: String,
    public val cloudWatchLoggingOptions: DeliveryStreamCloudWatchLoggingOptions? = null,
    public val contentColumnName: String? = null,
    public val dataLoadingOption: DeliveryStreamSnowflakeDestinationConfigurationDataLoadingOption? =
        null,
    public val database: String,
    public val keyPassphrase: String? = null,
    public val metaDataColumnName: String? = null,
    public val privateKey: String? = null,
    public val processingConfiguration: DeliveryStreamProcessingConfiguration? = null,
    public val retryOptions: DeliveryStreamSnowflakeRetryOptions? = null,
    public val roleArn: String,
    public val s3BackupMode: DeliveryStreamSnowflakeDestinationConfigurationS3BackupMode? = null,
    public val s3Configuration: DeliveryStreamS3DestinationConfiguration,
    public val schema: String,
    public val secretsManagerConfiguration: DeliveryStreamSecretsManagerConfiguration? = null,
    public val snowflakeRoleConfiguration: DeliveryStreamSnowflakeRoleConfiguration? = null,
    public val snowflakeVpcConfiguration: DeliveryStreamSnowflakeVpcConfiguration? = null,
    public val table: String,
    public val user: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.kinesisfirehose.outputs.DeliveryStreamSnowflakeDestinationConfiguration): DeliveryStreamSnowflakeDestinationConfiguration =
            DeliveryStreamSnowflakeDestinationConfiguration(
                accountUrl = javaType.accountUrl(),
                cloudWatchLoggingOptions = javaType.cloudWatchLoggingOptions().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.awsnative.kinesisfirehose.kotlin.outputs.DeliveryStreamCloudWatchLoggingOptions.Companion.toKotlin(args0)
                    })
                }).orElse(null),
                contentColumnName = javaType.contentColumnName().map({ args0 -> args0 }).orElse(null),
                dataLoadingOption = javaType.dataLoadingOption().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.awsnative.kinesisfirehose.kotlin.enums.DeliveryStreamSnowflakeDestinationConfigurationDataLoadingOption.Companion.toKotlin(args0)
                    })
                }).orElse(null),
                database = javaType.database(),
                keyPassphrase = javaType.keyPassphrase().map({ args0 -> args0 }).orElse(null),
                metaDataColumnName = javaType.metaDataColumnName().map({ args0 -> args0 }).orElse(null),
                privateKey = javaType.privateKey().map({ args0 -> args0 }).orElse(null),
                processingConfiguration = javaType.processingConfiguration().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.awsnative.kinesisfirehose.kotlin.outputs.DeliveryStreamProcessingConfiguration.Companion.toKotlin(args0)
                    })
                }).orElse(null),
                retryOptions = javaType.retryOptions().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.awsnative.kinesisfirehose.kotlin.outputs.DeliveryStreamSnowflakeRetryOptions.Companion.toKotlin(args0)
                    })
                }).orElse(null),
                roleArn = javaType.roleArn(),
                s3BackupMode = javaType.s3BackupMode().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.awsnative.kinesisfirehose.kotlin.enums.DeliveryStreamSnowflakeDestinationConfigurationS3BackupMode.Companion.toKotlin(args0)
                    })
                }).orElse(null),
                s3Configuration = javaType.s3Configuration().let({ args0 ->
                    com.pulumi.awsnative.kinesisfirehose.kotlin.outputs.DeliveryStreamS3DestinationConfiguration.Companion.toKotlin(args0)
                }),
                schema = javaType.schema(),
                secretsManagerConfiguration = javaType.secretsManagerConfiguration().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.awsnative.kinesisfirehose.kotlin.outputs.DeliveryStreamSecretsManagerConfiguration.Companion.toKotlin(args0)
                    })
                }).orElse(null),
                snowflakeRoleConfiguration = javaType.snowflakeRoleConfiguration().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.awsnative.kinesisfirehose.kotlin.outputs.DeliveryStreamSnowflakeRoleConfiguration.Companion.toKotlin(args0)
                    })
                }).orElse(null),
                snowflakeVpcConfiguration = javaType.snowflakeVpcConfiguration().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.awsnative.kinesisfirehose.kotlin.outputs.DeliveryStreamSnowflakeVpcConfiguration.Companion.toKotlin(args0)
                    })
                }).orElse(null),
                table = javaType.table(),
                user = javaType.user().map({ args0 -> args0 }).orElse(null),
            )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy