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

com.pulumi.googlenative.bigquery.v2.kotlin.outputs.JobConfigurationLoadResponse.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.

The newest version!
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.googlenative.bigquery.v2.kotlin.outputs

import kotlin.Boolean
import kotlin.Deprecated
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property allowJaggedRows [Optional] Accept rows that are missing trailing optional columns. The missing values are treated as nulls. If false, records with missing trailing columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. Only applicable to CSV, ignored for other formats.
 * @property allowQuotedNewlines Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false.
 * @property autodetect [Optional] Indicates if we should automatically infer the options and schema for CSV and JSON sources.
 * @property clustering [Beta] Clustering specification for the destination table. Must be specified with time-based partitioning, data in the table will be first partitioned and subsequently clustered.
 * @property connectionProperties Connection properties.
 * @property createDisposition [Optional] 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. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
 * @property createSession If true, creates a new session, where session id will be a server generated random id. If false, runs query with an existing session_id passed in ConnectionProperty, otherwise runs the load job in non-session mode.
 * @property decimalTargetTypes [Optional] Defines the list of possible SQL data types to which the source decimal values are converted. This list and the precision and the scale parameters of the decimal field determine the target type. In the order of NUMERIC, BIGNUMERIC, and STRING, a type is picked if it is in the specified list and if it supports the precision and the scale. STRING supports all precision and scale values. If none of the listed types supports the precision and the scale, the type supporting the widest range in the specified list is picked, and if a value exceeds the supported range when reading the data, an error will be thrown. Example: Suppose the value of this field is ["NUMERIC", "BIGNUMERIC"]. If (precision,scale) is: (38,9) -> NUMERIC; (39,9) -> BIGNUMERIC (NUMERIC cannot hold 30 integer digits); (38,10) -> BIGNUMERIC (NUMERIC cannot hold 10 fractional digits); (76,38) -> BIGNUMERIC; (77,38) -> BIGNUMERIC (error if value exeeds supported range). This field cannot contain duplicate types. The order of the types in this field is ignored. For example, ["BIGNUMERIC", "NUMERIC"] is the same as ["NUMERIC", "BIGNUMERIC"] and NUMERIC always takes precedence over BIGNUMERIC. Defaults to ["NUMERIC", "STRING"] for ORC and ["NUMERIC"] for the other file formats.
 * @property destinationEncryptionConfiguration Custom encryption configuration (e.g., Cloud KMS keys).
 * @property destinationTable [Required] The destination table to load the data into.
 * @property destinationTableProperties [Beta] [Optional] Properties with which to create the destination table if it is new.
 * @property encoding [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties.
 * @property fieldDelimiter [Optional] The separator for fields in a CSV file. The separator can be any ISO-8859-1 single-byte character. To use a character in the range 128-255, you must encode the character as UTF8. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (',').
 * @property hivePartitioningOptions [Optional] Options to configure hive partitioning support.
 * @property ignoreUnknownValues [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names
 * @property jsonExtension [Optional] If sourceFormat is set to newline-delimited JSON, indicates whether it should be processed as a JSON variant such as GeoJSON. For a sourceFormat other than JSON, omit this field. If the sourceFormat is newline-delimited JSON: - for newline-delimited GeoJSON: set to GEOJSON.
 * @property maxBadRecords [Optional] The maximum number of bad records that BigQuery can ignore when running the job. If the number of bad records exceeds this value, an invalid error is returned in the job result. This is only valid for CSV and JSON. The default value is 0, which requires that all records are valid.
 * @property nullMarker [Optional] Specifies a string that represents a null value in a CSV file. For example, if you specify "\N", BigQuery interprets "\N" as a null value when loading a CSV file. The default value is the empty string. If you set this property to a custom value, BigQuery throws an error if an empty string is present for all data types except for STRING and BYTE. For STRING and BYTE columns, BigQuery interprets the empty string as an empty value.
 * @property parquetOptions [Optional] Options to configure parquet support.
 * @property preserveAsciiControlCharacters [Optional] Preserves the embedded ASCII control characters (the first 32 characters in the ASCII-table, from '\x00' to '\x1F') when loading from CSV. Only applicable to CSV, ignored for other formats.
 * @property projectionFields If sourceFormat is set to "DATASTORE_BACKUP", indicates which entity properties to load into BigQuery from a Cloud Datastore backup. Property names are case sensitive and must be top-level properties. If no properties are specified, BigQuery loads all properties. If any named property isn't found in the Cloud Datastore backup, an invalid error is returned in the job result.
 * @property quote [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true.
 * @property rangePartitioning [TrustedTester] Range partitioning specification for this table. Only one of timePartitioning and rangePartitioning should be specified.
 * @property referenceFileSchemaUri User provided referencing file with the expected reader schema, Available for the format: AVRO, PARQUET, ORC.
 * @property schema [Optional] The schema for the destination table. The schema can be omitted if the destination table already exists, or if you're loading data from Google Cloud Datastore.
 * @property schemaInline [Deprecated] The inline schema. For CSV schemas, specify as "Field1:Type1[,Field2:Type2]*". For example, "foo:STRING, bar:INTEGER, baz:FLOAT".
 * @property schemaInlineFormat [Deprecated] The format of the schemaInline property.
 * @property schemaUpdateOptions Allows the schema of the destination table to be updated as a side effect of the load job if a schema is autodetected or supplied in the job configuration. Schema update options are supported in two cases: when writeDisposition is WRITE_APPEND; when writeDisposition is WRITE_TRUNCATE and the destination table is a partition of a table, specified by partition decorators. For normal tables, WRITE_TRUNCATE will always overwrite the schema. One or more of the following values are specified: ALLOW_FIELD_ADDITION: allow adding a nullable field to the schema. ALLOW_FIELD_RELAXATION: allow relaxing a required field in the original schema to nullable.
 * @property skipLeadingRows [Optional] The number of rows at the top of a CSV file that BigQuery will skip when loading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped.
 * @property sourceFormat [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro, specify "AVRO". For parquet, specify "PARQUET". For orc, specify "ORC". The default value is CSV.
 * @property sourceUris [Required] The fully-qualified URIs that point to your data in Google Cloud. For Google Cloud Storage URIs: Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources. For Google Cloud Bigtable URIs: Exactly one URI can be specified and it has be a fully specified and valid HTTPS URL for a Google Cloud Bigtable table. For Google Cloud Datastore backups: Exactly one URI can be specified. Also, the '*' wildcard character is not allowed.
 * @property timePartitioning Time-based partitioning specification for the destination table. Only one of timePartitioning and rangePartitioning should be specified.
 * @property useAvroLogicalTypes [Optional] If sourceFormat is set to "AVRO", indicates whether to interpret logical types as the corresponding BigQuery data type (for example, TIMESTAMP), instead of using the raw type (for example, INTEGER).
 * @property writeDisposition [Optional] 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. 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. The default value is WRITE_APPEND. 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.
 */
public data class JobConfigurationLoadResponse(
    public val allowJaggedRows: Boolean,
    public val allowQuotedNewlines: Boolean,
    public val autodetect: Boolean,
    public val clustering: ClusteringResponse,
    public val connectionProperties: List,
    public val createDisposition: String,
    public val createSession: Boolean,
    public val decimalTargetTypes: List,
    public val destinationEncryptionConfiguration: EncryptionConfigurationResponse,
    public val destinationTable: TableReferenceResponse,
    public val destinationTableProperties: DestinationTablePropertiesResponse,
    public val encoding: String,
    public val fieldDelimiter: String,
    public val hivePartitioningOptions: HivePartitioningOptionsResponse,
    public val ignoreUnknownValues: Boolean,
    public val jsonExtension: String,
    public val maxBadRecords: Int,
    public val nullMarker: String,
    public val parquetOptions: ParquetOptionsResponse,
    public val preserveAsciiControlCharacters: Boolean,
    public val projectionFields: List,
    public val quote: String,
    public val rangePartitioning: RangePartitioningResponse,
    public val referenceFileSchemaUri: String,
    public val schema: TableSchemaResponse,
    @Deprecated(
        message = """
  [Deprecated] The inline schema. For CSV schemas, specify as "Field1:Type1[,Field2:Type2]*". For
      example, "foo:STRING, bar:INTEGER, baz:FLOAT".
  """,
    )
    public val schemaInline: String,
    @Deprecated(
        message = """
  [Deprecated] The format of the schemaInline property.
  """,
    )
    public val schemaInlineFormat: String,
    public val schemaUpdateOptions: List,
    public val skipLeadingRows: Int,
    public val sourceFormat: String,
    public val sourceUris: List,
    public val timePartitioning: TimePartitioningResponse,
    public val useAvroLogicalTypes: Boolean,
    public val writeDisposition: String,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.googlenative.bigquery.v2.outputs.JobConfigurationLoadResponse): JobConfigurationLoadResponse = JobConfigurationLoadResponse(
            allowJaggedRows = javaType.allowJaggedRows(),
            allowQuotedNewlines = javaType.allowQuotedNewlines(),
            autodetect = javaType.autodetect(),
            clustering = javaType.clustering().let({ args0 ->
                com.pulumi.googlenative.bigquery.v2.kotlin.outputs.ClusteringResponse.Companion.toKotlin(args0)
            }),
            connectionProperties = javaType.connectionProperties().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.googlenative.bigquery.v2.kotlin.outputs.ConnectionPropertyResponse.Companion.toKotlin(args0)
                })
            }),
            createDisposition = javaType.createDisposition(),
            createSession = javaType.createSession(),
            decimalTargetTypes = javaType.decimalTargetTypes().map({ args0 -> args0 }),
            destinationEncryptionConfiguration = javaType.destinationEncryptionConfiguration().let({ args0 ->
                com.pulumi.googlenative.bigquery.v2.kotlin.outputs.EncryptionConfigurationResponse.Companion.toKotlin(args0)
            }),
            destinationTable = javaType.destinationTable().let({ args0 ->
                com.pulumi.googlenative.bigquery.v2.kotlin.outputs.TableReferenceResponse.Companion.toKotlin(args0)
            }),
            destinationTableProperties = javaType.destinationTableProperties().let({ args0 ->
                com.pulumi.googlenative.bigquery.v2.kotlin.outputs.DestinationTablePropertiesResponse.Companion.toKotlin(args0)
            }),
            encoding = javaType.encoding(),
            fieldDelimiter = javaType.fieldDelimiter(),
            hivePartitioningOptions = javaType.hivePartitioningOptions().let({ args0 ->
                com.pulumi.googlenative.bigquery.v2.kotlin.outputs.HivePartitioningOptionsResponse.Companion.toKotlin(args0)
            }),
            ignoreUnknownValues = javaType.ignoreUnknownValues(),
            jsonExtension = javaType.jsonExtension(),
            maxBadRecords = javaType.maxBadRecords(),
            nullMarker = javaType.nullMarker(),
            parquetOptions = javaType.parquetOptions().let({ args0 ->
                com.pulumi.googlenative.bigquery.v2.kotlin.outputs.ParquetOptionsResponse.Companion.toKotlin(args0)
            }),
            preserveAsciiControlCharacters = javaType.preserveAsciiControlCharacters(),
            projectionFields = javaType.projectionFields().map({ args0 -> args0 }),
            quote = javaType.quote(),
            rangePartitioning = javaType.rangePartitioning().let({ args0 ->
                com.pulumi.googlenative.bigquery.v2.kotlin.outputs.RangePartitioningResponse.Companion.toKotlin(args0)
            }),
            referenceFileSchemaUri = javaType.referenceFileSchemaUri(),
            schema = javaType.schema().let({ args0 ->
                com.pulumi.googlenative.bigquery.v2.kotlin.outputs.TableSchemaResponse.Companion.toKotlin(args0)
            }),
            schemaInline = javaType.schemaInline(),
            schemaInlineFormat = javaType.schemaInlineFormat(),
            schemaUpdateOptions = javaType.schemaUpdateOptions().map({ args0 -> args0 }),
            skipLeadingRows = javaType.skipLeadingRows(),
            sourceFormat = javaType.sourceFormat(),
            sourceUris = javaType.sourceUris().map({ args0 -> args0 }),
            timePartitioning = javaType.timePartitioning().let({ args0 ->
                com.pulumi.googlenative.bigquery.v2.kotlin.outputs.TimePartitioningResponse.Companion.toKotlin(args0)
            }),
            useAvroLogicalTypes = javaType.useAvroLogicalTypes(),
            writeDisposition = javaType.writeDisposition(),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy