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

com.pulumi.googlenative.dlp.v2.kotlin.inputs.GooglePrivacyDlpV2TimespanConfigArgs.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.dlp.v2.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.dlp.v2.inputs.GooglePrivacyDlpV2TimespanConfigArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery.
 * @property enableAutoPopulationOfTimespanConfig When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger or the timespan end_time used in the last run of the JobTrigger.
 * @property endTime Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied.
 * @property startTime Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied.
 * @property timestampField Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation.
 */
public data class GooglePrivacyDlpV2TimespanConfigArgs(
    public val enableAutoPopulationOfTimespanConfig: Output? = null,
    public val endTime: Output? = null,
    public val startTime: Output? = null,
    public val timestampField: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.googlenative.dlp.v2.inputs.GooglePrivacyDlpV2TimespanConfigArgs = com.pulumi.googlenative.dlp.v2.inputs.GooglePrivacyDlpV2TimespanConfigArgs.builder()
        .enableAutoPopulationOfTimespanConfig(
            enableAutoPopulationOfTimespanConfig?.applyValue({ args0 ->
                args0
            }),
        )
        .endTime(endTime?.applyValue({ args0 -> args0 }))
        .startTime(startTime?.applyValue({ args0 -> args0 }))
        .timestampField(
            timestampField?.applyValue({ args0 ->
                args0.let({ args0 ->
                    args0.toJava()
                })
            }),
        ).build()
}

/**
 * Builder for [GooglePrivacyDlpV2TimespanConfigArgs].
 */
@PulumiTagMarker
public class GooglePrivacyDlpV2TimespanConfigArgsBuilder internal constructor() {
    private var enableAutoPopulationOfTimespanConfig: Output? = null

    private var endTime: Output? = null

    private var startTime: Output? = null

    private var timestampField: Output? = null

    /**
     * @param value When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger or the timespan end_time used in the last run of the JobTrigger.
     */
    @JvmName("kkddvvybbrjnryyu")
    public suspend fun enableAutoPopulationOfTimespanConfig(`value`: Output) {
        this.enableAutoPopulationOfTimespanConfig = value
    }

    /**
     * @param value Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied.
     */
    @JvmName("bpewbjptnsadcuyk")
    public suspend fun endTime(`value`: Output) {
        this.endTime = value
    }

    /**
     * @param value Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied.
     */
    @JvmName("wvpolmybaljxfdgb")
    public suspend fun startTime(`value`: Output) {
        this.startTime = value
    }

    /**
     * @param value Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation.
     */
    @JvmName("dhvonkhwqekqvycr")
    public suspend fun timestampField(`value`: Output) {
        this.timestampField = value
    }

    /**
     * @param value When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger or the timespan end_time used in the last run of the JobTrigger.
     */
    @JvmName("hcpmumifependfjs")
    public suspend fun enableAutoPopulationOfTimespanConfig(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enableAutoPopulationOfTimespanConfig = mapped
    }

    /**
     * @param value Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied.
     */
    @JvmName("pbahfnowdjnixcmr")
    public suspend fun endTime(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.endTime = mapped
    }

    /**
     * @param value Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied.
     */
    @JvmName("mnjxwmbgopxbdpck")
    public suspend fun startTime(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.startTime = mapped
    }

    /**
     * @param value Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation.
     */
    @JvmName("xetxnpmswmbpgwdt")
    public suspend fun timestampField(`value`: GooglePrivacyDlpV2FieldIdArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.timestampField = mapped
    }

    /**
     * @param argument Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation.
     */
    @JvmName("dwwweujqpksbvhqj")
    public suspend fun timestampField(argument: suspend GooglePrivacyDlpV2FieldIdArgsBuilder.() -> Unit) {
        val toBeMapped = GooglePrivacyDlpV2FieldIdArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.timestampField = mapped
    }

    internal fun build(): GooglePrivacyDlpV2TimespanConfigArgs = GooglePrivacyDlpV2TimespanConfigArgs(
        enableAutoPopulationOfTimespanConfig = enableAutoPopulationOfTimespanConfig,
        endTime = endTime,
        startTime = startTime,
        timestampField = timestampField,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy