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

com.pulumi.aws.rds.kotlin.inputs.ClusterS3ImportArgs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 6.57.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.aws.rds.kotlin.inputs

import com.pulumi.aws.rds.inputs.ClusterS3ImportArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property bucketName Bucket name where your backup is stored
 * @property bucketPrefix Can be blank, but is the path to your backup
 * @property ingestionRole Role applied to load the data.
 * @property sourceEngine Source engine for the backup
 * @property sourceEngineVersion Version of the source engine used to make the backup
 * This will not recreate the resource if the S3 object changes in some way. It's only used to initialize the database. This only works currently with the aurora engine. See AWS for currently supported engines and options. See [Aurora S3 Migration Docs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html#AuroraMySQL.Migrating.ExtMySQL.S3).
 */
public data class ClusterS3ImportArgs(
    public val bucketName: Output,
    public val bucketPrefix: Output? = null,
    public val ingestionRole: Output,
    public val sourceEngine: Output,
    public val sourceEngineVersion: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.aws.rds.inputs.ClusterS3ImportArgs =
        com.pulumi.aws.rds.inputs.ClusterS3ImportArgs.builder()
            .bucketName(bucketName.applyValue({ args0 -> args0 }))
            .bucketPrefix(bucketPrefix?.applyValue({ args0 -> args0 }))
            .ingestionRole(ingestionRole.applyValue({ args0 -> args0 }))
            .sourceEngine(sourceEngine.applyValue({ args0 -> args0 }))
            .sourceEngineVersion(sourceEngineVersion.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ClusterS3ImportArgs].
 */
@PulumiTagMarker
public class ClusterS3ImportArgsBuilder internal constructor() {
    private var bucketName: Output? = null

    private var bucketPrefix: Output? = null

    private var ingestionRole: Output? = null

    private var sourceEngine: Output? = null

    private var sourceEngineVersion: Output? = null

    /**
     * @param value Bucket name where your backup is stored
     */
    @JvmName("aeehjdblhbvfreia")
    public suspend fun bucketName(`value`: Output) {
        this.bucketName = value
    }

    /**
     * @param value Can be blank, but is the path to your backup
     */
    @JvmName("vituvsrmtgjxfpur")
    public suspend fun bucketPrefix(`value`: Output) {
        this.bucketPrefix = value
    }

    /**
     * @param value Role applied to load the data.
     */
    @JvmName("gbgiaqslilmpeemr")
    public suspend fun ingestionRole(`value`: Output) {
        this.ingestionRole = value
    }

    /**
     * @param value Source engine for the backup
     */
    @JvmName("kbcujyqffxlnkulu")
    public suspend fun sourceEngine(`value`: Output) {
        this.sourceEngine = value
    }

    /**
     * @param value Version of the source engine used to make the backup
     * This will not recreate the resource if the S3 object changes in some way. It's only used to initialize the database. This only works currently with the aurora engine. See AWS for currently supported engines and options. See [Aurora S3 Migration Docs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html#AuroraMySQL.Migrating.ExtMySQL.S3).
     */
    @JvmName("bvsntygttwasjoya")
    public suspend fun sourceEngineVersion(`value`: Output) {
        this.sourceEngineVersion = value
    }

    /**
     * @param value Bucket name where your backup is stored
     */
    @JvmName("dlgvrpkjowkhxerb")
    public suspend fun bucketName(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.bucketName = mapped
    }

    /**
     * @param value Can be blank, but is the path to your backup
     */
    @JvmName("kvjfetkkfvqujvcx")
    public suspend fun bucketPrefix(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.bucketPrefix = mapped
    }

    /**
     * @param value Role applied to load the data.
     */
    @JvmName("lwpmnfwksydohooc")
    public suspend fun ingestionRole(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.ingestionRole = mapped
    }

    /**
     * @param value Source engine for the backup
     */
    @JvmName("ryxmxugvtlmsddwp")
    public suspend fun sourceEngine(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.sourceEngine = mapped
    }

    /**
     * @param value Version of the source engine used to make the backup
     * This will not recreate the resource if the S3 object changes in some way. It's only used to initialize the database. This only works currently with the aurora engine. See AWS for currently supported engines and options. See [Aurora S3 Migration Docs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html#AuroraMySQL.Migrating.ExtMySQL.S3).
     */
    @JvmName("ixsyhplomrqrrftw")
    public suspend fun sourceEngineVersion(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.sourceEngineVersion = mapped
    }

    internal fun build(): ClusterS3ImportArgs = ClusterS3ImportArgs(
        bucketName = bucketName ?: throw PulumiNullFieldException("bucketName"),
        bucketPrefix = bucketPrefix,
        ingestionRole = ingestionRole ?: throw PulumiNullFieldException("ingestionRole"),
        sourceEngine = sourceEngine ?: throw PulumiNullFieldException("sourceEngine"),
        sourceEngineVersion = sourceEngineVersion ?: throw PulumiNullFieldException("sourceEngineVersion"),
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy