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

com.pulumi.gcp.dataloss.kotlin.inputs.PreventionInspectTemplateInspectConfigArgs.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: 8.10.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.dataloss.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.dataloss.inputs.PreventionInspectTemplateInspectConfigArgs.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.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property contentOptions List of options defining data content to scan. If empty, text, images, and other content will be included.
 * Each value may be one of: `CONTENT_TEXT`, `CONTENT_IMAGE`.
 * @property customInfoTypes Custom info types to be used. See https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
 * Structure is documented below.
 * @property excludeInfoTypes When true, excludes type information of the findings.
 * @property includeQuote When true, a contextual quote from the data that triggered a finding is included in the response.
 * @property infoTypes Restricts what infoTypes to look for. The values must correspond to InfoType values returned by infoTypes.list
 * or listed at https://cloud.google.com/dlp/docs/infotypes-reference.
 * When no InfoTypes or CustomInfoTypes are specified in a request, the system may automatically choose what detectors to run.
 * By default this may be all types, but may change over time as detectors are updated.
 * Structure is documented below.
 * @property limits Configuration to control the number of findings returned.
 * Structure is documented below.
 * @property minLikelihood Only returns findings equal or above this threshold. See https://cloud.google.com/dlp/docs/likelihood for more info
 * Default value is `POSSIBLE`.
 * Possible values are: `VERY_UNLIKELY`, `UNLIKELY`, `POSSIBLE`, `LIKELY`, `VERY_LIKELY`.
 * @property ruleSets Set of rules to apply to the findings for this InspectConfig. Exclusion rules, contained in the set are executed in the end,
 * other rules are executed in the order they are specified for each info type.
 * Structure is documented below.
 */
public data class PreventionInspectTemplateInspectConfigArgs(
    public val contentOptions: Output>? = null,
    public val customInfoTypes: Output>? = null,
    public val excludeInfoTypes: Output? = null,
    public val includeQuote: Output? = null,
    public val infoTypes: Output>? = null,
    public val limits: Output? = null,
    public val minLikelihood: Output? = null,
    public val ruleSets: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.dataloss.inputs.PreventionInspectTemplateInspectConfigArgs =
        com.pulumi.gcp.dataloss.inputs.PreventionInspectTemplateInspectConfigArgs.builder()
            .contentOptions(contentOptions?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .customInfoTypes(
                customInfoTypes?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .excludeInfoTypes(excludeInfoTypes?.applyValue({ args0 -> args0 }))
            .includeQuote(includeQuote?.applyValue({ args0 -> args0 }))
            .infoTypes(
                infoTypes?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .limits(limits?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .minLikelihood(minLikelihood?.applyValue({ args0 -> args0 }))
            .ruleSets(
                ruleSets?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            ).build()
}

/**
 * Builder for [PreventionInspectTemplateInspectConfigArgs].
 */
@PulumiTagMarker
public class PreventionInspectTemplateInspectConfigArgsBuilder internal constructor() {
    private var contentOptions: Output>? = null

    private var customInfoTypes:
        Output>? = null

    private var excludeInfoTypes: Output? = null

    private var includeQuote: Output? = null

    private var infoTypes: Output>? = null

    private var limits: Output? = null

    private var minLikelihood: Output? = null

    private var ruleSets: Output>? = null

    /**
     * @param value List of options defining data content to scan. If empty, text, images, and other content will be included.
     * Each value may be one of: `CONTENT_TEXT`, `CONTENT_IMAGE`.
     */
    @JvmName("efonpaqkgdicxfng")
    public suspend fun contentOptions(`value`: Output>) {
        this.contentOptions = value
    }

    @JvmName("txlmxxcgyosrfloi")
    public suspend fun contentOptions(vararg values: Output) {
        this.contentOptions = Output.all(values.asList())
    }

    /**
     * @param values List of options defining data content to scan. If empty, text, images, and other content will be included.
     * Each value may be one of: `CONTENT_TEXT`, `CONTENT_IMAGE`.
     */
    @JvmName("jkipmacykiimdmjn")
    public suspend fun contentOptions(values: List>) {
        this.contentOptions = Output.all(values)
    }

    /**
     * @param value Custom info types to be used. See https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
     * Structure is documented below.
     */
    @JvmName("prpqovvoktfkxtfy")
    public suspend fun customInfoTypes(`value`: Output>) {
        this.customInfoTypes = value
    }

    @JvmName("ndooaobnkjmgusqp")
    public suspend fun customInfoTypes(vararg values: Output) {
        this.customInfoTypes = Output.all(values.asList())
    }

    /**
     * @param values Custom info types to be used. See https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
     * Structure is documented below.
     */
    @JvmName("vkxemnrtaesgfdiy")
    public suspend fun customInfoTypes(values: List>) {
        this.customInfoTypes = Output.all(values)
    }

    /**
     * @param value When true, excludes type information of the findings.
     */
    @JvmName("ceyvnffpshjhxvax")
    public suspend fun excludeInfoTypes(`value`: Output) {
        this.excludeInfoTypes = value
    }

    /**
     * @param value When true, a contextual quote from the data that triggered a finding is included in the response.
     */
    @JvmName("qjicxwchvwarckht")
    public suspend fun includeQuote(`value`: Output) {
        this.includeQuote = value
    }

    /**
     * @param value Restricts what infoTypes to look for. The values must correspond to InfoType values returned by infoTypes.list
     * or listed at https://cloud.google.com/dlp/docs/infotypes-reference.
     * When no InfoTypes or CustomInfoTypes are specified in a request, the system may automatically choose what detectors to run.
     * By default this may be all types, but may change over time as detectors are updated.
     * Structure is documented below.
     */
    @JvmName("hedbmbchuswxrtso")
    public suspend fun infoTypes(`value`: Output>) {
        this.infoTypes = value
    }

    @JvmName("imxtbouxetblsvfe")
    public suspend fun infoTypes(vararg values: Output) {
        this.infoTypes = Output.all(values.asList())
    }

    /**
     * @param values Restricts what infoTypes to look for. The values must correspond to InfoType values returned by infoTypes.list
     * or listed at https://cloud.google.com/dlp/docs/infotypes-reference.
     * When no InfoTypes or CustomInfoTypes are specified in a request, the system may automatically choose what detectors to run.
     * By default this may be all types, but may change over time as detectors are updated.
     * Structure is documented below.
     */
    @JvmName("tqwdiwogkxcqsbxj")
    public suspend fun infoTypes(values: List>) {
        this.infoTypes = Output.all(values)
    }

    /**
     * @param value Configuration to control the number of findings returned.
     * Structure is documented below.
     */
    @JvmName("httnklewpumuoqnd")
    public suspend fun limits(`value`: Output) {
        this.limits = value
    }

    /**
     * @param value Only returns findings equal or above this threshold. See https://cloud.google.com/dlp/docs/likelihood for more info
     * Default value is `POSSIBLE`.
     * Possible values are: `VERY_UNLIKELY`, `UNLIKELY`, `POSSIBLE`, `LIKELY`, `VERY_LIKELY`.
     */
    @JvmName("lfconclcteqdcoum")
    public suspend fun minLikelihood(`value`: Output) {
        this.minLikelihood = value
    }

    /**
     * @param value Set of rules to apply to the findings for this InspectConfig. Exclusion rules, contained in the set are executed in the end,
     * other rules are executed in the order they are specified for each info type.
     * Structure is documented below.
     */
    @JvmName("lawvcbkbchmvxbpj")
    public suspend fun ruleSets(`value`: Output>) {
        this.ruleSets = value
    }

    @JvmName("elkuqiahoqiduxtl")
    public suspend fun ruleSets(vararg values: Output) {
        this.ruleSets = Output.all(values.asList())
    }

    /**
     * @param values Set of rules to apply to the findings for this InspectConfig. Exclusion rules, contained in the set are executed in the end,
     * other rules are executed in the order they are specified for each info type.
     * Structure is documented below.
     */
    @JvmName("drlriebhvswspyce")
    public suspend fun ruleSets(values: List>) {
        this.ruleSets = Output.all(values)
    }

    /**
     * @param value List of options defining data content to scan. If empty, text, images, and other content will be included.
     * Each value may be one of: `CONTENT_TEXT`, `CONTENT_IMAGE`.
     */
    @JvmName("jhcuwpybjoquxcfy")
    public suspend fun contentOptions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.contentOptions = mapped
    }

    /**
     * @param values List of options defining data content to scan. If empty, text, images, and other content will be included.
     * Each value may be one of: `CONTENT_TEXT`, `CONTENT_IMAGE`.
     */
    @JvmName("tknalgjhawtseimq")
    public suspend fun contentOptions(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.contentOptions = mapped
    }

    /**
     * @param value Custom info types to be used. See https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
     * Structure is documented below.
     */
    @JvmName("wxwksmogfeysklcp")
    public suspend fun customInfoTypes(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customInfoTypes = mapped
    }

    /**
     * @param argument Custom info types to be used. See https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
     * Structure is documented below.
     */
    @JvmName("tiynxpdjtqkmeimf")
    public suspend fun customInfoTypes(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PreventionInspectTemplateInspectConfigCustomInfoTypeArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.customInfoTypes = mapped
    }

    /**
     * @param argument Custom info types to be used. See https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
     * Structure is documented below.
     */
    @JvmName("mmpmygkaesscytgn")
    public suspend fun customInfoTypes(vararg argument: suspend PreventionInspectTemplateInspectConfigCustomInfoTypeArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PreventionInspectTemplateInspectConfigCustomInfoTypeArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.customInfoTypes = mapped
    }

    /**
     * @param argument Custom info types to be used. See https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
     * Structure is documented below.
     */
    @JvmName("wdfjsntkfboowgqg")
    public suspend fun customInfoTypes(argument: suspend PreventionInspectTemplateInspectConfigCustomInfoTypeArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                PreventionInspectTemplateInspectConfigCustomInfoTypeArgsBuilder().applySuspend {
                    argument()
                }.build(),
            )
        val mapped = of(toBeMapped)
        this.customInfoTypes = mapped
    }

    /**
     * @param values Custom info types to be used. See https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
     * Structure is documented below.
     */
    @JvmName("mbdffincmenmbxeb")
    public suspend fun customInfoTypes(vararg values: PreventionInspectTemplateInspectConfigCustomInfoTypeArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.customInfoTypes = mapped
    }

    /**
     * @param value When true, excludes type information of the findings.
     */
    @JvmName("jfcdbcxayghfwlrn")
    public suspend fun excludeInfoTypes(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.excludeInfoTypes = mapped
    }

    /**
     * @param value When true, a contextual quote from the data that triggered a finding is included in the response.
     */
    @JvmName("sjqgtrtclifqnscc")
    public suspend fun includeQuote(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.includeQuote = mapped
    }

    /**
     * @param value Restricts what infoTypes to look for. The values must correspond to InfoType values returned by infoTypes.list
     * or listed at https://cloud.google.com/dlp/docs/infotypes-reference.
     * When no InfoTypes or CustomInfoTypes are specified in a request, the system may automatically choose what detectors to run.
     * By default this may be all types, but may change over time as detectors are updated.
     * Structure is documented below.
     */
    @JvmName("sbmgmrebypxvmulf")
    public suspend fun infoTypes(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.infoTypes = mapped
    }

    /**
     * @param argument Restricts what infoTypes to look for. The values must correspond to InfoType values returned by infoTypes.list
     * or listed at https://cloud.google.com/dlp/docs/infotypes-reference.
     * When no InfoTypes or CustomInfoTypes are specified in a request, the system may automatically choose what detectors to run.
     * By default this may be all types, but may change over time as detectors are updated.
     * Structure is documented below.
     */
    @JvmName("ccixpoflrfqylwqi")
    public suspend fun infoTypes(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PreventionInspectTemplateInspectConfigInfoTypeArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.infoTypes = mapped
    }

    /**
     * @param argument Restricts what infoTypes to look for. The values must correspond to InfoType values returned by infoTypes.list
     * or listed at https://cloud.google.com/dlp/docs/infotypes-reference.
     * When no InfoTypes or CustomInfoTypes are specified in a request, the system may automatically choose what detectors to run.
     * By default this may be all types, but may change over time as detectors are updated.
     * Structure is documented below.
     */
    @JvmName("ureuhbahhllihugn")
    public suspend fun infoTypes(vararg argument: suspend PreventionInspectTemplateInspectConfigInfoTypeArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PreventionInspectTemplateInspectConfigInfoTypeArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.infoTypes = mapped
    }

    /**
     * @param argument Restricts what infoTypes to look for. The values must correspond to InfoType values returned by infoTypes.list
     * or listed at https://cloud.google.com/dlp/docs/infotypes-reference.
     * When no InfoTypes or CustomInfoTypes are specified in a request, the system may automatically choose what detectors to run.
     * By default this may be all types, but may change over time as detectors are updated.
     * Structure is documented below.
     */
    @JvmName("rbkvbvbcyhydloth")
    public suspend fun infoTypes(argument: suspend PreventionInspectTemplateInspectConfigInfoTypeArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            PreventionInspectTemplateInspectConfigInfoTypeArgsBuilder().applySuspend
                { argument() }.build(),
        )
        val mapped = of(toBeMapped)
        this.infoTypes = mapped
    }

    /**
     * @param values Restricts what infoTypes to look for. The values must correspond to InfoType values returned by infoTypes.list
     * or listed at https://cloud.google.com/dlp/docs/infotypes-reference.
     * When no InfoTypes or CustomInfoTypes are specified in a request, the system may automatically choose what detectors to run.
     * By default this may be all types, but may change over time as detectors are updated.
     * Structure is documented below.
     */
    @JvmName("qymduvaeljhpxgsx")
    public suspend fun infoTypes(vararg values: PreventionInspectTemplateInspectConfigInfoTypeArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.infoTypes = mapped
    }

    /**
     * @param value Configuration to control the number of findings returned.
     * Structure is documented below.
     */
    @JvmName("isfjvguoqpigbbjw")
    public suspend fun limits(`value`: PreventionInspectTemplateInspectConfigLimitsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.limits = mapped
    }

    /**
     * @param argument Configuration to control the number of findings returned.
     * Structure is documented below.
     */
    @JvmName("byvglmoogbciifrv")
    public suspend fun limits(argument: suspend PreventionInspectTemplateInspectConfigLimitsArgsBuilder.() -> Unit) {
        val toBeMapped = PreventionInspectTemplateInspectConfigLimitsArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.limits = mapped
    }

    /**
     * @param value Only returns findings equal or above this threshold. See https://cloud.google.com/dlp/docs/likelihood for more info
     * Default value is `POSSIBLE`.
     * Possible values are: `VERY_UNLIKELY`, `UNLIKELY`, `POSSIBLE`, `LIKELY`, `VERY_LIKELY`.
     */
    @JvmName("hgldbqgxnxowuhtt")
    public suspend fun minLikelihood(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.minLikelihood = mapped
    }

    /**
     * @param value Set of rules to apply to the findings for this InspectConfig. Exclusion rules, contained in the set are executed in the end,
     * other rules are executed in the order they are specified for each info type.
     * Structure is documented below.
     */
    @JvmName("ybrxjkpcevrweqos")
    public suspend fun ruleSets(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.ruleSets = mapped
    }

    /**
     * @param argument Set of rules to apply to the findings for this InspectConfig. Exclusion rules, contained in the set are executed in the end,
     * other rules are executed in the order they are specified for each info type.
     * Structure is documented below.
     */
    @JvmName("pyxmjymdfubdbhyy")
    public suspend fun ruleSets(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PreventionInspectTemplateInspectConfigRuleSetArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.ruleSets = mapped
    }

    /**
     * @param argument Set of rules to apply to the findings for this InspectConfig. Exclusion rules, contained in the set are executed in the end,
     * other rules are executed in the order they are specified for each info type.
     * Structure is documented below.
     */
    @JvmName("bhbgttelojterbeu")
    public suspend fun ruleSets(vararg argument: suspend PreventionInspectTemplateInspectConfigRuleSetArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PreventionInspectTemplateInspectConfigRuleSetArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.ruleSets = mapped
    }

    /**
     * @param argument Set of rules to apply to the findings for this InspectConfig. Exclusion rules, contained in the set are executed in the end,
     * other rules are executed in the order they are specified for each info type.
     * Structure is documented below.
     */
    @JvmName("ccgwsnxcpfejefbk")
    public suspend fun ruleSets(argument: suspend PreventionInspectTemplateInspectConfigRuleSetArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            PreventionInspectTemplateInspectConfigRuleSetArgsBuilder().applySuspend
                { argument() }.build(),
        )
        val mapped = of(toBeMapped)
        this.ruleSets = mapped
    }

    /**
     * @param values Set of rules to apply to the findings for this InspectConfig. Exclusion rules, contained in the set are executed in the end,
     * other rules are executed in the order they are specified for each info type.
     * Structure is documented below.
     */
    @JvmName("jjwmlexgdemmjnbh")
    public suspend fun ruleSets(vararg values: PreventionInspectTemplateInspectConfigRuleSetArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.ruleSets = mapped
    }

    internal fun build(): PreventionInspectTemplateInspectConfigArgs =
        PreventionInspectTemplateInspectConfigArgs(
            contentOptions = contentOptions,
            customInfoTypes = customInfoTypes,
            excludeInfoTypes = excludeInfoTypes,
            includeQuote = includeQuote,
            infoTypes = infoTypes,
            limits = limits,
            minLikelihood = minLikelihood,
            ruleSets = ruleSets,
        )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy