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

com.pulumi.gcp.dataloss.kotlin.PreventionDeidentifyTemplate.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

import com.pulumi.core.Output
import com.pulumi.gcp.dataloss.kotlin.outputs.PreventionDeidentifyTemplateDeidentifyConfig
import com.pulumi.gcp.dataloss.kotlin.outputs.PreventionDeidentifyTemplateDeidentifyConfig.Companion.toKotlin
import com.pulumi.kotlin.KotlinCustomResource
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.ResourceMapper
import com.pulumi.kotlin.options.CustomResourceOptions
import com.pulumi.kotlin.options.CustomResourceOptionsBuilder
import com.pulumi.resources.Resource
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit

/**
 * Builder for [PreventionDeidentifyTemplate].
 */
@PulumiTagMarker
public class PreventionDeidentifyTemplateResourceBuilder internal constructor() {
    public var name: String? = null

    public var args: PreventionDeidentifyTemplateArgs = PreventionDeidentifyTemplateArgs()

    public var opts: CustomResourceOptions = CustomResourceOptions()

    /**
     * @param name The _unique_ name of the resulting resource.
     */
    public fun name(`value`: String) {
        this.name = value
    }

    /**
     * @param block The arguments to use to populate this resource's properties.
     */
    public suspend fun args(block: suspend PreventionDeidentifyTemplateArgsBuilder.() -> Unit) {
        val builder = PreventionDeidentifyTemplateArgsBuilder()
        block(builder)
        this.args = builder.build()
    }

    /**
     * @param block A bag of options that control this resource's behavior.
     */
    public suspend fun opts(block: suspend CustomResourceOptionsBuilder.() -> Unit) {
        this.opts = com.pulumi.kotlin.options.CustomResourceOptions.opts(block)
    }

    internal fun build(): PreventionDeidentifyTemplate {
        val builtJavaResource =
            com.pulumi.gcp.dataloss.PreventionDeidentifyTemplate(
                this.name,
                this.args.toJava(),
                this.opts.toJava(),
            )
        return PreventionDeidentifyTemplate(builtJavaResource)
    }
}

/**
 * Allows creation of templates to de-identify content.
 * To get more information about DeidentifyTemplate, see:
 * * [API documentation](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.deidentifyTemplates)
 * * How-to Guides
 *     * [Official Documentation](https://cloud.google.com/dlp/docs/concepts-templates)
 * ## Example Usage
 * ### Dlp Deidentify Template Basic
 * 
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 * const basic = new gcp.dataloss.PreventionDeidentifyTemplate("basic", {
 *     parent: "projects/my-project-name",
 *     description: "Description",
 *     displayName: "Displayname",
 *     deidentifyConfig: {
 *         infoTypeTransformations: {
 *             transformations: [
 *                 {
 *                     infoTypes: [{
 *                         name: "FIRST_NAME",
 *                     }],
 *                     primitiveTransformation: {
 *                         replaceWithInfoTypeConfig: true,
 *                     },
 *                 },
 *                 {
 *                     infoTypes: [
 *                         {
 *                             name: "PHONE_NUMBER",
 *                         },
 *                         {
 *                             name: "AGE",
 *                         },
 *                     ],
 *                     primitiveTransformation: {
 *                         replaceConfig: {
 *                             newValue: {
 *                                 integerValue: 9,
 *                             },
 *                         },
 *                     },
 *                 },
 *                 {
 *                     infoTypes: [
 *                         {
 *                             name: "EMAIL_ADDRESS",
 *                         },
 *                         {
 *                             name: "LAST_NAME",
 *                         },
 *                     ],
 *                     primitiveTransformation: {
 *                         characterMaskConfig: {
 *                             maskingCharacter: "X",
 *                             numberToMask: 4,
 *                             reverseOrder: true,
 *                             charactersToIgnores: [{
 *                                 commonCharactersToIgnore: "PUNCTUATION",
 *                             }],
 *                         },
 *                     },
 *                 },
 *                 {
 *                     infoTypes: [{
 *                         name: "DATE_OF_BIRTH",
 *                     }],
 *                     primitiveTransformation: {
 *                         replaceConfig: {
 *                             newValue: {
 *                                 dateValue: {
 *                                     year: 2020,
 *                                     month: 1,
 *                                     day: 1,
 *                                 },
 *                             },
 *                         },
 *                     },
 *                 },
 *                 {
 *                     infoTypes: [{
 *                         name: "CREDIT_CARD_NUMBER",
 *                     }],
 *                     primitiveTransformation: {
 *                         cryptoDeterministicConfig: {
 *                             context: {
 *                                 name: "sometweak",
 *                             },
 *                             cryptoKey: {
 *                                 transient: {
 *                                     name: "beep",
 *                                 },
 *                             },
 *                             surrogateInfoType: {
 *                                 name: "abc",
 *                             },
 *                         },
 *                     },
 *                 },
 *             ],
 *         },
 *     },
 * });
 * ```
 * ```python
 * import pulumi
 * import pulumi_gcp as gcp
 * basic = gcp.dataloss.PreventionDeidentifyTemplate("basic",
 *     parent="projects/my-project-name",
 *     description="Description",
 *     display_name="Displayname",
 *     deidentify_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigArgs(
 *         info_type_transformations=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsArgs(
 *             transformations=[
 *                 gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs(
 *                     info_types=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs(
 *                         name="FIRST_NAME",
 *                     )],
 *                     primitive_transformation=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs(
 *                         replace_with_info_type_config=True,
 *                     ),
 *                 ),
 *                 gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs(
 *                     info_types=[
 *                         gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs(
 *                             name="PHONE_NUMBER",
 *                         ),
 *                         gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs(
 *                             name="AGE",
 *                         ),
 *                     ],
 *                     primitive_transformation=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs(
 *                         replace_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigArgs(
 *                             new_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueArgs(
 *                                 integer_value=9,
 *                             ),
 *                         ),
 *                     ),
 *                 ),
 *                 gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs(
 *                     info_types=[
 *                         gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs(
 *                             name="EMAIL_ADDRESS",
 *                         ),
 *                         gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs(
 *                             name="LAST_NAME",
 *                         ),
 *                     ],
 *                     primitive_transformation=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs(
 *                         character_mask_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigArgs(
 *                             masking_character="X",
 *                             number_to_mask=4,
 *                             reverse_order=True,
 *                             characters_to_ignores=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArgs(
 *                                 common_characters_to_ignore="PUNCTUATION",
 *                             )],
 *                         ),
 *                     ),
 *                 ),
 *                 gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs(
 *                     info_types=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs(
 *                         name="DATE_OF_BIRTH",
 *                     )],
 *                     primitive_transformation=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs(
 *                         replace_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigArgs(
 *                             new_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueArgs(
 *                                 date_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValueArgs(
 *                                     year=2020,
 *                                     month=1,
 *                                     day=1,
 *                                 ),
 *                             ),
 *                         ),
 *                     ),
 *                 ),
 *                 gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs(
 *                     info_types=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs(
 *                         name="CREDIT_CARD_NUMBER",
 *                     )],
 *                     primitive_transformation=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs(
 *                         crypto_deterministic_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigArgs(
 *                             context=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContextArgs(
 *                                 name="sometweak",
 *                             ),
 *                             crypto_key=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyArgs(
 *                                 transient=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs(
 *                                     name="beep",
 *                                 ),
 *                             ),
 *                             surrogate_info_type=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeArgs(
 *                                 name="abc",
 *                             ),
 *                         ),
 *                     ),
 *                 ),
 *             ],
 *         ),
 *     ))
 * ```
 * ```csharp
 * using System.Collections.Generic;
 * using System.Linq;
 * using Pulumi;
 * using Gcp = Pulumi.Gcp;
 * return await Deployment.RunAsync(() =>
 * {
 *     var basic = new Gcp.DataLoss.PreventionDeidentifyTemplate("basic", new()
 *     {
 *         Parent = "projects/my-project-name",
 *         Description = "Description",
 *         DisplayName = "Displayname",
 *         DeidentifyConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigArgs
 *         {
 *             InfoTypeTransformations = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsArgs
 *             {
 *                 Transformations = new[]
 *                 {
 *                     new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs
 *                     {
 *                         InfoTypes = new[]
 *                         {
 *                             new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs
 *                             {
 *                                 Name = "FIRST_NAME",
 *                             },
 *                         },
 *                         PrimitiveTransformation = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs
 *                         {
 *                             ReplaceWithInfoTypeConfig = true,
 *                         },
 *                     },
 *                     new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs
 *                     {
 *                         InfoTypes = new[]
 *                         {
 *                             new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs
 *                             {
 *                                 Name = "PHONE_NUMBER",
 *                             },
 *                             new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs
 *                             {
 *                                 Name = "AGE",
 *                             },
 *                         },
 *                         PrimitiveTransformation = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs
 *                         {
 *                             ReplaceConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigArgs
 *                             {
 *                                 NewValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueArgs
 *                                 {
 *                                     IntegerValue = 9,
 *                                 },
 *                             },
 *                         },
 *                     },
 *                     new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs
 *                     {
 *                         InfoTypes = new[]
 *                         {
 *                             new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs
 *                             {
 *                                 Name = "EMAIL_ADDRESS",
 *                             },
 *                             new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs
 *                             {
 *                                 Name = "LAST_NAME",
 *                             },
 *                         },
 *                         PrimitiveTransformation = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs
 *                         {
 *                             CharacterMaskConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigArgs
 *                             {
 *                                 MaskingCharacter = "X",
 *                                 NumberToMask = 4,
 *                                 ReverseOrder = true,
 *                                 CharactersToIgnores = new[]
 *                                 {
 *                                     new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArgs
 *                                     {
 *                                         CommonCharactersToIgnore = "PUNCTUATION",
 *                                     },
 *                                 },
 *                             },
 *                         },
 *                     },
 *                     new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs
 *                     {
 *                         InfoTypes = new[]
 *                         {
 *                             new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs
 *                             {
 *                                 Name = "DATE_OF_BIRTH",
 *                             },
 *                         },
 *                         PrimitiveTransformation = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs
 *                         {
 *                             ReplaceConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigArgs
 *                             {
 *                                 NewValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueArgs
 *                                 {
 *                                     DateValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValueArgs
 *                                     {
 *                                         Year = 2020,
 *                                         Month = 1,
 *                                         Day = 1,
 *                                     },
 *                                 },
 *                             },
 *                         },
 *                     },
 *                     new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs
 *                     {
 *                         InfoTypes = new[]
 *                         {
 *                             new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs
 *                             {
 *                                 Name = "CREDIT_CARD_NUMBER",
 *                             },
 *                         },
 *                         PrimitiveTransformation = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs
 *                         {
 *                             CryptoDeterministicConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigArgs
 *                             {
 *                                 Context = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContextArgs
 *                                 {
 *                                     Name = "sometweak",
 *                                 },
 *                                 CryptoKey = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyArgs
 *                                 {
 *                                     Transient = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs
 *                                     {
 *                                         Name = "beep",
 *                                     },
 *                                 },
 *                                 SurrogateInfoType = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeArgs
 *                                 {
 *                                     Name = "abc",
 *                                 },
 *                             },
 *                         },
 *                     },
 *                 },
 *             },
 *         },
 *     });
 * });
 * ```
 * ```go
 * package main
 * import (
 * 	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dataloss"
 * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
 * )
 * func main() {
 * 	pulumi.Run(func(ctx *pulumi.Context) error {
 * 		_, err := dataloss.NewPreventionDeidentifyTemplate(ctx, "basic", &dataloss.PreventionDeidentifyTemplateArgs{
 * 			Parent:      pulumi.String("projects/my-project-name"),
 * 			Description: pulumi.String("Description"),
 * 			DisplayName: pulumi.String("Displayname"),
 * 			DeidentifyConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigArgs{
 * 				InfoTypeTransformations: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsArgs{
 * 					Transformations: dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArray{
 * 						&dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs{
 * 							InfoTypes: dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArray{
 * 								&dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs{
 * 									Name: pulumi.String("FIRST_NAME"),
 * 								},
 * 							},
 * 							PrimitiveTransformation: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs{
 * 								ReplaceWithInfoTypeConfig: pulumi.Bool(true),
 * 							},
 * 						},
 * 						&dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs{
 * 							InfoTypes: dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArray{
 * 								&dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs{
 * 									Name: pulumi.String("PHONE_NUMBER"),
 * 								},
 * 								&dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs{
 * 									Name: pulumi.String("AGE"),
 * 								},
 * 							},
 * 							PrimitiveTransformation: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs{
 * 								ReplaceConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigArgs{
 * 									NewValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueArgs{
 * 										IntegerValue: pulumi.Int(9),
 * 									},
 * 								},
 * 							},
 * 						},
 * 						&dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs{
 * 							InfoTypes: dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArray{
 * 								&dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs{
 * 									Name: pulumi.String("EMAIL_ADDRESS"),
 * 								},
 * 								&dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs{
 * 									Name: pulumi.String("LAST_NAME"),
 * 								},
 * 							},
 * 							PrimitiveTransformation: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs{
 * 								CharacterMaskConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigArgs{
 * 									MaskingCharacter: pulumi.String("X"),
 * 									NumberToMask:     pulumi.Int(4),
 * 									ReverseOrder:     pulumi.Bool(true),
 * 									CharactersToIgnores: dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArray{
 * 										&dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArgs{
 * 											CommonCharactersToIgnore: pulumi.String("PUNCTUATION"),
 * 										},
 * 									},
 * 								},
 * 							},
 * 						},
 * 						&dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs{
 * 							InfoTypes: dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArray{
 * 								&dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs{
 * 									Name: pulumi.String("DATE_OF_BIRTH"),
 * 								},
 * 							},
 * 							PrimitiveTransformation: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs{
 * 								ReplaceConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigArgs{
 * 									NewValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueArgs{
 * 										DateValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValueArgs{
 * 											Year:  pulumi.Int(2020),
 * 											Month: pulumi.Int(1),
 * 											Day:   pulumi.Int(1),
 * 										},
 * 									},
 * 								},
 * 							},
 * 						},
 * 						&dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs{
 * 							InfoTypes: dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArray{
 * 								&dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs{
 * 									Name: pulumi.String("CREDIT_CARD_NUMBER"),
 * 								},
 * 							},
 * 							PrimitiveTransformation: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs{
 * 								CryptoDeterministicConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigArgs{
 * 									Context: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContextArgs{
 * 										Name: pulumi.String("sometweak"),
 * 									},
 * 									CryptoKey: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyArgs{
 * 										Transient: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs{
 * 											Name: pulumi.String("beep"),
 * 										},
 * 									},
 * 									SurrogateInfoType: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeArgs{
 * 										Name: pulumi.String("abc"),
 * 									},
 * 								},
 * 							},
 * 						},
 * 					},
 * 				},
 * 			},
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		return nil
 * 	})
 * }
 * ```
 * ```java
 * package generated_program;
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.gcp.dataloss.PreventionDeidentifyTemplate;
 * import com.pulumi.gcp.dataloss.PreventionDeidentifyTemplateArgs;
 * import com.pulumi.gcp.dataloss.inputs.PreventionDeidentifyTemplateDeidentifyConfigArgs;
 * import com.pulumi.gcp.dataloss.inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * public class App {
 *     public static void main(String[] args) {
 *         Pulumi.run(App::stack);
 *     }
 *     public static void stack(Context ctx) {
 *         var basic = new PreventionDeidentifyTemplate("basic", PreventionDeidentifyTemplateArgs.builder()
 *             .parent("projects/my-project-name")
 *             .description("Description")
 *             .displayName("Displayname")
 *             .deidentifyConfig(PreventionDeidentifyTemplateDeidentifyConfigArgs.builder()
 *                 .infoTypeTransformations(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsArgs.builder()
 *                     .transformations(
 *                         PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs.builder()
 *                             .infoTypes(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs.builder()
 *                                 .name("FIRST_NAME")
 *                                 .build())
 *                             .primitiveTransformation(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs.builder()
 *                                 .replaceWithInfoTypeConfig(true)
 *                                 .build())
 *                             .build(),
 *                         PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs.builder()
 *                             .infoTypes(
 *                                 PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs.builder()
 *                                     .name("PHONE_NUMBER")
 *                                     .build(),
 *                                 PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs.builder()
 *                                     .name("AGE")
 *                                     .build())
 *                             .primitiveTransformation(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs.builder()
 *                                 .replaceConfig(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigArgs.builder()
 *                                     .newValue(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueArgs.builder()
 *                                         .integerValue(9)
 *                                         .build())
 *                                     .build())
 *                                 .build())
 *                             .build(),
 *                         PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs.builder()
 *                             .infoTypes(
 *                                 PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs.builder()
 *                                     .name("EMAIL_ADDRESS")
 *                                     .build(),
 *                                 PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs.builder()
 *                                     .name("LAST_NAME")
 *                                     .build())
 *                             .primitiveTransformation(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs.builder()
 *                                 .characterMaskConfig(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigArgs.builder()
 *                                     .maskingCharacter("X")
 *                                     .numberToMask(4)
 *                                     .reverseOrder(true)
 *                                     .charactersToIgnores(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArgs.builder()
 *                                         .commonCharactersToIgnore("PUNCTUATION")
 *                                         .build())
 *                                     .build())
 *                                 .build())
 *                             .build(),
 *                         PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs.builder()
 *                             .infoTypes(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs.builder()
 *                                 .name("DATE_OF_BIRTH")
 *                                 .build())
 *                             .primitiveTransformation(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs.builder()
 *                                 .replaceConfig(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigArgs.builder()
 *                                     .newValue(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueArgs.builder()
 *                                         .dateValue(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValueArgs.builder()
 *                                             .year(2020)
 *                                             .month(1)
 *                                             .day(1)
 *                                             .build())
 *                                         .build())
 *                                     .build())
 *                                 .build())
 *                             .build(),
 *                         PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs.builder()
 *                             .infoTypes(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs.builder()
 *                                 .name("CREDIT_CARD_NUMBER")
 *                                 .build())
 *                             .primitiveTransformation(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs.builder()
 *                                 .cryptoDeterministicConfig(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigArgs.builder()
 *                                     .context(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContextArgs.builder()
 *                                         .name("sometweak")
 *                                         .build())
 *                                     .cryptoKey(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyArgs.builder()
 *                                         .transient_(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs.builder()
 *                                             .name("beep")
 *                                             .build())
 *                                         .build())
 *                                     .surrogateInfoType(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeArgs.builder()
 *                                         .name("abc")
 *                                         .build())
 *                                     .build())
 *                                 .build())
 *                             .build())
 *                     .build())
 *                 .build())
 *             .build());
 *     }
 * }
 * ```
 * ```yaml
 * resources:
 *   basic:
 *     type: gcp:dataloss:PreventionDeidentifyTemplate
 *     properties:
 *       parent: projects/my-project-name
 *       description: Description
 *       displayName: Displayname
 *       deidentifyConfig:
 *         infoTypeTransformations:
 *           transformations:
 *             - infoTypes:
 *                 - name: FIRST_NAME
 *               primitiveTransformation:
 *                 replaceWithInfoTypeConfig: true
 *             - infoTypes:
 *                 - name: PHONE_NUMBER
 *                 - name: AGE
 *               primitiveTransformation:
 *                 replaceConfig:
 *                   newValue:
 *                     integerValue: 9
 *             - infoTypes:
 *                 - name: EMAIL_ADDRESS
 *                 - name: LAST_NAME
 *               primitiveTransformation:
 *                 characterMaskConfig:
 *                   maskingCharacter: X
 *                   numberToMask: 4
 *                   reverseOrder: true
 *                   charactersToIgnores:
 *                     - commonCharactersToIgnore: PUNCTUATION
 *             - infoTypes:
 *                 - name: DATE_OF_BIRTH
 *               primitiveTransformation:
 *                 replaceConfig:
 *                   newValue:
 *                     dateValue:
 *                       year: 2020
 *                       month: 1
 *                       day: 1
 *             - infoTypes:
 *                 - name: CREDIT_CARD_NUMBER
 *               primitiveTransformation:
 *                 cryptoDeterministicConfig:
 *                   context:
 *                     name: sometweak
 *                   cryptoKey:
 *                     transient:
 *                       name: beep
 *                   surrogateInfoType:
 *                     name: abc
 * ```
 * 
 * ### Dlp Deidentify Template Image Transformations
 * 
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 * const basic = new gcp.dataloss.PreventionDeidentifyTemplate("basic", {
 *     parent: "projects/my-project-name",
 *     description: "Description",
 *     displayName: "Displayname",
 *     deidentifyConfig: {
 *         imageTransformations: {
 *             transforms: [
 *                 {
 *                     redactionColor: {
 *                         red: 0.5,
 *                         blue: 1,
 *                         green: 0.2,
 *                     },
 *                     selectedInfoTypes: {
 *                         infoTypes: [{
 *                             name: "COLOR_INFO",
 *                             version: "latest",
 *                         }],
 *                     },
 *                 },
 *                 {
 *                     allInfoTypes: {},
 *                 },
 *                 {
 *                     allText: {},
 *                 },
 *             ],
 *         },
 *     },
 * });
 * ```
 * ```python
 * import pulumi
 * import pulumi_gcp as gcp
 * basic = gcp.dataloss.PreventionDeidentifyTemplate("basic",
 *     parent="projects/my-project-name",
 *     description="Description",
 *     display_name="Displayname",
 *     deidentify_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigArgs(
 *         image_transformations=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsArgs(
 *             transforms=[
 *                 gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs(
 *                     redaction_color=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformRedactionColorArgs(
 *                         red=0.5,
 *                         blue=1,
 *                         green=0.2,
 *                     ),
 *                     selected_info_types=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesArgs(
 *                         info_types=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeArgs(
 *                             name="COLOR_INFO",
 *                             version="latest",
 *                         )],
 *                     ),
 *                 ),
 *                 gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs(
 *                     all_info_types=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformAllInfoTypesArgs(),
 *                 ),
 *                 gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs(
 *                     all_text=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformAllTextArgs(),
 *                 ),
 *             ],
 *         ),
 *     ))
 * ```
 * ```csharp
 * using System.Collections.Generic;
 * using System.Linq;
 * using Pulumi;
 * using Gcp = Pulumi.Gcp;
 * return await Deployment.RunAsync(() =>
 * {
 *     var basic = new Gcp.DataLoss.PreventionDeidentifyTemplate("basic", new()
 *     {
 *         Parent = "projects/my-project-name",
 *         Description = "Description",
 *         DisplayName = "Displayname",
 *         DeidentifyConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigArgs
 *         {
 *             ImageTransformations = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsArgs
 *             {
 *                 Transforms = new[]
 *                 {
 *                     new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs
 *                     {
 *                         RedactionColor = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformRedactionColorArgs
 *                         {
 *                             Red = 0.5,
 *                             Blue = 1,
 *                             Green = 0.2,
 *                         },
 *                         SelectedInfoTypes = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesArgs
 *                         {
 *                             InfoTypes = new[]
 *                             {
 *                                 new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeArgs
 *                                 {
 *                                     Name = "COLOR_INFO",
 *                                     Version = "latest",
 *                                 },
 *                             },
 *                         },
 *                     },
 *                     new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs
 *                     {
 *                         AllInfoTypes = null,
 *                     },
 *                     new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs
 *                     {
 *                         AllText = null,
 *                     },
 *                 },
 *             },
 *         },
 *     });
 * });
 * ```
 * ```go
 * package main
 * import (
 * 	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dataloss"
 * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
 * )
 * func main() {
 * 	pulumi.Run(func(ctx *pulumi.Context) error {
 * 		_, err := dataloss.NewPreventionDeidentifyTemplate(ctx, "basic", &dataloss.PreventionDeidentifyTemplateArgs{
 * 			Parent:      pulumi.String("projects/my-project-name"),
 * 			Description: pulumi.String("Description"),
 * 			DisplayName: pulumi.String("Displayname"),
 * 			DeidentifyConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigArgs{
 * 				ImageTransformations: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsArgs{
 * 					Transforms: dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArray{
 * 						&dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs{
 * 							RedactionColor: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformRedactionColorArgs{
 * 								Red:   pulumi.Float64(0.5),
 * 								Blue:  pulumi.Float64(1),
 * 								Green: pulumi.Float64(0.2),
 * 							},
 * 							SelectedInfoTypes: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesArgs{
 * 								InfoTypes: dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeArray{
 * 									&dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeArgs{
 * 										Name:    pulumi.String("COLOR_INFO"),
 * 										Version: pulumi.String("latest"),
 * 									},
 * 								},
 * 							},
 * 						},
 * 						&dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs{
 * 							AllInfoTypes: nil,
 * 						},
 * 						&dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs{
 * 							AllText: nil,
 * 						},
 * 					},
 * 				},
 * 			},
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		return nil
 * 	})
 * }
 * ```
 * ```java
 * package generated_program;
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.gcp.dataloss.PreventionDeidentifyTemplate;
 * import com.pulumi.gcp.dataloss.PreventionDeidentifyTemplateArgs;
 * import com.pulumi.gcp.dataloss.inputs.PreventionDeidentifyTemplateDeidentifyConfigArgs;
 * import com.pulumi.gcp.dataloss.inputs.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * public class App {
 *     public static void main(String[] args) {
 *         Pulumi.run(App::stack);
 *     }
 *     public static void stack(Context ctx) {
 *         var basic = new PreventionDeidentifyTemplate("basic", PreventionDeidentifyTemplateArgs.builder()
 *             .parent("projects/my-project-name")
 *             .description("Description")
 *             .displayName("Displayname")
 *             .deidentifyConfig(PreventionDeidentifyTemplateDeidentifyConfigArgs.builder()
 *                 .imageTransformations(PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsArgs.builder()
 *                     .transforms(
 *                         PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs.builder()
 *                             .redactionColor(PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformRedactionColorArgs.builder()
 *                                 .red(0.5)
 *                                 .blue(1)
 *                                 .green(0.2)
 *                                 .build())
 *                             .selectedInfoTypes(PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesArgs.builder()
 *                                 .infoTypes(PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeArgs.builder()
 *                                     .name("COLOR_INFO")
 *                                     .version("latest")
 *                                     .build())
 *                                 .build())
 *                             .build(),
 *                         PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs.builder()
 *                             .allInfoTypes()
 *                             .build(),
 *                         PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs.builder()
 *                             .allText()
 *                             .build())
 *                     .build())
 *                 .build())
 *             .build());
 *     }
 * }
 * ```
 * ```yaml
 * resources:
 *   basic:
 *     type: gcp:dataloss:PreventionDeidentifyTemplate
 *     properties:
 *       parent: projects/my-project-name
 *       description: Description
 *       displayName: Displayname
 *       deidentifyConfig:
 *         imageTransformations:
 *           transforms:
 *             - redactionColor:
 *                 red: 0.5
 *                 blue: 1
 *                 green: 0.2
 *               selectedInfoTypes:
 *                 infoTypes:
 *                   - name: COLOR_INFO
 *                     version: latest
 *             - allInfoTypes: {}
 *             - allText: {}
 * ```
 * 
 * ## Import
 * DeidentifyTemplate can be imported using any of these accepted formats:
 * * `{{parent}}/deidentifyTemplates/{{name}}`
 * * `{{parent}}/{{name}}`
 * When using the `pulumi import` command, DeidentifyTemplate can be imported using one of the formats above. For example:
 * ```sh
 * $ pulumi import gcp:dataloss/preventionDeidentifyTemplate:PreventionDeidentifyTemplate default {{parent}}/deidentifyTemplates/{{name}}
 * ```
 * ```sh
 * $ pulumi import gcp:dataloss/preventionDeidentifyTemplate:PreventionDeidentifyTemplate default {{parent}}/{{name}}
 * ```
 */
public class PreventionDeidentifyTemplate internal constructor(
    override val javaResource: com.pulumi.gcp.dataloss.PreventionDeidentifyTemplate,
) : KotlinCustomResource(javaResource, PreventionDeidentifyTemplateMapper) {
    /**
     * The creation timestamp of an deidentifyTemplate. Set by the server.
     */
    public val createTime: Output
        get() = javaResource.createTime().applyValue({ args0 -> args0 })

    /**
     * Configuration of the deidentify template
     * Structure is documented below.
     */
    public val deidentifyConfig: Output
        get() = javaResource.deidentifyConfig().applyValue({ args0 ->
            args0.let({ args0 ->
                toKotlin(args0)
            })
        })

    /**
     * A description of the template.
     */
    public val description: Output?
        get() = javaResource.description().applyValue({ args0 ->
            args0.map({ args0 ->
                args0
            }).orElse(null)
        })

    /**
     * User set display name of the template.
     */
    public val displayName: Output?
        get() = javaResource.displayName().applyValue({ args0 ->
            args0.map({ args0 ->
                args0
            }).orElse(null)
        })

    /**
     * The resource name of the template. Set by the server.
     */
    public val name: Output
        get() = javaResource.name().applyValue({ args0 -> args0 })

    /**
     * The parent of the template in any of the following formats:
     * * `projects/{{project}}`
     * * `projects/{{project}}/locations/{{location}}`
     * * `organizations/{{organization_id}}`
     * * `organizations/{{organization_id}}/locations/{{location}}`
     */
    public val parent: Output
        get() = javaResource.parent().applyValue({ args0 -> args0 })

    /**
     * The template id can contain uppercase and lowercase letters, numbers, and hyphens; that is, it must match the regular
     * expression: [a-zA-Z\d-_]+. The maximum length is 100 characters. Can be empty to allow the system to generate one.
     */
    public val templateId: Output
        get() = javaResource.templateId().applyValue({ args0 -> args0 })

    /**
     * The last update timestamp of an deidentifyTemplate. Set by the server.
     */
    public val updateTime: Output
        get() = javaResource.updateTime().applyValue({ args0 -> args0 })
}

public object PreventionDeidentifyTemplateMapper : ResourceMapper {
    override fun supportsMappingOfType(javaResource: Resource): Boolean =
        com.pulumi.gcp.dataloss.PreventionDeidentifyTemplate::class == javaResource::class

    override fun map(javaResource: Resource): PreventionDeidentifyTemplate =
        PreventionDeidentifyTemplate(
            javaResource as
                com.pulumi.gcp.dataloss.PreventionDeidentifyTemplate,
        )
}

/**
 * @see [PreventionDeidentifyTemplate].
 * @param name The _unique_ name of the resulting resource.
 * @param block Builder for [PreventionDeidentifyTemplate].
 */
public suspend fun preventionDeidentifyTemplate(
    name: String,
    block: suspend PreventionDeidentifyTemplateResourceBuilder.() -> Unit,
): PreventionDeidentifyTemplate {
    val builder = PreventionDeidentifyTemplateResourceBuilder()
    builder.name(name)
    block(builder)
    return builder.build()
}

/**
 * @see [PreventionDeidentifyTemplate].
 * @param name The _unique_ name of the resulting resource.
 */
public fun preventionDeidentifyTemplate(name: String): PreventionDeidentifyTemplate {
    val builder = PreventionDeidentifyTemplateResourceBuilder()
    builder.name(name)
    return builder.build()
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy