
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