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

com.pulumi.gcp.bigquery.kotlin.outputs.JobCopy.kt Maven / Gradle / Ivy

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

package com.pulumi.gcp.bigquery.kotlin.outputs

import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property createDisposition Specifies whether the job is allowed to create new tables. The following values are supported:
 * CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table.
 * CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result.
 * Creation, truncation and append actions occur as one atomic update upon job completion
 * Default value is `CREATE_IF_NEEDED`.
 * Possible values are: `CREATE_IF_NEEDED`, `CREATE_NEVER`.
 * @property destinationEncryptionConfiguration Custom encryption configuration (e.g., Cloud KMS keys)
 * Structure is documented below.
 * @property destinationTable The destination table.
 * Structure is documented below.
 * @property sourceTables Source tables to copy.
 * Structure is documented below.
 * @property writeDisposition Specifies the action that occurs if the destination table already exists. The following values are supported:
 * WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data and uses the schema from the query result.
 * WRITE_APPEND: If the table already exists, BigQuery appends the data to the table.
 * WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result.
 * Each action is atomic and only occurs if BigQuery is able to complete the job successfully.
 * Creation, truncation and append actions occur as one atomic update upon job completion.
 * Default value is `WRITE_EMPTY`.
 * Possible values are: `WRITE_TRUNCATE`, `WRITE_APPEND`, `WRITE_EMPTY`.
 */
public data class JobCopy(
    public val createDisposition: String? = null,
    public val destinationEncryptionConfiguration: JobCopyDestinationEncryptionConfiguration? = null,
    public val destinationTable: JobCopyDestinationTable? = null,
    public val sourceTables: List,
    public val writeDisposition: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.bigquery.outputs.JobCopy): JobCopy = JobCopy(
            createDisposition = javaType.createDisposition().map({ args0 -> args0 }).orElse(null),
            destinationEncryptionConfiguration = javaType.destinationEncryptionConfiguration().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.bigquery.kotlin.outputs.JobCopyDestinationEncryptionConfiguration.Companion.toKotlin(args0)
                })
            }).orElse(null),
            destinationTable = javaType.destinationTable().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.bigquery.kotlin.outputs.JobCopyDestinationTable.Companion.toKotlin(args0)
                })
            }).orElse(null),
            sourceTables = javaType.sourceTables().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.bigquery.kotlin.outputs.JobCopySourceTable.Companion.toKotlin(args0)
                })
            }),
            writeDisposition = javaType.writeDisposition().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy