1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. dataloss
  5. PreventionDeidentifyTemplate
Google Cloud Classic v7.29.0 published on Wednesday, Jun 26, 2024 by Pulumi

gcp.dataloss.PreventionDeidentifyTemplate

Explore with Pulumi AI

gcp logo
Google Cloud Classic v7.29.0 published on Wednesday, Jun 26, 2024 by Pulumi

    Allows creation of templates to de-identify content.

    To get more information about DeidentifyTemplate, see:

    Example Usage

    Dlp Deidentify Template Basic

    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",
                                },
                            },
                        },
                    },
                ],
            },
        },
    });
    
    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",
                                ),
                            ),
                        ),
                    ),
                ],
            ),
        ))
    
    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
    	})
    }
    
    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",
                                    },
                                },
                            },
                        },
                    },
                },
            },
        });
    
    });
    
    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());
    
        }
    }
    
    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

    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: {},
                    },
                ],
            },
        },
    });
    
    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(),
                    ),
                ],
            ),
        ))
    
    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
    	})
    }
    
    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,
                        },
                    },
                },
            },
        });
    
    });
    
    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());
    
        }
    }
    
    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: {}
    

    Create PreventionDeidentifyTemplate Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new PreventionDeidentifyTemplate(name: string, args: PreventionDeidentifyTemplateArgs, opts?: CustomResourceOptions);
    @overload
    def PreventionDeidentifyTemplate(resource_name: str,
                                     args: PreventionDeidentifyTemplateArgs,
                                     opts: Optional[ResourceOptions] = None)
    
    @overload
    def PreventionDeidentifyTemplate(resource_name: str,
                                     opts: Optional[ResourceOptions] = None,
                                     deidentify_config: Optional[PreventionDeidentifyTemplateDeidentifyConfigArgs] = None,
                                     parent: Optional[str] = None,
                                     description: Optional[str] = None,
                                     display_name: Optional[str] = None,
                                     template_id: Optional[str] = None)
    func NewPreventionDeidentifyTemplate(ctx *Context, name string, args PreventionDeidentifyTemplateArgs, opts ...ResourceOption) (*PreventionDeidentifyTemplate, error)
    public PreventionDeidentifyTemplate(string name, PreventionDeidentifyTemplateArgs args, CustomResourceOptions? opts = null)
    public PreventionDeidentifyTemplate(String name, PreventionDeidentifyTemplateArgs args)
    public PreventionDeidentifyTemplate(String name, PreventionDeidentifyTemplateArgs args, CustomResourceOptions options)
    
    type: gcp:dataloss:PreventionDeidentifyTemplate
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args PreventionDeidentifyTemplateArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args PreventionDeidentifyTemplateArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args PreventionDeidentifyTemplateArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args PreventionDeidentifyTemplateArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args PreventionDeidentifyTemplateArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var preventionDeidentifyTemplateResource = new Gcp.DataLoss.PreventionDeidentifyTemplate("preventionDeidentifyTemplateResource", new()
    {
        DeidentifyConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigArgs
        {
            ImageTransformations = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsArgs
            {
                Transforms = new[]
                {
                    new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs
                    {
                        AllInfoTypes = null,
                        AllText = null,
                        RedactionColor = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformRedactionColorArgs
                        {
                            Blue = 0,
                            Green = 0,
                            Red = 0,
                        },
                        SelectedInfoTypes = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesArgs
                        {
                            InfoTypes = new[]
                            {
                                new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeArgs
                                {
                                    Name = "string",
                                    SensitivityScore = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeSensitivityScoreArgs
                                    {
                                        Score = "string",
                                    },
                                    Version = "string",
                                },
                            },
                        },
                    },
                },
            },
            InfoTypeTransformations = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsArgs
            {
                Transformations = new[]
                {
                    new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs
                    {
                        PrimitiveTransformation = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs
                        {
                            BucketingConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigArgs
                            {
                                Buckets = new[]
                                {
                                    new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketArgs
                                    {
                                        ReplacementValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueArgs
                                        {
                                            DateValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValueArgs
                                            {
                                                Day = 0,
                                                Month = 0,
                                                Year = 0,
                                            },
                                            DayOfWeekValue = "string",
                                            FloatValue = 0,
                                            IntegerValue = "string",
                                            StringValue = "string",
                                            TimeValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValueArgs
                                            {
                                                Hours = 0,
                                                Minutes = 0,
                                                Nanos = 0,
                                                Seconds = 0,
                                            },
                                            TimestampValue = "string",
                                        },
                                        Max = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxArgs
                                        {
                                            DateValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValueArgs
                                            {
                                                Day = 0,
                                                Month = 0,
                                                Year = 0,
                                            },
                                            DayOfWeekValue = "string",
                                            FloatValue = 0,
                                            IntegerValue = "string",
                                            StringValue = "string",
                                            TimeValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValueArgs
                                            {
                                                Hours = 0,
                                                Minutes = 0,
                                                Nanos = 0,
                                                Seconds = 0,
                                            },
                                            TimestampValue = "string",
                                        },
                                        Min = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinArgs
                                        {
                                            DateValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValueArgs
                                            {
                                                Day = 0,
                                                Month = 0,
                                                Year = 0,
                                            },
                                            DayOfWeekValue = "string",
                                            FloatValue = 0,
                                            IntegerValue = "string",
                                            StringValue = "string",
                                            TimeValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValueArgs
                                            {
                                                Hours = 0,
                                                Minutes = 0,
                                                Nanos = 0,
                                                Seconds = 0,
                                            },
                                            TimestampValue = "string",
                                        },
                                    },
                                },
                            },
                            CharacterMaskConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigArgs
                            {
                                CharactersToIgnores = new[]
                                {
                                    new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArgs
                                    {
                                        CharactersToSkip = "string",
                                        CommonCharactersToIgnore = "string",
                                    },
                                },
                                MaskingCharacter = "string",
                                NumberToMask = 0,
                                ReverseOrder = false,
                            },
                            CryptoDeterministicConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigArgs
                            {
                                Context = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContextArgs
                                {
                                    Name = "string",
                                },
                                CryptoKey = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyArgs
                                {
                                    KmsWrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrappedArgs
                                    {
                                        CryptoKeyName = "string",
                                        WrappedKey = "string",
                                    },
                                    Transient = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs
                                    {
                                        Name = "string",
                                    },
                                    Unwrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrappedArgs
                                    {
                                        Key = "string",
                                    },
                                },
                                SurrogateInfoType = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeArgs
                                {
                                    Name = "string",
                                    SensitivityScore = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScoreArgs
                                    {
                                        Score = "string",
                                    },
                                    Version = "string",
                                },
                            },
                            CryptoHashConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigArgs
                            {
                                CryptoKey = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyArgs
                                {
                                    KmsWrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrappedArgs
                                    {
                                        CryptoKeyName = "string",
                                        WrappedKey = "string",
                                    },
                                    Transient = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransientArgs
                                    {
                                        Name = "string",
                                    },
                                    Unwrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrappedArgs
                                    {
                                        Key = "string",
                                    },
                                },
                            },
                            CryptoReplaceFfxFpeConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigArgs
                            {
                                CommonAlphabet = "string",
                                Context = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContextArgs
                                {
                                    Name = "string",
                                },
                                CryptoKey = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyArgs
                                {
                                    KmsWrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrappedArgs
                                    {
                                        CryptoKeyName = "string",
                                        WrappedKey = "string",
                                    },
                                    Transient = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransientArgs
                                    {
                                        Name = "string",
                                    },
                                    Unwrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrappedArgs
                                    {
                                        Key = "string",
                                    },
                                },
                                CustomAlphabet = "string",
                                Radix = 0,
                                SurrogateInfoType = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeArgs
                                {
                                    Name = "string",
                                    SensitivityScore = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScoreArgs
                                    {
                                        Score = "string",
                                    },
                                    Version = "string",
                                },
                            },
                            DateShiftConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigArgs
                            {
                                LowerBoundDays = 0,
                                UpperBoundDays = 0,
                                Context = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContextArgs
                                {
                                    Name = "string",
                                },
                                CryptoKey = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyArgs
                                {
                                    KmsWrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrappedArgs
                                    {
                                        CryptoKeyName = "string",
                                        WrappedKey = "string",
                                    },
                                    Transient = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransientArgs
                                    {
                                        Name = "string",
                                    },
                                    Unwrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrappedArgs
                                    {
                                        Key = "string",
                                    },
                                },
                            },
                            FixedSizeBucketingConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigArgs
                            {
                                BucketSize = 0,
                                LowerBound = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundArgs
                                {
                                    FloatValue = 0,
                                    IntegerValue = "string",
                                },
                                UpperBound = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundArgs
                                {
                                    FloatValue = 0,
                                    IntegerValue = "string",
                                },
                            },
                            RedactConfig = null,
                            ReplaceConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigArgs
                            {
                                NewValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueArgs
                                {
                                    BooleanValue = false,
                                    DateValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValueArgs
                                    {
                                        Day = 0,
                                        Month = 0,
                                        Year = 0,
                                    },
                                    DayOfWeekValue = "string",
                                    FloatValue = 0,
                                    IntegerValue = 0,
                                    StringValue = "string",
                                    TimeValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValueArgs
                                    {
                                        Hours = 0,
                                        Minutes = 0,
                                        Nanos = 0,
                                        Seconds = 0,
                                    },
                                    TimestampValue = "string",
                                },
                            },
                            ReplaceDictionaryConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigArgs
                            {
                                WordList = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordListArgs
                                {
                                    Words = new[]
                                    {
                                        "string",
                                    },
                                },
                            },
                            ReplaceWithInfoTypeConfig = false,
                            TimePartConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfigArgs
                            {
                                PartToExtract = "string",
                            },
                        },
                        InfoTypes = new[]
                        {
                            new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs
                            {
                                Name = "string",
                                SensitivityScore = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeSensitivityScoreArgs
                                {
                                    Score = "string",
                                },
                                Version = "string",
                            },
                        },
                    },
                },
            },
            RecordTransformations = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsArgs
            {
                FieldTransformations = new[]
                {
                    new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationArgs
                    {
                        Fields = new[]
                        {
                            new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationFieldArgs
                            {
                                Name = "string",
                            },
                        },
                        Condition = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionArgs
                        {
                            Expressions = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsArgs
                            {
                                Conditions = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsArgs
                                {
                                    Conditions = new[]
                                    {
                                        new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionArgs
                                        {
                                            Field = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionFieldArgs
                                            {
                                                Name = "string",
                                            },
                                            Operator = "string",
                                            Value = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueArgs
                                            {
                                                BooleanValue = false,
                                                DateValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueDateValueArgs
                                                {
                                                    Day = 0,
                                                    Month = 0,
                                                    Year = 0,
                                                },
                                                DayOfWeekValue = "string",
                                                FloatValue = 0,
                                                IntegerValue = "string",
                                                StringValue = "string",
                                                TimeValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueTimeValueArgs
                                                {
                                                    Hours = 0,
                                                    Minutes = 0,
                                                    Nanos = 0,
                                                    Seconds = 0,
                                                },
                                                TimestampValue = "string",
                                            },
                                        },
                                    },
                                },
                                LogicalOperator = "string",
                            },
                        },
                        InfoTypeTransformations = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsArgs
                        {
                            Transformations = new[]
                            {
                                new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationArgs
                                {
                                    PrimitiveTransformation = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationArgs
                                    {
                                        BucketingConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigArgs
                                        {
                                            Buckets = new[]
                                            {
                                                new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketArgs
                                                {
                                                    ReplacementValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueArgs
                                                    {
                                                        DateValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValueArgs
                                                        {
                                                            Day = 0,
                                                            Month = 0,
                                                            Year = 0,
                                                        },
                                                        DayOfWeekValue = "string",
                                                        FloatValue = 0,
                                                        IntegerValue = "string",
                                                        StringValue = "string",
                                                        TimeValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValueArgs
                                                        {
                                                            Hours = 0,
                                                            Minutes = 0,
                                                            Nanos = 0,
                                                            Seconds = 0,
                                                        },
                                                        TimestampValue = "string",
                                                    },
                                                    Max = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxArgs
                                                    {
                                                        DateValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValueArgs
                                                        {
                                                            Day = 0,
                                                            Month = 0,
                                                            Year = 0,
                                                        },
                                                        DayOfWeekValue = "string",
                                                        FloatValue = 0,
                                                        IntegerValue = "string",
                                                        StringValue = "string",
                                                        TimeValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValueArgs
                                                        {
                                                            Hours = 0,
                                                            Minutes = 0,
                                                            Nanos = 0,
                                                            Seconds = 0,
                                                        },
                                                        TimestampValue = "string",
                                                    },
                                                    Min = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinArgs
                                                    {
                                                        DateValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValueArgs
                                                        {
                                                            Day = 0,
                                                            Month = 0,
                                                            Year = 0,
                                                        },
                                                        DayOfWeekValue = "string",
                                                        FloatValue = 0,
                                                        IntegerValue = "string",
                                                        StringValue = "string",
                                                        TimeValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValueArgs
                                                        {
                                                            Hours = 0,
                                                            Minutes = 0,
                                                            Nanos = 0,
                                                            Seconds = 0,
                                                        },
                                                        TimestampValue = "string",
                                                    },
                                                },
                                            },
                                        },
                                        CharacterMaskConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigArgs
                                        {
                                            CharactersToIgnores = new[]
                                            {
                                                new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArgs
                                                {
                                                    CharactersToSkip = "string",
                                                    CommonCharactersToIgnore = "string",
                                                },
                                            },
                                            MaskingCharacter = "string",
                                            NumberToMask = 0,
                                            ReverseOrder = false,
                                        },
                                        CryptoDeterministicConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigArgs
                                        {
                                            CryptoKey = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyArgs
                                            {
                                                KmsWrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrappedArgs
                                                {
                                                    CryptoKeyName = "string",
                                                    WrappedKey = "string",
                                                },
                                                Transient = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs
                                                {
                                                    Name = "string",
                                                },
                                                Unwrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrappedArgs
                                                {
                                                    Key = "string",
                                                },
                                            },
                                            SurrogateInfoType = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeArgs
                                            {
                                                Name = "string",
                                                SensitivityScore = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScoreArgs
                                                {
                                                    Score = "string",
                                                },
                                                Version = "string",
                                            },
                                            Context = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContextArgs
                                            {
                                                Name = "string",
                                            },
                                        },
                                        CryptoHashConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigArgs
                                        {
                                            CryptoKey = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyArgs
                                            {
                                                KmsWrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrappedArgs
                                                {
                                                    CryptoKeyName = "string",
                                                    WrappedKey = "string",
                                                },
                                                Transient = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransientArgs
                                                {
                                                    Name = "string",
                                                },
                                                Unwrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrappedArgs
                                                {
                                                    Key = "string",
                                                },
                                            },
                                        },
                                        CryptoReplaceFfxFpeConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigArgs
                                        {
                                            CryptoKey = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyArgs
                                            {
                                                KmsWrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrappedArgs
                                                {
                                                    CryptoKeyName = "string",
                                                    WrappedKey = "string",
                                                },
                                                Transient = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransientArgs
                                                {
                                                    Name = "string",
                                                },
                                                Unwrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrappedArgs
                                                {
                                                    Key = "string",
                                                },
                                            },
                                            CommonAlphabet = "string",
                                            Context = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContextArgs
                                            {
                                                Name = "string",
                                            },
                                            CustomAlphabet = "string",
                                            Radix = 0,
                                            SurrogateInfoType = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeArgs
                                            {
                                                Name = "string",
                                                SensitivityScore = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScoreArgs
                                                {
                                                    Score = "string",
                                                },
                                                Version = "string",
                                            },
                                        },
                                        DateShiftConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigArgs
                                        {
                                            LowerBoundDays = 0,
                                            UpperBoundDays = 0,
                                            Context = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContextArgs
                                            {
                                                Name = "string",
                                            },
                                            CryptoKey = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyArgs
                                            {
                                                KmsWrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrappedArgs
                                                {
                                                    CryptoKeyName = "string",
                                                    WrappedKey = "string",
                                                },
                                                Transient = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransientArgs
                                                {
                                                    Name = "string",
                                                },
                                                Unwrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrappedArgs
                                                {
                                                    Key = "string",
                                                },
                                            },
                                        },
                                        FixedSizeBucketingConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigArgs
                                        {
                                            BucketSize = 0,
                                            LowerBound = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundArgs
                                            {
                                                FloatValue = 0,
                                                IntegerValue = "string",
                                            },
                                            UpperBound = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundArgs
                                            {
                                                FloatValue = 0,
                                                IntegerValue = "string",
                                            },
                                        },
                                        RedactConfig = null,
                                        ReplaceConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigArgs
                                        {
                                            NewValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueArgs
                                            {
                                                BooleanValue = false,
                                                DateValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValueArgs
                                                {
                                                    Day = 0,
                                                    Month = 0,
                                                    Year = 0,
                                                },
                                                DayOfWeekValue = "string",
                                                FloatValue = 0,
                                                IntegerValue = "string",
                                                StringValue = "string",
                                                TimeValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValueArgs
                                                {
                                                    Hours = 0,
                                                    Minutes = 0,
                                                    Nanos = 0,
                                                    Seconds = 0,
                                                },
                                                TimestampValue = "string",
                                            },
                                        },
                                        ReplaceDictionaryConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigArgs
                                        {
                                            WordList = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordListArgs
                                            {
                                                Words = new[]
                                                {
                                                    "string",
                                                },
                                            },
                                        },
                                        ReplaceWithInfoTypeConfig = null,
                                        TimePartConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfigArgs
                                        {
                                            PartToExtract = "string",
                                        },
                                    },
                                    InfoTypes = new[]
                                    {
                                        new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoTypeArgs
                                        {
                                            Name = "string",
                                            SensitivityScore = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoTypeSensitivityScoreArgs
                                            {
                                                Score = "string",
                                            },
                                            Version = "string",
                                        },
                                    },
                                },
                            },
                        },
                        PrimitiveTransformation = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationArgs
                        {
                            BucketingConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigArgs
                            {
                                Buckets = new[]
                                {
                                    new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketArgs
                                    {
                                        ReplacementValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueArgs
                                        {
                                            BooleanValue = false,
                                            DateValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValueArgs
                                            {
                                                Day = 0,
                                                Month = 0,
                                                Year = 0,
                                            },
                                            DayOfWeekValue = "string",
                                            FloatValue = 0,
                                            IntegerValue = "string",
                                            StringValue = "string",
                                            TimeValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValueArgs
                                            {
                                                Hours = 0,
                                                Minutes = 0,
                                                Nanos = 0,
                                                Seconds = 0,
                                            },
                                            TimestampValue = "string",
                                        },
                                        Max = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxArgs
                                        {
                                            BooleanValue = false,
                                            DateValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValueArgs
                                            {
                                                Day = 0,
                                                Month = 0,
                                                Year = 0,
                                            },
                                            DayOfWeekValue = "string",
                                            FloatValue = 0,
                                            IntegerValue = "string",
                                            StringValue = "string",
                                            TimeValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValueArgs
                                            {
                                                Hours = 0,
                                                Minutes = 0,
                                                Nanos = 0,
                                                Seconds = 0,
                                            },
                                            TimestampValue = "string",
                                        },
                                        Min = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinArgs
                                        {
                                            BooleanValue = false,
                                            DateValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinDateValueArgs
                                            {
                                                Day = 0,
                                                Month = 0,
                                                Year = 0,
                                            },
                                            DayOfWeekValue = "string",
                                            FloatValue = 0,
                                            IntegerValue = "string",
                                            StringValue = "string",
                                            TimeValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValueArgs
                                            {
                                                Hours = 0,
                                                Minutes = 0,
                                                Nanos = 0,
                                                Seconds = 0,
                                            },
                                            TimestampValue = "string",
                                        },
                                    },
                                },
                            },
                            CharacterMaskConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfigArgs
                            {
                                CharactersToIgnores = new[]
                                {
                                    new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArgs
                                    {
                                        CharactersToSkip = "string",
                                        CommonCharactersToIgnore = "string",
                                    },
                                },
                                MaskingCharacter = "string",
                                NumberToMask = 0,
                                ReverseOrder = false,
                            },
                            CryptoDeterministicConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigArgs
                            {
                                Context = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigContextArgs
                                {
                                    Name = "string",
                                },
                                CryptoKey = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyArgs
                                {
                                    KmsWrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrappedArgs
                                    {
                                        CryptoKeyName = "string",
                                        WrappedKey = "string",
                                    },
                                    Transient = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs
                                    {
                                        Name = "string",
                                    },
                                    Unwrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrappedArgs
                                    {
                                        Key = "string",
                                    },
                                },
                                SurrogateInfoType = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeArgs
                                {
                                    Name = "string",
                                    SensitivityScore = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScoreArgs
                                    {
                                        Score = "string",
                                    },
                                    Version = "string",
                                },
                            },
                            CryptoHashConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigArgs
                            {
                                CryptoKey = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyArgs
                                {
                                    KmsWrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrappedArgs
                                    {
                                        CryptoKeyName = "string",
                                        WrappedKey = "string",
                                    },
                                    Transient = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransientArgs
                                    {
                                        Name = "string",
                                    },
                                    Unwrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrappedArgs
                                    {
                                        Key = "string",
                                    },
                                },
                            },
                            CryptoReplaceFfxFpeConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigArgs
                            {
                                CommonAlphabet = "string",
                                Context = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContextArgs
                                {
                                    Name = "string",
                                },
                                CryptoKey = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyArgs
                                {
                                    KmsWrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrappedArgs
                                    {
                                        CryptoKeyName = "string",
                                        WrappedKey = "string",
                                    },
                                    Transient = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransientArgs
                                    {
                                        Name = "string",
                                    },
                                    Unwrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrappedArgs
                                    {
                                        Key = "string",
                                    },
                                },
                                CustomAlphabet = "string",
                                Radix = 0,
                                SurrogateInfoType = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeArgs
                                {
                                    Name = "string",
                                    SensitivityScore = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScoreArgs
                                    {
                                        Score = "string",
                                    },
                                    Version = "string",
                                },
                            },
                            DateShiftConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigArgs
                            {
                                LowerBoundDays = 0,
                                UpperBoundDays = 0,
                                Context = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigContextArgs
                                {
                                    Name = "string",
                                },
                                CryptoKey = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyArgs
                                {
                                    KmsWrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrappedArgs
                                    {
                                        CryptoKeyName = "string",
                                        WrappedKey = "string",
                                    },
                                    Transient = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransientArgs
                                    {
                                        Name = "string",
                                    },
                                    Unwrapped = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrappedArgs
                                    {
                                        Key = "string",
                                    },
                                },
                            },
                            FixedSizeBucketingConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigArgs
                            {
                                BucketSize = 0,
                                LowerBound = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundArgs
                                {
                                    BooleanValue = false,
                                    DateValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValueArgs
                                    {
                                        Day = 0,
                                        Month = 0,
                                        Year = 0,
                                    },
                                    DayOfWeekValue = "string",
                                    FloatValue = 0,
                                    IntegerValue = "string",
                                    StringValue = "string",
                                    TimeValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValueArgs
                                    {
                                        Hours = 0,
                                        Minutes = 0,
                                        Nanos = 0,
                                        Seconds = 0,
                                    },
                                    TimestampValue = "string",
                                },
                                UpperBound = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundArgs
                                {
                                    BooleanValue = false,
                                    DateValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValueArgs
                                    {
                                        Day = 0,
                                        Month = 0,
                                        Year = 0,
                                    },
                                    DayOfWeekValue = "string",
                                    FloatValue = 0,
                                    IntegerValue = "string",
                                    StringValue = "string",
                                    TimeValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValueArgs
                                    {
                                        Hours = 0,
                                        Minutes = 0,
                                        Nanos = 0,
                                        Seconds = 0,
                                    },
                                    TimestampValue = "string",
                                },
                            },
                            RedactConfig = null,
                            ReplaceConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigArgs
                            {
                                NewValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueArgs
                                {
                                    BooleanValue = false,
                                    DateValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueDateValueArgs
                                    {
                                        Day = 0,
                                        Month = 0,
                                        Year = 0,
                                    },
                                    DayOfWeekValue = "string",
                                    FloatValue = 0,
                                    IntegerValue = "string",
                                    StringValue = "string",
                                    TimeValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueTimeValueArgs
                                    {
                                        Hours = 0,
                                        Minutes = 0,
                                        Nanos = 0,
                                        Seconds = 0,
                                    },
                                    TimestampValue = "string",
                                },
                            },
                            ReplaceDictionaryConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfigArgs
                            {
                                WordList = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfigWordListArgs
                                {
                                    Words = new[]
                                    {
                                        "string",
                                    },
                                },
                            },
                            TimePartConfig = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationTimePartConfigArgs
                            {
                                PartToExtract = "string",
                            },
                        },
                    },
                },
                RecordSuppressions = new[]
                {
                    new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionArgs
                    {
                        Condition = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionArgs
                        {
                            Expressions = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsArgs
                            {
                                Conditions = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsArgs
                                {
                                    Conditions = new[]
                                    {
                                        new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionArgs
                                        {
                                            Field = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionFieldArgs
                                            {
                                                Name = "string",
                                            },
                                            Operator = "string",
                                            Value = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueArgs
                                            {
                                                BooleanValue = false,
                                                DateValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueDateValueArgs
                                                {
                                                    Day = 0,
                                                    Month = 0,
                                                    Year = 0,
                                                },
                                                DayOfWeekValue = "string",
                                                FloatValue = 0,
                                                IntegerValue = "string",
                                                StringValue = "string",
                                                TimeValue = new Gcp.DataLoss.Inputs.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueTimeValueArgs
                                                {
                                                    Hours = 0,
                                                    Minutes = 0,
                                                    Nanos = 0,
                                                    Seconds = 0,
                                                },
                                                TimestampValue = "string",
                                            },
                                        },
                                    },
                                },
                                LogicalOperator = "string",
                            },
                        },
                    },
                },
            },
        },
        Parent = "string",
        Description = "string",
        DisplayName = "string",
        TemplateId = "string",
    });
    
    example, err := dataloss.NewPreventionDeidentifyTemplate(ctx, "preventionDeidentifyTemplateResource", &dataloss.PreventionDeidentifyTemplateArgs{
    	DeidentifyConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigArgs{
    		ImageTransformations: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsArgs{
    			Transforms: dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArray{
    				&dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs{
    					AllInfoTypes: nil,
    					AllText:      nil,
    					RedactionColor: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformRedactionColorArgs{
    						Blue:  pulumi.Float64(0),
    						Green: pulumi.Float64(0),
    						Red:   pulumi.Float64(0),
    					},
    					SelectedInfoTypes: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesArgs{
    						InfoTypes: dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeArray{
    							&dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeArgs{
    								Name: pulumi.String("string"),
    								SensitivityScore: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeSensitivityScoreArgs{
    									Score: pulumi.String("string"),
    								},
    								Version: pulumi.String("string"),
    							},
    						},
    					},
    				},
    			},
    		},
    		InfoTypeTransformations: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsArgs{
    			Transformations: dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArray{
    				&dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs{
    					PrimitiveTransformation: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs{
    						BucketingConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigArgs{
    							Buckets: dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketArray{
    								&dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketArgs{
    									ReplacementValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueArgs{
    										DateValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValueArgs{
    											Day:   pulumi.Int(0),
    											Month: pulumi.Int(0),
    											Year:  pulumi.Int(0),
    										},
    										DayOfWeekValue: pulumi.String("string"),
    										FloatValue:     pulumi.Float64(0),
    										IntegerValue:   pulumi.String("string"),
    										StringValue:    pulumi.String("string"),
    										TimeValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValueArgs{
    											Hours:   pulumi.Int(0),
    											Minutes: pulumi.Int(0),
    											Nanos:   pulumi.Int(0),
    											Seconds: pulumi.Int(0),
    										},
    										TimestampValue: pulumi.String("string"),
    									},
    									Max: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxArgs{
    										DateValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValueArgs{
    											Day:   pulumi.Int(0),
    											Month: pulumi.Int(0),
    											Year:  pulumi.Int(0),
    										},
    										DayOfWeekValue: pulumi.String("string"),
    										FloatValue:     pulumi.Float64(0),
    										IntegerValue:   pulumi.String("string"),
    										StringValue:    pulumi.String("string"),
    										TimeValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValueArgs{
    											Hours:   pulumi.Int(0),
    											Minutes: pulumi.Int(0),
    											Nanos:   pulumi.Int(0),
    											Seconds: pulumi.Int(0),
    										},
    										TimestampValue: pulumi.String("string"),
    									},
    									Min: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinArgs{
    										DateValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValueArgs{
    											Day:   pulumi.Int(0),
    											Month: pulumi.Int(0),
    											Year:  pulumi.Int(0),
    										},
    										DayOfWeekValue: pulumi.String("string"),
    										FloatValue:     pulumi.Float64(0),
    										IntegerValue:   pulumi.String("string"),
    										StringValue:    pulumi.String("string"),
    										TimeValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValueArgs{
    											Hours:   pulumi.Int(0),
    											Minutes: pulumi.Int(0),
    											Nanos:   pulumi.Int(0),
    											Seconds: pulumi.Int(0),
    										},
    										TimestampValue: pulumi.String("string"),
    									},
    								},
    							},
    						},
    						CharacterMaskConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigArgs{
    							CharactersToIgnores: dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArray{
    								&dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArgs{
    									CharactersToSkip:         pulumi.String("string"),
    									CommonCharactersToIgnore: pulumi.String("string"),
    								},
    							},
    							MaskingCharacter: pulumi.String("string"),
    							NumberToMask:     pulumi.Int(0),
    							ReverseOrder:     pulumi.Bool(false),
    						},
    						CryptoDeterministicConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigArgs{
    							Context: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContextArgs{
    								Name: pulumi.String("string"),
    							},
    							CryptoKey: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyArgs{
    								KmsWrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrappedArgs{
    									CryptoKeyName: pulumi.String("string"),
    									WrappedKey:    pulumi.String("string"),
    								},
    								Transient: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs{
    									Name: pulumi.String("string"),
    								},
    								Unwrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrappedArgs{
    									Key: pulumi.String("string"),
    								},
    							},
    							SurrogateInfoType: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeArgs{
    								Name: pulumi.String("string"),
    								SensitivityScore: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScoreArgs{
    									Score: pulumi.String("string"),
    								},
    								Version: pulumi.String("string"),
    							},
    						},
    						CryptoHashConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigArgs{
    							CryptoKey: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyArgs{
    								KmsWrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrappedArgs{
    									CryptoKeyName: pulumi.String("string"),
    									WrappedKey:    pulumi.String("string"),
    								},
    								Transient: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransientArgs{
    									Name: pulumi.String("string"),
    								},
    								Unwrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrappedArgs{
    									Key: pulumi.String("string"),
    								},
    							},
    						},
    						CryptoReplaceFfxFpeConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigArgs{
    							CommonAlphabet: pulumi.String("string"),
    							Context: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContextArgs{
    								Name: pulumi.String("string"),
    							},
    							CryptoKey: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyArgs{
    								KmsWrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrappedArgs{
    									CryptoKeyName: pulumi.String("string"),
    									WrappedKey:    pulumi.String("string"),
    								},
    								Transient: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransientArgs{
    									Name: pulumi.String("string"),
    								},
    								Unwrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrappedArgs{
    									Key: pulumi.String("string"),
    								},
    							},
    							CustomAlphabet: pulumi.String("string"),
    							Radix:          pulumi.Int(0),
    							SurrogateInfoType: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeArgs{
    								Name: pulumi.String("string"),
    								SensitivityScore: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScoreArgs{
    									Score: pulumi.String("string"),
    								},
    								Version: pulumi.String("string"),
    							},
    						},
    						DateShiftConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigArgs{
    							LowerBoundDays: pulumi.Int(0),
    							UpperBoundDays: pulumi.Int(0),
    							Context: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContextArgs{
    								Name: pulumi.String("string"),
    							},
    							CryptoKey: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyArgs{
    								KmsWrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrappedArgs{
    									CryptoKeyName: pulumi.String("string"),
    									WrappedKey:    pulumi.String("string"),
    								},
    								Transient: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransientArgs{
    									Name: pulumi.String("string"),
    								},
    								Unwrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrappedArgs{
    									Key: pulumi.String("string"),
    								},
    							},
    						},
    						FixedSizeBucketingConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigArgs{
    							BucketSize: pulumi.Float64(0),
    							LowerBound: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundArgs{
    								FloatValue:   pulumi.Float64(0),
    								IntegerValue: pulumi.String("string"),
    							},
    							UpperBound: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundArgs{
    								FloatValue:   pulumi.Float64(0),
    								IntegerValue: pulumi.String("string"),
    							},
    						},
    						RedactConfig: nil,
    						ReplaceConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigArgs{
    							NewValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueArgs{
    								BooleanValue: pulumi.Bool(false),
    								DateValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValueArgs{
    									Day:   pulumi.Int(0),
    									Month: pulumi.Int(0),
    									Year:  pulumi.Int(0),
    								},
    								DayOfWeekValue: pulumi.String("string"),
    								FloatValue:     pulumi.Float64(0),
    								IntegerValue:   pulumi.Int(0),
    								StringValue:    pulumi.String("string"),
    								TimeValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValueArgs{
    									Hours:   pulumi.Int(0),
    									Minutes: pulumi.Int(0),
    									Nanos:   pulumi.Int(0),
    									Seconds: pulumi.Int(0),
    								},
    								TimestampValue: pulumi.String("string"),
    							},
    						},
    						ReplaceDictionaryConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigArgs{
    							WordList: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordListArgs{
    								Words: pulumi.StringArray{
    									pulumi.String("string"),
    								},
    							},
    						},
    						ReplaceWithInfoTypeConfig: pulumi.Bool(false),
    						TimePartConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfigArgs{
    							PartToExtract: pulumi.String("string"),
    						},
    					},
    					InfoTypes: dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArray{
    						&dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs{
    							Name: pulumi.String("string"),
    							SensitivityScore: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeSensitivityScoreArgs{
    								Score: pulumi.String("string"),
    							},
    							Version: pulumi.String("string"),
    						},
    					},
    				},
    			},
    		},
    		RecordTransformations: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsArgs{
    			FieldTransformations: dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationArray{
    				&dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationArgs{
    					Fields: dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationFieldArray{
    						&dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationFieldArgs{
    							Name: pulumi.String("string"),
    						},
    					},
    					Condition: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionArgs{
    						Expressions: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsArgs{
    							Conditions: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsArgs{
    								Conditions: dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionArray{
    									&dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionArgs{
    										Field: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionFieldArgs{
    											Name: pulumi.String("string"),
    										},
    										Operator: pulumi.String("string"),
    										Value: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueArgs{
    											BooleanValue: pulumi.Bool(false),
    											DateValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueDateValueArgs{
    												Day:   pulumi.Int(0),
    												Month: pulumi.Int(0),
    												Year:  pulumi.Int(0),
    											},
    											DayOfWeekValue: pulumi.String("string"),
    											FloatValue:     pulumi.Float64(0),
    											IntegerValue:   pulumi.String("string"),
    											StringValue:    pulumi.String("string"),
    											TimeValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueTimeValueArgs{
    												Hours:   pulumi.Int(0),
    												Minutes: pulumi.Int(0),
    												Nanos:   pulumi.Int(0),
    												Seconds: pulumi.Int(0),
    											},
    											TimestampValue: pulumi.String("string"),
    										},
    									},
    								},
    							},
    							LogicalOperator: pulumi.String("string"),
    						},
    					},
    					InfoTypeTransformations: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsArgs{
    						Transformations: dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationArray{
    							&dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationArgs{
    								PrimitiveTransformation: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationArgs{
    									BucketingConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigArgs{
    										Buckets: dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketArray{
    											&dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketArgs{
    												ReplacementValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueArgs{
    													DateValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValueArgs{
    														Day:   pulumi.Int(0),
    														Month: pulumi.Int(0),
    														Year:  pulumi.Int(0),
    													},
    													DayOfWeekValue: pulumi.String("string"),
    													FloatValue:     pulumi.Float64(0),
    													IntegerValue:   pulumi.String("string"),
    													StringValue:    pulumi.String("string"),
    													TimeValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValueArgs{
    														Hours:   pulumi.Int(0),
    														Minutes: pulumi.Int(0),
    														Nanos:   pulumi.Int(0),
    														Seconds: pulumi.Int(0),
    													},
    													TimestampValue: pulumi.String("string"),
    												},
    												Max: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxArgs{
    													DateValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValueArgs{
    														Day:   pulumi.Int(0),
    														Month: pulumi.Int(0),
    														Year:  pulumi.Int(0),
    													},
    													DayOfWeekValue: pulumi.String("string"),
    													FloatValue:     pulumi.Float64(0),
    													IntegerValue:   pulumi.String("string"),
    													StringValue:    pulumi.String("string"),
    													TimeValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValueArgs{
    														Hours:   pulumi.Int(0),
    														Minutes: pulumi.Int(0),
    														Nanos:   pulumi.Int(0),
    														Seconds: pulumi.Int(0),
    													},
    													TimestampValue: pulumi.String("string"),
    												},
    												Min: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinArgs{
    													DateValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValueArgs{
    														Day:   pulumi.Int(0),
    														Month: pulumi.Int(0),
    														Year:  pulumi.Int(0),
    													},
    													DayOfWeekValue: pulumi.String("string"),
    													FloatValue:     pulumi.Float64(0),
    													IntegerValue:   pulumi.String("string"),
    													StringValue:    pulumi.String("string"),
    													TimeValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValueArgs{
    														Hours:   pulumi.Int(0),
    														Minutes: pulumi.Int(0),
    														Nanos:   pulumi.Int(0),
    														Seconds: pulumi.Int(0),
    													},
    													TimestampValue: pulumi.String("string"),
    												},
    											},
    										},
    									},
    									CharacterMaskConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigArgs{
    										CharactersToIgnores: dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArray{
    											&dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArgs{
    												CharactersToSkip:         pulumi.String("string"),
    												CommonCharactersToIgnore: pulumi.String("string"),
    											},
    										},
    										MaskingCharacter: pulumi.String("string"),
    										NumberToMask:     pulumi.Int(0),
    										ReverseOrder:     pulumi.Bool(false),
    									},
    									CryptoDeterministicConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigArgs{
    										CryptoKey: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyArgs{
    											KmsWrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrappedArgs{
    												CryptoKeyName: pulumi.String("string"),
    												WrappedKey:    pulumi.String("string"),
    											},
    											Transient: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs{
    												Name: pulumi.String("string"),
    											},
    											Unwrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrappedArgs{
    												Key: pulumi.String("string"),
    											},
    										},
    										SurrogateInfoType: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeArgs{
    											Name: pulumi.String("string"),
    											SensitivityScore: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScoreArgs{
    												Score: pulumi.String("string"),
    											},
    											Version: pulumi.String("string"),
    										},
    										Context: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContextArgs{
    											Name: pulumi.String("string"),
    										},
    									},
    									CryptoHashConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigArgs{
    										CryptoKey: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyArgs{
    											KmsWrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrappedArgs{
    												CryptoKeyName: pulumi.String("string"),
    												WrappedKey:    pulumi.String("string"),
    											},
    											Transient: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransientArgs{
    												Name: pulumi.String("string"),
    											},
    											Unwrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrappedArgs{
    												Key: pulumi.String("string"),
    											},
    										},
    									},
    									CryptoReplaceFfxFpeConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigArgs{
    										CryptoKey: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyArgs{
    											KmsWrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrappedArgs{
    												CryptoKeyName: pulumi.String("string"),
    												WrappedKey:    pulumi.String("string"),
    											},
    											Transient: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransientArgs{
    												Name: pulumi.String("string"),
    											},
    											Unwrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrappedArgs{
    												Key: pulumi.String("string"),
    											},
    										},
    										CommonAlphabet: pulumi.String("string"),
    										Context: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContextArgs{
    											Name: pulumi.String("string"),
    										},
    										CustomAlphabet: pulumi.String("string"),
    										Radix:          pulumi.Int(0),
    										SurrogateInfoType: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeArgs{
    											Name: pulumi.String("string"),
    											SensitivityScore: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScoreArgs{
    												Score: pulumi.String("string"),
    											},
    											Version: pulumi.String("string"),
    										},
    									},
    									DateShiftConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigArgs{
    										LowerBoundDays: pulumi.Int(0),
    										UpperBoundDays: pulumi.Int(0),
    										Context: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContextArgs{
    											Name: pulumi.String("string"),
    										},
    										CryptoKey: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyArgs{
    											KmsWrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrappedArgs{
    												CryptoKeyName: pulumi.String("string"),
    												WrappedKey:    pulumi.String("string"),
    											},
    											Transient: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransientArgs{
    												Name: pulumi.String("string"),
    											},
    											Unwrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrappedArgs{
    												Key: pulumi.String("string"),
    											},
    										},
    									},
    									FixedSizeBucketingConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigArgs{
    										BucketSize: pulumi.Float64(0),
    										LowerBound: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundArgs{
    											FloatValue:   pulumi.Float64(0),
    											IntegerValue: pulumi.String("string"),
    										},
    										UpperBound: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundArgs{
    											FloatValue:   pulumi.Float64(0),
    											IntegerValue: pulumi.String("string"),
    										},
    									},
    									RedactConfig: nil,
    									ReplaceConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigArgs{
    										NewValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueArgs{
    											BooleanValue: pulumi.Bool(false),
    											DateValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValueArgs{
    												Day:   pulumi.Int(0),
    												Month: pulumi.Int(0),
    												Year:  pulumi.Int(0),
    											},
    											DayOfWeekValue: pulumi.String("string"),
    											FloatValue:     pulumi.Float64(0),
    											IntegerValue:   pulumi.String("string"),
    											StringValue:    pulumi.String("string"),
    											TimeValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValueArgs{
    												Hours:   pulumi.Int(0),
    												Minutes: pulumi.Int(0),
    												Nanos:   pulumi.Int(0),
    												Seconds: pulumi.Int(0),
    											},
    											TimestampValue: pulumi.String("string"),
    										},
    									},
    									ReplaceDictionaryConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigArgs{
    										WordList: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordListArgs{
    											Words: pulumi.StringArray{
    												pulumi.String("string"),
    											},
    										},
    									},
    									ReplaceWithInfoTypeConfig: nil,
    									TimePartConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfigArgs{
    										PartToExtract: pulumi.String("string"),
    									},
    								},
    								InfoTypes: dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoTypeArray{
    									&dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoTypeArgs{
    										Name: pulumi.String("string"),
    										SensitivityScore: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoTypeSensitivityScoreArgs{
    											Score: pulumi.String("string"),
    										},
    										Version: pulumi.String("string"),
    									},
    								},
    							},
    						},
    					},
    					PrimitiveTransformation: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationArgs{
    						BucketingConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigArgs{
    							Buckets: dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketArray{
    								&dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketArgs{
    									ReplacementValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueArgs{
    										BooleanValue: pulumi.Bool(false),
    										DateValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValueArgs{
    											Day:   pulumi.Int(0),
    											Month: pulumi.Int(0),
    											Year:  pulumi.Int(0),
    										},
    										DayOfWeekValue: pulumi.String("string"),
    										FloatValue:     pulumi.Float64(0),
    										IntegerValue:   pulumi.String("string"),
    										StringValue:    pulumi.String("string"),
    										TimeValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValueArgs{
    											Hours:   pulumi.Int(0),
    											Minutes: pulumi.Int(0),
    											Nanos:   pulumi.Int(0),
    											Seconds: pulumi.Int(0),
    										},
    										TimestampValue: pulumi.String("string"),
    									},
    									Max: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxArgs{
    										BooleanValue: pulumi.Bool(false),
    										DateValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValueArgs{
    											Day:   pulumi.Int(0),
    											Month: pulumi.Int(0),
    											Year:  pulumi.Int(0),
    										},
    										DayOfWeekValue: pulumi.String("string"),
    										FloatValue:     pulumi.Float64(0),
    										IntegerValue:   pulumi.String("string"),
    										StringValue:    pulumi.String("string"),
    										TimeValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValueArgs{
    											Hours:   pulumi.Int(0),
    											Minutes: pulumi.Int(0),
    											Nanos:   pulumi.Int(0),
    											Seconds: pulumi.Int(0),
    										},
    										TimestampValue: pulumi.String("string"),
    									},
    									Min: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinArgs{
    										BooleanValue: pulumi.Bool(false),
    										DateValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinDateValueArgs{
    											Day:   pulumi.Int(0),
    											Month: pulumi.Int(0),
    											Year:  pulumi.Int(0),
    										},
    										DayOfWeekValue: pulumi.String("string"),
    										FloatValue:     pulumi.Float64(0),
    										IntegerValue:   pulumi.String("string"),
    										StringValue:    pulumi.String("string"),
    										TimeValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValueArgs{
    											Hours:   pulumi.Int(0),
    											Minutes: pulumi.Int(0),
    											Nanos:   pulumi.Int(0),
    											Seconds: pulumi.Int(0),
    										},
    										TimestampValue: pulumi.String("string"),
    									},
    								},
    							},
    						},
    						CharacterMaskConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfigArgs{
    							CharactersToIgnores: dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArray{
    								&dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArgs{
    									CharactersToSkip:         pulumi.String("string"),
    									CommonCharactersToIgnore: pulumi.String("string"),
    								},
    							},
    							MaskingCharacter: pulumi.String("string"),
    							NumberToMask:     pulumi.Int(0),
    							ReverseOrder:     pulumi.Bool(false),
    						},
    						CryptoDeterministicConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigArgs{
    							Context: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigContextArgs{
    								Name: pulumi.String("string"),
    							},
    							CryptoKey: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyArgs{
    								KmsWrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrappedArgs{
    									CryptoKeyName: pulumi.String("string"),
    									WrappedKey:    pulumi.String("string"),
    								},
    								Transient: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs{
    									Name: pulumi.String("string"),
    								},
    								Unwrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrappedArgs{
    									Key: pulumi.String("string"),
    								},
    							},
    							SurrogateInfoType: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeArgs{
    								Name: pulumi.String("string"),
    								SensitivityScore: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScoreArgs{
    									Score: pulumi.String("string"),
    								},
    								Version: pulumi.String("string"),
    							},
    						},
    						CryptoHashConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigArgs{
    							CryptoKey: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyArgs{
    								KmsWrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrappedArgs{
    									CryptoKeyName: pulumi.String("string"),
    									WrappedKey:    pulumi.String("string"),
    								},
    								Transient: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransientArgs{
    									Name: pulumi.String("string"),
    								},
    								Unwrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrappedArgs{
    									Key: pulumi.String("string"),
    								},
    							},
    						},
    						CryptoReplaceFfxFpeConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigArgs{
    							CommonAlphabet: pulumi.String("string"),
    							Context: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContextArgs{
    								Name: pulumi.String("string"),
    							},
    							CryptoKey: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyArgs{
    								KmsWrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrappedArgs{
    									CryptoKeyName: pulumi.String("string"),
    									WrappedKey:    pulumi.String("string"),
    								},
    								Transient: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransientArgs{
    									Name: pulumi.String("string"),
    								},
    								Unwrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrappedArgs{
    									Key: pulumi.String("string"),
    								},
    							},
    							CustomAlphabet: pulumi.String("string"),
    							Radix:          pulumi.Int(0),
    							SurrogateInfoType: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeArgs{
    								Name: pulumi.String("string"),
    								SensitivityScore: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScoreArgs{
    									Score: pulumi.String("string"),
    								},
    								Version: pulumi.String("string"),
    							},
    						},
    						DateShiftConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigArgs{
    							LowerBoundDays: pulumi.Int(0),
    							UpperBoundDays: pulumi.Int(0),
    							Context: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigContextArgs{
    								Name: pulumi.String("string"),
    							},
    							CryptoKey: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyArgs{
    								KmsWrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrappedArgs{
    									CryptoKeyName: pulumi.String("string"),
    									WrappedKey:    pulumi.String("string"),
    								},
    								Transient: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransientArgs{
    									Name: pulumi.String("string"),
    								},
    								Unwrapped: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrappedArgs{
    									Key: pulumi.String("string"),
    								},
    							},
    						},
    						FixedSizeBucketingConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigArgs{
    							BucketSize: pulumi.Float64(0),
    							LowerBound: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundArgs{
    								BooleanValue: pulumi.Bool(false),
    								DateValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValueArgs{
    									Day:   pulumi.Int(0),
    									Month: pulumi.Int(0),
    									Year:  pulumi.Int(0),
    								},
    								DayOfWeekValue: pulumi.String("string"),
    								FloatValue:     pulumi.Float64(0),
    								IntegerValue:   pulumi.String("string"),
    								StringValue:    pulumi.String("string"),
    								TimeValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValueArgs{
    									Hours:   pulumi.Int(0),
    									Minutes: pulumi.Int(0),
    									Nanos:   pulumi.Int(0),
    									Seconds: pulumi.Int(0),
    								},
    								TimestampValue: pulumi.String("string"),
    							},
    							UpperBound: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundArgs{
    								BooleanValue: pulumi.Bool(false),
    								DateValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValueArgs{
    									Day:   pulumi.Int(0),
    									Month: pulumi.Int(0),
    									Year:  pulumi.Int(0),
    								},
    								DayOfWeekValue: pulumi.String("string"),
    								FloatValue:     pulumi.Float64(0),
    								IntegerValue:   pulumi.String("string"),
    								StringValue:    pulumi.String("string"),
    								TimeValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValueArgs{
    									Hours:   pulumi.Int(0),
    									Minutes: pulumi.Int(0),
    									Nanos:   pulumi.Int(0),
    									Seconds: pulumi.Int(0),
    								},
    								TimestampValue: pulumi.String("string"),
    							},
    						},
    						RedactConfig: nil,
    						ReplaceConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigArgs{
    							NewValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueArgs{
    								BooleanValue: pulumi.Bool(false),
    								DateValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueDateValueArgs{
    									Day:   pulumi.Int(0),
    									Month: pulumi.Int(0),
    									Year:  pulumi.Int(0),
    								},
    								DayOfWeekValue: pulumi.String("string"),
    								FloatValue:     pulumi.Float64(0),
    								IntegerValue:   pulumi.String("string"),
    								StringValue:    pulumi.String("string"),
    								TimeValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueTimeValueArgs{
    									Hours:   pulumi.Int(0),
    									Minutes: pulumi.Int(0),
    									Nanos:   pulumi.Int(0),
    									Seconds: pulumi.Int(0),
    								},
    								TimestampValue: pulumi.String("string"),
    							},
    						},
    						ReplaceDictionaryConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfigArgs{
    							WordList: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfigWordListArgs{
    								Words: pulumi.StringArray{
    									pulumi.String("string"),
    								},
    							},
    						},
    						TimePartConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationTimePartConfigArgs{
    							PartToExtract: pulumi.String("string"),
    						},
    					},
    				},
    			},
    			RecordSuppressions: dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionArray{
    				&dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionArgs{
    					Condition: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionArgs{
    						Expressions: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsArgs{
    							Conditions: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsArgs{
    								Conditions: dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionArray{
    									&dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionArgs{
    										Field: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionFieldArgs{
    											Name: pulumi.String("string"),
    										},
    										Operator: pulumi.String("string"),
    										Value: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueArgs{
    											BooleanValue: pulumi.Bool(false),
    											DateValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueDateValueArgs{
    												Day:   pulumi.Int(0),
    												Month: pulumi.Int(0),
    												Year:  pulumi.Int(0),
    											},
    											DayOfWeekValue: pulumi.String("string"),
    											FloatValue:     pulumi.Float64(0),
    											IntegerValue:   pulumi.String("string"),
    											StringValue:    pulumi.String("string"),
    											TimeValue: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueTimeValueArgs{
    												Hours:   pulumi.Int(0),
    												Minutes: pulumi.Int(0),
    												Nanos:   pulumi.Int(0),
    												Seconds: pulumi.Int(0),
    											},
    											TimestampValue: pulumi.String("string"),
    										},
    									},
    								},
    							},
    							LogicalOperator: pulumi.String("string"),
    						},
    					},
    				},
    			},
    		},
    	},
    	Parent:      pulumi.String("string"),
    	Description: pulumi.String("string"),
    	DisplayName: pulumi.String("string"),
    	TemplateId:  pulumi.String("string"),
    })
    
    var preventionDeidentifyTemplateResource = new PreventionDeidentifyTemplate("preventionDeidentifyTemplateResource", PreventionDeidentifyTemplateArgs.builder()
        .deidentifyConfig(PreventionDeidentifyTemplateDeidentifyConfigArgs.builder()
            .imageTransformations(PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsArgs.builder()
                .transforms(PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs.builder()
                    .allInfoTypes()
                    .allText()
                    .redactionColor(PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformRedactionColorArgs.builder()
                        .blue(0)
                        .green(0)
                        .red(0)
                        .build())
                    .selectedInfoTypes(PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesArgs.builder()
                        .infoTypes(PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeArgs.builder()
                            .name("string")
                            .sensitivityScore(PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeSensitivityScoreArgs.builder()
                                .score("string")
                                .build())
                            .version("string")
                            .build())
                        .build())
                    .build())
                .build())
            .infoTypeTransformations(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsArgs.builder()
                .transformations(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs.builder()
                    .primitiveTransformation(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs.builder()
                        .bucketingConfig(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigArgs.builder()
                            .buckets(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketArgs.builder()
                                .replacementValue(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueArgs.builder()
                                    .dateValue(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValueArgs.builder()
                                        .day(0)
                                        .month(0)
                                        .year(0)
                                        .build())
                                    .dayOfWeekValue("string")
                                    .floatValue(0)
                                    .integerValue("string")
                                    .stringValue("string")
                                    .timeValue(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValueArgs.builder()
                                        .hours(0)
                                        .minutes(0)
                                        .nanos(0)
                                        .seconds(0)
                                        .build())
                                    .timestampValue("string")
                                    .build())
                                .max(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxArgs.builder()
                                    .dateValue(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValueArgs.builder()
                                        .day(0)
                                        .month(0)
                                        .year(0)
                                        .build())
                                    .dayOfWeekValue("string")
                                    .floatValue(0)
                                    .integerValue("string")
                                    .stringValue("string")
                                    .timeValue(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValueArgs.builder()
                                        .hours(0)
                                        .minutes(0)
                                        .nanos(0)
                                        .seconds(0)
                                        .build())
                                    .timestampValue("string")
                                    .build())
                                .min(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinArgs.builder()
                                    .dateValue(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValueArgs.builder()
                                        .day(0)
                                        .month(0)
                                        .year(0)
                                        .build())
                                    .dayOfWeekValue("string")
                                    .floatValue(0)
                                    .integerValue("string")
                                    .stringValue("string")
                                    .timeValue(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValueArgs.builder()
                                        .hours(0)
                                        .minutes(0)
                                        .nanos(0)
                                        .seconds(0)
                                        .build())
                                    .timestampValue("string")
                                    .build())
                                .build())
                            .build())
                        .characterMaskConfig(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigArgs.builder()
                            .charactersToIgnores(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArgs.builder()
                                .charactersToSkip("string")
                                .commonCharactersToIgnore("string")
                                .build())
                            .maskingCharacter("string")
                            .numberToMask(0)
                            .reverseOrder(false)
                            .build())
                        .cryptoDeterministicConfig(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigArgs.builder()
                            .context(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContextArgs.builder()
                                .name("string")
                                .build())
                            .cryptoKey(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyArgs.builder()
                                .kmsWrapped(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrappedArgs.builder()
                                    .cryptoKeyName("string")
                                    .wrappedKey("string")
                                    .build())
                                .transient_(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs.builder()
                                    .name("string")
                                    .build())
                                .unwrapped(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrappedArgs.builder()
                                    .key("string")
                                    .build())
                                .build())
                            .surrogateInfoType(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeArgs.builder()
                                .name("string")
                                .sensitivityScore(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScoreArgs.builder()
                                    .score("string")
                                    .build())
                                .version("string")
                                .build())
                            .build())
                        .cryptoHashConfig(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigArgs.builder()
                            .cryptoKey(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyArgs.builder()
                                .kmsWrapped(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrappedArgs.builder()
                                    .cryptoKeyName("string")
                                    .wrappedKey("string")
                                    .build())
                                .transient_(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransientArgs.builder()
                                    .name("string")
                                    .build())
                                .unwrapped(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrappedArgs.builder()
                                    .key("string")
                                    .build())
                                .build())
                            .build())
                        .cryptoReplaceFfxFpeConfig(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigArgs.builder()
                            .commonAlphabet("string")
                            .context(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContextArgs.builder()
                                .name("string")
                                .build())
                            .cryptoKey(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyArgs.builder()
                                .kmsWrapped(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrappedArgs.builder()
                                    .cryptoKeyName("string")
                                    .wrappedKey("string")
                                    .build())
                                .transient_(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransientArgs.builder()
                                    .name("string")
                                    .build())
                                .unwrapped(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrappedArgs.builder()
                                    .key("string")
                                    .build())
                                .build())
                            .customAlphabet("string")
                            .radix(0)
                            .surrogateInfoType(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeArgs.builder()
                                .name("string")
                                .sensitivityScore(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScoreArgs.builder()
                                    .score("string")
                                    .build())
                                .version("string")
                                .build())
                            .build())
                        .dateShiftConfig(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigArgs.builder()
                            .lowerBoundDays(0)
                            .upperBoundDays(0)
                            .context(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContextArgs.builder()
                                .name("string")
                                .build())
                            .cryptoKey(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyArgs.builder()
                                .kmsWrapped(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrappedArgs.builder()
                                    .cryptoKeyName("string")
                                    .wrappedKey("string")
                                    .build())
                                .transient_(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransientArgs.builder()
                                    .name("string")
                                    .build())
                                .unwrapped(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrappedArgs.builder()
                                    .key("string")
                                    .build())
                                .build())
                            .build())
                        .fixedSizeBucketingConfig(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigArgs.builder()
                            .bucketSize(0)
                            .lowerBound(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundArgs.builder()
                                .floatValue(0)
                                .integerValue("string")
                                .build())
                            .upperBound(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundArgs.builder()
                                .floatValue(0)
                                .integerValue("string")
                                .build())
                            .build())
                        .redactConfig()
                        .replaceConfig(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigArgs.builder()
                            .newValue(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueArgs.builder()
                                .booleanValue(false)
                                .dateValue(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValueArgs.builder()
                                    .day(0)
                                    .month(0)
                                    .year(0)
                                    .build())
                                .dayOfWeekValue("string")
                                .floatValue(0)
                                .integerValue(0)
                                .stringValue("string")
                                .timeValue(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValueArgs.builder()
                                    .hours(0)
                                    .minutes(0)
                                    .nanos(0)
                                    .seconds(0)
                                    .build())
                                .timestampValue("string")
                                .build())
                            .build())
                        .replaceDictionaryConfig(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigArgs.builder()
                            .wordList(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordListArgs.builder()
                                .words("string")
                                .build())
                            .build())
                        .replaceWithInfoTypeConfig(false)
                        .timePartConfig(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfigArgs.builder()
                            .partToExtract("string")
                            .build())
                        .build())
                    .infoTypes(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs.builder()
                        .name("string")
                        .sensitivityScore(PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeSensitivityScoreArgs.builder()
                            .score("string")
                            .build())
                        .version("string")
                        .build())
                    .build())
                .build())
            .recordTransformations(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsArgs.builder()
                .fieldTransformations(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationArgs.builder()
                    .fields(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationFieldArgs.builder()
                        .name("string")
                        .build())
                    .condition(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionArgs.builder()
                        .expressions(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsArgs.builder()
                            .conditions(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsArgs.builder()
                                .conditions(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionArgs.builder()
                                    .field(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionFieldArgs.builder()
                                        .name("string")
                                        .build())
                                    .operator("string")
                                    .value(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueArgs.builder()
                                        .booleanValue(false)
                                        .dateValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueDateValueArgs.builder()
                                            .day(0)
                                            .month(0)
                                            .year(0)
                                            .build())
                                        .dayOfWeekValue("string")
                                        .floatValue(0)
                                        .integerValue("string")
                                        .stringValue("string")
                                        .timeValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueTimeValueArgs.builder()
                                            .hours(0)
                                            .minutes(0)
                                            .nanos(0)
                                            .seconds(0)
                                            .build())
                                        .timestampValue("string")
                                        .build())
                                    .build())
                                .build())
                            .logicalOperator("string")
                            .build())
                        .build())
                    .infoTypeTransformations(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsArgs.builder()
                        .transformations(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationArgs.builder()
                            .primitiveTransformation(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationArgs.builder()
                                .bucketingConfig(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigArgs.builder()
                                    .buckets(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketArgs.builder()
                                        .replacementValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueArgs.builder()
                                            .dateValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValueArgs.builder()
                                                .day(0)
                                                .month(0)
                                                .year(0)
                                                .build())
                                            .dayOfWeekValue("string")
                                            .floatValue(0)
                                            .integerValue("string")
                                            .stringValue("string")
                                            .timeValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValueArgs.builder()
                                                .hours(0)
                                                .minutes(0)
                                                .nanos(0)
                                                .seconds(0)
                                                .build())
                                            .timestampValue("string")
                                            .build())
                                        .max(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxArgs.builder()
                                            .dateValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValueArgs.builder()
                                                .day(0)
                                                .month(0)
                                                .year(0)
                                                .build())
                                            .dayOfWeekValue("string")
                                            .floatValue(0)
                                            .integerValue("string")
                                            .stringValue("string")
                                            .timeValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValueArgs.builder()
                                                .hours(0)
                                                .minutes(0)
                                                .nanos(0)
                                                .seconds(0)
                                                .build())
                                            .timestampValue("string")
                                            .build())
                                        .min(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinArgs.builder()
                                            .dateValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValueArgs.builder()
                                                .day(0)
                                                .month(0)
                                                .year(0)
                                                .build())
                                            .dayOfWeekValue("string")
                                            .floatValue(0)
                                            .integerValue("string")
                                            .stringValue("string")
                                            .timeValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValueArgs.builder()
                                                .hours(0)
                                                .minutes(0)
                                                .nanos(0)
                                                .seconds(0)
                                                .build())
                                            .timestampValue("string")
                                            .build())
                                        .build())
                                    .build())
                                .characterMaskConfig(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigArgs.builder()
                                    .charactersToIgnores(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArgs.builder()
                                        .charactersToSkip("string")
                                        .commonCharactersToIgnore("string")
                                        .build())
                                    .maskingCharacter("string")
                                    .numberToMask(0)
                                    .reverseOrder(false)
                                    .build())
                                .cryptoDeterministicConfig(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigArgs.builder()
                                    .cryptoKey(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyArgs.builder()
                                        .kmsWrapped(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrappedArgs.builder()
                                            .cryptoKeyName("string")
                                            .wrappedKey("string")
                                            .build())
                                        .transient_(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs.builder()
                                            .name("string")
                                            .build())
                                        .unwrapped(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrappedArgs.builder()
                                            .key("string")
                                            .build())
                                        .build())
                                    .surrogateInfoType(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeArgs.builder()
                                        .name("string")
                                        .sensitivityScore(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScoreArgs.builder()
                                            .score("string")
                                            .build())
                                        .version("string")
                                        .build())
                                    .context(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContextArgs.builder()
                                        .name("string")
                                        .build())
                                    .build())
                                .cryptoHashConfig(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigArgs.builder()
                                    .cryptoKey(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyArgs.builder()
                                        .kmsWrapped(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrappedArgs.builder()
                                            .cryptoKeyName("string")
                                            .wrappedKey("string")
                                            .build())
                                        .transient_(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransientArgs.builder()
                                            .name("string")
                                            .build())
                                        .unwrapped(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrappedArgs.builder()
                                            .key("string")
                                            .build())
                                        .build())
                                    .build())
                                .cryptoReplaceFfxFpeConfig(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigArgs.builder()
                                    .cryptoKey(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyArgs.builder()
                                        .kmsWrapped(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrappedArgs.builder()
                                            .cryptoKeyName("string")
                                            .wrappedKey("string")
                                            .build())
                                        .transient_(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransientArgs.builder()
                                            .name("string")
                                            .build())
                                        .unwrapped(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrappedArgs.builder()
                                            .key("string")
                                            .build())
                                        .build())
                                    .commonAlphabet("string")
                                    .context(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContextArgs.builder()
                                        .name("string")
                                        .build())
                                    .customAlphabet("string")
                                    .radix(0)
                                    .surrogateInfoType(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeArgs.builder()
                                        .name("string")
                                        .sensitivityScore(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScoreArgs.builder()
                                            .score("string")
                                            .build())
                                        .version("string")
                                        .build())
                                    .build())
                                .dateShiftConfig(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigArgs.builder()
                                    .lowerBoundDays(0)
                                    .upperBoundDays(0)
                                    .context(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContextArgs.builder()
                                        .name("string")
                                        .build())
                                    .cryptoKey(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyArgs.builder()
                                        .kmsWrapped(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrappedArgs.builder()
                                            .cryptoKeyName("string")
                                            .wrappedKey("string")
                                            .build())
                                        .transient_(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransientArgs.builder()
                                            .name("string")
                                            .build())
                                        .unwrapped(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrappedArgs.builder()
                                            .key("string")
                                            .build())
                                        .build())
                                    .build())
                                .fixedSizeBucketingConfig(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigArgs.builder()
                                    .bucketSize(0)
                                    .lowerBound(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundArgs.builder()
                                        .floatValue(0)
                                        .integerValue("string")
                                        .build())
                                    .upperBound(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundArgs.builder()
                                        .floatValue(0)
                                        .integerValue("string")
                                        .build())
                                    .build())
                                .redactConfig()
                                .replaceConfig(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigArgs.builder()
                                    .newValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueArgs.builder()
                                        .booleanValue(false)
                                        .dateValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValueArgs.builder()
                                            .day(0)
                                            .month(0)
                                            .year(0)
                                            .build())
                                        .dayOfWeekValue("string")
                                        .floatValue(0)
                                        .integerValue("string")
                                        .stringValue("string")
                                        .timeValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValueArgs.builder()
                                            .hours(0)
                                            .minutes(0)
                                            .nanos(0)
                                            .seconds(0)
                                            .build())
                                        .timestampValue("string")
                                        .build())
                                    .build())
                                .replaceDictionaryConfig(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigArgs.builder()
                                    .wordList(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordListArgs.builder()
                                        .words("string")
                                        .build())
                                    .build())
                                .replaceWithInfoTypeConfig()
                                .timePartConfig(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfigArgs.builder()
                                    .partToExtract("string")
                                    .build())
                                .build())
                            .infoTypes(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoTypeArgs.builder()
                                .name("string")
                                .sensitivityScore(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoTypeSensitivityScoreArgs.builder()
                                    .score("string")
                                    .build())
                                .version("string")
                                .build())
                            .build())
                        .build())
                    .primitiveTransformation(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationArgs.builder()
                        .bucketingConfig(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigArgs.builder()
                            .buckets(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketArgs.builder()
                                .replacementValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueArgs.builder()
                                    .booleanValue(false)
                                    .dateValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValueArgs.builder()
                                        .day(0)
                                        .month(0)
                                        .year(0)
                                        .build())
                                    .dayOfWeekValue("string")
                                    .floatValue(0)
                                    .integerValue("string")
                                    .stringValue("string")
                                    .timeValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValueArgs.builder()
                                        .hours(0)
                                        .minutes(0)
                                        .nanos(0)
                                        .seconds(0)
                                        .build())
                                    .timestampValue("string")
                                    .build())
                                .max(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxArgs.builder()
                                    .booleanValue(false)
                                    .dateValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValueArgs.builder()
                                        .day(0)
                                        .month(0)
                                        .year(0)
                                        .build())
                                    .dayOfWeekValue("string")
                                    .floatValue(0)
                                    .integerValue("string")
                                    .stringValue("string")
                                    .timeValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValueArgs.builder()
                                        .hours(0)
                                        .minutes(0)
                                        .nanos(0)
                                        .seconds(0)
                                        .build())
                                    .timestampValue("string")
                                    .build())
                                .min(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinArgs.builder()
                                    .booleanValue(false)
                                    .dateValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinDateValueArgs.builder()
                                        .day(0)
                                        .month(0)
                                        .year(0)
                                        .build())
                                    .dayOfWeekValue("string")
                                    .floatValue(0)
                                    .integerValue("string")
                                    .stringValue("string")
                                    .timeValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValueArgs.builder()
                                        .hours(0)
                                        .minutes(0)
                                        .nanos(0)
                                        .seconds(0)
                                        .build())
                                    .timestampValue("string")
                                    .build())
                                .build())
                            .build())
                        .characterMaskConfig(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfigArgs.builder()
                            .charactersToIgnores(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArgs.builder()
                                .charactersToSkip("string")
                                .commonCharactersToIgnore("string")
                                .build())
                            .maskingCharacter("string")
                            .numberToMask(0)
                            .reverseOrder(false)
                            .build())
                        .cryptoDeterministicConfig(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigArgs.builder()
                            .context(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigContextArgs.builder()
                                .name("string")
                                .build())
                            .cryptoKey(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyArgs.builder()
                                .kmsWrapped(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrappedArgs.builder()
                                    .cryptoKeyName("string")
                                    .wrappedKey("string")
                                    .build())
                                .transient_(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs.builder()
                                    .name("string")
                                    .build())
                                .unwrapped(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrappedArgs.builder()
                                    .key("string")
                                    .build())
                                .build())
                            .surrogateInfoType(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeArgs.builder()
                                .name("string")
                                .sensitivityScore(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScoreArgs.builder()
                                    .score("string")
                                    .build())
                                .version("string")
                                .build())
                            .build())
                        .cryptoHashConfig(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigArgs.builder()
                            .cryptoKey(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyArgs.builder()
                                .kmsWrapped(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrappedArgs.builder()
                                    .cryptoKeyName("string")
                                    .wrappedKey("string")
                                    .build())
                                .transient_(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransientArgs.builder()
                                    .name("string")
                                    .build())
                                .unwrapped(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrappedArgs.builder()
                                    .key("string")
                                    .build())
                                .build())
                            .build())
                        .cryptoReplaceFfxFpeConfig(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigArgs.builder()
                            .commonAlphabet("string")
                            .context(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContextArgs.builder()
                                .name("string")
                                .build())
                            .cryptoKey(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyArgs.builder()
                                .kmsWrapped(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrappedArgs.builder()
                                    .cryptoKeyName("string")
                                    .wrappedKey("string")
                                    .build())
                                .transient_(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransientArgs.builder()
                                    .name("string")
                                    .build())
                                .unwrapped(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrappedArgs.builder()
                                    .key("string")
                                    .build())
                                .build())
                            .customAlphabet("string")
                            .radix(0)
                            .surrogateInfoType(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeArgs.builder()
                                .name("string")
                                .sensitivityScore(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScoreArgs.builder()
                                    .score("string")
                                    .build())
                                .version("string")
                                .build())
                            .build())
                        .dateShiftConfig(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigArgs.builder()
                            .lowerBoundDays(0)
                            .upperBoundDays(0)
                            .context(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigContextArgs.builder()
                                .name("string")
                                .build())
                            .cryptoKey(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyArgs.builder()
                                .kmsWrapped(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrappedArgs.builder()
                                    .cryptoKeyName("string")
                                    .wrappedKey("string")
                                    .build())
                                .transient_(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransientArgs.builder()
                                    .name("string")
                                    .build())
                                .unwrapped(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrappedArgs.builder()
                                    .key("string")
                                    .build())
                                .build())
                            .build())
                        .fixedSizeBucketingConfig(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigArgs.builder()
                            .bucketSize(0)
                            .lowerBound(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundArgs.builder()
                                .booleanValue(false)
                                .dateValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValueArgs.builder()
                                    .day(0)
                                    .month(0)
                                    .year(0)
                                    .build())
                                .dayOfWeekValue("string")
                                .floatValue(0)
                                .integerValue("string")
                                .stringValue("string")
                                .timeValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValueArgs.builder()
                                    .hours(0)
                                    .minutes(0)
                                    .nanos(0)
                                    .seconds(0)
                                    .build())
                                .timestampValue("string")
                                .build())
                            .upperBound(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundArgs.builder()
                                .booleanValue(false)
                                .dateValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValueArgs.builder()
                                    .day(0)
                                    .month(0)
                                    .year(0)
                                    .build())
                                .dayOfWeekValue("string")
                                .floatValue(0)
                                .integerValue("string")
                                .stringValue("string")
                                .timeValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValueArgs.builder()
                                    .hours(0)
                                    .minutes(0)
                                    .nanos(0)
                                    .seconds(0)
                                    .build())
                                .timestampValue("string")
                                .build())
                            .build())
                        .redactConfig()
                        .replaceConfig(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigArgs.builder()
                            .newValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueArgs.builder()
                                .booleanValue(false)
                                .dateValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueDateValueArgs.builder()
                                    .day(0)
                                    .month(0)
                                    .year(0)
                                    .build())
                                .dayOfWeekValue("string")
                                .floatValue(0)
                                .integerValue("string")
                                .stringValue("string")
                                .timeValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueTimeValueArgs.builder()
                                    .hours(0)
                                    .minutes(0)
                                    .nanos(0)
                                    .seconds(0)
                                    .build())
                                .timestampValue("string")
                                .build())
                            .build())
                        .replaceDictionaryConfig(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfigArgs.builder()
                            .wordList(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfigWordListArgs.builder()
                                .words("string")
                                .build())
                            .build())
                        .timePartConfig(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationTimePartConfigArgs.builder()
                            .partToExtract("string")
                            .build())
                        .build())
                    .build())
                .recordSuppressions(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionArgs.builder()
                    .condition(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionArgs.builder()
                        .expressions(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsArgs.builder()
                            .conditions(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsArgs.builder()
                                .conditions(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionArgs.builder()
                                    .field(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionFieldArgs.builder()
                                        .name("string")
                                        .build())
                                    .operator("string")
                                    .value(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueArgs.builder()
                                        .booleanValue(false)
                                        .dateValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueDateValueArgs.builder()
                                            .day(0)
                                            .month(0)
                                            .year(0)
                                            .build())
                                        .dayOfWeekValue("string")
                                        .floatValue(0)
                                        .integerValue("string")
                                        .stringValue("string")
                                        .timeValue(PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueTimeValueArgs.builder()
                                            .hours(0)
                                            .minutes(0)
                                            .nanos(0)
                                            .seconds(0)
                                            .build())
                                        .timestampValue("string")
                                        .build())
                                    .build())
                                .build())
                            .logicalOperator("string")
                            .build())
                        .build())
                    .build())
                .build())
            .build())
        .parent("string")
        .description("string")
        .displayName("string")
        .templateId("string")
        .build());
    
    prevention_deidentify_template_resource = gcp.dataloss.PreventionDeidentifyTemplate("preventionDeidentifyTemplateResource",
        deidentify_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigArgs(
            image_transformations=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsArgs(
                transforms=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs(
                    all_info_types=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformAllInfoTypesArgs(),
                    all_text=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformAllTextArgs(),
                    redaction_color=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformRedactionColorArgs(
                        blue=0,
                        green=0,
                        red=0,
                    ),
                    selected_info_types=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesArgs(
                        info_types=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeArgs(
                            name="string",
                            sensitivity_score=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeSensitivityScoreArgs(
                                score="string",
                            ),
                            version="string",
                        )],
                    ),
                )],
            ),
            info_type_transformations=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsArgs(
                transformations=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs(
                    primitive_transformation=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs(
                        bucketing_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigArgs(
                            buckets=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketArgs(
                                replacement_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueArgs(
                                    date_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValueArgs(
                                        day=0,
                                        month=0,
                                        year=0,
                                    ),
                                    day_of_week_value="string",
                                    float_value=0,
                                    integer_value="string",
                                    string_value="string",
                                    time_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValueArgs(
                                        hours=0,
                                        minutes=0,
                                        nanos=0,
                                        seconds=0,
                                    ),
                                    timestamp_value="string",
                                ),
                                max=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxArgs(
                                    date_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValueArgs(
                                        day=0,
                                        month=0,
                                        year=0,
                                    ),
                                    day_of_week_value="string",
                                    float_value=0,
                                    integer_value="string",
                                    string_value="string",
                                    time_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValueArgs(
                                        hours=0,
                                        minutes=0,
                                        nanos=0,
                                        seconds=0,
                                    ),
                                    timestamp_value="string",
                                ),
                                min=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinArgs(
                                    date_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValueArgs(
                                        day=0,
                                        month=0,
                                        year=0,
                                    ),
                                    day_of_week_value="string",
                                    float_value=0,
                                    integer_value="string",
                                    string_value="string",
                                    time_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValueArgs(
                                        hours=0,
                                        minutes=0,
                                        nanos=0,
                                        seconds=0,
                                    ),
                                    timestamp_value="string",
                                ),
                            )],
                        ),
                        character_mask_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigArgs(
                            characters_to_ignores=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArgs(
                                characters_to_skip="string",
                                common_characters_to_ignore="string",
                            )],
                            masking_character="string",
                            number_to_mask=0,
                            reverse_order=False,
                        ),
                        crypto_deterministic_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigArgs(
                            context=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContextArgs(
                                name="string",
                            ),
                            crypto_key=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyArgs(
                                kms_wrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrappedArgs(
                                    crypto_key_name="string",
                                    wrapped_key="string",
                                ),
                                transient=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs(
                                    name="string",
                                ),
                                unwrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrappedArgs(
                                    key="string",
                                ),
                            ),
                            surrogate_info_type=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeArgs(
                                name="string",
                                sensitivity_score=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScoreArgs(
                                    score="string",
                                ),
                                version="string",
                            ),
                        ),
                        crypto_hash_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigArgs(
                            crypto_key=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyArgs(
                                kms_wrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrappedArgs(
                                    crypto_key_name="string",
                                    wrapped_key="string",
                                ),
                                transient=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransientArgs(
                                    name="string",
                                ),
                                unwrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrappedArgs(
                                    key="string",
                                ),
                            ),
                        ),
                        crypto_replace_ffx_fpe_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigArgs(
                            common_alphabet="string",
                            context=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContextArgs(
                                name="string",
                            ),
                            crypto_key=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyArgs(
                                kms_wrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrappedArgs(
                                    crypto_key_name="string",
                                    wrapped_key="string",
                                ),
                                transient=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransientArgs(
                                    name="string",
                                ),
                                unwrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrappedArgs(
                                    key="string",
                                ),
                            ),
                            custom_alphabet="string",
                            radix=0,
                            surrogate_info_type=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeArgs(
                                name="string",
                                sensitivity_score=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScoreArgs(
                                    score="string",
                                ),
                                version="string",
                            ),
                        ),
                        date_shift_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigArgs(
                            lower_bound_days=0,
                            upper_bound_days=0,
                            context=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContextArgs(
                                name="string",
                            ),
                            crypto_key=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyArgs(
                                kms_wrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrappedArgs(
                                    crypto_key_name="string",
                                    wrapped_key="string",
                                ),
                                transient=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransientArgs(
                                    name="string",
                                ),
                                unwrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrappedArgs(
                                    key="string",
                                ),
                            ),
                        ),
                        fixed_size_bucketing_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigArgs(
                            bucket_size=0,
                            lower_bound=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundArgs(
                                float_value=0,
                                integer_value="string",
                            ),
                            upper_bound=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundArgs(
                                float_value=0,
                                integer_value="string",
                            ),
                        ),
                        redact_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationRedactConfigArgs(),
                        replace_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigArgs(
                            new_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueArgs(
                                boolean_value=False,
                                date_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValueArgs(
                                    day=0,
                                    month=0,
                                    year=0,
                                ),
                                day_of_week_value="string",
                                float_value=0,
                                integer_value=0,
                                string_value="string",
                                time_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValueArgs(
                                    hours=0,
                                    minutes=0,
                                    nanos=0,
                                    seconds=0,
                                ),
                                timestamp_value="string",
                            ),
                        ),
                        replace_dictionary_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigArgs(
                            word_list=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordListArgs(
                                words=["string"],
                            ),
                        ),
                        replace_with_info_type_config=False,
                        time_part_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfigArgs(
                            part_to_extract="string",
                        ),
                    ),
                    info_types=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs(
                        name="string",
                        sensitivity_score=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeSensitivityScoreArgs(
                            score="string",
                        ),
                        version="string",
                    )],
                )],
            ),
            record_transformations=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsArgs(
                field_transformations=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationArgs(
                    fields=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationFieldArgs(
                        name="string",
                    )],
                    condition=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionArgs(
                        expressions=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsArgs(
                            conditions=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsArgs(
                                conditions=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionArgs(
                                    field=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionFieldArgs(
                                        name="string",
                                    ),
                                    operator="string",
                                    value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueArgs(
                                        boolean_value=False,
                                        date_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueDateValueArgs(
                                            day=0,
                                            month=0,
                                            year=0,
                                        ),
                                        day_of_week_value="string",
                                        float_value=0,
                                        integer_value="string",
                                        string_value="string",
                                        time_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueTimeValueArgs(
                                            hours=0,
                                            minutes=0,
                                            nanos=0,
                                            seconds=0,
                                        ),
                                        timestamp_value="string",
                                    ),
                                )],
                            ),
                            logical_operator="string",
                        ),
                    ),
                    info_type_transformations=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsArgs(
                        transformations=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationArgs(
                            primitive_transformation=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationArgs(
                                bucketing_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigArgs(
                                    buckets=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketArgs(
                                        replacement_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueArgs(
                                            date_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValueArgs(
                                                day=0,
                                                month=0,
                                                year=0,
                                            ),
                                            day_of_week_value="string",
                                            float_value=0,
                                            integer_value="string",
                                            string_value="string",
                                            time_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValueArgs(
                                                hours=0,
                                                minutes=0,
                                                nanos=0,
                                                seconds=0,
                                            ),
                                            timestamp_value="string",
                                        ),
                                        max=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxArgs(
                                            date_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValueArgs(
                                                day=0,
                                                month=0,
                                                year=0,
                                            ),
                                            day_of_week_value="string",
                                            float_value=0,
                                            integer_value="string",
                                            string_value="string",
                                            time_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValueArgs(
                                                hours=0,
                                                minutes=0,
                                                nanos=0,
                                                seconds=0,
                                            ),
                                            timestamp_value="string",
                                        ),
                                        min=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinArgs(
                                            date_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValueArgs(
                                                day=0,
                                                month=0,
                                                year=0,
                                            ),
                                            day_of_week_value="string",
                                            float_value=0,
                                            integer_value="string",
                                            string_value="string",
                                            time_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValueArgs(
                                                hours=0,
                                                minutes=0,
                                                nanos=0,
                                                seconds=0,
                                            ),
                                            timestamp_value="string",
                                        ),
                                    )],
                                ),
                                character_mask_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigArgs(
                                    characters_to_ignores=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArgs(
                                        characters_to_skip="string",
                                        common_characters_to_ignore="string",
                                    )],
                                    masking_character="string",
                                    number_to_mask=0,
                                    reverse_order=False,
                                ),
                                crypto_deterministic_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigArgs(
                                    crypto_key=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyArgs(
                                        kms_wrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrappedArgs(
                                            crypto_key_name="string",
                                            wrapped_key="string",
                                        ),
                                        transient=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs(
                                            name="string",
                                        ),
                                        unwrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrappedArgs(
                                            key="string",
                                        ),
                                    ),
                                    surrogate_info_type=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeArgs(
                                        name="string",
                                        sensitivity_score=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScoreArgs(
                                            score="string",
                                        ),
                                        version="string",
                                    ),
                                    context=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContextArgs(
                                        name="string",
                                    ),
                                ),
                                crypto_hash_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigArgs(
                                    crypto_key=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyArgs(
                                        kms_wrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrappedArgs(
                                            crypto_key_name="string",
                                            wrapped_key="string",
                                        ),
                                        transient=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransientArgs(
                                            name="string",
                                        ),
                                        unwrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrappedArgs(
                                            key="string",
                                        ),
                                    ),
                                ),
                                crypto_replace_ffx_fpe_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigArgs(
                                    crypto_key=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyArgs(
                                        kms_wrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrappedArgs(
                                            crypto_key_name="string",
                                            wrapped_key="string",
                                        ),
                                        transient=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransientArgs(
                                            name="string",
                                        ),
                                        unwrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrappedArgs(
                                            key="string",
                                        ),
                                    ),
                                    common_alphabet="string",
                                    context=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContextArgs(
                                        name="string",
                                    ),
                                    custom_alphabet="string",
                                    radix=0,
                                    surrogate_info_type=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeArgs(
                                        name="string",
                                        sensitivity_score=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScoreArgs(
                                            score="string",
                                        ),
                                        version="string",
                                    ),
                                ),
                                date_shift_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigArgs(
                                    lower_bound_days=0,
                                    upper_bound_days=0,
                                    context=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContextArgs(
                                        name="string",
                                    ),
                                    crypto_key=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyArgs(
                                        kms_wrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrappedArgs(
                                            crypto_key_name="string",
                                            wrapped_key="string",
                                        ),
                                        transient=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransientArgs(
                                            name="string",
                                        ),
                                        unwrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrappedArgs(
                                            key="string",
                                        ),
                                    ),
                                ),
                                fixed_size_bucketing_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigArgs(
                                    bucket_size=0,
                                    lower_bound=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundArgs(
                                        float_value=0,
                                        integer_value="string",
                                    ),
                                    upper_bound=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundArgs(
                                        float_value=0,
                                        integer_value="string",
                                    ),
                                ),
                                redact_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationRedactConfigArgs(),
                                replace_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigArgs(
                                    new_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueArgs(
                                        boolean_value=False,
                                        date_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValueArgs(
                                            day=0,
                                            month=0,
                                            year=0,
                                        ),
                                        day_of_week_value="string",
                                        float_value=0,
                                        integer_value="string",
                                        string_value="string",
                                        time_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValueArgs(
                                            hours=0,
                                            minutes=0,
                                            nanos=0,
                                            seconds=0,
                                        ),
                                        timestamp_value="string",
                                    ),
                                ),
                                replace_dictionary_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigArgs(
                                    word_list=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordListArgs(
                                        words=["string"],
                                    ),
                                ),
                                replace_with_info_type_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceWithInfoTypeConfigArgs(),
                                time_part_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfigArgs(
                                    part_to_extract="string",
                                ),
                            ),
                            info_types=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoTypeArgs(
                                name="string",
                                sensitivity_score=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoTypeSensitivityScoreArgs(
                                    score="string",
                                ),
                                version="string",
                            )],
                        )],
                    ),
                    primitive_transformation=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationArgs(
                        bucketing_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigArgs(
                            buckets=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketArgs(
                                replacement_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueArgs(
                                    boolean_value=False,
                                    date_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValueArgs(
                                        day=0,
                                        month=0,
                                        year=0,
                                    ),
                                    day_of_week_value="string",
                                    float_value=0,
                                    integer_value="string",
                                    string_value="string",
                                    time_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValueArgs(
                                        hours=0,
                                        minutes=0,
                                        nanos=0,
                                        seconds=0,
                                    ),
                                    timestamp_value="string",
                                ),
                                max=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxArgs(
                                    boolean_value=False,
                                    date_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValueArgs(
                                        day=0,
                                        month=0,
                                        year=0,
                                    ),
                                    day_of_week_value="string",
                                    float_value=0,
                                    integer_value="string",
                                    string_value="string",
                                    time_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValueArgs(
                                        hours=0,
                                        minutes=0,
                                        nanos=0,
                                        seconds=0,
                                    ),
                                    timestamp_value="string",
                                ),
                                min=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinArgs(
                                    boolean_value=False,
                                    date_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinDateValueArgs(
                                        day=0,
                                        month=0,
                                        year=0,
                                    ),
                                    day_of_week_value="string",
                                    float_value=0,
                                    integer_value="string",
                                    string_value="string",
                                    time_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValueArgs(
                                        hours=0,
                                        minutes=0,
                                        nanos=0,
                                        seconds=0,
                                    ),
                                    timestamp_value="string",
                                ),
                            )],
                        ),
                        character_mask_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfigArgs(
                            characters_to_ignores=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArgs(
                                characters_to_skip="string",
                                common_characters_to_ignore="string",
                            )],
                            masking_character="string",
                            number_to_mask=0,
                            reverse_order=False,
                        ),
                        crypto_deterministic_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigArgs(
                            context=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigContextArgs(
                                name="string",
                            ),
                            crypto_key=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyArgs(
                                kms_wrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrappedArgs(
                                    crypto_key_name="string",
                                    wrapped_key="string",
                                ),
                                transient=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs(
                                    name="string",
                                ),
                                unwrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrappedArgs(
                                    key="string",
                                ),
                            ),
                            surrogate_info_type=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeArgs(
                                name="string",
                                sensitivity_score=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScoreArgs(
                                    score="string",
                                ),
                                version="string",
                            ),
                        ),
                        crypto_hash_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigArgs(
                            crypto_key=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyArgs(
                                kms_wrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrappedArgs(
                                    crypto_key_name="string",
                                    wrapped_key="string",
                                ),
                                transient=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransientArgs(
                                    name="string",
                                ),
                                unwrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrappedArgs(
                                    key="string",
                                ),
                            ),
                        ),
                        crypto_replace_ffx_fpe_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigArgs(
                            common_alphabet="string",
                            context=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContextArgs(
                                name="string",
                            ),
                            crypto_key=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyArgs(
                                kms_wrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrappedArgs(
                                    crypto_key_name="string",
                                    wrapped_key="string",
                                ),
                                transient=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransientArgs(
                                    name="string",
                                ),
                                unwrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrappedArgs(
                                    key="string",
                                ),
                            ),
                            custom_alphabet="string",
                            radix=0,
                            surrogate_info_type=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeArgs(
                                name="string",
                                sensitivity_score=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScoreArgs(
                                    score="string",
                                ),
                                version="string",
                            ),
                        ),
                        date_shift_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigArgs(
                            lower_bound_days=0,
                            upper_bound_days=0,
                            context=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigContextArgs(
                                name="string",
                            ),
                            crypto_key=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyArgs(
                                kms_wrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrappedArgs(
                                    crypto_key_name="string",
                                    wrapped_key="string",
                                ),
                                transient=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransientArgs(
                                    name="string",
                                ),
                                unwrapped=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrappedArgs(
                                    key="string",
                                ),
                            ),
                        ),
                        fixed_size_bucketing_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigArgs(
                            bucket_size=0,
                            lower_bound=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundArgs(
                                boolean_value=False,
                                date_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValueArgs(
                                    day=0,
                                    month=0,
                                    year=0,
                                ),
                                day_of_week_value="string",
                                float_value=0,
                                integer_value="string",
                                string_value="string",
                                time_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValueArgs(
                                    hours=0,
                                    minutes=0,
                                    nanos=0,
                                    seconds=0,
                                ),
                                timestamp_value="string",
                            ),
                            upper_bound=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundArgs(
                                boolean_value=False,
                                date_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValueArgs(
                                    day=0,
                                    month=0,
                                    year=0,
                                ),
                                day_of_week_value="string",
                                float_value=0,
                                integer_value="string",
                                string_value="string",
                                time_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValueArgs(
                                    hours=0,
                                    minutes=0,
                                    nanos=0,
                                    seconds=0,
                                ),
                                timestamp_value="string",
                            ),
                        ),
                        redact_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationRedactConfigArgs(),
                        replace_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigArgs(
                            new_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueArgs(
                                boolean_value=False,
                                date_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueDateValueArgs(
                                    day=0,
                                    month=0,
                                    year=0,
                                ),
                                day_of_week_value="string",
                                float_value=0,
                                integer_value="string",
                                string_value="string",
                                time_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueTimeValueArgs(
                                    hours=0,
                                    minutes=0,
                                    nanos=0,
                                    seconds=0,
                                ),
                                timestamp_value="string",
                            ),
                        ),
                        replace_dictionary_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfigArgs(
                            word_list=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfigWordListArgs(
                                words=["string"],
                            ),
                        ),
                        time_part_config=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationTimePartConfigArgs(
                            part_to_extract="string",
                        ),
                    ),
                )],
                record_suppressions=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionArgs(
                    condition=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionArgs(
                        expressions=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsArgs(
                            conditions=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsArgs(
                                conditions=[gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionArgs(
                                    field=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionFieldArgs(
                                        name="string",
                                    ),
                                    operator="string",
                                    value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueArgs(
                                        boolean_value=False,
                                        date_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueDateValueArgs(
                                            day=0,
                                            month=0,
                                            year=0,
                                        ),
                                        day_of_week_value="string",
                                        float_value=0,
                                        integer_value="string",
                                        string_value="string",
                                        time_value=gcp.dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueTimeValueArgs(
                                            hours=0,
                                            minutes=0,
                                            nanos=0,
                                            seconds=0,
                                        ),
                                        timestamp_value="string",
                                    ),
                                )],
                            ),
                            logical_operator="string",
                        ),
                    ),
                )],
            ),
        ),
        parent="string",
        description="string",
        display_name="string",
        template_id="string")
    
    const preventionDeidentifyTemplateResource = new gcp.dataloss.PreventionDeidentifyTemplate("preventionDeidentifyTemplateResource", {
        deidentifyConfig: {
            imageTransformations: {
                transforms: [{
                    allInfoTypes: {},
                    allText: {},
                    redactionColor: {
                        blue: 0,
                        green: 0,
                        red: 0,
                    },
                    selectedInfoTypes: {
                        infoTypes: [{
                            name: "string",
                            sensitivityScore: {
                                score: "string",
                            },
                            version: "string",
                        }],
                    },
                }],
            },
            infoTypeTransformations: {
                transformations: [{
                    primitiveTransformation: {
                        bucketingConfig: {
                            buckets: [{
                                replacementValue: {
                                    dateValue: {
                                        day: 0,
                                        month: 0,
                                        year: 0,
                                    },
                                    dayOfWeekValue: "string",
                                    floatValue: 0,
                                    integerValue: "string",
                                    stringValue: "string",
                                    timeValue: {
                                        hours: 0,
                                        minutes: 0,
                                        nanos: 0,
                                        seconds: 0,
                                    },
                                    timestampValue: "string",
                                },
                                max: {
                                    dateValue: {
                                        day: 0,
                                        month: 0,
                                        year: 0,
                                    },
                                    dayOfWeekValue: "string",
                                    floatValue: 0,
                                    integerValue: "string",
                                    stringValue: "string",
                                    timeValue: {
                                        hours: 0,
                                        minutes: 0,
                                        nanos: 0,
                                        seconds: 0,
                                    },
                                    timestampValue: "string",
                                },
                                min: {
                                    dateValue: {
                                        day: 0,
                                        month: 0,
                                        year: 0,
                                    },
                                    dayOfWeekValue: "string",
                                    floatValue: 0,
                                    integerValue: "string",
                                    stringValue: "string",
                                    timeValue: {
                                        hours: 0,
                                        minutes: 0,
                                        nanos: 0,
                                        seconds: 0,
                                    },
                                    timestampValue: "string",
                                },
                            }],
                        },
                        characterMaskConfig: {
                            charactersToIgnores: [{
                                charactersToSkip: "string",
                                commonCharactersToIgnore: "string",
                            }],
                            maskingCharacter: "string",
                            numberToMask: 0,
                            reverseOrder: false,
                        },
                        cryptoDeterministicConfig: {
                            context: {
                                name: "string",
                            },
                            cryptoKey: {
                                kmsWrapped: {
                                    cryptoKeyName: "string",
                                    wrappedKey: "string",
                                },
                                transient: {
                                    name: "string",
                                },
                                unwrapped: {
                                    key: "string",
                                },
                            },
                            surrogateInfoType: {
                                name: "string",
                                sensitivityScore: {
                                    score: "string",
                                },
                                version: "string",
                            },
                        },
                        cryptoHashConfig: {
                            cryptoKey: {
                                kmsWrapped: {
                                    cryptoKeyName: "string",
                                    wrappedKey: "string",
                                },
                                transient: {
                                    name: "string",
                                },
                                unwrapped: {
                                    key: "string",
                                },
                            },
                        },
                        cryptoReplaceFfxFpeConfig: {
                            commonAlphabet: "string",
                            context: {
                                name: "string",
                            },
                            cryptoKey: {
                                kmsWrapped: {
                                    cryptoKeyName: "string",
                                    wrappedKey: "string",
                                },
                                transient: {
                                    name: "string",
                                },
                                unwrapped: {
                                    key: "string",
                                },
                            },
                            customAlphabet: "string",
                            radix: 0,
                            surrogateInfoType: {
                                name: "string",
                                sensitivityScore: {
                                    score: "string",
                                },
                                version: "string",
                            },
                        },
                        dateShiftConfig: {
                            lowerBoundDays: 0,
                            upperBoundDays: 0,
                            context: {
                                name: "string",
                            },
                            cryptoKey: {
                                kmsWrapped: {
                                    cryptoKeyName: "string",
                                    wrappedKey: "string",
                                },
                                transient: {
                                    name: "string",
                                },
                                unwrapped: {
                                    key: "string",
                                },
                            },
                        },
                        fixedSizeBucketingConfig: {
                            bucketSize: 0,
                            lowerBound: {
                                floatValue: 0,
                                integerValue: "string",
                            },
                            upperBound: {
                                floatValue: 0,
                                integerValue: "string",
                            },
                        },
                        redactConfig: {},
                        replaceConfig: {
                            newValue: {
                                booleanValue: false,
                                dateValue: {
                                    day: 0,
                                    month: 0,
                                    year: 0,
                                },
                                dayOfWeekValue: "string",
                                floatValue: 0,
                                integerValue: 0,
                                stringValue: "string",
                                timeValue: {
                                    hours: 0,
                                    minutes: 0,
                                    nanos: 0,
                                    seconds: 0,
                                },
                                timestampValue: "string",
                            },
                        },
                        replaceDictionaryConfig: {
                            wordList: {
                                words: ["string"],
                            },
                        },
                        replaceWithInfoTypeConfig: false,
                        timePartConfig: {
                            partToExtract: "string",
                        },
                    },
                    infoTypes: [{
                        name: "string",
                        sensitivityScore: {
                            score: "string",
                        },
                        version: "string",
                    }],
                }],
            },
            recordTransformations: {
                fieldTransformations: [{
                    fields: [{
                        name: "string",
                    }],
                    condition: {
                        expressions: {
                            conditions: {
                                conditions: [{
                                    field: {
                                        name: "string",
                                    },
                                    operator: "string",
                                    value: {
                                        booleanValue: false,
                                        dateValue: {
                                            day: 0,
                                            month: 0,
                                            year: 0,
                                        },
                                        dayOfWeekValue: "string",
                                        floatValue: 0,
                                        integerValue: "string",
                                        stringValue: "string",
                                        timeValue: {
                                            hours: 0,
                                            minutes: 0,
                                            nanos: 0,
                                            seconds: 0,
                                        },
                                        timestampValue: "string",
                                    },
                                }],
                            },
                            logicalOperator: "string",
                        },
                    },
                    infoTypeTransformations: {
                        transformations: [{
                            primitiveTransformation: {
                                bucketingConfig: {
                                    buckets: [{
                                        replacementValue: {
                                            dateValue: {
                                                day: 0,
                                                month: 0,
                                                year: 0,
                                            },
                                            dayOfWeekValue: "string",
                                            floatValue: 0,
                                            integerValue: "string",
                                            stringValue: "string",
                                            timeValue: {
                                                hours: 0,
                                                minutes: 0,
                                                nanos: 0,
                                                seconds: 0,
                                            },
                                            timestampValue: "string",
                                        },
                                        max: {
                                            dateValue: {
                                                day: 0,
                                                month: 0,
                                                year: 0,
                                            },
                                            dayOfWeekValue: "string",
                                            floatValue: 0,
                                            integerValue: "string",
                                            stringValue: "string",
                                            timeValue: {
                                                hours: 0,
                                                minutes: 0,
                                                nanos: 0,
                                                seconds: 0,
                                            },
                                            timestampValue: "string",
                                        },
                                        min: {
                                            dateValue: {
                                                day: 0,
                                                month: 0,
                                                year: 0,
                                            },
                                            dayOfWeekValue: "string",
                                            floatValue: 0,
                                            integerValue: "string",
                                            stringValue: "string",
                                            timeValue: {
                                                hours: 0,
                                                minutes: 0,
                                                nanos: 0,
                                                seconds: 0,
                                            },
                                            timestampValue: "string",
                                        },
                                    }],
                                },
                                characterMaskConfig: {
                                    charactersToIgnores: [{
                                        charactersToSkip: "string",
                                        commonCharactersToIgnore: "string",
                                    }],
                                    maskingCharacter: "string",
                                    numberToMask: 0,
                                    reverseOrder: false,
                                },
                                cryptoDeterministicConfig: {
                                    cryptoKey: {
                                        kmsWrapped: {
                                            cryptoKeyName: "string",
                                            wrappedKey: "string",
                                        },
                                        transient: {
                                            name: "string",
                                        },
                                        unwrapped: {
                                            key: "string",
                                        },
                                    },
                                    surrogateInfoType: {
                                        name: "string",
                                        sensitivityScore: {
                                            score: "string",
                                        },
                                        version: "string",
                                    },
                                    context: {
                                        name: "string",
                                    },
                                },
                                cryptoHashConfig: {
                                    cryptoKey: {
                                        kmsWrapped: {
                                            cryptoKeyName: "string",
                                            wrappedKey: "string",
                                        },
                                        transient: {
                                            name: "string",
                                        },
                                        unwrapped: {
                                            key: "string",
                                        },
                                    },
                                },
                                cryptoReplaceFfxFpeConfig: {
                                    cryptoKey: {
                                        kmsWrapped: {
                                            cryptoKeyName: "string",
                                            wrappedKey: "string",
                                        },
                                        transient: {
                                            name: "string",
                                        },
                                        unwrapped: {
                                            key: "string",
                                        },
                                    },
                                    commonAlphabet: "string",
                                    context: {
                                        name: "string",
                                    },
                                    customAlphabet: "string",
                                    radix: 0,
                                    surrogateInfoType: {
                                        name: "string",
                                        sensitivityScore: {
                                            score: "string",
                                        },
                                        version: "string",
                                    },
                                },
                                dateShiftConfig: {
                                    lowerBoundDays: 0,
                                    upperBoundDays: 0,
                                    context: {
                                        name: "string",
                                    },
                                    cryptoKey: {
                                        kmsWrapped: {
                                            cryptoKeyName: "string",
                                            wrappedKey: "string",
                                        },
                                        transient: {
                                            name: "string",
                                        },
                                        unwrapped: {
                                            key: "string",
                                        },
                                    },
                                },
                                fixedSizeBucketingConfig: {
                                    bucketSize: 0,
                                    lowerBound: {
                                        floatValue: 0,
                                        integerValue: "string",
                                    },
                                    upperBound: {
                                        floatValue: 0,
                                        integerValue: "string",
                                    },
                                },
                                redactConfig: {},
                                replaceConfig: {
                                    newValue: {
                                        booleanValue: false,
                                        dateValue: {
                                            day: 0,
                                            month: 0,
                                            year: 0,
                                        },
                                        dayOfWeekValue: "string",
                                        floatValue: 0,
                                        integerValue: "string",
                                        stringValue: "string",
                                        timeValue: {
                                            hours: 0,
                                            minutes: 0,
                                            nanos: 0,
                                            seconds: 0,
                                        },
                                        timestampValue: "string",
                                    },
                                },
                                replaceDictionaryConfig: {
                                    wordList: {
                                        words: ["string"],
                                    },
                                },
                                replaceWithInfoTypeConfig: {},
                                timePartConfig: {
                                    partToExtract: "string",
                                },
                            },
                            infoTypes: [{
                                name: "string",
                                sensitivityScore: {
                                    score: "string",
                                },
                                version: "string",
                            }],
                        }],
                    },
                    primitiveTransformation: {
                        bucketingConfig: {
                            buckets: [{
                                replacementValue: {
                                    booleanValue: false,
                                    dateValue: {
                                        day: 0,
                                        month: 0,
                                        year: 0,
                                    },
                                    dayOfWeekValue: "string",
                                    floatValue: 0,
                                    integerValue: "string",
                                    stringValue: "string",
                                    timeValue: {
                                        hours: 0,
                                        minutes: 0,
                                        nanos: 0,
                                        seconds: 0,
                                    },
                                    timestampValue: "string",
                                },
                                max: {
                                    booleanValue: false,
                                    dateValue: {
                                        day: 0,
                                        month: 0,
                                        year: 0,
                                    },
                                    dayOfWeekValue: "string",
                                    floatValue: 0,
                                    integerValue: "string",
                                    stringValue: "string",
                                    timeValue: {
                                        hours: 0,
                                        minutes: 0,
                                        nanos: 0,
                                        seconds: 0,
                                    },
                                    timestampValue: "string",
                                },
                                min: {
                                    booleanValue: false,
                                    dateValue: {
                                        day: 0,
                                        month: 0,
                                        year: 0,
                                    },
                                    dayOfWeekValue: "string",
                                    floatValue: 0,
                                    integerValue: "string",
                                    stringValue: "string",
                                    timeValue: {
                                        hours: 0,
                                        minutes: 0,
                                        nanos: 0,
                                        seconds: 0,
                                    },
                                    timestampValue: "string",
                                },
                            }],
                        },
                        characterMaskConfig: {
                            charactersToIgnores: [{
                                charactersToSkip: "string",
                                commonCharactersToIgnore: "string",
                            }],
                            maskingCharacter: "string",
                            numberToMask: 0,
                            reverseOrder: false,
                        },
                        cryptoDeterministicConfig: {
                            context: {
                                name: "string",
                            },
                            cryptoKey: {
                                kmsWrapped: {
                                    cryptoKeyName: "string",
                                    wrappedKey: "string",
                                },
                                transient: {
                                    name: "string",
                                },
                                unwrapped: {
                                    key: "string",
                                },
                            },
                            surrogateInfoType: {
                                name: "string",
                                sensitivityScore: {
                                    score: "string",
                                },
                                version: "string",
                            },
                        },
                        cryptoHashConfig: {
                            cryptoKey: {
                                kmsWrapped: {
                                    cryptoKeyName: "string",
                                    wrappedKey: "string",
                                },
                                transient: {
                                    name: "string",
                                },
                                unwrapped: {
                                    key: "string",
                                },
                            },
                        },
                        cryptoReplaceFfxFpeConfig: {
                            commonAlphabet: "string",
                            context: {
                                name: "string",
                            },
                            cryptoKey: {
                                kmsWrapped: {
                                    cryptoKeyName: "string",
                                    wrappedKey: "string",
                                },
                                transient: {
                                    name: "string",
                                },
                                unwrapped: {
                                    key: "string",
                                },
                            },
                            customAlphabet: "string",
                            radix: 0,
                            surrogateInfoType: {
                                name: "string",
                                sensitivityScore: {
                                    score: "string",
                                },
                                version: "string",
                            },
                        },
                        dateShiftConfig: {
                            lowerBoundDays: 0,
                            upperBoundDays: 0,
                            context: {
                                name: "string",
                            },
                            cryptoKey: {
                                kmsWrapped: {
                                    cryptoKeyName: "string",
                                    wrappedKey: "string",
                                },
                                transient: {
                                    name: "string",
                                },
                                unwrapped: {
                                    key: "string",
                                },
                            },
                        },
                        fixedSizeBucketingConfig: {
                            bucketSize: 0,
                            lowerBound: {
                                booleanValue: false,
                                dateValue: {
                                    day: 0,
                                    month: 0,
                                    year: 0,
                                },
                                dayOfWeekValue: "string",
                                floatValue: 0,
                                integerValue: "string",
                                stringValue: "string",
                                timeValue: {
                                    hours: 0,
                                    minutes: 0,
                                    nanos: 0,
                                    seconds: 0,
                                },
                                timestampValue: "string",
                            },
                            upperBound: {
                                booleanValue: false,
                                dateValue: {
                                    day: 0,
                                    month: 0,
                                    year: 0,
                                },
                                dayOfWeekValue: "string",
                                floatValue: 0,
                                integerValue: "string",
                                stringValue: "string",
                                timeValue: {
                                    hours: 0,
                                    minutes: 0,
                                    nanos: 0,
                                    seconds: 0,
                                },
                                timestampValue: "string",
                            },
                        },
                        redactConfig: {},
                        replaceConfig: {
                            newValue: {
                                booleanValue: false,
                                dateValue: {
                                    day: 0,
                                    month: 0,
                                    year: 0,
                                },
                                dayOfWeekValue: "string",
                                floatValue: 0,
                                integerValue: "string",
                                stringValue: "string",
                                timeValue: {
                                    hours: 0,
                                    minutes: 0,
                                    nanos: 0,
                                    seconds: 0,
                                },
                                timestampValue: "string",
                            },
                        },
                        replaceDictionaryConfig: {
                            wordList: {
                                words: ["string"],
                            },
                        },
                        timePartConfig: {
                            partToExtract: "string",
                        },
                    },
                }],
                recordSuppressions: [{
                    condition: {
                        expressions: {
                            conditions: {
                                conditions: [{
                                    field: {
                                        name: "string",
                                    },
                                    operator: "string",
                                    value: {
                                        booleanValue: false,
                                        dateValue: {
                                            day: 0,
                                            month: 0,
                                            year: 0,
                                        },
                                        dayOfWeekValue: "string",
                                        floatValue: 0,
                                        integerValue: "string",
                                        stringValue: "string",
                                        timeValue: {
                                            hours: 0,
                                            minutes: 0,
                                            nanos: 0,
                                            seconds: 0,
                                        },
                                        timestampValue: "string",
                                    },
                                }],
                            },
                            logicalOperator: "string",
                        },
                    },
                }],
            },
        },
        parent: "string",
        description: "string",
        displayName: "string",
        templateId: "string",
    });
    
    type: gcp:dataloss:PreventionDeidentifyTemplate
    properties:
        deidentifyConfig:
            imageTransformations:
                transforms:
                    - allInfoTypes: {}
                      allText: {}
                      redactionColor:
                        blue: 0
                        green: 0
                        red: 0
                      selectedInfoTypes:
                        infoTypes:
                            - name: string
                              sensitivityScore:
                                score: string
                              version: string
            infoTypeTransformations:
                transformations:
                    - infoTypes:
                        - name: string
                          sensitivityScore:
                            score: string
                          version: string
                      primitiveTransformation:
                        bucketingConfig:
                            buckets:
                                - max:
                                    dateValue:
                                        day: 0
                                        month: 0
                                        year: 0
                                    dayOfWeekValue: string
                                    floatValue: 0
                                    integerValue: string
                                    stringValue: string
                                    timeValue:
                                        hours: 0
                                        minutes: 0
                                        nanos: 0
                                        seconds: 0
                                    timestampValue: string
                                  min:
                                    dateValue:
                                        day: 0
                                        month: 0
                                        year: 0
                                    dayOfWeekValue: string
                                    floatValue: 0
                                    integerValue: string
                                    stringValue: string
                                    timeValue:
                                        hours: 0
                                        minutes: 0
                                        nanos: 0
                                        seconds: 0
                                    timestampValue: string
                                  replacementValue:
                                    dateValue:
                                        day: 0
                                        month: 0
                                        year: 0
                                    dayOfWeekValue: string
                                    floatValue: 0
                                    integerValue: string
                                    stringValue: string
                                    timeValue:
                                        hours: 0
                                        minutes: 0
                                        nanos: 0
                                        seconds: 0
                                    timestampValue: string
                        characterMaskConfig:
                            charactersToIgnores:
                                - charactersToSkip: string
                                  commonCharactersToIgnore: string
                            maskingCharacter: string
                            numberToMask: 0
                            reverseOrder: false
                        cryptoDeterministicConfig:
                            context:
                                name: string
                            cryptoKey:
                                kmsWrapped:
                                    cryptoKeyName: string
                                    wrappedKey: string
                                transient:
                                    name: string
                                unwrapped:
                                    key: string
                            surrogateInfoType:
                                name: string
                                sensitivityScore:
                                    score: string
                                version: string
                        cryptoHashConfig:
                            cryptoKey:
                                kmsWrapped:
                                    cryptoKeyName: string
                                    wrappedKey: string
                                transient:
                                    name: string
                                unwrapped:
                                    key: string
                        cryptoReplaceFfxFpeConfig:
                            commonAlphabet: string
                            context:
                                name: string
                            cryptoKey:
                                kmsWrapped:
                                    cryptoKeyName: string
                                    wrappedKey: string
                                transient:
                                    name: string
                                unwrapped:
                                    key: string
                            customAlphabet: string
                            radix: 0
                            surrogateInfoType:
                                name: string
                                sensitivityScore:
                                    score: string
                                version: string
                        dateShiftConfig:
                            context:
                                name: string
                            cryptoKey:
                                kmsWrapped:
                                    cryptoKeyName: string
                                    wrappedKey: string
                                transient:
                                    name: string
                                unwrapped:
                                    key: string
                            lowerBoundDays: 0
                            upperBoundDays: 0
                        fixedSizeBucketingConfig:
                            bucketSize: 0
                            lowerBound:
                                floatValue: 0
                                integerValue: string
                            upperBound:
                                floatValue: 0
                                integerValue: string
                        redactConfig: {}
                        replaceConfig:
                            newValue:
                                booleanValue: false
                                dateValue:
                                    day: 0
                                    month: 0
                                    year: 0
                                dayOfWeekValue: string
                                floatValue: 0
                                integerValue: 0
                                stringValue: string
                                timeValue:
                                    hours: 0
                                    minutes: 0
                                    nanos: 0
                                    seconds: 0
                                timestampValue: string
                        replaceDictionaryConfig:
                            wordList:
                                words:
                                    - string
                        replaceWithInfoTypeConfig: false
                        timePartConfig:
                            partToExtract: string
            recordTransformations:
                fieldTransformations:
                    - condition:
                        expressions:
                            conditions:
                                conditions:
                                    - field:
                                        name: string
                                      operator: string
                                      value:
                                        booleanValue: false
                                        dateValue:
                                            day: 0
                                            month: 0
                                            year: 0
                                        dayOfWeekValue: string
                                        floatValue: 0
                                        integerValue: string
                                        stringValue: string
                                        timeValue:
                                            hours: 0
                                            minutes: 0
                                            nanos: 0
                                            seconds: 0
                                        timestampValue: string
                            logicalOperator: string
                      fields:
                        - name: string
                      infoTypeTransformations:
                        transformations:
                            - infoTypes:
                                - name: string
                                  sensitivityScore:
                                    score: string
                                  version: string
                              primitiveTransformation:
                                bucketingConfig:
                                    buckets:
                                        - max:
                                            dateValue:
                                                day: 0
                                                month: 0
                                                year: 0
                                            dayOfWeekValue: string
                                            floatValue: 0
                                            integerValue: string
                                            stringValue: string
                                            timeValue:
                                                hours: 0
                                                minutes: 0
                                                nanos: 0
                                                seconds: 0
                                            timestampValue: string
                                          min:
                                            dateValue:
                                                day: 0
                                                month: 0
                                                year: 0
                                            dayOfWeekValue: string
                                            floatValue: 0
                                            integerValue: string
                                            stringValue: string
                                            timeValue:
                                                hours: 0
                                                minutes: 0
                                                nanos: 0
                                                seconds: 0
                                            timestampValue: string
                                          replacementValue:
                                            dateValue:
                                                day: 0
                                                month: 0
                                                year: 0
                                            dayOfWeekValue: string
                                            floatValue: 0
                                            integerValue: string
                                            stringValue: string
                                            timeValue:
                                                hours: 0
                                                minutes: 0
                                                nanos: 0
                                                seconds: 0
                                            timestampValue: string
                                characterMaskConfig:
                                    charactersToIgnores:
                                        - charactersToSkip: string
                                          commonCharactersToIgnore: string
                                    maskingCharacter: string
                                    numberToMask: 0
                                    reverseOrder: false
                                cryptoDeterministicConfig:
                                    context:
                                        name: string
                                    cryptoKey:
                                        kmsWrapped:
                                            cryptoKeyName: string
                                            wrappedKey: string
                                        transient:
                                            name: string
                                        unwrapped:
                                            key: string
                                    surrogateInfoType:
                                        name: string
                                        sensitivityScore:
                                            score: string
                                        version: string
                                cryptoHashConfig:
                                    cryptoKey:
                                        kmsWrapped:
                                            cryptoKeyName: string
                                            wrappedKey: string
                                        transient:
                                            name: string
                                        unwrapped:
                                            key: string
                                cryptoReplaceFfxFpeConfig:
                                    commonAlphabet: string
                                    context:
                                        name: string
                                    cryptoKey:
                                        kmsWrapped:
                                            cryptoKeyName: string
                                            wrappedKey: string
                                        transient:
                                            name: string
                                        unwrapped:
                                            key: string
                                    customAlphabet: string
                                    radix: 0
                                    surrogateInfoType:
                                        name: string
                                        sensitivityScore:
                                            score: string
                                        version: string
                                dateShiftConfig:
                                    context:
                                        name: string
                                    cryptoKey:
                                        kmsWrapped:
                                            cryptoKeyName: string
                                            wrappedKey: string
                                        transient:
                                            name: string
                                        unwrapped:
                                            key: string
                                    lowerBoundDays: 0
                                    upperBoundDays: 0
                                fixedSizeBucketingConfig:
                                    bucketSize: 0
                                    lowerBound:
                                        floatValue: 0
                                        integerValue: string
                                    upperBound:
                                        floatValue: 0
                                        integerValue: string
                                redactConfig: {}
                                replaceConfig:
                                    newValue:
                                        booleanValue: false
                                        dateValue:
                                            day: 0
                                            month: 0
                                            year: 0
                                        dayOfWeekValue: string
                                        floatValue: 0
                                        integerValue: string
                                        stringValue: string
                                        timeValue:
                                            hours: 0
                                            minutes: 0
                                            nanos: 0
                                            seconds: 0
                                        timestampValue: string
                                replaceDictionaryConfig:
                                    wordList:
                                        words:
                                            - string
                                replaceWithInfoTypeConfig: {}
                                timePartConfig:
                                    partToExtract: string
                      primitiveTransformation:
                        bucketingConfig:
                            buckets:
                                - max:
                                    booleanValue: false
                                    dateValue:
                                        day: 0
                                        month: 0
                                        year: 0
                                    dayOfWeekValue: string
                                    floatValue: 0
                                    integerValue: string
                                    stringValue: string
                                    timeValue:
                                        hours: 0
                                        minutes: 0
                                        nanos: 0
                                        seconds: 0
                                    timestampValue: string
                                  min:
                                    booleanValue: false
                                    dateValue:
                                        day: 0
                                        month: 0
                                        year: 0
                                    dayOfWeekValue: string
                                    floatValue: 0
                                    integerValue: string
                                    stringValue: string
                                    timeValue:
                                        hours: 0
                                        minutes: 0
                                        nanos: 0
                                        seconds: 0
                                    timestampValue: string
                                  replacementValue:
                                    booleanValue: false
                                    dateValue:
                                        day: 0
                                        month: 0
                                        year: 0
                                    dayOfWeekValue: string
                                    floatValue: 0
                                    integerValue: string
                                    stringValue: string
                                    timeValue:
                                        hours: 0
                                        minutes: 0
                                        nanos: 0
                                        seconds: 0
                                    timestampValue: string
                        characterMaskConfig:
                            charactersToIgnores:
                                - charactersToSkip: string
                                  commonCharactersToIgnore: string
                            maskingCharacter: string
                            numberToMask: 0
                            reverseOrder: false
                        cryptoDeterministicConfig:
                            context:
                                name: string
                            cryptoKey:
                                kmsWrapped:
                                    cryptoKeyName: string
                                    wrappedKey: string
                                transient:
                                    name: string
                                unwrapped:
                                    key: string
                            surrogateInfoType:
                                name: string
                                sensitivityScore:
                                    score: string
                                version: string
                        cryptoHashConfig:
                            cryptoKey:
                                kmsWrapped:
                                    cryptoKeyName: string
                                    wrappedKey: string
                                transient:
                                    name: string
                                unwrapped:
                                    key: string
                        cryptoReplaceFfxFpeConfig:
                            commonAlphabet: string
                            context:
                                name: string
                            cryptoKey:
                                kmsWrapped:
                                    cryptoKeyName: string
                                    wrappedKey: string
                                transient:
                                    name: string
                                unwrapped:
                                    key: string
                            customAlphabet: string
                            radix: 0
                            surrogateInfoType:
                                name: string
                                sensitivityScore:
                                    score: string
                                version: string
                        dateShiftConfig:
                            context:
                                name: string
                            cryptoKey:
                                kmsWrapped:
                                    cryptoKeyName: string
                                    wrappedKey: string
                                transient:
                                    name: string
                                unwrapped:
                                    key: string
                            lowerBoundDays: 0
                            upperBoundDays: 0
                        fixedSizeBucketingConfig:
                            bucketSize: 0
                            lowerBound:
                                booleanValue: false
                                dateValue:
                                    day: 0
                                    month: 0
                                    year: 0
                                dayOfWeekValue: string
                                floatValue: 0
                                integerValue: string
                                stringValue: string
                                timeValue:
                                    hours: 0
                                    minutes: 0
                                    nanos: 0
                                    seconds: 0
                                timestampValue: string
                            upperBound:
                                booleanValue: false
                                dateValue:
                                    day: 0
                                    month: 0
                                    year: 0
                                dayOfWeekValue: string
                                floatValue: 0
                                integerValue: string
                                stringValue: string
                                timeValue:
                                    hours: 0
                                    minutes: 0
                                    nanos: 0
                                    seconds: 0
                                timestampValue: string
                        redactConfig: {}
                        replaceConfig:
                            newValue:
                                booleanValue: false
                                dateValue:
                                    day: 0
                                    month: 0
                                    year: 0
                                dayOfWeekValue: string
                                floatValue: 0
                                integerValue: string
                                stringValue: string
                                timeValue:
                                    hours: 0
                                    minutes: 0
                                    nanos: 0
                                    seconds: 0
                                timestampValue: string
                        replaceDictionaryConfig:
                            wordList:
                                words:
                                    - string
                        timePartConfig:
                            partToExtract: string
                recordSuppressions:
                    - condition:
                        expressions:
                            conditions:
                                conditions:
                                    - field:
                                        name: string
                                      operator: string
                                      value:
                                        booleanValue: false
                                        dateValue:
                                            day: 0
                                            month: 0
                                            year: 0
                                        dayOfWeekValue: string
                                        floatValue: 0
                                        integerValue: string
                                        stringValue: string
                                        timeValue:
                                            hours: 0
                                            minutes: 0
                                            nanos: 0
                                            seconds: 0
                                        timestampValue: string
                            logicalOperator: string
        description: string
        displayName: string
        parent: string
        templateId: string
    

    PreventionDeidentifyTemplate Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The PreventionDeidentifyTemplate resource accepts the following input properties:

    DeidentifyConfig PreventionDeidentifyTemplateDeidentifyConfig
    Configuration of the deidentify template Structure is documented below.
    Parent string
    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}}
    Description string
    A description of the template.
    DisplayName string
    User set display name of the template.
    TemplateId string
    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.
    DeidentifyConfig PreventionDeidentifyTemplateDeidentifyConfigArgs
    Configuration of the deidentify template Structure is documented below.
    Parent string
    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}}
    Description string
    A description of the template.
    DisplayName string
    User set display name of the template.
    TemplateId string
    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.
    deidentifyConfig PreventionDeidentifyTemplateDeidentifyConfig
    Configuration of the deidentify template Structure is documented below.
    parent String
    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}}
    description String
    A description of the template.
    displayName String
    User set display name of the template.
    templateId String
    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.
    deidentifyConfig PreventionDeidentifyTemplateDeidentifyConfig
    Configuration of the deidentify template Structure is documented below.
    parent string
    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}}
    description string
    A description of the template.
    displayName string
    User set display name of the template.
    templateId string
    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.
    deidentify_config PreventionDeidentifyTemplateDeidentifyConfigArgs
    Configuration of the deidentify template Structure is documented below.
    parent str
    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}}
    description str
    A description of the template.
    display_name str
    User set display name of the template.
    template_id str
    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.
    deidentifyConfig Property Map
    Configuration of the deidentify template Structure is documented below.
    parent String
    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}}
    description String
    A description of the template.
    displayName String
    User set display name of the template.
    templateId String
    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.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the PreventionDeidentifyTemplate resource produces the following output properties:

    CreateTime string
    The creation timestamp of an deidentifyTemplate. Set by the server.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The resource name of the template. Set by the server.
    UpdateTime string
    The last update timestamp of an deidentifyTemplate. Set by the server.
    CreateTime string
    The creation timestamp of an deidentifyTemplate. Set by the server.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The resource name of the template. Set by the server.
    UpdateTime string
    The last update timestamp of an deidentifyTemplate. Set by the server.
    createTime String
    The creation timestamp of an deidentifyTemplate. Set by the server.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The resource name of the template. Set by the server.
    updateTime String
    The last update timestamp of an deidentifyTemplate. Set by the server.
    createTime string
    The creation timestamp of an deidentifyTemplate. Set by the server.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    The resource name of the template. Set by the server.
    updateTime string
    The last update timestamp of an deidentifyTemplate. Set by the server.
    create_time str
    The creation timestamp of an deidentifyTemplate. Set by the server.
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    The resource name of the template. Set by the server.
    update_time str
    The last update timestamp of an deidentifyTemplate. Set by the server.
    createTime String
    The creation timestamp of an deidentifyTemplate. Set by the server.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The resource name of the template. Set by the server.
    updateTime String
    The last update timestamp of an deidentifyTemplate. Set by the server.

    Look up Existing PreventionDeidentifyTemplate Resource

    Get an existing PreventionDeidentifyTemplate resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: PreventionDeidentifyTemplateState, opts?: CustomResourceOptions): PreventionDeidentifyTemplate
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            create_time: Optional[str] = None,
            deidentify_config: Optional[PreventionDeidentifyTemplateDeidentifyConfigArgs] = None,
            description: Optional[str] = None,
            display_name: Optional[str] = None,
            name: Optional[str] = None,
            parent: Optional[str] = None,
            template_id: Optional[str] = None,
            update_time: Optional[str] = None) -> PreventionDeidentifyTemplate
    func GetPreventionDeidentifyTemplate(ctx *Context, name string, id IDInput, state *PreventionDeidentifyTemplateState, opts ...ResourceOption) (*PreventionDeidentifyTemplate, error)
    public static PreventionDeidentifyTemplate Get(string name, Input<string> id, PreventionDeidentifyTemplateState? state, CustomResourceOptions? opts = null)
    public static PreventionDeidentifyTemplate get(String name, Output<String> id, PreventionDeidentifyTemplateState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    CreateTime string
    The creation timestamp of an deidentifyTemplate. Set by the server.
    DeidentifyConfig PreventionDeidentifyTemplateDeidentifyConfig
    Configuration of the deidentify template Structure is documented below.
    Description string
    A description of the template.
    DisplayName string
    User set display name of the template.
    Name string
    The resource name of the template. Set by the server.
    Parent string
    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}}
    TemplateId string
    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.
    UpdateTime string
    The last update timestamp of an deidentifyTemplate. Set by the server.
    CreateTime string
    The creation timestamp of an deidentifyTemplate. Set by the server.
    DeidentifyConfig PreventionDeidentifyTemplateDeidentifyConfigArgs
    Configuration of the deidentify template Structure is documented below.
    Description string
    A description of the template.
    DisplayName string
    User set display name of the template.
    Name string
    The resource name of the template. Set by the server.
    Parent string
    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}}
    TemplateId string
    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.
    UpdateTime string
    The last update timestamp of an deidentifyTemplate. Set by the server.
    createTime String
    The creation timestamp of an deidentifyTemplate. Set by the server.
    deidentifyConfig PreventionDeidentifyTemplateDeidentifyConfig
    Configuration of the deidentify template Structure is documented below.
    description String
    A description of the template.
    displayName String
    User set display name of the template.
    name String
    The resource name of the template. Set by the server.
    parent String
    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}}
    templateId String
    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.
    updateTime String
    The last update timestamp of an deidentifyTemplate. Set by the server.
    createTime string
    The creation timestamp of an deidentifyTemplate. Set by the server.
    deidentifyConfig PreventionDeidentifyTemplateDeidentifyConfig
    Configuration of the deidentify template Structure is documented below.
    description string
    A description of the template.
    displayName string
    User set display name of the template.
    name string
    The resource name of the template. Set by the server.
    parent string
    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}}
    templateId string
    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.
    updateTime string
    The last update timestamp of an deidentifyTemplate. Set by the server.
    create_time str
    The creation timestamp of an deidentifyTemplate. Set by the server.
    deidentify_config PreventionDeidentifyTemplateDeidentifyConfigArgs
    Configuration of the deidentify template Structure is documented below.
    description str
    A description of the template.
    display_name str
    User set display name of the template.
    name str
    The resource name of the template. Set by the server.
    parent str
    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}}
    template_id str
    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.
    update_time str
    The last update timestamp of an deidentifyTemplate. Set by the server.
    createTime String
    The creation timestamp of an deidentifyTemplate. Set by the server.
    deidentifyConfig Property Map
    Configuration of the deidentify template Structure is documented below.
    description String
    A description of the template.
    displayName String
    User set display name of the template.
    name String
    The resource name of the template. Set by the server.
    parent String
    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}}
    templateId String
    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.
    updateTime String
    The last update timestamp of an deidentifyTemplate. Set by the server.

    Supporting Types

    PreventionDeidentifyTemplateDeidentifyConfig, PreventionDeidentifyTemplateDeidentifyConfigArgs

    ImageTransformations PreventionDeidentifyTemplateDeidentifyConfigImageTransformations
    Treat the dataset as an image and redact. Structure is documented below.
    InfoTypeTransformations PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations
    Treat the dataset as free-form text and apply the same free text transformation everywhere Structure is documented below.
    RecordTransformations PreventionDeidentifyTemplateDeidentifyConfigRecordTransformations
    Treat the dataset as structured. Transformations can be applied to specific locations within structured datasets, such as transforming a column within a table. Structure is documented below.
    ImageTransformations PreventionDeidentifyTemplateDeidentifyConfigImageTransformations
    Treat the dataset as an image and redact. Structure is documented below.
    InfoTypeTransformations PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations
    Treat the dataset as free-form text and apply the same free text transformation everywhere Structure is documented below.
    RecordTransformations PreventionDeidentifyTemplateDeidentifyConfigRecordTransformations
    Treat the dataset as structured. Transformations can be applied to specific locations within structured datasets, such as transforming a column within a table. Structure is documented below.
    imageTransformations PreventionDeidentifyTemplateDeidentifyConfigImageTransformations
    Treat the dataset as an image and redact. Structure is documented below.
    infoTypeTransformations PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations
    Treat the dataset as free-form text and apply the same free text transformation everywhere Structure is documented below.
    recordTransformations PreventionDeidentifyTemplateDeidentifyConfigRecordTransformations
    Treat the dataset as structured. Transformations can be applied to specific locations within structured datasets, such as transforming a column within a table. Structure is documented below.
    imageTransformations PreventionDeidentifyTemplateDeidentifyConfigImageTransformations
    Treat the dataset as an image and redact. Structure is documented below.
    infoTypeTransformations PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations
    Treat the dataset as free-form text and apply the same free text transformation everywhere Structure is documented below.
    recordTransformations PreventionDeidentifyTemplateDeidentifyConfigRecordTransformations
    Treat the dataset as structured. Transformations can be applied to specific locations within structured datasets, such as transforming a column within a table. Structure is documented below.
    image_transformations PreventionDeidentifyTemplateDeidentifyConfigImageTransformations
    Treat the dataset as an image and redact. Structure is documented below.
    info_type_transformations PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations
    Treat the dataset as free-form text and apply the same free text transformation everywhere Structure is documented below.
    record_transformations PreventionDeidentifyTemplateDeidentifyConfigRecordTransformations
    Treat the dataset as structured. Transformations can be applied to specific locations within structured datasets, such as transforming a column within a table. Structure is documented below.
    imageTransformations Property Map
    Treat the dataset as an image and redact. Structure is documented below.
    infoTypeTransformations Property Map
    Treat the dataset as free-form text and apply the same free text transformation everywhere Structure is documented below.
    recordTransformations Property Map
    Treat the dataset as structured. Transformations can be applied to specific locations within structured datasets, such as transforming a column within a table. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigImageTransformations, PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsArgs

    Transforms List<PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransform>
    For determination of how redaction of images should occur. Structure is documented below.
    Transforms []PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransform
    For determination of how redaction of images should occur. Structure is documented below.
    transforms List<PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransform>
    For determination of how redaction of images should occur. Structure is documented below.
    transforms PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransform[]
    For determination of how redaction of images should occur. Structure is documented below.
    transforms Sequence[PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransform]
    For determination of how redaction of images should occur. Structure is documented below.
    transforms List<Property Map>
    For determination of how redaction of images should occur. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransform, PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs

    AllInfoTypes PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformAllInfoTypes
    Apply transformation to all findings not specified in other ImageTransformation's selectedInfoTypes.
    AllText PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformAllText
    Apply transformation to all text that doesn't match an infoType.
    RedactionColor PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformRedactionColor
    The color to use when redacting content from an image. If not specified, the default is black. Structure is documented below.
    SelectedInfoTypes PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypes
    Apply transformation to the selected infoTypes. Structure is documented below.
    AllInfoTypes PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformAllInfoTypes
    Apply transformation to all findings not specified in other ImageTransformation's selectedInfoTypes.
    AllText PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformAllText
    Apply transformation to all text that doesn't match an infoType.
    RedactionColor PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformRedactionColor
    The color to use when redacting content from an image. If not specified, the default is black. Structure is documented below.
    SelectedInfoTypes PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypes
    Apply transformation to the selected infoTypes. Structure is documented below.
    allInfoTypes PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformAllInfoTypes
    Apply transformation to all findings not specified in other ImageTransformation's selectedInfoTypes.
    allText PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformAllText
    Apply transformation to all text that doesn't match an infoType.
    redactionColor PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformRedactionColor
    The color to use when redacting content from an image. If not specified, the default is black. Structure is documented below.
    selectedInfoTypes PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypes
    Apply transformation to the selected infoTypes. Structure is documented below.
    allInfoTypes PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformAllInfoTypes
    Apply transformation to all findings not specified in other ImageTransformation's selectedInfoTypes.
    allText PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformAllText
    Apply transformation to all text that doesn't match an infoType.
    redactionColor PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformRedactionColor
    The color to use when redacting content from an image. If not specified, the default is black. Structure is documented below.
    selectedInfoTypes PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypes
    Apply transformation to the selected infoTypes. Structure is documented below.
    all_info_types PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformAllInfoTypes
    Apply transformation to all findings not specified in other ImageTransformation's selectedInfoTypes.
    all_text PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformAllText
    Apply transformation to all text that doesn't match an infoType.
    redaction_color PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformRedactionColor
    The color to use when redacting content from an image. If not specified, the default is black. Structure is documented below.
    selected_info_types PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypes
    Apply transformation to the selected infoTypes. Structure is documented below.
    allInfoTypes Property Map
    Apply transformation to all findings not specified in other ImageTransformation's selectedInfoTypes.
    allText Property Map
    Apply transformation to all text that doesn't match an infoType.
    redactionColor Property Map
    The color to use when redacting content from an image. If not specified, the default is black. Structure is documented below.
    selectedInfoTypes Property Map
    Apply transformation to the selected infoTypes. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformRedactionColor, PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformRedactionColorArgs

    Blue double
    The amount of blue in the color as a value in the interval [0, 1].
    Green double
    The amount of green in the color as a value in the interval [0, 1].
    Red double
    The amount of red in the color as a value in the interval [0, 1].
    Blue float64
    The amount of blue in the color as a value in the interval [0, 1].
    Green float64
    The amount of green in the color as a value in the interval [0, 1].
    Red float64
    The amount of red in the color as a value in the interval [0, 1].
    blue Double
    The amount of blue in the color as a value in the interval [0, 1].
    green Double
    The amount of green in the color as a value in the interval [0, 1].
    red Double
    The amount of red in the color as a value in the interval [0, 1].
    blue number
    The amount of blue in the color as a value in the interval [0, 1].
    green number
    The amount of green in the color as a value in the interval [0, 1].
    red number
    The amount of red in the color as a value in the interval [0, 1].
    blue float
    The amount of blue in the color as a value in the interval [0, 1].
    green float
    The amount of green in the color as a value in the interval [0, 1].
    red float
    The amount of red in the color as a value in the interval [0, 1].
    blue Number
    The amount of blue in the color as a value in the interval [0, 1].
    green Number
    The amount of green in the color as a value in the interval [0, 1].
    red Number
    The amount of red in the color as a value in the interval [0, 1].

    PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypes, PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesArgs

    InfoTypes List<PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoType>
    InfoTypes to apply the transformation to. Leaving this empty will apply the transformation to apply to all findings that correspond to infoTypes that were requested in InspectConfig. Structure is documented below.
    InfoTypes []PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoType
    InfoTypes to apply the transformation to. Leaving this empty will apply the transformation to apply to all findings that correspond to infoTypes that were requested in InspectConfig. Structure is documented below.
    infoTypes List<PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoType>
    InfoTypes to apply the transformation to. Leaving this empty will apply the transformation to apply to all findings that correspond to infoTypes that were requested in InspectConfig. Structure is documented below.
    infoTypes PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoType[]
    InfoTypes to apply the transformation to. Leaving this empty will apply the transformation to apply to all findings that correspond to infoTypes that were requested in InspectConfig. Structure is documented below.
    info_types Sequence[PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoType]
    InfoTypes to apply the transformation to. Leaving this empty will apply the transformation to apply to all findings that correspond to infoTypes that were requested in InspectConfig. Structure is documented below.
    infoTypes List<Property Map>
    InfoTypes to apply the transformation to. Leaving this empty will apply the transformation to apply to all findings that correspond to infoTypes that were requested in InspectConfig. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoType, PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeArgs

    Name string
    Name of the information type.
    SensitivityScore PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    Version string
    Version name for this InfoType.
    Name string
    Name of the information type.
    SensitivityScore PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    Version string
    Version name for this InfoType.
    name String
    Name of the information type.
    sensitivityScore PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version String
    Version name for this InfoType.
    name string
    Name of the information type.
    sensitivityScore PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version string
    Version name for this InfoType.
    name str
    Name of the information type.
    sensitivity_score PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version str
    Version name for this InfoType.
    name String
    Name of the information type.
    sensitivityScore Property Map
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version String
    Version name for this InfoType.

    PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeSensitivityScore, PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeSensitivityScoreArgs

    Score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    Score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score String
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score str
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score String
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsArgs

    Transformations List<PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformation>
    Transformation for each infoType. Cannot specify more than one for a given infoType. Structure is documented below.
    Transformations []PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformation
    Transformation for each infoType. Cannot specify more than one for a given infoType. Structure is documented below.
    transformations List<PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformation>
    Transformation for each infoType. Cannot specify more than one for a given infoType. Structure is documented below.
    transformations PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformation[]
    Transformation for each infoType. Cannot specify more than one for a given infoType. Structure is documented below.
    transformations Sequence[PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformation]
    Transformation for each infoType. Cannot specify more than one for a given infoType. Structure is documented below.
    transformations List<Property Map>
    Transformation for each infoType. Cannot specify more than one for a given infoType. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformation, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs

    PrimitiveTransformation PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformation
    Apply the transformation to the entire field. The primitive_transformation block must only contain one argument, corresponding to the type of transformation. Structure is documented below.
    InfoTypes List<PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoType>
    InfoTypes to apply the transformation to. Leaving this empty will apply the transformation to apply to all findings that correspond to infoTypes that were requested in InspectConfig. Structure is documented below.
    PrimitiveTransformation PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformation
    Apply the transformation to the entire field. The primitive_transformation block must only contain one argument, corresponding to the type of transformation. Structure is documented below.
    InfoTypes []PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoType
    InfoTypes to apply the transformation to. Leaving this empty will apply the transformation to apply to all findings that correspond to infoTypes that were requested in InspectConfig. Structure is documented below.
    primitiveTransformation PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformation
    Apply the transformation to the entire field. The primitive_transformation block must only contain one argument, corresponding to the type of transformation. Structure is documented below.
    infoTypes List<PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoType>
    InfoTypes to apply the transformation to. Leaving this empty will apply the transformation to apply to all findings that correspond to infoTypes that were requested in InspectConfig. Structure is documented below.
    primitiveTransformation PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformation
    Apply the transformation to the entire field. The primitive_transformation block must only contain one argument, corresponding to the type of transformation. Structure is documented below.
    infoTypes PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoType[]
    InfoTypes to apply the transformation to. Leaving this empty will apply the transformation to apply to all findings that correspond to infoTypes that were requested in InspectConfig. Structure is documented below.
    primitive_transformation PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformation
    Apply the transformation to the entire field. The primitive_transformation block must only contain one argument, corresponding to the type of transformation. Structure is documented below.
    info_types Sequence[PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoType]
    InfoTypes to apply the transformation to. Leaving this empty will apply the transformation to apply to all findings that correspond to infoTypes that were requested in InspectConfig. Structure is documented below.
    primitiveTransformation Property Map
    Apply the transformation to the entire field. The primitive_transformation block must only contain one argument, corresponding to the type of transformation. Structure is documented below.
    infoTypes List<Property Map>
    InfoTypes to apply the transformation to. Leaving this empty will apply the transformation to apply to all findings that correspond to infoTypes that were requested in InspectConfig. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoType, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeArgs

    Name string
    Name of the information type.
    SensitivityScore PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    Version string
    Version name for this InfoType.
    Name string
    Name of the information type.
    SensitivityScore PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    Version string
    Version name for this InfoType.
    name String
    Name of the information type.
    sensitivityScore PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version String
    Version name for this InfoType.
    name string
    Name of the information type.
    sensitivityScore PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version string
    Version name for this InfoType.
    name str
    Name of the information type.
    sensitivity_score PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version str
    Version name for this InfoType.
    name String
    Name of the information type.
    sensitivityScore Property Map
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version String
    Version name for this InfoType.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeSensitivityScore, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationInfoTypeSensitivityScoreArgs

    Score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    Score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score String
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score str
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score String
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformation, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationArgs

    BucketingConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfig
    Generalization function that buckets values based on ranges. The ranges and replacement values are dynamically provided by the user for custom behavior, such as 1-30 > LOW 31-65 > MEDIUM 66-100 > HIGH This can be used on data of type: number, long, string, timestamp. If the provided value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    CharacterMaskConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfig
    Partially mask a string by replacing a given number of characters with a fixed character. Masking can start from the beginning or end of the string. This can be used on data of any type (numbers, longs, and so on) and when de-identifying structured data we'll attempt to preserve the original data's type. (This allows you to take a long like 123 and modify it to a string like **3). Structure is documented below.
    CryptoDeterministicConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfig
    Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. Structure is documented below.
    CryptoHashConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfig
    Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. Outputs a base64 encoded representation of the hashed output (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only string and integer values can be hashed. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Structure is documented below.
    CryptoReplaceFfxFpeConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfig
    Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the content.reidentify API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. Structure is documented below.
    DateShiftConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfig
    Shifts dates by random number of days, with option to be consistent for the same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting to learn more. Structure is documented below.
    FixedSizeBucketingConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfig
    Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and upper_bound = 20, all values that are within this bucket will be replaced with "10-20". This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    RedactConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationRedactConfig
    Redact a given value. For example, if used with an InfoTypeTransformation transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the output would be 'My phone number is '.
    ReplaceConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfig
    Replace each input value with a given value. Structure is documented below.
    ReplaceDictionaryConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfig
    Replace with a value randomly drawn (with replacement) from a dictionary. Structure is documented below.
    ReplaceWithInfoTypeConfig bool
    Replace each matching finding with the name of the info type.
    TimePartConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfig
    For use with Date, Timestamp, and TimeOfDay, extract or preserve a portion of the value. Structure is documented below.
    BucketingConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfig
    Generalization function that buckets values based on ranges. The ranges and replacement values are dynamically provided by the user for custom behavior, such as 1-30 > LOW 31-65 > MEDIUM 66-100 > HIGH This can be used on data of type: number, long, string, timestamp. If the provided value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    CharacterMaskConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfig
    Partially mask a string by replacing a given number of characters with a fixed character. Masking can start from the beginning or end of the string. This can be used on data of any type (numbers, longs, and so on) and when de-identifying structured data we'll attempt to preserve the original data's type. (This allows you to take a long like 123 and modify it to a string like **3). Structure is documented below.
    CryptoDeterministicConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfig
    Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. Structure is documented below.
    CryptoHashConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfig
    Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. Outputs a base64 encoded representation of the hashed output (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only string and integer values can be hashed. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Structure is documented below.
    CryptoReplaceFfxFpeConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfig
    Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the content.reidentify API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. Structure is documented below.
    DateShiftConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfig
    Shifts dates by random number of days, with option to be consistent for the same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting to learn more. Structure is documented below.
    FixedSizeBucketingConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfig
    Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and upper_bound = 20, all values that are within this bucket will be replaced with "10-20". This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    RedactConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationRedactConfig
    Redact a given value. For example, if used with an InfoTypeTransformation transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the output would be 'My phone number is '.
    ReplaceConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfig
    Replace each input value with a given value. Structure is documented below.
    ReplaceDictionaryConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfig
    Replace with a value randomly drawn (with replacement) from a dictionary. Structure is documented below.
    ReplaceWithInfoTypeConfig bool
    Replace each matching finding with the name of the info type.
    TimePartConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfig
    For use with Date, Timestamp, and TimeOfDay, extract or preserve a portion of the value. Structure is documented below.
    bucketingConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfig
    Generalization function that buckets values based on ranges. The ranges and replacement values are dynamically provided by the user for custom behavior, such as 1-30 > LOW 31-65 > MEDIUM 66-100 > HIGH This can be used on data of type: number, long, string, timestamp. If the provided value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    characterMaskConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfig
    Partially mask a string by replacing a given number of characters with a fixed character. Masking can start from the beginning or end of the string. This can be used on data of any type (numbers, longs, and so on) and when de-identifying structured data we'll attempt to preserve the original data's type. (This allows you to take a long like 123 and modify it to a string like **3). Structure is documented below.
    cryptoDeterministicConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfig
    Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. Structure is documented below.
    cryptoHashConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfig
    Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. Outputs a base64 encoded representation of the hashed output (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only string and integer values can be hashed. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Structure is documented below.
    cryptoReplaceFfxFpeConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfig
    Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the content.reidentify API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. Structure is documented below.
    dateShiftConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfig
    Shifts dates by random number of days, with option to be consistent for the same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting to learn more. Structure is documented below.
    fixedSizeBucketingConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfig
    Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and upper_bound = 20, all values that are within this bucket will be replaced with "10-20". This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    redactConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationRedactConfig
    Redact a given value. For example, if used with an InfoTypeTransformation transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the output would be 'My phone number is '.
    replaceConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfig
    Replace each input value with a given value. Structure is documented below.
    replaceDictionaryConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfig
    Replace with a value randomly drawn (with replacement) from a dictionary. Structure is documented below.
    replaceWithInfoTypeConfig Boolean
    Replace each matching finding with the name of the info type.
    timePartConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfig
    For use with Date, Timestamp, and TimeOfDay, extract or preserve a portion of the value. Structure is documented below.
    bucketingConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfig
    Generalization function that buckets values based on ranges. The ranges and replacement values are dynamically provided by the user for custom behavior, such as 1-30 > LOW 31-65 > MEDIUM 66-100 > HIGH This can be used on data of type: number, long, string, timestamp. If the provided value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    characterMaskConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfig
    Partially mask a string by replacing a given number of characters with a fixed character. Masking can start from the beginning or end of the string. This can be used on data of any type (numbers, longs, and so on) and when de-identifying structured data we'll attempt to preserve the original data's type. (This allows you to take a long like 123 and modify it to a string like **3). Structure is documented below.
    cryptoDeterministicConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfig
    Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. Structure is documented below.
    cryptoHashConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfig
    Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. Outputs a base64 encoded representation of the hashed output (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only string and integer values can be hashed. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Structure is documented below.
    cryptoReplaceFfxFpeConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfig
    Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the content.reidentify API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. Structure is documented below.
    dateShiftConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfig
    Shifts dates by random number of days, with option to be consistent for the same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting to learn more. Structure is documented below.
    fixedSizeBucketingConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfig
    Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and upper_bound = 20, all values that are within this bucket will be replaced with "10-20". This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    redactConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationRedactConfig
    Redact a given value. For example, if used with an InfoTypeTransformation transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the output would be 'My phone number is '.
    replaceConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfig
    Replace each input value with a given value. Structure is documented below.
    replaceDictionaryConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfig
    Replace with a value randomly drawn (with replacement) from a dictionary. Structure is documented below.
    replaceWithInfoTypeConfig boolean
    Replace each matching finding with the name of the info type.
    timePartConfig PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfig
    For use with Date, Timestamp, and TimeOfDay, extract or preserve a portion of the value. Structure is documented below.
    bucketing_config PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfig
    Generalization function that buckets values based on ranges. The ranges and replacement values are dynamically provided by the user for custom behavior, such as 1-30 > LOW 31-65 > MEDIUM 66-100 > HIGH This can be used on data of type: number, long, string, timestamp. If the provided value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    character_mask_config PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfig
    Partially mask a string by replacing a given number of characters with a fixed character. Masking can start from the beginning or end of the string. This can be used on data of any type (numbers, longs, and so on) and when de-identifying structured data we'll attempt to preserve the original data's type. (This allows you to take a long like 123 and modify it to a string like **3). Structure is documented below.
    crypto_deterministic_config PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfig
    Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. Structure is documented below.
    crypto_hash_config PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfig
    Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. Outputs a base64 encoded representation of the hashed output (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only string and integer values can be hashed. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Structure is documented below.
    crypto_replace_ffx_fpe_config PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfig
    Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the content.reidentify API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. Structure is documented below.
    date_shift_config PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfig
    Shifts dates by random number of days, with option to be consistent for the same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting to learn more. Structure is documented below.
    fixed_size_bucketing_config PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfig
    Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and upper_bound = 20, all values that are within this bucket will be replaced with "10-20". This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    redact_config PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationRedactConfig
    Redact a given value. For example, if used with an InfoTypeTransformation transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the output would be 'My phone number is '.
    replace_config PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfig
    Replace each input value with a given value. Structure is documented below.
    replace_dictionary_config PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfig
    Replace with a value randomly drawn (with replacement) from a dictionary. Structure is documented below.
    replace_with_info_type_config bool
    Replace each matching finding with the name of the info type.
    time_part_config PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfig
    For use with Date, Timestamp, and TimeOfDay, extract or preserve a portion of the value. Structure is documented below.
    bucketingConfig Property Map
    Generalization function that buckets values based on ranges. The ranges and replacement values are dynamically provided by the user for custom behavior, such as 1-30 > LOW 31-65 > MEDIUM 66-100 > HIGH This can be used on data of type: number, long, string, timestamp. If the provided value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    characterMaskConfig Property Map
    Partially mask a string by replacing a given number of characters with a fixed character. Masking can start from the beginning or end of the string. This can be used on data of any type (numbers, longs, and so on) and when de-identifying structured data we'll attempt to preserve the original data's type. (This allows you to take a long like 123 and modify it to a string like **3). Structure is documented below.
    cryptoDeterministicConfig Property Map
    Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. Structure is documented below.
    cryptoHashConfig Property Map
    Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. Outputs a base64 encoded representation of the hashed output (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only string and integer values can be hashed. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Structure is documented below.
    cryptoReplaceFfxFpeConfig Property Map
    Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the content.reidentify API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. Structure is documented below.
    dateShiftConfig Property Map
    Shifts dates by random number of days, with option to be consistent for the same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting to learn more. Structure is documented below.
    fixedSizeBucketingConfig Property Map
    Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and upper_bound = 20, all values that are within this bucket will be replaced with "10-20". This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    redactConfig Property Map
    Redact a given value. For example, if used with an InfoTypeTransformation transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the output would be 'My phone number is '.
    replaceConfig Property Map
    Replace each input value with a given value. Structure is documented below.
    replaceDictionaryConfig Property Map
    Replace with a value randomly drawn (with replacement) from a dictionary. Structure is documented below.
    replaceWithInfoTypeConfig Boolean
    Replace each matching finding with the name of the info type.
    timePartConfig Property Map
    For use with Date, Timestamp, and TimeOfDay, extract or preserve a portion of the value. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfig, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigArgs

    Buckets List<PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucket>
    Set of buckets. Ranges must be non-overlapping. Bucket is represented as a range, along with replacement values. Structure is documented below.
    Buckets []PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucket
    Set of buckets. Ranges must be non-overlapping. Bucket is represented as a range, along with replacement values. Structure is documented below.
    buckets List<PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucket>
    Set of buckets. Ranges must be non-overlapping. Bucket is represented as a range, along with replacement values. Structure is documented below.
    buckets PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucket[]
    Set of buckets. Ranges must be non-overlapping. Bucket is represented as a range, along with replacement values. Structure is documented below.
    buckets Sequence[PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucket]
    Set of buckets. Ranges must be non-overlapping. Bucket is represented as a range, along with replacement values. Structure is documented below.
    buckets List<Property Map>
    Set of buckets. Ranges must be non-overlapping. Bucket is represented as a range, along with replacement values. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucket, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketArgs

    ReplacementValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValue
    Replacement value for this bucket. The replacement_value block must only contain one argument. Structure is documented below.
    Max PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMax
    Upper bound of the range, exclusive; type must match min. The max block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    Min PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMin
    Lower bound of the range, inclusive. Type should be the same as max if used. The min block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    ReplacementValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValue
    Replacement value for this bucket. The replacement_value block must only contain one argument. Structure is documented below.
    Max PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMax
    Upper bound of the range, exclusive; type must match min. The max block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    Min PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMin
    Lower bound of the range, inclusive. Type should be the same as max if used. The min block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    replacementValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValue
    Replacement value for this bucket. The replacement_value block must only contain one argument. Structure is documented below.
    max PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMax
    Upper bound of the range, exclusive; type must match min. The max block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    min PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMin
    Lower bound of the range, inclusive. Type should be the same as max if used. The min block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    replacementValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValue
    Replacement value for this bucket. The replacement_value block must only contain one argument. Structure is documented below.
    max PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMax
    Upper bound of the range, exclusive; type must match min. The max block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    min PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMin
    Lower bound of the range, inclusive. Type should be the same as max if used. The min block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    replacement_value PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValue
    Replacement value for this bucket. The replacement_value block must only contain one argument. Structure is documented below.
    max PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMax
    Upper bound of the range, exclusive; type must match min. The max block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    min PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMin
    Lower bound of the range, inclusive. Type should be the same as max if used. The min block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    replacementValue Property Map
    Replacement value for this bucket. The replacement_value block must only contain one argument. Structure is documented below.
    max Property Map
    Upper bound of the range, exclusive; type must match min. The max block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    min Property Map
    Lower bound of the range, inclusive. Type should be the same as max if used. The min block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMax, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxArgs

    DateValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue double
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    DateValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue float64
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    dateValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Double
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    dateValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue number
    A float value.
    integerValue string
    An integer value (int64 format)
    stringValue string
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    date_value PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    day_of_week_value str
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    float_value float
    A float value.
    integer_value str
    An integer value (int64 format)
    string_value str
    A string value.
    time_value PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValue
    Represents a time of day. Structure is documented below.
    timestamp_value str
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    dateValue Property Map
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Number
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue Property Map
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValue, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValueArgs

    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Integer
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Integer
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Integer
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValue, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValueArgs

    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Integer
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Integer
    Minutes of hour of day. Must be from 0 to 59.
    nanos Integer
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Integer
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes number
    Minutes of hour of day. Must be from 0 to 59.
    nanos number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes int
    Minutes of hour of day. Must be from 0 to 59.
    nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Number
    Minutes of hour of day. Must be from 0 to 59.
    nanos Number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMin, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinArgs

    DateValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue double
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    DateValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue float64
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    dateValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Double
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    dateValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue number
    A float value.
    integerValue string
    An integer value (int64 format)
    stringValue string
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    date_value PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    day_of_week_value str
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    float_value float
    A float value.
    integer_value str
    An integer value (int64 format)
    string_value str
    A string value.
    time_value PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValue
    Represents a time of day. Structure is documented below.
    timestamp_value str
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    dateValue Property Map
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Number
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue Property Map
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValue, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValueArgs

    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Integer
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Integer
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Integer
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValue, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValueArgs

    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Integer
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Integer
    Minutes of hour of day. Must be from 0 to 59.
    nanos Integer
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Integer
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes number
    Minutes of hour of day. Must be from 0 to 59.
    nanos number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes int
    Minutes of hour of day. Must be from 0 to 59.
    nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Number
    Minutes of hour of day. Must be from 0 to 59.
    nanos Number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValue, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueArgs

    DateValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue double
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    DateValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue float64
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    dateValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Double
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    dateValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue number
    A float value.
    integerValue string
    An integer value (int64 format)
    stringValue string
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    date_value PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    day_of_week_value str
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    float_value float
    A float value.
    integer_value str
    An integer value (int64 format)
    string_value str
    A string value.
    time_value PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValue
    Represents a time of day. Structure is documented below.
    timestamp_value str
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    dateValue Property Map
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Number
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue Property Map
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValue, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValueArgs

    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Integer
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Integer
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Integer
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValue, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValueArgs

    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Integer
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Integer
    Minutes of hour of day. Must be from 0 to 59.
    nanos Integer
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Integer
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes number
    Minutes of hour of day. Must be from 0 to 59.
    nanos number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes int
    Minutes of hour of day. Must be from 0 to 59.
    nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Number
    Minutes of hour of day. Must be from 0 to 59.
    nanos Number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfig, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigArgs

    CharactersToIgnores List<PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnore>
    Characters to skip when doing de-identification of a value. These will be left alone and skipped. Structure is documented below.
    MaskingCharacter string
    Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string such as ZIP code or credit card number. This string must have a length of 1. If not supplied, this value defaults to * for strings, and 0 for digits.
    NumberToMask int
    Number of characters to mask. If not set, all matching chars will be masked. Skipped characters do not count towards this tally. If number_to_mask is negative, this denotes inverse masking. Cloud DLP masks all but a number of characters. For example, suppose you have the following values:
    ReverseOrder bool
    Mask characters in reverse order. For example, if masking_character is 0, number_to_mask is 14, and reverse_order is false, then the input string 1234-5678-9012-3456 is masked as 00000000000000-3456.
    CharactersToIgnores []PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnore
    Characters to skip when doing de-identification of a value. These will be left alone and skipped. Structure is documented below.
    MaskingCharacter string
    Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string such as ZIP code or credit card number. This string must have a length of 1. If not supplied, this value defaults to * for strings, and 0 for digits.
    NumberToMask int
    Number of characters to mask. If not set, all matching chars will be masked. Skipped characters do not count towards this tally. If number_to_mask is negative, this denotes inverse masking. Cloud DLP masks all but a number of characters. For example, suppose you have the following values:
    ReverseOrder bool
    Mask characters in reverse order. For example, if masking_character is 0, number_to_mask is 14, and reverse_order is false, then the input string 1234-5678-9012-3456 is masked as 00000000000000-3456.
    charactersToIgnores List<PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnore>
    Characters to skip when doing de-identification of a value. These will be left alone and skipped. Structure is documented below.
    maskingCharacter String
    Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string such as ZIP code or credit card number. This string must have a length of 1. If not supplied, this value defaults to * for strings, and 0 for digits.
    numberToMask Integer
    Number of characters to mask. If not set, all matching chars will be masked. Skipped characters do not count towards this tally. If number_to_mask is negative, this denotes inverse masking. Cloud DLP masks all but a number of characters. For example, suppose you have the following values:
    reverseOrder Boolean
    Mask characters in reverse order. For example, if masking_character is 0, number_to_mask is 14, and reverse_order is false, then the input string 1234-5678-9012-3456 is masked as 00000000000000-3456.
    charactersToIgnores PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnore[]
    Characters to skip when doing de-identification of a value. These will be left alone and skipped. Structure is documented below.
    maskingCharacter string
    Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string such as ZIP code or credit card number. This string must have a length of 1. If not supplied, this value defaults to * for strings, and 0 for digits.
    numberToMask number
    Number of characters to mask. If not set, all matching chars will be masked. Skipped characters do not count towards this tally. If number_to_mask is negative, this denotes inverse masking. Cloud DLP masks all but a number of characters. For example, suppose you have the following values:
    reverseOrder boolean
    Mask characters in reverse order. For example, if masking_character is 0, number_to_mask is 14, and reverse_order is false, then the input string 1234-5678-9012-3456 is masked as 00000000000000-3456.
    characters_to_ignores Sequence[PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnore]
    Characters to skip when doing de-identification of a value. These will be left alone and skipped. Structure is documented below.
    masking_character str
    Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string such as ZIP code or credit card number. This string must have a length of 1. If not supplied, this value defaults to * for strings, and 0 for digits.
    number_to_mask int
    Number of characters to mask. If not set, all matching chars will be masked. Skipped characters do not count towards this tally. If number_to_mask is negative, this denotes inverse masking. Cloud DLP masks all but a number of characters. For example, suppose you have the following values:
    reverse_order bool
    Mask characters in reverse order. For example, if masking_character is 0, number_to_mask is 14, and reverse_order is false, then the input string 1234-5678-9012-3456 is masked as 00000000000000-3456.
    charactersToIgnores List<Property Map>
    Characters to skip when doing de-identification of a value. These will be left alone and skipped. Structure is documented below.
    maskingCharacter String
    Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string such as ZIP code or credit card number. This string must have a length of 1. If not supplied, this value defaults to * for strings, and 0 for digits.
    numberToMask Number
    Number of characters to mask. If not set, all matching chars will be masked. Skipped characters do not count towards this tally. If number_to_mask is negative, this denotes inverse masking. Cloud DLP masks all but a number of characters. For example, suppose you have the following values:
    reverseOrder Boolean
    Mask characters in reverse order. For example, if masking_character is 0, number_to_mask is 14, and reverse_order is false, then the input string 1234-5678-9012-3456 is masked as 00000000000000-3456.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnore, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArgs

    CharactersToSkip string
    Characters to not transform when masking. Only one of this or common_characters_to_ignore must be specified.
    CommonCharactersToIgnore string
    Common characters to not transform when masking. Useful to avoid removing punctuation. Only one of this or characters_to_skip must be specified. Possible values are: NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE, PUNCTUATION, WHITESPACE.
    CharactersToSkip string
    Characters to not transform when masking. Only one of this or common_characters_to_ignore must be specified.
    CommonCharactersToIgnore string
    Common characters to not transform when masking. Useful to avoid removing punctuation. Only one of this or characters_to_skip must be specified. Possible values are: NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE, PUNCTUATION, WHITESPACE.
    charactersToSkip String
    Characters to not transform when masking. Only one of this or common_characters_to_ignore must be specified.
    commonCharactersToIgnore String
    Common characters to not transform when masking. Useful to avoid removing punctuation. Only one of this or characters_to_skip must be specified. Possible values are: NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE, PUNCTUATION, WHITESPACE.
    charactersToSkip string
    Characters to not transform when masking. Only one of this or common_characters_to_ignore must be specified.
    commonCharactersToIgnore string
    Common characters to not transform when masking. Useful to avoid removing punctuation. Only one of this or characters_to_skip must be specified. Possible values are: NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE, PUNCTUATION, WHITESPACE.
    characters_to_skip str
    Characters to not transform when masking. Only one of this or common_characters_to_ignore must be specified.
    common_characters_to_ignore str
    Common characters to not transform when masking. Useful to avoid removing punctuation. Only one of this or characters_to_skip must be specified. Possible values are: NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE, PUNCTUATION, WHITESPACE.
    charactersToSkip String
    Characters to not transform when masking. Only one of this or common_characters_to_ignore must be specified.
    commonCharactersToIgnore String
    Common characters to not transform when masking. Useful to avoid removing punctuation. Only one of this or characters_to_skip must be specified. Possible values are: NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE, PUNCTUATION, WHITESPACE.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfig, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigArgs

    Context PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContext
    A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and unstructured ContentItems. Structure is documented below.
    CryptoKey PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKey
    The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. Structure is documented below.
    SurrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType
    The custom info type to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom info type followed by the number of characters comprising the surrogate. The following scheme defines the format: {info type name}({surrogate character count}):{surrogate} For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom info type 'Surrogate'. This facilitates reversal of the surrogate when it occurs in free text. Note: For record transformations where the entire cell in a table is being transformed, surrogates are not mandatory. Surrogates are used to denote the location of the token and are necessary for re-identification in free form text. In order for inspection to work properly, the name of this info type must not occur naturally anywhere in your data; otherwise, inspection may either

    • reverse a surrogate that does not correspond to an actual identifier
    • be unable to parse the surrogate and result in an error Therefore, choose your custom info type name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE. Structure is documented below.
    Context PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContext
    A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and unstructured ContentItems. Structure is documented below.
    CryptoKey PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKey
    The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. Structure is documented below.
    SurrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType
    The custom info type to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom info type followed by the number of characters comprising the surrogate. The following scheme defines the format: {info type name}({surrogate character count}):{surrogate} For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom info type 'Surrogate'. This facilitates reversal of the surrogate when it occurs in free text. Note: For record transformations where the entire cell in a table is being transformed, surrogates are not mandatory. Surrogates are used to denote the location of the token and are necessary for re-identification in free form text. In order for inspection to work properly, the name of this info type must not occur naturally anywhere in your data; otherwise, inspection may either

    • reverse a surrogate that does not correspond to an actual identifier
    • be unable to parse the surrogate and result in an error Therefore, choose your custom info type name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE. Structure is documented below.
    context PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContext
    A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and unstructured ContentItems. Structure is documented below.
    cryptoKey PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKey
    The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. Structure is documented below.
    surrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType
    The custom info type to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom info type followed by the number of characters comprising the surrogate. The following scheme defines the format: {info type name}({surrogate character count}):{surrogate} For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom info type 'Surrogate'. This facilitates reversal of the surrogate when it occurs in free text. Note: For record transformations where the entire cell in a table is being transformed, surrogates are not mandatory. Surrogates are used to denote the location of the token and are necessary for re-identification in free form text. In order for inspection to work properly, the name of this info type must not occur naturally anywhere in your data; otherwise, inspection may either

    • reverse a surrogate that does not correspond to an actual identifier
    • be unable to parse the surrogate and result in an error Therefore, choose your custom info type name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE. Structure is documented below.
    context PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContext
    A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and unstructured ContentItems. Structure is documented below.
    cryptoKey PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKey
    The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. Structure is documented below.
    surrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType
    The custom info type to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom info type followed by the number of characters comprising the surrogate. The following scheme defines the format: {info type name}({surrogate character count}):{surrogate} For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom info type 'Surrogate'. This facilitates reversal of the surrogate when it occurs in free text. Note: For record transformations where the entire cell in a table is being transformed, surrogates are not mandatory. Surrogates are used to denote the location of the token and are necessary for re-identification in free form text. In order for inspection to work properly, the name of this info type must not occur naturally anywhere in your data; otherwise, inspection may either

    • reverse a surrogate that does not correspond to an actual identifier
    • be unable to parse the surrogate and result in an error Therefore, choose your custom info type name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE. Structure is documented below.
    context PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContext
    A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and unstructured ContentItems. Structure is documented below.
    crypto_key PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKey
    The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. Structure is documented below.
    surrogate_info_type PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType
    The custom info type to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom info type followed by the number of characters comprising the surrogate. The following scheme defines the format: {info type name}({surrogate character count}):{surrogate} For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom info type 'Surrogate'. This facilitates reversal of the surrogate when it occurs in free text. Note: For record transformations where the entire cell in a table is being transformed, surrogates are not mandatory. Surrogates are used to denote the location of the token and are necessary for re-identification in free form text. In order for inspection to work properly, the name of this info type must not occur naturally anywhere in your data; otherwise, inspection may either

    • reverse a surrogate that does not correspond to an actual identifier
    • be unable to parse the surrogate and result in an error Therefore, choose your custom info type name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE. Structure is documented below.
    context Property Map
    A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and unstructured ContentItems. Structure is documented below.
    cryptoKey Property Map
    The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. Structure is documented below.
    surrogateInfoType Property Map
    The custom info type to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom info type followed by the number of characters comprising the surrogate. The following scheme defines the format: {info type name}({surrogate character count}):{surrogate} For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom info type 'Surrogate'. This facilitates reversal of the surrogate when it occurs in free text. Note: For record transformations where the entire cell in a table is being transformed, surrogates are not mandatory. Surrogates are used to denote the location of the token and are necessary for re-identification in free form text. In order for inspection to work properly, the name of this info type must not occur naturally anywhere in your data; otherwise, inspection may either

    • reverse a surrogate that does not correspond to an actual identifier
    • be unable to parse the surrogate and result in an error Therefore, choose your custom info type name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContext, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContextArgs

    Name string
    Name describing the field.
    Name string
    Name describing the field.
    name String
    Name describing the field.
    name string
    Name describing the field.
    name str
    Name describing the field.
    name String
    Name describing the field.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKey, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyArgs

    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient_ PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kms_wrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped Property Map
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient Property Map
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped Property Map
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrappedArgs

    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    crypto_key_name str
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrapped_key str
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs

    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name str
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrappedArgs

    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key str
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeArgs

    Name string
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    SensitivityScore PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    Version string
    Optional version name for this InfoType.
    Name string
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    SensitivityScore PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    Version string
    Optional version name for this InfoType.
    name String
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivityScore PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version String
    Optional version name for this InfoType.
    name string
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivityScore PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version string
    Optional version name for this InfoType.
    name str
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivity_score PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version str
    Optional version name for this InfoType.
    name String
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivityScore Property Map
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version String
    Optional version name for this InfoType.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScore, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScoreArgs

    Score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    Score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score String
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score str
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score String
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfig, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigArgs

    cryptoKey Property Map
    The key used by the encryption function. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKey, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyArgs

    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient_ PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kms_wrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped Property Map
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient Property Map
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped Property Map
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrappedArgs

    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    crypto_key_name str
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrapped_key str
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransientArgs

    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name str
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrappedArgs

    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key str
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfig, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigArgs

    CommonAlphabet string
    Common alphabets. Only one of this, custom_alphabet or radix must be specified. Possible values are: NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC, ALPHA_NUMERIC.
    Context PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContext
    The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and non-structured ContentItems. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that:
    • a 64 bit integer is encoded followed by a single byte of value 1
    • a string is encoded in UTF-8 format followed by a single byte of value 2 Structure is documented below.
    CryptoKey PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey
    The key used by the encryption algorithm. Structure is documented below.
    CustomAlphabet string
    This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 95]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~`!@#$%^&*()_-+={[}]|:;"'<,>.?/. Only one of this, common_alphabet or radix must be specified.
    Radix int
    The native way to select the alphabet. Must be in the range [2, 95]. Only one of this, custom_alphabet or common_alphabet must be specified.
    SurrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType
    The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType SurrogateType. This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE Structure is documented below.
    CommonAlphabet string
    Common alphabets. Only one of this, custom_alphabet or radix must be specified. Possible values are: NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC, ALPHA_NUMERIC.
    Context PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContext
    The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and non-structured ContentItems. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that:
    • a 64 bit integer is encoded followed by a single byte of value 1
    • a string is encoded in UTF-8 format followed by a single byte of value 2 Structure is documented below.
    CryptoKey PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey
    The key used by the encryption algorithm. Structure is documented below.
    CustomAlphabet string
    This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 95]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~`!@#$%^&*()_-+={[}]|:;"'<,>.?/. Only one of this, common_alphabet or radix must be specified.
    Radix int
    The native way to select the alphabet. Must be in the range [2, 95]. Only one of this, custom_alphabet or common_alphabet must be specified.
    SurrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType
    The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType SurrogateType. This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE Structure is documented below.
    commonAlphabet String
    Common alphabets. Only one of this, custom_alphabet or radix must be specified. Possible values are: NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC, ALPHA_NUMERIC.
    context PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContext
    The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and non-structured ContentItems. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that:
    • a 64 bit integer is encoded followed by a single byte of value 1
    • a string is encoded in UTF-8 format followed by a single byte of value 2 Structure is documented below.
    cryptoKey PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey
    The key used by the encryption algorithm. Structure is documented below.
    customAlphabet String
    This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 95]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~`!@#$%^&*()_-+={[}]|:;"'<,>.?/. Only one of this, common_alphabet or radix must be specified.
    radix Integer
    The native way to select the alphabet. Must be in the range [2, 95]. Only one of this, custom_alphabet or common_alphabet must be specified.
    surrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType
    The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType SurrogateType. This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE Structure is documented below.
    commonAlphabet string
    Common alphabets. Only one of this, custom_alphabet or radix must be specified. Possible values are: NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC, ALPHA_NUMERIC.
    context PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContext
    The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and non-structured ContentItems. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that:
    • a 64 bit integer is encoded followed by a single byte of value 1
    • a string is encoded in UTF-8 format followed by a single byte of value 2 Structure is documented below.
    cryptoKey PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey
    The key used by the encryption algorithm. Structure is documented below.
    customAlphabet string
    This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 95]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~`!@#$%^&*()_-+={[}]|:;"'<,>.?/. Only one of this, common_alphabet or radix must be specified.
    radix number
    The native way to select the alphabet. Must be in the range [2, 95]. Only one of this, custom_alphabet or common_alphabet must be specified.
    surrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType
    The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType SurrogateType. This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE Structure is documented below.
    common_alphabet str
    Common alphabets. Only one of this, custom_alphabet or radix must be specified. Possible values are: NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC, ALPHA_NUMERIC.
    context PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContext
    The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and non-structured ContentItems. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that:
    • a 64 bit integer is encoded followed by a single byte of value 1
    • a string is encoded in UTF-8 format followed by a single byte of value 2 Structure is documented below.
    crypto_key PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey
    The key used by the encryption algorithm. Structure is documented below.
    custom_alphabet str
    This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 95]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~`!@#$%^&*()_-+={[}]|:;"'<,>.?/. Only one of this, common_alphabet or radix must be specified.
    radix int
    The native way to select the alphabet. Must be in the range [2, 95]. Only one of this, custom_alphabet or common_alphabet must be specified.
    surrogate_info_type PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType
    The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType SurrogateType. This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE Structure is documented below.
    commonAlphabet String
    Common alphabets. Only one of this, custom_alphabet or radix must be specified. Possible values are: NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC, ALPHA_NUMERIC.
    context Property Map
    The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and non-structured ContentItems. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that:
    • a 64 bit integer is encoded followed by a single byte of value 1
    • a string is encoded in UTF-8 format followed by a single byte of value 2 Structure is documented below.
    cryptoKey Property Map
    The key used by the encryption algorithm. Structure is documented below.
    customAlphabet String
    This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 95]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~`!@#$%^&*()_-+={[}]|:;"'<,>.?/. Only one of this, common_alphabet or radix must be specified.
    radix Number
    The native way to select the alphabet. Must be in the range [2, 95]. Only one of this, custom_alphabet or common_alphabet must be specified.
    surrogateInfoType Property Map
    The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType SurrogateType. This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContext, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContextArgs

    Name string
    Name describing the field.
    Name string
    Name describing the field.
    name String
    Name describing the field.
    name string
    Name describing the field.
    name str
    Name describing the field.
    name String
    Name describing the field.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyArgs

    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient_ PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kms_wrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped Property Map
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient Property Map
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped Property Map
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrappedArgs

    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    crypto_key_name str
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrapped_key str
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransientArgs

    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name str
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrappedArgs

    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key str
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeArgs

    Name string
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    SensitivityScore PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    Version string
    Optional version name for this InfoType.
    Name string
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    SensitivityScore PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    Version string
    Optional version name for this InfoType.
    name String
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivityScore PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version String
    Optional version name for this InfoType.
    name string
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivityScore PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version string
    Optional version name for this InfoType.
    name str
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivity_score PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version str
    Optional version name for this InfoType.
    name String
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivityScore Property Map
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version String
    Optional version name for this InfoType.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScore, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScoreArgs

    Score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    Score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score String
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score str
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score String
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfig, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigArgs

    LowerBoundDays int
    For example, -5 means shift date to at most 5 days back in the past.
    UpperBoundDays int
    Range of shift in days. Actual shift will be selected at random within this range (inclusive ends). Negative means shift to earlier in time. Must not be more than 365250 days (1000 years) each direction. For example, 3 means shift date to at most 3 days into the future.
    Context PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContext
    Points to the field that contains the context, for example, an entity id. If set, must also set cryptoKey. If set, shift will be consistent for the given context. Structure is documented below.
    CryptoKey PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKey
    Causes the shift to be computed based on this key and the context. This results in the same shift for the same context and cryptoKey. If set, must also set context. Can only be applied to table items. Structure is documented below.
    LowerBoundDays int
    For example, -5 means shift date to at most 5 days back in the past.
    UpperBoundDays int
    Range of shift in days. Actual shift will be selected at random within this range (inclusive ends). Negative means shift to earlier in time. Must not be more than 365250 days (1000 years) each direction. For example, 3 means shift date to at most 3 days into the future.
    Context PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContext
    Points to the field that contains the context, for example, an entity id. If set, must also set cryptoKey. If set, shift will be consistent for the given context. Structure is documented below.
    CryptoKey PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKey
    Causes the shift to be computed based on this key and the context. This results in the same shift for the same context and cryptoKey. If set, must also set context. Can only be applied to table items. Structure is documented below.
    lowerBoundDays Integer
    For example, -5 means shift date to at most 5 days back in the past.
    upperBoundDays Integer
    Range of shift in days. Actual shift will be selected at random within this range (inclusive ends). Negative means shift to earlier in time. Must not be more than 365250 days (1000 years) each direction. For example, 3 means shift date to at most 3 days into the future.
    context PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContext
    Points to the field that contains the context, for example, an entity id. If set, must also set cryptoKey. If set, shift will be consistent for the given context. Structure is documented below.
    cryptoKey PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKey
    Causes the shift to be computed based on this key and the context. This results in the same shift for the same context and cryptoKey. If set, must also set context. Can only be applied to table items. Structure is documented below.
    lowerBoundDays number
    For example, -5 means shift date to at most 5 days back in the past.
    upperBoundDays number
    Range of shift in days. Actual shift will be selected at random within this range (inclusive ends). Negative means shift to earlier in time. Must not be more than 365250 days (1000 years) each direction. For example, 3 means shift date to at most 3 days into the future.
    context PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContext
    Points to the field that contains the context, for example, an entity id. If set, must also set cryptoKey. If set, shift will be consistent for the given context. Structure is documented below.
    cryptoKey PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKey
    Causes the shift to be computed based on this key and the context. This results in the same shift for the same context and cryptoKey. If set, must also set context. Can only be applied to table items. Structure is documented below.
    lower_bound_days int
    For example, -5 means shift date to at most 5 days back in the past.
    upper_bound_days int
    Range of shift in days. Actual shift will be selected at random within this range (inclusive ends). Negative means shift to earlier in time. Must not be more than 365250 days (1000 years) each direction. For example, 3 means shift date to at most 3 days into the future.
    context PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContext
    Points to the field that contains the context, for example, an entity id. If set, must also set cryptoKey. If set, shift will be consistent for the given context. Structure is documented below.
    crypto_key PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKey
    Causes the shift to be computed based on this key and the context. This results in the same shift for the same context and cryptoKey. If set, must also set context. Can only be applied to table items. Structure is documented below.
    lowerBoundDays Number
    For example, -5 means shift date to at most 5 days back in the past.
    upperBoundDays Number
    Range of shift in days. Actual shift will be selected at random within this range (inclusive ends). Negative means shift to earlier in time. Must not be more than 365250 days (1000 years) each direction. For example, 3 means shift date to at most 3 days into the future.
    context Property Map
    Points to the field that contains the context, for example, an entity id. If set, must also set cryptoKey. If set, shift will be consistent for the given context. Structure is documented below.
    cryptoKey Property Map
    Causes the shift to be computed based on this key and the context. This results in the same shift for the same context and cryptoKey. If set, must also set context. Can only be applied to table items. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContext, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContextArgs

    Name string
    Name describing the field.
    Name string
    Name describing the field.
    name String
    Name describing the field.
    name string
    Name describing the field.
    name str
    Name describing the field.
    name String
    Name describing the field.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKey, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyArgs

    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient_ PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kms_wrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped Property Map
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient Property Map
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped Property Map
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrappedArgs

    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    crypto_key_name str
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrapped_key str
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransientArgs

    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name str
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrappedArgs

    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key str
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfig, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigArgs

    BucketSize double
    Size of each bucket (except for minimum and maximum buckets). So if lower_bound = 10, upper_bound = 89, and bucketSize = 10, then the following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
    LowerBound PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBound
    Lower bound value of buckets. All values less than lower_bound are grouped together into a single bucket; for example if lower_bound = 10, then all values less than 10 are replaced with the value "-10". The lower_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    UpperBound PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBound
    Upper bound value of buckets. All values greater than upper_bound are grouped together into a single bucket; for example if upper_bound = 89, then all values greater than 89 are replaced with the value "89+". The upper_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    BucketSize float64
    Size of each bucket (except for minimum and maximum buckets). So if lower_bound = 10, upper_bound = 89, and bucketSize = 10, then the following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
    LowerBound PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBound
    Lower bound value of buckets. All values less than lower_bound are grouped together into a single bucket; for example if lower_bound = 10, then all values less than 10 are replaced with the value "-10". The lower_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    UpperBound PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBound
    Upper bound value of buckets. All values greater than upper_bound are grouped together into a single bucket; for example if upper_bound = 89, then all values greater than 89 are replaced with the value "89+". The upper_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    bucketSize Double
    Size of each bucket (except for minimum and maximum buckets). So if lower_bound = 10, upper_bound = 89, and bucketSize = 10, then the following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
    lowerBound PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBound
    Lower bound value of buckets. All values less than lower_bound are grouped together into a single bucket; for example if lower_bound = 10, then all values less than 10 are replaced with the value "-10". The lower_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    upperBound PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBound
    Upper bound value of buckets. All values greater than upper_bound are grouped together into a single bucket; for example if upper_bound = 89, then all values greater than 89 are replaced with the value "89+". The upper_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    bucketSize number
    Size of each bucket (except for minimum and maximum buckets). So if lower_bound = 10, upper_bound = 89, and bucketSize = 10, then the following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
    lowerBound PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBound
    Lower bound value of buckets. All values less than lower_bound are grouped together into a single bucket; for example if lower_bound = 10, then all values less than 10 are replaced with the value "-10". The lower_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    upperBound PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBound
    Upper bound value of buckets. All values greater than upper_bound are grouped together into a single bucket; for example if upper_bound = 89, then all values greater than 89 are replaced with the value "89+". The upper_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    bucket_size float
    Size of each bucket (except for minimum and maximum buckets). So if lower_bound = 10, upper_bound = 89, and bucketSize = 10, then the following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
    lower_bound PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBound
    Lower bound value of buckets. All values less than lower_bound are grouped together into a single bucket; for example if lower_bound = 10, then all values less than 10 are replaced with the value "-10". The lower_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    upper_bound PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBound
    Upper bound value of buckets. All values greater than upper_bound are grouped together into a single bucket; for example if upper_bound = 89, then all values greater than 89 are replaced with the value "89+". The upper_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    bucketSize Number
    Size of each bucket (except for minimum and maximum buckets). So if lower_bound = 10, upper_bound = 89, and bucketSize = 10, then the following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
    lowerBound Property Map
    Lower bound value of buckets. All values less than lower_bound are grouped together into a single bucket; for example if lower_bound = 10, then all values less than 10 are replaced with the value "-10". The lower_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    upperBound Property Map
    Upper bound value of buckets. All values greater than upper_bound are grouped together into a single bucket; for example if upper_bound = 89, then all values greater than 89 are replaced with the value "89+". The upper_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBound, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundArgs

    FloatValue double
    A float value.
    IntegerValue string
    An integer value (int64 format)
    FloatValue float64
    A float value.
    IntegerValue string
    An integer value (int64 format)
    floatValue Double
    A float value.
    integerValue String
    An integer value (int64 format)
    floatValue number
    A float value.
    integerValue string
    An integer value (int64 format)
    float_value float
    A float value.
    integer_value str
    An integer value (int64 format)
    floatValue Number
    A float value.
    integerValue String
    An integer value (int64 format)

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBound, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundArgs

    FloatValue double
    A float value.
    IntegerValue string
    An integer value (int64 format)
    FloatValue float64
    A float value.
    IntegerValue string
    An integer value (int64 format)
    floatValue Double
    A float value.
    integerValue String
    An integer value (int64 format)
    floatValue number
    A float value.
    integerValue string
    An integer value (int64 format)
    float_value float
    A float value.
    integer_value str
    An integer value (int64 format)
    floatValue Number
    A float value.
    integerValue String
    An integer value (int64 format)

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfig, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigArgs

    NewValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValue
    Replace each input value with a given value. The new_value block must only contain one argument. For example when replacing the contents of a string-type field, only string_value should be set. Structure is documented below.
    NewValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValue
    Replace each input value with a given value. The new_value block must only contain one argument. For example when replacing the contents of a string-type field, only string_value should be set. Structure is documented below.
    newValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValue
    Replace each input value with a given value. The new_value block must only contain one argument. For example when replacing the contents of a string-type field, only string_value should be set. Structure is documented below.
    newValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValue
    Replace each input value with a given value. The new_value block must only contain one argument. For example when replacing the contents of a string-type field, only string_value should be set. Structure is documented below.
    new_value PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValue
    Replace each input value with a given value. The new_value block must only contain one argument. For example when replacing the contents of a string-type field, only string_value should be set. Structure is documented below.
    newValue Property Map
    Replace each input value with a given value. The new_value block must only contain one argument. For example when replacing the contents of a string-type field, only string_value should be set. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValue, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueArgs

    BooleanValue bool
    A boolean value.
    DateValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue double
    A float value.
    IntegerValue int
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    BooleanValue bool
    A boolean value.
    DateValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue float64
    A float value.
    IntegerValue int
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue Boolean
    A boolean value.
    dateValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Double
    A float value.
    integerValue Integer
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue boolean
    A boolean value.
    dateValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue number
    A float value.
    integerValue number
    An integer value (int64 format)
    stringValue string
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    boolean_value bool
    A boolean value.
    date_value PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    day_of_week_value str
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    float_value float
    A float value.
    integer_value int
    An integer value (int64 format)
    string_value str
    A string value.
    time_value PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValue
    Represents a time of day. Structure is documented below.
    timestamp_value str
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue Boolean
    A boolean value.
    dateValue Property Map
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Number
    A float value.
    integerValue Number
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue Property Map
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValue, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValueArgs

    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Integer
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Integer
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Integer
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValue, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValueArgs

    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Integer
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Integer
    Minutes of hour of day. Must be from 0 to 59.
    nanos Integer
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Integer
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes number
    Minutes of hour of day. Must be from 0 to 59.
    nanos number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes int
    Minutes of hour of day. Must be from 0 to 59.
    nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Number
    Minutes of hour of day. Must be from 0 to 59.
    nanos Number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfig, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigArgs

    WordList PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordList
    A list of words to select from for random replacement. The limits page contains details about the size limits of dictionaries. Structure is documented below.
    WordList PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordList
    A list of words to select from for random replacement. The limits page contains details about the size limits of dictionaries. Structure is documented below.
    wordList PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordList
    A list of words to select from for random replacement. The limits page contains details about the size limits of dictionaries. Structure is documented below.
    wordList PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordList
    A list of words to select from for random replacement. The limits page contains details about the size limits of dictionaries. Structure is documented below.
    word_list PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordList
    A list of words to select from for random replacement. The limits page contains details about the size limits of dictionaries. Structure is documented below.
    wordList Property Map
    A list of words to select from for random replacement. The limits page contains details about the size limits of dictionaries. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordList, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordListArgs

    Words List<string>
    Words or phrases defining the dictionary. The dictionary must contain at least one phrase and every phrase must contain at least 2 characters that are letters or digits.
    Words []string
    Words or phrases defining the dictionary. The dictionary must contain at least one phrase and every phrase must contain at least 2 characters that are letters or digits.
    words List<String>
    Words or phrases defining the dictionary. The dictionary must contain at least one phrase and every phrase must contain at least 2 characters that are letters or digits.
    words string[]
    Words or phrases defining the dictionary. The dictionary must contain at least one phrase and every phrase must contain at least 2 characters that are letters or digits.
    words Sequence[str]
    Words or phrases defining the dictionary. The dictionary must contain at least one phrase and every phrase must contain at least 2 characters that are letters or digits.
    words List<String>
    Words or phrases defining the dictionary. The dictionary must contain at least one phrase and every phrase must contain at least 2 characters that are letters or digits.

    PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfig, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfigArgs

    PartToExtract string
    The part of the time to keep. Possible values are: YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY.
    PartToExtract string
    The part of the time to keep. Possible values are: YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY.
    partToExtract String
    The part of the time to keep. Possible values are: YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY.
    partToExtract string
    The part of the time to keep. Possible values are: YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY.
    part_to_extract str
    The part of the time to keep. Possible values are: YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY.
    partToExtract String
    The part of the time to keep. Possible values are: YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformations, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsArgs

    FieldTransformations List<PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformation>
    Transform the record by applying various field transformations. Structure is documented below.
    RecordSuppressions List<PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppression>
    Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. Structure is documented below.
    FieldTransformations []PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformation
    Transform the record by applying various field transformations. Structure is documented below.
    RecordSuppressions []PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppression
    Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. Structure is documented below.
    fieldTransformations List<PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformation>
    Transform the record by applying various field transformations. Structure is documented below.
    recordSuppressions List<PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppression>
    Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. Structure is documented below.
    fieldTransformations PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformation[]
    Transform the record by applying various field transformations. Structure is documented below.
    recordSuppressions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppression[]
    Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. Structure is documented below.
    field_transformations Sequence[PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformation]
    Transform the record by applying various field transformations. Structure is documented below.
    record_suppressions Sequence[PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppression]
    Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. Structure is documented below.
    fieldTransformations List<Property Map>
    Transform the record by applying various field transformations. Structure is documented below.
    recordSuppressions List<Property Map>
    Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformation, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationArgs

    Fields List<PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationField>
    Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of "contact.nums[0].type", use "contact.nums.type". Structure is documented below.
    Condition PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationCondition
    Only apply the transformation if the condition evaluates to true for the given RecordCondition. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases:

    • Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range.
    • Redact a field if the date of birth field is greater than 85. Structure is documented below.
    InfoTypeTransformations PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformations
    Treat the contents of the field as free text, and selectively transform content that matches an InfoType. Only one of primitive_transformation or info_type_transformations must be specified. Structure is documented below.
    PrimitiveTransformation PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformation
    Apply the transformation to the entire field. The primitive_transformation block must only contain one argument, corresponding to the type of transformation. Only one of primitive_transformation or info_type_transformations must be specified. Structure is documented below.
    Fields []PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationField
    Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of "contact.nums[0].type", use "contact.nums.type". Structure is documented below.
    Condition PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationCondition
    Only apply the transformation if the condition evaluates to true for the given RecordCondition. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases:

    • Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range.
    • Redact a field if the date of birth field is greater than 85. Structure is documented below.
    InfoTypeTransformations PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformations
    Treat the contents of the field as free text, and selectively transform content that matches an InfoType. Only one of primitive_transformation or info_type_transformations must be specified. Structure is documented below.
    PrimitiveTransformation PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformation
    Apply the transformation to the entire field. The primitive_transformation block must only contain one argument, corresponding to the type of transformation. Only one of primitive_transformation or info_type_transformations must be specified. Structure is documented below.
    fields List<PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationField>
    Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of "contact.nums[0].type", use "contact.nums.type". Structure is documented below.
    condition PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationCondition
    Only apply the transformation if the condition evaluates to true for the given RecordCondition. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases:

    • Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range.
    • Redact a field if the date of birth field is greater than 85. Structure is documented below.
    infoTypeTransformations PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformations
    Treat the contents of the field as free text, and selectively transform content that matches an InfoType. Only one of primitive_transformation or info_type_transformations must be specified. Structure is documented below.
    primitiveTransformation PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformation
    Apply the transformation to the entire field. The primitive_transformation block must only contain one argument, corresponding to the type of transformation. Only one of primitive_transformation or info_type_transformations must be specified. Structure is documented below.
    fields PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationField[]
    Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of "contact.nums[0].type", use "contact.nums.type". Structure is documented below.
    condition PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationCondition
    Only apply the transformation if the condition evaluates to true for the given RecordCondition. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases:

    • Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range.
    • Redact a field if the date of birth field is greater than 85. Structure is documented below.
    infoTypeTransformations PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformations
    Treat the contents of the field as free text, and selectively transform content that matches an InfoType. Only one of primitive_transformation or info_type_transformations must be specified. Structure is documented below.
    primitiveTransformation PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformation
    Apply the transformation to the entire field. The primitive_transformation block must only contain one argument, corresponding to the type of transformation. Only one of primitive_transformation or info_type_transformations must be specified. Structure is documented below.
    fields Sequence[PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationField]
    Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of "contact.nums[0].type", use "contact.nums.type". Structure is documented below.
    condition PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationCondition
    Only apply the transformation if the condition evaluates to true for the given RecordCondition. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases:

    • Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range.
    • Redact a field if the date of birth field is greater than 85. Structure is documented below.
    info_type_transformations PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformations
    Treat the contents of the field as free text, and selectively transform content that matches an InfoType. Only one of primitive_transformation or info_type_transformations must be specified. Structure is documented below.
    primitive_transformation PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformation
    Apply the transformation to the entire field. The primitive_transformation block must only contain one argument, corresponding to the type of transformation. Only one of primitive_transformation or info_type_transformations must be specified. Structure is documented below.
    fields List<Property Map>
    Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of "contact.nums[0].type", use "contact.nums.type". Structure is documented below.
    condition Property Map
    Only apply the transformation if the condition evaluates to true for the given RecordCondition. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases:

    • Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range.
    • Redact a field if the date of birth field is greater than 85. Structure is documented below.
    infoTypeTransformations Property Map
    Treat the contents of the field as free text, and selectively transform content that matches an InfoType. Only one of primitive_transformation or info_type_transformations must be specified. Structure is documented below.
    primitiveTransformation Property Map
    Apply the transformation to the entire field. The primitive_transformation block must only contain one argument, corresponding to the type of transformation. Only one of primitive_transformation or info_type_transformations must be specified. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationCondition, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionArgs

    Expressions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressions
    An expression, consisting of an operator and conditions. Structure is documented below.
    Expressions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressions
    An expression, consisting of an operator and conditions. Structure is documented below.
    expressions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressions
    An expression, consisting of an operator and conditions. Structure is documented below.
    expressions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressions
    An expression, consisting of an operator and conditions. Structure is documented below.
    expressions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressions
    An expression, consisting of an operator and conditions. Structure is documented below.
    expressions Property Map
    An expression, consisting of an operator and conditions. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressions, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsArgs

    Conditions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditions
    Conditions to apply to the expression. Structure is documented below.
    LogicalOperator string
    The operator to apply to the result of conditions. Default and currently only supported value is AND. Default value is AND. Possible values are: AND.
    Conditions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditions
    Conditions to apply to the expression. Structure is documented below.
    LogicalOperator string
    The operator to apply to the result of conditions. Default and currently only supported value is AND. Default value is AND. Possible values are: AND.
    conditions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditions
    Conditions to apply to the expression. Structure is documented below.
    logicalOperator String
    The operator to apply to the result of conditions. Default and currently only supported value is AND. Default value is AND. Possible values are: AND.
    conditions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditions
    Conditions to apply to the expression. Structure is documented below.
    logicalOperator string
    The operator to apply to the result of conditions. Default and currently only supported value is AND. Default value is AND. Possible values are: AND.
    conditions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditions
    Conditions to apply to the expression. Structure is documented below.
    logical_operator str
    The operator to apply to the result of conditions. Default and currently only supported value is AND. Default value is AND. Possible values are: AND.
    conditions Property Map
    Conditions to apply to the expression. Structure is documented below.
    logicalOperator String
    The operator to apply to the result of conditions. Default and currently only supported value is AND. Default value is AND. Possible values are: AND.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditions, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsArgs

    conditions List<Property Map>
    A collection of conditions. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsCondition, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionArgs

    Field PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionField
    Field within the record this condition is evaluated against. Structure is documented below.
    Operator string
    Operator used to compare the field or infoType to the value. Possible values are: EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN_OR_EQUALS, EXISTS.
    Value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValue
    Value to compare against. [Mandatory, except for EXISTS tests.] Structure is documented below.
    Field PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionField
    Field within the record this condition is evaluated against. Structure is documented below.
    Operator string
    Operator used to compare the field or infoType to the value. Possible values are: EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN_OR_EQUALS, EXISTS.
    Value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValue
    Value to compare against. [Mandatory, except for EXISTS tests.] Structure is documented below.
    field PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionField
    Field within the record this condition is evaluated against. Structure is documented below.
    operator String
    Operator used to compare the field or infoType to the value. Possible values are: EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN_OR_EQUALS, EXISTS.
    value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValue
    Value to compare against. [Mandatory, except for EXISTS tests.] Structure is documented below.
    field PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionField
    Field within the record this condition is evaluated against. Structure is documented below.
    operator string
    Operator used to compare the field or infoType to the value. Possible values are: EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN_OR_EQUALS, EXISTS.
    value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValue
    Value to compare against. [Mandatory, except for EXISTS tests.] Structure is documented below.
    field PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionField
    Field within the record this condition is evaluated against. Structure is documented below.
    operator str
    Operator used to compare the field or infoType to the value. Possible values are: EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN_OR_EQUALS, EXISTS.
    value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValue
    Value to compare against. [Mandatory, except for EXISTS tests.] Structure is documented below.
    field Property Map
    Field within the record this condition is evaluated against. Structure is documented below.
    operator String
    Operator used to compare the field or infoType to the value. Possible values are: EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN_OR_EQUALS, EXISTS.
    value Property Map
    Value to compare against. [Mandatory, except for EXISTS tests.] Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionField, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionFieldArgs

    Name string
    Name describing the field.
    Name string
    Name describing the field.
    name String
    Name describing the field.
    name string
    Name describing the field.
    name str
    Name describing the field.
    name String
    Name describing the field.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueArgs

    BooleanValue bool
    A boolean value.
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue double
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    BooleanValue bool
    A boolean value.
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue float64
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue Boolean
    A boolean value.
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Double
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue boolean
    A boolean value.
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue number
    A float value.
    integerValue string
    An integer value (int64 format)
    stringValue string
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    boolean_value bool
    A boolean value.
    date_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    day_of_week_value str
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    float_value float
    A float value.
    integer_value str
    An integer value (int64 format)
    string_value str
    A string value.
    time_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueTimeValue
    Represents a time of day. Structure is documented below.
    timestamp_value str
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue Boolean
    A boolean value.
    dateValue Property Map
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Number
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue Property Map
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueDateValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueDateValueArgs

    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Integer
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Integer
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Integer
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueTimeValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionValueTimeValueArgs

    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Integer
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Integer
    Minutes of hour of day. Must be from 0 to 59.
    nanos Integer
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Integer
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes number
    Minutes of hour of day. Must be from 0 to 59.
    nanos number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes int
    Minutes of hour of day. Must be from 0 to 59.
    nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Number
    Minutes of hour of day. Must be from 0 to 59.
    nanos Number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationField, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationFieldArgs

    Name string
    Name describing the field.
    Name string
    Name describing the field.
    name String
    Name describing the field.
    name string
    Name describing the field.
    name str
    Name describing the field.
    name String
    Name describing the field.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformations, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsArgs

    Transformations List<PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformation>
    Transformation for each infoType. Cannot specify more than one for a given infoType. Structure is documented below.
    Transformations []PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformation
    Transformation for each infoType. Cannot specify more than one for a given infoType. Structure is documented below.
    transformations List<PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformation>
    Transformation for each infoType. Cannot specify more than one for a given infoType. Structure is documented below.
    transformations PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformation[]
    Transformation for each infoType. Cannot specify more than one for a given infoType. Structure is documented below.
    transformations Sequence[PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformation]
    Transformation for each infoType. Cannot specify more than one for a given infoType. Structure is documented below.
    transformations List<Property Map>
    Transformation for each infoType. Cannot specify more than one for a given infoType. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformation, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationArgs

    PrimitiveTransformation PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformation
    Apply the transformation to the entire field. The primitive_transformation block must only contain one argument, corresponding to the type of transformation. Structure is documented below.
    InfoTypes List<PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoType>
    InfoTypes to apply the transformation to. Leaving this empty will apply the transformation to apply to all findings that correspond to infoTypes that were requested in InspectConfig. Structure is documented below.
    PrimitiveTransformation PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformation
    Apply the transformation to the entire field. The primitive_transformation block must only contain one argument, corresponding to the type of transformation. Structure is documented below.
    InfoTypes []PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoType
    InfoTypes to apply the transformation to. Leaving this empty will apply the transformation to apply to all findings that correspond to infoTypes that were requested in InspectConfig. Structure is documented below.
    primitiveTransformation PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformation
    Apply the transformation to the entire field. The primitive_transformation block must only contain one argument, corresponding to the type of transformation. Structure is documented below.
    infoTypes List<PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoType>
    InfoTypes to apply the transformation to. Leaving this empty will apply the transformation to apply to all findings that correspond to infoTypes that were requested in InspectConfig. Structure is documented below.
    primitiveTransformation PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformation
    Apply the transformation to the entire field. The primitive_transformation block must only contain one argument, corresponding to the type of transformation. Structure is documented below.
    infoTypes PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoType[]
    InfoTypes to apply the transformation to. Leaving this empty will apply the transformation to apply to all findings that correspond to infoTypes that were requested in InspectConfig. Structure is documented below.
    primitive_transformation PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformation
    Apply the transformation to the entire field. The primitive_transformation block must only contain one argument, corresponding to the type of transformation. Structure is documented below.
    info_types Sequence[PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoType]
    InfoTypes to apply the transformation to. Leaving this empty will apply the transformation to apply to all findings that correspond to infoTypes that were requested in InspectConfig. Structure is documented below.
    primitiveTransformation Property Map
    Apply the transformation to the entire field. The primitive_transformation block must only contain one argument, corresponding to the type of transformation. Structure is documented below.
    infoTypes List<Property Map>
    InfoTypes to apply the transformation to. Leaving this empty will apply the transformation to apply to all findings that correspond to infoTypes that were requested in InspectConfig. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoType, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoTypeArgs

    Name string
    Name of the information type.
    SensitivityScore PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    Version string
    Version name for this InfoType.
    Name string
    Name of the information type.
    SensitivityScore PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    Version string
    Version name for this InfoType.
    name String
    Name of the information type.
    sensitivityScore PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version String
    Version name for this InfoType.
    name string
    Name of the information type.
    sensitivityScore PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version string
    Version name for this InfoType.
    name str
    Name of the information type.
    sensitivity_score PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version str
    Version name for this InfoType.
    name String
    Name of the information type.
    sensitivityScore Property Map
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version String
    Version name for this InfoType.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoTypeSensitivityScore, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationInfoTypeSensitivityScoreArgs

    Score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    Score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score String
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score str
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score String
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformation, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationArgs

    BucketingConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfig
    Generalization function that buckets values based on ranges. The ranges and replacement values are dynamically provided by the user for custom behavior, such as 1-30 > LOW 31-65 > MEDIUM 66-100 > HIGH This can be used on data of type: number, long, string, timestamp. If the provided value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    CharacterMaskConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfig
    Partially mask a string by replacing a given number of characters with a fixed character. Masking can start from the beginning or end of the string. This can be used on data of any type (numbers, longs, and so on) and when de-identifying structured data we'll attempt to preserve the original data's type. (This allows you to take a long like 123 and modify it to a string like **3). Structure is documented below.
    CryptoDeterministicConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfig
    Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. Structure is documented below.
    CryptoHashConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfig
    Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. Outputs a base64 encoded representation of the hashed output (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only string and integer values can be hashed. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Structure is documented below.
    CryptoReplaceFfxFpeConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfig
    Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the content.reidentify API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. Structure is documented below.
    DateShiftConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfig
    Shifts dates by random number of days, with option to be consistent for the same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting to learn more. Structure is documented below.
    FixedSizeBucketingConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfig
    Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and upper_bound = 20, all values that are within this bucket will be replaced with "10-20". This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    RedactConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationRedactConfig
    Redact a given value. For example, if used with an InfoTypeTransformation transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the output would be 'My phone number is '.
    ReplaceConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfig
    Replace each input value with a given value. Structure is documented below.
    ReplaceDictionaryConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfig
    Replace with a value randomly drawn (with replacement) from a dictionary. Structure is documented below.
    ReplaceWithInfoTypeConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceWithInfoTypeConfig
    Replace each matching finding with the name of the info type.
    TimePartConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfig
    For use with Date, Timestamp, and TimeOfDay, extract or preserve a portion of the value. Structure is documented below.
    BucketingConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfig
    Generalization function that buckets values based on ranges. The ranges and replacement values are dynamically provided by the user for custom behavior, such as 1-30 > LOW 31-65 > MEDIUM 66-100 > HIGH This can be used on data of type: number, long, string, timestamp. If the provided value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    CharacterMaskConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfig
    Partially mask a string by replacing a given number of characters with a fixed character. Masking can start from the beginning or end of the string. This can be used on data of any type (numbers, longs, and so on) and when de-identifying structured data we'll attempt to preserve the original data's type. (This allows you to take a long like 123 and modify it to a string like **3). Structure is documented below.
    CryptoDeterministicConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfig
    Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. Structure is documented below.
    CryptoHashConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfig
    Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. Outputs a base64 encoded representation of the hashed output (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only string and integer values can be hashed. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Structure is documented below.
    CryptoReplaceFfxFpeConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfig
    Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the content.reidentify API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. Structure is documented below.
    DateShiftConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfig
    Shifts dates by random number of days, with option to be consistent for the same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting to learn more. Structure is documented below.
    FixedSizeBucketingConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfig
    Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and upper_bound = 20, all values that are within this bucket will be replaced with "10-20". This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    RedactConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationRedactConfig
    Redact a given value. For example, if used with an InfoTypeTransformation transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the output would be 'My phone number is '.
    ReplaceConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfig
    Replace each input value with a given value. Structure is documented below.
    ReplaceDictionaryConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfig
    Replace with a value randomly drawn (with replacement) from a dictionary. Structure is documented below.
    ReplaceWithInfoTypeConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceWithInfoTypeConfig
    Replace each matching finding with the name of the info type.
    TimePartConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfig
    For use with Date, Timestamp, and TimeOfDay, extract or preserve a portion of the value. Structure is documented below.
    bucketingConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfig
    Generalization function that buckets values based on ranges. The ranges and replacement values are dynamically provided by the user for custom behavior, such as 1-30 > LOW 31-65 > MEDIUM 66-100 > HIGH This can be used on data of type: number, long, string, timestamp. If the provided value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    characterMaskConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfig
    Partially mask a string by replacing a given number of characters with a fixed character. Masking can start from the beginning or end of the string. This can be used on data of any type (numbers, longs, and so on) and when de-identifying structured data we'll attempt to preserve the original data's type. (This allows you to take a long like 123 and modify it to a string like **3). Structure is documented below.
    cryptoDeterministicConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfig
    Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. Structure is documented below.
    cryptoHashConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfig
    Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. Outputs a base64 encoded representation of the hashed output (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only string and integer values can be hashed. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Structure is documented below.
    cryptoReplaceFfxFpeConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfig
    Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the content.reidentify API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. Structure is documented below.
    dateShiftConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfig
    Shifts dates by random number of days, with option to be consistent for the same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting to learn more. Structure is documented below.
    fixedSizeBucketingConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfig
    Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and upper_bound = 20, all values that are within this bucket will be replaced with "10-20". This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    redactConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationRedactConfig
    Redact a given value. For example, if used with an InfoTypeTransformation transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the output would be 'My phone number is '.
    replaceConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfig
    Replace each input value with a given value. Structure is documented below.
    replaceDictionaryConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfig
    Replace with a value randomly drawn (with replacement) from a dictionary. Structure is documented below.
    replaceWithInfoTypeConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceWithInfoTypeConfig
    Replace each matching finding with the name of the info type.
    timePartConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfig
    For use with Date, Timestamp, and TimeOfDay, extract or preserve a portion of the value. Structure is documented below.
    bucketingConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfig
    Generalization function that buckets values based on ranges. The ranges and replacement values are dynamically provided by the user for custom behavior, such as 1-30 > LOW 31-65 > MEDIUM 66-100 > HIGH This can be used on data of type: number, long, string, timestamp. If the provided value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    characterMaskConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfig
    Partially mask a string by replacing a given number of characters with a fixed character. Masking can start from the beginning or end of the string. This can be used on data of any type (numbers, longs, and so on) and when de-identifying structured data we'll attempt to preserve the original data's type. (This allows you to take a long like 123 and modify it to a string like **3). Structure is documented below.
    cryptoDeterministicConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfig
    Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. Structure is documented below.
    cryptoHashConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfig
    Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. Outputs a base64 encoded representation of the hashed output (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only string and integer values can be hashed. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Structure is documented below.
    cryptoReplaceFfxFpeConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfig
    Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the content.reidentify API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. Structure is documented below.
    dateShiftConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfig
    Shifts dates by random number of days, with option to be consistent for the same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting to learn more. Structure is documented below.
    fixedSizeBucketingConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfig
    Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and upper_bound = 20, all values that are within this bucket will be replaced with "10-20". This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    redactConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationRedactConfig
    Redact a given value. For example, if used with an InfoTypeTransformation transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the output would be 'My phone number is '.
    replaceConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfig
    Replace each input value with a given value. Structure is documented below.
    replaceDictionaryConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfig
    Replace with a value randomly drawn (with replacement) from a dictionary. Structure is documented below.
    replaceWithInfoTypeConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceWithInfoTypeConfig
    Replace each matching finding with the name of the info type.
    timePartConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfig
    For use with Date, Timestamp, and TimeOfDay, extract or preserve a portion of the value. Structure is documented below.
    bucketing_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfig
    Generalization function that buckets values based on ranges. The ranges and replacement values are dynamically provided by the user for custom behavior, such as 1-30 > LOW 31-65 > MEDIUM 66-100 > HIGH This can be used on data of type: number, long, string, timestamp. If the provided value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    character_mask_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfig
    Partially mask a string by replacing a given number of characters with a fixed character. Masking can start from the beginning or end of the string. This can be used on data of any type (numbers, longs, and so on) and when de-identifying structured data we'll attempt to preserve the original data's type. (This allows you to take a long like 123 and modify it to a string like **3). Structure is documented below.
    crypto_deterministic_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfig
    Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. Structure is documented below.
    crypto_hash_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfig
    Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. Outputs a base64 encoded representation of the hashed output (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only string and integer values can be hashed. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Structure is documented below.
    crypto_replace_ffx_fpe_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfig
    Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the content.reidentify API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. Structure is documented below.
    date_shift_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfig
    Shifts dates by random number of days, with option to be consistent for the same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting to learn more. Structure is documented below.
    fixed_size_bucketing_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfig
    Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and upper_bound = 20, all values that are within this bucket will be replaced with "10-20". This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    redact_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationRedactConfig
    Redact a given value. For example, if used with an InfoTypeTransformation transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the output would be 'My phone number is '.
    replace_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfig
    Replace each input value with a given value. Structure is documented below.
    replace_dictionary_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfig
    Replace with a value randomly drawn (with replacement) from a dictionary. Structure is documented below.
    replace_with_info_type_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceWithInfoTypeConfig
    Replace each matching finding with the name of the info type.
    time_part_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfig
    For use with Date, Timestamp, and TimeOfDay, extract or preserve a portion of the value. Structure is documented below.
    bucketingConfig Property Map
    Generalization function that buckets values based on ranges. The ranges and replacement values are dynamically provided by the user for custom behavior, such as 1-30 > LOW 31-65 > MEDIUM 66-100 > HIGH This can be used on data of type: number, long, string, timestamp. If the provided value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    characterMaskConfig Property Map
    Partially mask a string by replacing a given number of characters with a fixed character. Masking can start from the beginning or end of the string. This can be used on data of any type (numbers, longs, and so on) and when de-identifying structured data we'll attempt to preserve the original data's type. (This allows you to take a long like 123 and modify it to a string like **3). Structure is documented below.
    cryptoDeterministicConfig Property Map
    Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. Structure is documented below.
    cryptoHashConfig Property Map
    Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. Outputs a base64 encoded representation of the hashed output (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only string and integer values can be hashed. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Structure is documented below.
    cryptoReplaceFfxFpeConfig Property Map
    Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the content.reidentify API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. Structure is documented below.
    dateShiftConfig Property Map
    Shifts dates by random number of days, with option to be consistent for the same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting to learn more. Structure is documented below.
    fixedSizeBucketingConfig Property Map
    Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and upper_bound = 20, all values that are within this bucket will be replaced with "10-20". This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    redactConfig Property Map
    Redact a given value. For example, if used with an InfoTypeTransformation transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the output would be 'My phone number is '.
    replaceConfig Property Map
    Replace each input value with a given value. Structure is documented below.
    replaceDictionaryConfig Property Map
    Replace with a value randomly drawn (with replacement) from a dictionary. Structure is documented below.
    replaceWithInfoTypeConfig Property Map
    Replace each matching finding with the name of the info type.
    timePartConfig Property Map
    For use with Date, Timestamp, and TimeOfDay, extract or preserve a portion of the value. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfig, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigArgs

    Buckets List<PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucket>
    Set of buckets. Ranges must be non-overlapping. Bucket is represented as a range, along with replacement values. Structure is documented below.
    Buckets []PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucket
    Set of buckets. Ranges must be non-overlapping. Bucket is represented as a range, along with replacement values. Structure is documented below.
    buckets List<PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucket>
    Set of buckets. Ranges must be non-overlapping. Bucket is represented as a range, along with replacement values. Structure is documented below.
    buckets PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucket[]
    Set of buckets. Ranges must be non-overlapping. Bucket is represented as a range, along with replacement values. Structure is documented below.
    buckets Sequence[PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucket]
    Set of buckets. Ranges must be non-overlapping. Bucket is represented as a range, along with replacement values. Structure is documented below.
    buckets List<Property Map>
    Set of buckets. Ranges must be non-overlapping. Bucket is represented as a range, along with replacement values. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucket, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketArgs

    ReplacementValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValue
    Replacement value for this bucket. The replacement_value block must only contain one argument. Structure is documented below.
    Max PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMax
    Upper bound of the range, exclusive; type must match min. The max block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    Min PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMin
    Lower bound of the range, inclusive. Type should be the same as max if used. The min block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    ReplacementValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValue
    Replacement value for this bucket. The replacement_value block must only contain one argument. Structure is documented below.
    Max PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMax
    Upper bound of the range, exclusive; type must match min. The max block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    Min PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMin
    Lower bound of the range, inclusive. Type should be the same as max if used. The min block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    replacementValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValue
    Replacement value for this bucket. The replacement_value block must only contain one argument. Structure is documented below.
    max PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMax
    Upper bound of the range, exclusive; type must match min. The max block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    min PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMin
    Lower bound of the range, inclusive. Type should be the same as max if used. The min block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    replacementValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValue
    Replacement value for this bucket. The replacement_value block must only contain one argument. Structure is documented below.
    max PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMax
    Upper bound of the range, exclusive; type must match min. The max block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    min PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMin
    Lower bound of the range, inclusive. Type should be the same as max if used. The min block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    replacement_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValue
    Replacement value for this bucket. The replacement_value block must only contain one argument. Structure is documented below.
    max PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMax
    Upper bound of the range, exclusive; type must match min. The max block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    min PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMin
    Lower bound of the range, inclusive. Type should be the same as max if used. The min block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    replacementValue Property Map
    Replacement value for this bucket. The replacement_value block must only contain one argument. Structure is documented below.
    max Property Map
    Upper bound of the range, exclusive; type must match min. The max block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    min Property Map
    Lower bound of the range, inclusive. Type should be the same as max if used. The min block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMax, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxArgs

    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue double
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue float64
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Double
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue number
    A float value.
    integerValue string
    An integer value (int64 format)
    stringValue string
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    date_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    day_of_week_value str
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    float_value float
    A float value.
    integer_value str
    An integer value (int64 format)
    string_value str
    A string value.
    time_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValue
    Represents a time of day. Structure is documented below.
    timestamp_value str
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    dateValue Property Map
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Number
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue Property Map
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValueArgs

    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Integer
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Integer
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Integer
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValueArgs

    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Integer
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Integer
    Minutes of hour of day. Must be from 0 to 59.
    nanos Integer
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Integer
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes number
    Minutes of hour of day. Must be from 0 to 59.
    nanos number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes int
    Minutes of hour of day. Must be from 0 to 59.
    nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Number
    Minutes of hour of day. Must be from 0 to 59.
    nanos Number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMin, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinArgs

    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue double
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue float64
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Double
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue number
    A float value.
    integerValue string
    An integer value (int64 format)
    stringValue string
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    date_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    day_of_week_value str
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    float_value float
    A float value.
    integer_value str
    An integer value (int64 format)
    string_value str
    A string value.
    time_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValue
    Represents a time of day. Structure is documented below.
    timestamp_value str
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    dateValue Property Map
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Number
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue Property Map
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinDateValueArgs

    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Integer
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Integer
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Integer
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValueArgs

    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Integer
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Integer
    Minutes of hour of day. Must be from 0 to 59.
    nanos Integer
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Integer
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes number
    Minutes of hour of day. Must be from 0 to 59.
    nanos number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes int
    Minutes of hour of day. Must be from 0 to 59.
    nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Number
    Minutes of hour of day. Must be from 0 to 59.
    nanos Number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueArgs

    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue double
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue float64
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Double
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue number
    A float value.
    integerValue string
    An integer value (int64 format)
    stringValue string
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    date_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    day_of_week_value str
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    float_value float
    A float value.
    integer_value str
    An integer value (int64 format)
    string_value str
    A string value.
    time_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValue
    Represents a time of day. Structure is documented below.
    timestamp_value str
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    dateValue Property Map
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Number
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue Property Map
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValueArgs

    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Integer
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Integer
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Integer
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValueArgs

    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Integer
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Integer
    Minutes of hour of day. Must be from 0 to 59.
    nanos Integer
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Integer
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes number
    Minutes of hour of day. Must be from 0 to 59.
    nanos number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes int
    Minutes of hour of day. Must be from 0 to 59.
    nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Number
    Minutes of hour of day. Must be from 0 to 59.
    nanos Number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfig, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigArgs

    CharactersToIgnores List<PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnore>
    Characters to skip when doing de-identification of a value. These will be left alone and skipped. Structure is documented below.
    MaskingCharacter string
    Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string such as ZIP code or credit card number. This string must have a length of 1. If not supplied, this value defaults to * for strings, and 0 for digits.
    NumberToMask int
    Number of characters to mask. If not set, all matching chars will be masked. Skipped characters do not count towards this tally. If number_to_mask is negative, this denotes inverse masking. Cloud DLP masks all but a number of characters. For example, suppose you have the following values:
    ReverseOrder bool
    Mask characters in reverse order. For example, if masking_character is 0, number_to_mask is 14, and reverse_order is false, then the input string 1234-5678-9012-3456 is masked as 00000000000000-3456.
    CharactersToIgnores []PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnore
    Characters to skip when doing de-identification of a value. These will be left alone and skipped. Structure is documented below.
    MaskingCharacter string
    Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string such as ZIP code or credit card number. This string must have a length of 1. If not supplied, this value defaults to * for strings, and 0 for digits.
    NumberToMask int
    Number of characters to mask. If not set, all matching chars will be masked. Skipped characters do not count towards this tally. If number_to_mask is negative, this denotes inverse masking. Cloud DLP masks all but a number of characters. For example, suppose you have the following values:
    ReverseOrder bool
    Mask characters in reverse order. For example, if masking_character is 0, number_to_mask is 14, and reverse_order is false, then the input string 1234-5678-9012-3456 is masked as 00000000000000-3456.
    charactersToIgnores List<PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnore>
    Characters to skip when doing de-identification of a value. These will be left alone and skipped. Structure is documented below.
    maskingCharacter String
    Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string such as ZIP code or credit card number. This string must have a length of 1. If not supplied, this value defaults to * for strings, and 0 for digits.
    numberToMask Integer
    Number of characters to mask. If not set, all matching chars will be masked. Skipped characters do not count towards this tally. If number_to_mask is negative, this denotes inverse masking. Cloud DLP masks all but a number of characters. For example, suppose you have the following values:
    reverseOrder Boolean
    Mask characters in reverse order. For example, if masking_character is 0, number_to_mask is 14, and reverse_order is false, then the input string 1234-5678-9012-3456 is masked as 00000000000000-3456.
    charactersToIgnores PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnore[]
    Characters to skip when doing de-identification of a value. These will be left alone and skipped. Structure is documented below.
    maskingCharacter string
    Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string such as ZIP code or credit card number. This string must have a length of 1. If not supplied, this value defaults to * for strings, and 0 for digits.
    numberToMask number
    Number of characters to mask. If not set, all matching chars will be masked. Skipped characters do not count towards this tally. If number_to_mask is negative, this denotes inverse masking. Cloud DLP masks all but a number of characters. For example, suppose you have the following values:
    reverseOrder boolean
    Mask characters in reverse order. For example, if masking_character is 0, number_to_mask is 14, and reverse_order is false, then the input string 1234-5678-9012-3456 is masked as 00000000000000-3456.
    characters_to_ignores Sequence[PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnore]
    Characters to skip when doing de-identification of a value. These will be left alone and skipped. Structure is documented below.
    masking_character str
    Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string such as ZIP code or credit card number. This string must have a length of 1. If not supplied, this value defaults to * for strings, and 0 for digits.
    number_to_mask int
    Number of characters to mask. If not set, all matching chars will be masked. Skipped characters do not count towards this tally. If number_to_mask is negative, this denotes inverse masking. Cloud DLP masks all but a number of characters. For example, suppose you have the following values:
    reverse_order bool
    Mask characters in reverse order. For example, if masking_character is 0, number_to_mask is 14, and reverse_order is false, then the input string 1234-5678-9012-3456 is masked as 00000000000000-3456.
    charactersToIgnores List<Property Map>
    Characters to skip when doing de-identification of a value. These will be left alone and skipped. Structure is documented below.
    maskingCharacter String
    Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string such as ZIP code or credit card number. This string must have a length of 1. If not supplied, this value defaults to * for strings, and 0 for digits.
    numberToMask Number
    Number of characters to mask. If not set, all matching chars will be masked. Skipped characters do not count towards this tally. If number_to_mask is negative, this denotes inverse masking. Cloud DLP masks all but a number of characters. For example, suppose you have the following values:
    reverseOrder Boolean
    Mask characters in reverse order. For example, if masking_character is 0, number_to_mask is 14, and reverse_order is false, then the input string 1234-5678-9012-3456 is masked as 00000000000000-3456.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnore, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArgs

    CharactersToSkip string
    Characters to not transform when masking. Only one of this or common_characters_to_ignore must be specified.
    CommonCharactersToIgnore string
    Common characters to not transform when masking. Useful to avoid removing punctuation. Only one of this or characters_to_skip must be specified. Possible values are: NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE, PUNCTUATION, WHITESPACE.
    CharactersToSkip string
    Characters to not transform when masking. Only one of this or common_characters_to_ignore must be specified.
    CommonCharactersToIgnore string
    Common characters to not transform when masking. Useful to avoid removing punctuation. Only one of this or characters_to_skip must be specified. Possible values are: NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE, PUNCTUATION, WHITESPACE.
    charactersToSkip String
    Characters to not transform when masking. Only one of this or common_characters_to_ignore must be specified.
    commonCharactersToIgnore String
    Common characters to not transform when masking. Useful to avoid removing punctuation. Only one of this or characters_to_skip must be specified. Possible values are: NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE, PUNCTUATION, WHITESPACE.
    charactersToSkip string
    Characters to not transform when masking. Only one of this or common_characters_to_ignore must be specified.
    commonCharactersToIgnore string
    Common characters to not transform when masking. Useful to avoid removing punctuation. Only one of this or characters_to_skip must be specified. Possible values are: NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE, PUNCTUATION, WHITESPACE.
    characters_to_skip str
    Characters to not transform when masking. Only one of this or common_characters_to_ignore must be specified.
    common_characters_to_ignore str
    Common characters to not transform when masking. Useful to avoid removing punctuation. Only one of this or characters_to_skip must be specified. Possible values are: NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE, PUNCTUATION, WHITESPACE.
    charactersToSkip String
    Characters to not transform when masking. Only one of this or common_characters_to_ignore must be specified.
    commonCharactersToIgnore String
    Common characters to not transform when masking. Useful to avoid removing punctuation. Only one of this or characters_to_skip must be specified. Possible values are: NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE, PUNCTUATION, WHITESPACE.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfig, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigArgs

    CryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKey
    The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. Structure is documented below.
    SurrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType
    The custom info type to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom info type followed by the number of characters comprising the surrogate. The following scheme defines the format: {info type name}({surrogate character count}):{surrogate} For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom info type 'Surrogate'. This facilitates reversal of the surrogate when it occurs in free text. Note: For record transformations where the entire cell in a table is being transformed, surrogates are not mandatory. Surrogates are used to denote the location of the token and are necessary for re-identification in free form text. In order for inspection to work properly, the name of this info type must not occur naturally anywhere in your data; otherwise, inspection may either

    • reverse a surrogate that does not correspond to an actual identifier
    • be unable to parse the surrogate and result in an error Therefore, choose your custom info type name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE. Structure is documented below.
    Context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContext
    A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and unstructured ContentItems. Structure is documented below.
    CryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKey
    The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. Structure is documented below.
    SurrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType
    The custom info type to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom info type followed by the number of characters comprising the surrogate. The following scheme defines the format: {info type name}({surrogate character count}):{surrogate} For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom info type 'Surrogate'. This facilitates reversal of the surrogate when it occurs in free text. Note: For record transformations where the entire cell in a table is being transformed, surrogates are not mandatory. Surrogates are used to denote the location of the token and are necessary for re-identification in free form text. In order for inspection to work properly, the name of this info type must not occur naturally anywhere in your data; otherwise, inspection may either

    • reverse a surrogate that does not correspond to an actual identifier
    • be unable to parse the surrogate and result in an error Therefore, choose your custom info type name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE. Structure is documented below.
    Context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContext
    A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and unstructured ContentItems. Structure is documented below.
    cryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKey
    The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. Structure is documented below.
    surrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType
    The custom info type to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom info type followed by the number of characters comprising the surrogate. The following scheme defines the format: {info type name}({surrogate character count}):{surrogate} For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom info type 'Surrogate'. This facilitates reversal of the surrogate when it occurs in free text. Note: For record transformations where the entire cell in a table is being transformed, surrogates are not mandatory. Surrogates are used to denote the location of the token and are necessary for re-identification in free form text. In order for inspection to work properly, the name of this info type must not occur naturally anywhere in your data; otherwise, inspection may either

    • reverse a surrogate that does not correspond to an actual identifier
    • be unable to parse the surrogate and result in an error Therefore, choose your custom info type name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE. Structure is documented below.
    context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContext
    A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and unstructured ContentItems. Structure is documented below.
    cryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKey
    The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. Structure is documented below.
    surrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType
    The custom info type to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom info type followed by the number of characters comprising the surrogate. The following scheme defines the format: {info type name}({surrogate character count}):{surrogate} For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom info type 'Surrogate'. This facilitates reversal of the surrogate when it occurs in free text. Note: For record transformations where the entire cell in a table is being transformed, surrogates are not mandatory. Surrogates are used to denote the location of the token and are necessary for re-identification in free form text. In order for inspection to work properly, the name of this info type must not occur naturally anywhere in your data; otherwise, inspection may either

    • reverse a surrogate that does not correspond to an actual identifier
    • be unable to parse the surrogate and result in an error Therefore, choose your custom info type name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE. Structure is documented below.
    context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContext
    A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and unstructured ContentItems. Structure is documented below.
    crypto_key PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKey
    The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. Structure is documented below.
    surrogate_info_type PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType
    The custom info type to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom info type followed by the number of characters comprising the surrogate. The following scheme defines the format: {info type name}({surrogate character count}):{surrogate} For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom info type 'Surrogate'. This facilitates reversal of the surrogate when it occurs in free text. Note: For record transformations where the entire cell in a table is being transformed, surrogates are not mandatory. Surrogates are used to denote the location of the token and are necessary for re-identification in free form text. In order for inspection to work properly, the name of this info type must not occur naturally anywhere in your data; otherwise, inspection may either

    • reverse a surrogate that does not correspond to an actual identifier
    • be unable to parse the surrogate and result in an error Therefore, choose your custom info type name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE. Structure is documented below.
    context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContext
    A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and unstructured ContentItems. Structure is documented below.
    cryptoKey Property Map
    The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. Structure is documented below.
    surrogateInfoType Property Map
    The custom info type to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom info type followed by the number of characters comprising the surrogate. The following scheme defines the format: {info type name}({surrogate character count}):{surrogate} For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom info type 'Surrogate'. This facilitates reversal of the surrogate when it occurs in free text. Note: For record transformations where the entire cell in a table is being transformed, surrogates are not mandatory. Surrogates are used to denote the location of the token and are necessary for re-identification in free form text. In order for inspection to work properly, the name of this info type must not occur naturally anywhere in your data; otherwise, inspection may either

    • reverse a surrogate that does not correspond to an actual identifier
    • be unable to parse the surrogate and result in an error Therefore, choose your custom info type name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE. Structure is documented below.
    context Property Map
    A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and unstructured ContentItems. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContext, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigContextArgs

    Name string
    Name describing the field.
    Name string
    Name describing the field.
    name String
    Name describing the field.
    name string
    Name describing the field.
    name str
    Name describing the field.
    name String
    Name describing the field.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKey, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyArgs

    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient_ PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kms_wrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped Property Map
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient Property Map
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped Property Map
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrappedArgs

    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    crypto_key_name str
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrapped_key str
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs

    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name str
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrappedArgs

    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key str
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeArgs

    Name string
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    SensitivityScore PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    Version string
    Optional version name for this InfoType.
    Name string
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    SensitivityScore PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    Version string
    Optional version name for this InfoType.
    name String
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivityScore PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version String
    Optional version name for this InfoType.
    name string
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivityScore PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version string
    Optional version name for this InfoType.
    name str
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivity_score PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version str
    Optional version name for this InfoType.
    name String
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivityScore Property Map
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version String
    Optional version name for this InfoType.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScore, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScoreArgs

    Score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    Score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score String
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score str
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score String
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfig, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigArgs

    cryptoKey Property Map
    The key used by the encryption function. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKey, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyArgs

    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient_ PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kms_wrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped Property Map
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient Property Map
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped Property Map
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrappedArgs

    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    crypto_key_name str
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrapped_key str
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransientArgs

    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name str
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrappedArgs

    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key str
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfig, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigArgs

    CryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey
    The key used by the encryption algorithm. Structure is documented below.
    CommonAlphabet string
    Common alphabets. Only one of this, custom_alphabet or radix must be specified. Possible values are: NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC, ALPHA_NUMERIC.
    Context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContext
    The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and non-structured ContentItems. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that:
    • a 64 bit integer is encoded followed by a single byte of value 1
    • a string is encoded in UTF-8 format followed by a single byte of value 2 Structure is documented below.
    CustomAlphabet string
    This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 95]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~`!@#$%^&*()_-+={[}]|:;"'<,>.?/. Only one of this, common_alphabet or radix must be specified.
    Radix int
    The native way to select the alphabet. Must be in the range [2, 95]. Only one of this, custom_alphabet or common_alphabet must be specified.
    SurrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType
    The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType SurrogateType. This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE Structure is documented below.
    CryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey
    The key used by the encryption algorithm. Structure is documented below.
    CommonAlphabet string
    Common alphabets. Only one of this, custom_alphabet or radix must be specified. Possible values are: NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC, ALPHA_NUMERIC.
    Context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContext
    The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and non-structured ContentItems. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that:
    • a 64 bit integer is encoded followed by a single byte of value 1
    • a string is encoded in UTF-8 format followed by a single byte of value 2 Structure is documented below.
    CustomAlphabet string
    This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 95]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~`!@#$%^&*()_-+={[}]|:;"'<,>.?/. Only one of this, common_alphabet or radix must be specified.
    Radix int
    The native way to select the alphabet. Must be in the range [2, 95]. Only one of this, custom_alphabet or common_alphabet must be specified.
    SurrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType
    The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType SurrogateType. This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE Structure is documented below.
    cryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey
    The key used by the encryption algorithm. Structure is documented below.
    commonAlphabet String
    Common alphabets. Only one of this, custom_alphabet or radix must be specified. Possible values are: NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC, ALPHA_NUMERIC.
    context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContext
    The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and non-structured ContentItems. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that:
    • a 64 bit integer is encoded followed by a single byte of value 1
    • a string is encoded in UTF-8 format followed by a single byte of value 2 Structure is documented below.
    customAlphabet String
    This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 95]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~`!@#$%^&*()_-+={[}]|:;"'<,>.?/. Only one of this, common_alphabet or radix must be specified.
    radix Integer
    The native way to select the alphabet. Must be in the range [2, 95]. Only one of this, custom_alphabet or common_alphabet must be specified.
    surrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType
    The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType SurrogateType. This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE Structure is documented below.
    cryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey
    The key used by the encryption algorithm. Structure is documented below.
    commonAlphabet string
    Common alphabets. Only one of this, custom_alphabet or radix must be specified. Possible values are: NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC, ALPHA_NUMERIC.
    context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContext
    The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and non-structured ContentItems. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that:
    • a 64 bit integer is encoded followed by a single byte of value 1
    • a string is encoded in UTF-8 format followed by a single byte of value 2 Structure is documented below.
    customAlphabet string
    This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 95]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~`!@#$%^&*()_-+={[}]|:;"'<,>.?/. Only one of this, common_alphabet or radix must be specified.
    radix number
    The native way to select the alphabet. Must be in the range [2, 95]. Only one of this, custom_alphabet or common_alphabet must be specified.
    surrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType
    The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType SurrogateType. This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE Structure is documented below.
    crypto_key PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey
    The key used by the encryption algorithm. Structure is documented below.
    common_alphabet str
    Common alphabets. Only one of this, custom_alphabet or radix must be specified. Possible values are: NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC, ALPHA_NUMERIC.
    context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContext
    The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and non-structured ContentItems. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that:
    • a 64 bit integer is encoded followed by a single byte of value 1
    • a string is encoded in UTF-8 format followed by a single byte of value 2 Structure is documented below.
    custom_alphabet str
    This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 95]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~`!@#$%^&*()_-+={[}]|:;"'<,>.?/. Only one of this, common_alphabet or radix must be specified.
    radix int
    The native way to select the alphabet. Must be in the range [2, 95]. Only one of this, custom_alphabet or common_alphabet must be specified.
    surrogate_info_type PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType
    The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType SurrogateType. This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE Structure is documented below.
    cryptoKey Property Map
    The key used by the encryption algorithm. Structure is documented below.
    commonAlphabet String
    Common alphabets. Only one of this, custom_alphabet or radix must be specified. Possible values are: NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC, ALPHA_NUMERIC.
    context Property Map
    The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and non-structured ContentItems. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that:
    • a 64 bit integer is encoded followed by a single byte of value 1
    • a string is encoded in UTF-8 format followed by a single byte of value 2 Structure is documented below.
    customAlphabet String
    This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 95]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~`!@#$%^&*()_-+={[}]|:;"'<,>.?/. Only one of this, common_alphabet or radix must be specified.
    radix Number
    The native way to select the alphabet. Must be in the range [2, 95]. Only one of this, custom_alphabet or common_alphabet must be specified.
    surrogateInfoType Property Map
    The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType SurrogateType. This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContext, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContextArgs

    Name string
    Name describing the field.
    Name string
    Name describing the field.
    name String
    Name describing the field.
    name string
    Name describing the field.
    name str
    Name describing the field.
    name String
    Name describing the field.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyArgs

    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient_ PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kms_wrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped Property Map
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient Property Map
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped Property Map
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrappedArgs

    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    crypto_key_name str
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrapped_key str
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransientArgs

    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name str
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrappedArgs

    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key str
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeArgs

    Name string
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    SensitivityScore PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    Version string
    Optional version name for this InfoType.
    Name string
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    SensitivityScore PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    Version string
    Optional version name for this InfoType.
    name String
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivityScore PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version String
    Optional version name for this InfoType.
    name string
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivityScore PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version string
    Optional version name for this InfoType.
    name str
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivity_score PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version str
    Optional version name for this InfoType.
    name String
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivityScore Property Map
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version String
    Optional version name for this InfoType.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScore, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScoreArgs

    Score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    Score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score String
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score str
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score String
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfig, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigArgs

    LowerBoundDays int
    For example, -5 means shift date to at most 5 days back in the past.
    UpperBoundDays int
    Range of shift in days. Actual shift will be selected at random within this range (inclusive ends). Negative means shift to earlier in time. Must not be more than 365250 days (1000 years) each direction. For example, 3 means shift date to at most 3 days into the future.
    Context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContext
    Points to the field that contains the context, for example, an entity id. If set, must also set cryptoKey. If set, shift will be consistent for the given context. Structure is documented below.
    CryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKey
    Causes the shift to be computed based on this key and the context. This results in the same shift for the same context and cryptoKey. If set, must also set context. Can only be applied to table items. Structure is documented below.
    LowerBoundDays int
    For example, -5 means shift date to at most 5 days back in the past.
    UpperBoundDays int
    Range of shift in days. Actual shift will be selected at random within this range (inclusive ends). Negative means shift to earlier in time. Must not be more than 365250 days (1000 years) each direction. For example, 3 means shift date to at most 3 days into the future.
    Context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContext
    Points to the field that contains the context, for example, an entity id. If set, must also set cryptoKey. If set, shift will be consistent for the given context. Structure is documented below.
    CryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKey
    Causes the shift to be computed based on this key and the context. This results in the same shift for the same context and cryptoKey. If set, must also set context. Can only be applied to table items. Structure is documented below.
    lowerBoundDays Integer
    For example, -5 means shift date to at most 5 days back in the past.
    upperBoundDays Integer
    Range of shift in days. Actual shift will be selected at random within this range (inclusive ends). Negative means shift to earlier in time. Must not be more than 365250 days (1000 years) each direction. For example, 3 means shift date to at most 3 days into the future.
    context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContext
    Points to the field that contains the context, for example, an entity id. If set, must also set cryptoKey. If set, shift will be consistent for the given context. Structure is documented below.
    cryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKey
    Causes the shift to be computed based on this key and the context. This results in the same shift for the same context and cryptoKey. If set, must also set context. Can only be applied to table items. Structure is documented below.
    lowerBoundDays number
    For example, -5 means shift date to at most 5 days back in the past.
    upperBoundDays number
    Range of shift in days. Actual shift will be selected at random within this range (inclusive ends). Negative means shift to earlier in time. Must not be more than 365250 days (1000 years) each direction. For example, 3 means shift date to at most 3 days into the future.
    context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContext
    Points to the field that contains the context, for example, an entity id. If set, must also set cryptoKey. If set, shift will be consistent for the given context. Structure is documented below.
    cryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKey
    Causes the shift to be computed based on this key and the context. This results in the same shift for the same context and cryptoKey. If set, must also set context. Can only be applied to table items. Structure is documented below.
    lower_bound_days int
    For example, -5 means shift date to at most 5 days back in the past.
    upper_bound_days int
    Range of shift in days. Actual shift will be selected at random within this range (inclusive ends). Negative means shift to earlier in time. Must not be more than 365250 days (1000 years) each direction. For example, 3 means shift date to at most 3 days into the future.
    context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContext
    Points to the field that contains the context, for example, an entity id. If set, must also set cryptoKey. If set, shift will be consistent for the given context. Structure is documented below.
    crypto_key PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKey
    Causes the shift to be computed based on this key and the context. This results in the same shift for the same context and cryptoKey. If set, must also set context. Can only be applied to table items. Structure is documented below.
    lowerBoundDays Number
    For example, -5 means shift date to at most 5 days back in the past.
    upperBoundDays Number
    Range of shift in days. Actual shift will be selected at random within this range (inclusive ends). Negative means shift to earlier in time. Must not be more than 365250 days (1000 years) each direction. For example, 3 means shift date to at most 3 days into the future.
    context Property Map
    Points to the field that contains the context, for example, an entity id. If set, must also set cryptoKey. If set, shift will be consistent for the given context. Structure is documented below.
    cryptoKey Property Map
    Causes the shift to be computed based on this key and the context. This results in the same shift for the same context and cryptoKey. If set, must also set context. Can only be applied to table items. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContext, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigContextArgs

    Name string
    Name describing the field.
    Name string
    Name describing the field.
    name String
    Name describing the field.
    name string
    Name describing the field.
    name str
    Name describing the field.
    name String
    Name describing the field.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKey, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyArgs

    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient_ PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kms_wrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped Property Map
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient Property Map
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped Property Map
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrappedArgs

    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    crypto_key_name str
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrapped_key str
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransientArgs

    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name str
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrappedArgs

    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key str
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfig, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigArgs

    BucketSize double
    Size of each bucket (except for minimum and maximum buckets). So if lower_bound = 10, upper_bound = 89, and bucketSize = 10, then the following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
    LowerBound PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBound
    Lower bound value of buckets. All values less than lower_bound are grouped together into a single bucket; for example if lower_bound = 10, then all values less than 10 are replaced with the value "-10". The lower_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    UpperBound PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBound
    Upper bound value of buckets. All values greater than upper_bound are grouped together into a single bucket; for example if upper_bound = 89, then all values greater than 89 are replaced with the value "89+". The upper_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    BucketSize float64
    Size of each bucket (except for minimum and maximum buckets). So if lower_bound = 10, upper_bound = 89, and bucketSize = 10, then the following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
    LowerBound PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBound
    Lower bound value of buckets. All values less than lower_bound are grouped together into a single bucket; for example if lower_bound = 10, then all values less than 10 are replaced with the value "-10". The lower_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    UpperBound PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBound
    Upper bound value of buckets. All values greater than upper_bound are grouped together into a single bucket; for example if upper_bound = 89, then all values greater than 89 are replaced with the value "89+". The upper_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    bucketSize Double
    Size of each bucket (except for minimum and maximum buckets). So if lower_bound = 10, upper_bound = 89, and bucketSize = 10, then the following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
    lowerBound PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBound
    Lower bound value of buckets. All values less than lower_bound are grouped together into a single bucket; for example if lower_bound = 10, then all values less than 10 are replaced with the value "-10". The lower_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    upperBound PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBound
    Upper bound value of buckets. All values greater than upper_bound are grouped together into a single bucket; for example if upper_bound = 89, then all values greater than 89 are replaced with the value "89+". The upper_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    bucketSize number
    Size of each bucket (except for minimum and maximum buckets). So if lower_bound = 10, upper_bound = 89, and bucketSize = 10, then the following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
    lowerBound PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBound
    Lower bound value of buckets. All values less than lower_bound are grouped together into a single bucket; for example if lower_bound = 10, then all values less than 10 are replaced with the value "-10". The lower_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    upperBound PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBound
    Upper bound value of buckets. All values greater than upper_bound are grouped together into a single bucket; for example if upper_bound = 89, then all values greater than 89 are replaced with the value "89+". The upper_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    bucket_size float
    Size of each bucket (except for minimum and maximum buckets). So if lower_bound = 10, upper_bound = 89, and bucketSize = 10, then the following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
    lower_bound PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBound
    Lower bound value of buckets. All values less than lower_bound are grouped together into a single bucket; for example if lower_bound = 10, then all values less than 10 are replaced with the value "-10". The lower_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    upper_bound PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBound
    Upper bound value of buckets. All values greater than upper_bound are grouped together into a single bucket; for example if upper_bound = 89, then all values greater than 89 are replaced with the value "89+". The upper_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    bucketSize Number
    Size of each bucket (except for minimum and maximum buckets). So if lower_bound = 10, upper_bound = 89, and bucketSize = 10, then the following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
    lowerBound Property Map
    Lower bound value of buckets. All values less than lower_bound are grouped together into a single bucket; for example if lower_bound = 10, then all values less than 10 are replaced with the value "-10". The lower_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    upperBound Property Map
    Upper bound value of buckets. All values greater than upper_bound are grouped together into a single bucket; for example if upper_bound = 89, then all values greater than 89 are replaced with the value "89+". The upper_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBound, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundArgs

    FloatValue double
    A float value.
    IntegerValue string
    An integer value (int64 format)
    FloatValue float64
    A float value.
    IntegerValue string
    An integer value (int64 format)
    floatValue Double
    A float value.
    integerValue String
    An integer value (int64 format)
    floatValue number
    A float value.
    integerValue string
    An integer value (int64 format)
    float_value float
    A float value.
    integer_value str
    An integer value (int64 format)
    floatValue Number
    A float value.
    integerValue String
    An integer value (int64 format)

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBound, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundArgs

    FloatValue double
    A float value.
    IntegerValue string
    An integer value (int64 format)
    FloatValue float64
    A float value.
    IntegerValue string
    An integer value (int64 format)
    floatValue Double
    A float value.
    integerValue String
    An integer value (int64 format)
    floatValue number
    A float value.
    integerValue string
    An integer value (int64 format)
    float_value float
    A float value.
    integer_value str
    An integer value (int64 format)
    floatValue Number
    A float value.
    integerValue String
    An integer value (int64 format)

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfig, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigArgs

    NewValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValue
    Replace each input value with a given value. The new_value block must only contain one argument. For example when replacing the contents of a string-type field, only string_value should be set. Structure is documented below.
    NewValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValue
    Replace each input value with a given value. The new_value block must only contain one argument. For example when replacing the contents of a string-type field, only string_value should be set. Structure is documented below.
    newValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValue
    Replace each input value with a given value. The new_value block must only contain one argument. For example when replacing the contents of a string-type field, only string_value should be set. Structure is documented below.
    newValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValue
    Replace each input value with a given value. The new_value block must only contain one argument. For example when replacing the contents of a string-type field, only string_value should be set. Structure is documented below.
    new_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValue
    Replace each input value with a given value. The new_value block must only contain one argument. For example when replacing the contents of a string-type field, only string_value should be set. Structure is documented below.
    newValue Property Map
    Replace each input value with a given value. The new_value block must only contain one argument. For example when replacing the contents of a string-type field, only string_value should be set. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueArgs

    BooleanValue bool
    A boolean value.
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue double
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    BooleanValue bool
    A boolean value.
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue float64
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue Boolean
    A boolean value.
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Double
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue boolean
    A boolean value.
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue number
    A float value.
    integerValue string
    An integer value (int64 format)
    stringValue string
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    boolean_value bool
    A boolean value.
    date_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    day_of_week_value str
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    float_value float
    A float value.
    integer_value str
    An integer value (int64 format)
    string_value str
    A string value.
    time_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValue
    Represents a time of day. Structure is documented below.
    timestamp_value str
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue Boolean
    A boolean value.
    dateValue Property Map
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Number
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue Property Map
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueDateValueArgs

    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Integer
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Integer
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Integer
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceConfigNewValueTimeValueArgs

    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Integer
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Integer
    Minutes of hour of day. Must be from 0 to 59.
    nanos Integer
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Integer
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes number
    Minutes of hour of day. Must be from 0 to 59.
    nanos number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes int
    Minutes of hour of day. Must be from 0 to 59.
    nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Number
    Minutes of hour of day. Must be from 0 to 59.
    nanos Number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfig, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigArgs

    WordList PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordList
    A list of words to select from for random replacement. The limits page contains details about the size limits of dictionaries. Structure is documented below.
    WordList PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordList
    A list of words to select from for random replacement. The limits page contains details about the size limits of dictionaries. Structure is documented below.
    wordList PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordList
    A list of words to select from for random replacement. The limits page contains details about the size limits of dictionaries. Structure is documented below.
    wordList PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordList
    A list of words to select from for random replacement. The limits page contains details about the size limits of dictionaries. Structure is documented below.
    word_list PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordList
    A list of words to select from for random replacement. The limits page contains details about the size limits of dictionaries. Structure is documented below.
    wordList Property Map
    A list of words to select from for random replacement. The limits page contains details about the size limits of dictionaries. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordList, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceDictionaryConfigWordListArgs

    Words List<string>
    Words or phrases defining the dictionary. The dictionary must contain at least one phrase and every phrase must contain at least 2 characters that are letters or digits.
    Words []string
    Words or phrases defining the dictionary. The dictionary must contain at least one phrase and every phrase must contain at least 2 characters that are letters or digits.
    words List<String>
    Words or phrases defining the dictionary. The dictionary must contain at least one phrase and every phrase must contain at least 2 characters that are letters or digits.
    words string[]
    Words or phrases defining the dictionary. The dictionary must contain at least one phrase and every phrase must contain at least 2 characters that are letters or digits.
    words Sequence[str]
    Words or phrases defining the dictionary. The dictionary must contain at least one phrase and every phrase must contain at least 2 characters that are letters or digits.
    words List<String>
    Words or phrases defining the dictionary. The dictionary must contain at least one phrase and every phrase must contain at least 2 characters that are letters or digits.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfig, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationTimePartConfigArgs

    PartToExtract string
    The part of the time to keep. Possible values are: YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY.
    PartToExtract string
    The part of the time to keep. Possible values are: YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY.
    partToExtract String
    The part of the time to keep. Possible values are: YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY.
    partToExtract string
    The part of the time to keep. Possible values are: YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY.
    part_to_extract str
    The part of the time to keep. Possible values are: YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY.
    partToExtract String
    The part of the time to keep. Possible values are: YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformation, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationArgs

    BucketingConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfig
    Generalization function that buckets values based on ranges. The ranges and replacement values are dynamically provided by the user for custom behavior, such as 1-30 > LOW 31-65 > MEDIUM 66-100 > HIGH This can be used on data of type: number, long, string, timestamp. If the provided value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    CharacterMaskConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfig
    Partially mask a string by replacing a given number of characters with a fixed character. Masking can start from the beginning or end of the string. This can be used on data of any type (numbers, longs, and so on) and when de-identifying structured data we'll attempt to preserve the original data's type. (This allows you to take a long like 123 and modify it to a string like **3). Structure is documented below.
    CryptoDeterministicConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfig
    Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. Structure is documented below.
    CryptoHashConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfig
    Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. Outputs a base64 encoded representation of the hashed output (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only string and integer values can be hashed. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Structure is documented below.
    CryptoReplaceFfxFpeConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfig
    Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the content.reidentify API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. Structure is documented below.
    DateShiftConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfig
    Shifts dates by random number of days, with option to be consistent for the same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting to learn more. Structure is documented below.
    FixedSizeBucketingConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfig
    Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and upper_bound = 20, all values that are within this bucket will be replaced with "10-20". This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    RedactConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationRedactConfig
    Redact a given value. For example, if used with an InfoTypeTransformation transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the output would be 'My phone number is '.
    ReplaceConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfig
    Replace each input value with a given value. Structure is documented below.
    ReplaceDictionaryConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfig
    Replace with a value randomly drawn (with replacement) from a dictionary. Structure is documented below.
    TimePartConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationTimePartConfig
    For use with Date, Timestamp, and TimeOfDay, extract or preserve a portion of the value. Structure is documented below.
    BucketingConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfig
    Generalization function that buckets values based on ranges. The ranges and replacement values are dynamically provided by the user for custom behavior, such as 1-30 > LOW 31-65 > MEDIUM 66-100 > HIGH This can be used on data of type: number, long, string, timestamp. If the provided value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    CharacterMaskConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfig
    Partially mask a string by replacing a given number of characters with a fixed character. Masking can start from the beginning or end of the string. This can be used on data of any type (numbers, longs, and so on) and when de-identifying structured data we'll attempt to preserve the original data's type. (This allows you to take a long like 123 and modify it to a string like **3). Structure is documented below.
    CryptoDeterministicConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfig
    Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. Structure is documented below.
    CryptoHashConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfig
    Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. Outputs a base64 encoded representation of the hashed output (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only string and integer values can be hashed. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Structure is documented below.
    CryptoReplaceFfxFpeConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfig
    Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the content.reidentify API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. Structure is documented below.
    DateShiftConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfig
    Shifts dates by random number of days, with option to be consistent for the same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting to learn more. Structure is documented below.
    FixedSizeBucketingConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfig
    Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and upper_bound = 20, all values that are within this bucket will be replaced with "10-20". This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    RedactConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationRedactConfig
    Redact a given value. For example, if used with an InfoTypeTransformation transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the output would be 'My phone number is '.
    ReplaceConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfig
    Replace each input value with a given value. Structure is documented below.
    ReplaceDictionaryConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfig
    Replace with a value randomly drawn (with replacement) from a dictionary. Structure is documented below.
    TimePartConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationTimePartConfig
    For use with Date, Timestamp, and TimeOfDay, extract or preserve a portion of the value. Structure is documented below.
    bucketingConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfig
    Generalization function that buckets values based on ranges. The ranges and replacement values are dynamically provided by the user for custom behavior, such as 1-30 > LOW 31-65 > MEDIUM 66-100 > HIGH This can be used on data of type: number, long, string, timestamp. If the provided value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    characterMaskConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfig
    Partially mask a string by replacing a given number of characters with a fixed character. Masking can start from the beginning or end of the string. This can be used on data of any type (numbers, longs, and so on) and when de-identifying structured data we'll attempt to preserve the original data's type. (This allows you to take a long like 123 and modify it to a string like **3). Structure is documented below.
    cryptoDeterministicConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfig
    Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. Structure is documented below.
    cryptoHashConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfig
    Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. Outputs a base64 encoded representation of the hashed output (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only string and integer values can be hashed. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Structure is documented below.
    cryptoReplaceFfxFpeConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfig
    Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the content.reidentify API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. Structure is documented below.
    dateShiftConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfig
    Shifts dates by random number of days, with option to be consistent for the same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting to learn more. Structure is documented below.
    fixedSizeBucketingConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfig
    Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and upper_bound = 20, all values that are within this bucket will be replaced with "10-20". This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    redactConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationRedactConfig
    Redact a given value. For example, if used with an InfoTypeTransformation transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the output would be 'My phone number is '.
    replaceConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfig
    Replace each input value with a given value. Structure is documented below.
    replaceDictionaryConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfig
    Replace with a value randomly drawn (with replacement) from a dictionary. Structure is documented below.
    timePartConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationTimePartConfig
    For use with Date, Timestamp, and TimeOfDay, extract or preserve a portion of the value. Structure is documented below.
    bucketingConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfig
    Generalization function that buckets values based on ranges. The ranges and replacement values are dynamically provided by the user for custom behavior, such as 1-30 > LOW 31-65 > MEDIUM 66-100 > HIGH This can be used on data of type: number, long, string, timestamp. If the provided value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    characterMaskConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfig
    Partially mask a string by replacing a given number of characters with a fixed character. Masking can start from the beginning or end of the string. This can be used on data of any type (numbers, longs, and so on) and when de-identifying structured data we'll attempt to preserve the original data's type. (This allows you to take a long like 123 and modify it to a string like **3). Structure is documented below.
    cryptoDeterministicConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfig
    Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. Structure is documented below.
    cryptoHashConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfig
    Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. Outputs a base64 encoded representation of the hashed output (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only string and integer values can be hashed. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Structure is documented below.
    cryptoReplaceFfxFpeConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfig
    Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the content.reidentify API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. Structure is documented below.
    dateShiftConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfig
    Shifts dates by random number of days, with option to be consistent for the same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting to learn more. Structure is documented below.
    fixedSizeBucketingConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfig
    Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and upper_bound = 20, all values that are within this bucket will be replaced with "10-20". This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    redactConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationRedactConfig
    Redact a given value. For example, if used with an InfoTypeTransformation transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the output would be 'My phone number is '.
    replaceConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfig
    Replace each input value with a given value. Structure is documented below.
    replaceDictionaryConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfig
    Replace with a value randomly drawn (with replacement) from a dictionary. Structure is documented below.
    timePartConfig PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationTimePartConfig
    For use with Date, Timestamp, and TimeOfDay, extract or preserve a portion of the value. Structure is documented below.
    bucketing_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfig
    Generalization function that buckets values based on ranges. The ranges and replacement values are dynamically provided by the user for custom behavior, such as 1-30 > LOW 31-65 > MEDIUM 66-100 > HIGH This can be used on data of type: number, long, string, timestamp. If the provided value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    character_mask_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfig
    Partially mask a string by replacing a given number of characters with a fixed character. Masking can start from the beginning or end of the string. This can be used on data of any type (numbers, longs, and so on) and when de-identifying structured data we'll attempt to preserve the original data's type. (This allows you to take a long like 123 and modify it to a string like **3). Structure is documented below.
    crypto_deterministic_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfig
    Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. Structure is documented below.
    crypto_hash_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfig
    Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. Outputs a base64 encoded representation of the hashed output (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only string and integer values can be hashed. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Structure is documented below.
    crypto_replace_ffx_fpe_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfig
    Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the content.reidentify API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. Structure is documented below.
    date_shift_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfig
    Shifts dates by random number of days, with option to be consistent for the same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting to learn more. Structure is documented below.
    fixed_size_bucketing_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfig
    Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and upper_bound = 20, all values that are within this bucket will be replaced with "10-20". This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    redact_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationRedactConfig
    Redact a given value. For example, if used with an InfoTypeTransformation transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the output would be 'My phone number is '.
    replace_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfig
    Replace each input value with a given value. Structure is documented below.
    replace_dictionary_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfig
    Replace with a value randomly drawn (with replacement) from a dictionary. Structure is documented below.
    time_part_config PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationTimePartConfig
    For use with Date, Timestamp, and TimeOfDay, extract or preserve a portion of the value. Structure is documented below.
    bucketingConfig Property Map
    Generalization function that buckets values based on ranges. The ranges and replacement values are dynamically provided by the user for custom behavior, such as 1-30 > LOW 31-65 > MEDIUM 66-100 > HIGH This can be used on data of type: number, long, string, timestamp. If the provided value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    characterMaskConfig Property Map
    Partially mask a string by replacing a given number of characters with a fixed character. Masking can start from the beginning or end of the string. This can be used on data of any type (numbers, longs, and so on) and when de-identifying structured data we'll attempt to preserve the original data's type. (This allows you to take a long like 123 and modify it to a string like **3). Structure is documented below.
    cryptoDeterministicConfig Property Map
    Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. Structure is documented below.
    cryptoHashConfig Property Map
    Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. Outputs a base64 encoded representation of the hashed output (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only string and integer values can be hashed. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Structure is documented below.
    cryptoReplaceFfxFpeConfig Property Map
    Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the content.reidentify API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. Structure is documented below.
    dateShiftConfig Property Map
    Shifts dates by random number of days, with option to be consistent for the same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting to learn more. Structure is documented below.
    fixedSizeBucketingConfig Property Map
    Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and upper_bound = 20, all values that are within this bucket will be replaced with "10-20". This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. Structure is documented below.
    redactConfig Property Map
    Redact a given value. For example, if used with an InfoTypeTransformation transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the output would be 'My phone number is '.
    replaceConfig Property Map
    Replace each input value with a given value. Structure is documented below.
    replaceDictionaryConfig Property Map
    Replace with a value randomly drawn (with replacement) from a dictionary. Structure is documented below.
    timePartConfig Property Map
    For use with Date, Timestamp, and TimeOfDay, extract or preserve a portion of the value. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfig, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigArgs

    Buckets List<PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucket>
    Set of buckets. Ranges must be non-overlapping. Bucket is represented as a range, along with replacement values. Structure is documented below.
    Buckets []PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucket
    Set of buckets. Ranges must be non-overlapping. Bucket is represented as a range, along with replacement values. Structure is documented below.
    buckets List<PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucket>
    Set of buckets. Ranges must be non-overlapping. Bucket is represented as a range, along with replacement values. Structure is documented below.
    buckets PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucket[]
    Set of buckets. Ranges must be non-overlapping. Bucket is represented as a range, along with replacement values. Structure is documented below.
    buckets Sequence[PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucket]
    Set of buckets. Ranges must be non-overlapping. Bucket is represented as a range, along with replacement values. Structure is documented below.
    buckets List<Property Map>
    Set of buckets. Ranges must be non-overlapping. Bucket is represented as a range, along with replacement values. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucket, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketArgs

    ReplacementValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValue
    Replacement value for this bucket. The replacement_value block must only contain one argument. Structure is documented below.
    Max PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMax
    Upper bound of the range, exclusive; type must match min. The max block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    Min PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMin
    Lower bound of the range, inclusive. Type should be the same as max if used. The min block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    ReplacementValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValue
    Replacement value for this bucket. The replacement_value block must only contain one argument. Structure is documented below.
    Max PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMax
    Upper bound of the range, exclusive; type must match min. The max block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    Min PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMin
    Lower bound of the range, inclusive. Type should be the same as max if used. The min block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    replacementValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValue
    Replacement value for this bucket. The replacement_value block must only contain one argument. Structure is documented below.
    max PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMax
    Upper bound of the range, exclusive; type must match min. The max block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    min PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMin
    Lower bound of the range, inclusive. Type should be the same as max if used. The min block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    replacementValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValue
    Replacement value for this bucket. The replacement_value block must only contain one argument. Structure is documented below.
    max PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMax
    Upper bound of the range, exclusive; type must match min. The max block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    min PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMin
    Lower bound of the range, inclusive. Type should be the same as max if used. The min block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    replacement_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValue
    Replacement value for this bucket. The replacement_value block must only contain one argument. Structure is documented below.
    max PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMax
    Upper bound of the range, exclusive; type must match min. The max block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    min PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMin
    Lower bound of the range, inclusive. Type should be the same as max if used. The min block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    replacementValue Property Map
    Replacement value for this bucket. The replacement_value block must only contain one argument. Structure is documented below.
    max Property Map
    Upper bound of the range, exclusive; type must match min. The max block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.
    min Property Map
    Lower bound of the range, inclusive. Type should be the same as max if used. The min block must only contain one argument. See the bucketing_config block description for more information about choosing a data type. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMax, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxArgs

    BooleanValue bool
    A boolean value.
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue double
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    BooleanValue bool
    A boolean value.
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue float64
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue Boolean
    A boolean value.
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Double
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue boolean
    A boolean value.
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue number
    A float value.
    integerValue string
    An integer value (int64 format)
    stringValue string
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    boolean_value bool
    A boolean value.
    date_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    day_of_week_value str
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    float_value float
    A float value.
    integer_value str
    An integer value (int64 format)
    string_value str
    A string value.
    time_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValue
    Represents a time of day. Structure is documented below.
    timestamp_value str
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue Boolean
    A boolean value.
    dateValue Property Map
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Number
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue Property Map
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxDateValueArgs

    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Integer
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Integer
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Integer
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMaxTimeValueArgs

    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Integer
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Integer
    Minutes of hour of day. Must be from 0 to 59.
    nanos Integer
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Integer
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes number
    Minutes of hour of day. Must be from 0 to 59.
    nanos number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes int
    Minutes of hour of day. Must be from 0 to 59.
    nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Number
    Minutes of hour of day. Must be from 0 to 59.
    nanos Number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMin, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinArgs

    BooleanValue bool
    A boolean value.
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue double
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    BooleanValue bool
    A boolean value.
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue float64
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue Boolean
    A boolean value.
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Double
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue boolean
    A boolean value.
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue number
    A float value.
    integerValue string
    An integer value (int64 format)
    stringValue string
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    boolean_value bool
    A boolean value.
    date_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    day_of_week_value str
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    float_value float
    A float value.
    integer_value str
    An integer value (int64 format)
    string_value str
    A string value.
    time_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValue
    Represents a time of day. Structure is documented below.
    timestamp_value str
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue Boolean
    A boolean value.
    dateValue Property Map
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Number
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue Property Map
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinDateValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinDateValueArgs

    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Integer
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Integer
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Integer
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketMinTimeValueArgs

    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Integer
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Integer
    Minutes of hour of day. Must be from 0 to 59.
    nanos Integer
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Integer
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes number
    Minutes of hour of day. Must be from 0 to 59.
    nanos number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes int
    Minutes of hour of day. Must be from 0 to 59.
    nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Number
    Minutes of hour of day. Must be from 0 to 59.
    nanos Number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueArgs

    BooleanValue bool
    A boolean value.
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue double
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    BooleanValue bool
    A boolean value.
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue float64
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue Boolean
    A boolean value.
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Double
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue boolean
    A boolean value.
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue number
    A float value.
    integerValue string
    An integer value (int64 format)
    stringValue string
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    boolean_value bool
    A boolean value.
    date_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    day_of_week_value str
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    float_value float
    A float value.
    integer_value str
    An integer value (int64 format)
    string_value str
    A string value.
    time_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValue
    Represents a time of day. Structure is documented below.
    timestamp_value str
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue Boolean
    A boolean value.
    dateValue Property Map
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Number
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue Property Map
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueDateValueArgs

    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Integer
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Integer
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Integer
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationBucketingConfigBucketReplacementValueTimeValueArgs

    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Integer
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Integer
    Minutes of hour of day. Must be from 0 to 59.
    nanos Integer
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Integer
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes number
    Minutes of hour of day. Must be from 0 to 59.
    nanos number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes int
    Minutes of hour of day. Must be from 0 to 59.
    nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Number
    Minutes of hour of day. Must be from 0 to 59.
    nanos Number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfig, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfigArgs

    CharactersToIgnores List<PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnore>
    Characters to skip when doing de-identification of a value. These will be left alone and skipped. Structure is documented below.
    MaskingCharacter string
    Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string such as ZIP code or credit card number. This string must have a length of 1. If not supplied, this value defaults to * for strings, and 0 for digits.
    NumberToMask int
    Number of characters to mask. If not set, all matching chars will be masked. Skipped characters do not count towards this tally. If number_to_mask is negative, this denotes inverse masking. Cloud DLP masks all but a number of characters. For example, suppose you have the following values:
    ReverseOrder bool
    Mask characters in reverse order. For example, if masking_character is 0, number_to_mask is 14, and reverse_order is false, then the input string 1234-5678-9012-3456 is masked as 00000000000000-3456.
    CharactersToIgnores []PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnore
    Characters to skip when doing de-identification of a value. These will be left alone and skipped. Structure is documented below.
    MaskingCharacter string
    Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string such as ZIP code or credit card number. This string must have a length of 1. If not supplied, this value defaults to * for strings, and 0 for digits.
    NumberToMask int
    Number of characters to mask. If not set, all matching chars will be masked. Skipped characters do not count towards this tally. If number_to_mask is negative, this denotes inverse masking. Cloud DLP masks all but a number of characters. For example, suppose you have the following values:
    ReverseOrder bool
    Mask characters in reverse order. For example, if masking_character is 0, number_to_mask is 14, and reverse_order is false, then the input string 1234-5678-9012-3456 is masked as 00000000000000-3456.
    charactersToIgnores List<PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnore>
    Characters to skip when doing de-identification of a value. These will be left alone and skipped. Structure is documented below.
    maskingCharacter String
    Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string such as ZIP code or credit card number. This string must have a length of 1. If not supplied, this value defaults to * for strings, and 0 for digits.
    numberToMask Integer
    Number of characters to mask. If not set, all matching chars will be masked. Skipped characters do not count towards this tally. If number_to_mask is negative, this denotes inverse masking. Cloud DLP masks all but a number of characters. For example, suppose you have the following values:
    reverseOrder Boolean
    Mask characters in reverse order. For example, if masking_character is 0, number_to_mask is 14, and reverse_order is false, then the input string 1234-5678-9012-3456 is masked as 00000000000000-3456.
    charactersToIgnores PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnore[]
    Characters to skip when doing de-identification of a value. These will be left alone and skipped. Structure is documented below.
    maskingCharacter string
    Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string such as ZIP code or credit card number. This string must have a length of 1. If not supplied, this value defaults to * for strings, and 0 for digits.
    numberToMask number
    Number of characters to mask. If not set, all matching chars will be masked. Skipped characters do not count towards this tally. If number_to_mask is negative, this denotes inverse masking. Cloud DLP masks all but a number of characters. For example, suppose you have the following values:
    reverseOrder boolean
    Mask characters in reverse order. For example, if masking_character is 0, number_to_mask is 14, and reverse_order is false, then the input string 1234-5678-9012-3456 is masked as 00000000000000-3456.
    characters_to_ignores Sequence[PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnore]
    Characters to skip when doing de-identification of a value. These will be left alone and skipped. Structure is documented below.
    masking_character str
    Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string such as ZIP code or credit card number. This string must have a length of 1. If not supplied, this value defaults to * for strings, and 0 for digits.
    number_to_mask int
    Number of characters to mask. If not set, all matching chars will be masked. Skipped characters do not count towards this tally. If number_to_mask is negative, this denotes inverse masking. Cloud DLP masks all but a number of characters. For example, suppose you have the following values:
    reverse_order bool
    Mask characters in reverse order. For example, if masking_character is 0, number_to_mask is 14, and reverse_order is false, then the input string 1234-5678-9012-3456 is masked as 00000000000000-3456.
    charactersToIgnores List<Property Map>
    Characters to skip when doing de-identification of a value. These will be left alone and skipped. Structure is documented below.
    maskingCharacter String
    Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string such as ZIP code or credit card number. This string must have a length of 1. If not supplied, this value defaults to * for strings, and 0 for digits.
    numberToMask Number
    Number of characters to mask. If not set, all matching chars will be masked. Skipped characters do not count towards this tally. If number_to_mask is negative, this denotes inverse masking. Cloud DLP masks all but a number of characters. For example, suppose you have the following values:
    reverseOrder Boolean
    Mask characters in reverse order. For example, if masking_character is 0, number_to_mask is 14, and reverse_order is false, then the input string 1234-5678-9012-3456 is masked as 00000000000000-3456.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnore, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreArgs

    CharactersToSkip string
    Characters to not transform when masking. Only one of this or common_characters_to_ignore must be specified.
    CommonCharactersToIgnore string
    Common characters to not transform when masking. Useful to avoid removing punctuation. Only one of this or characters_to_skip must be specified. Possible values are: NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE, PUNCTUATION, WHITESPACE.
    CharactersToSkip string
    Characters to not transform when masking. Only one of this or common_characters_to_ignore must be specified.
    CommonCharactersToIgnore string
    Common characters to not transform when masking. Useful to avoid removing punctuation. Only one of this or characters_to_skip must be specified. Possible values are: NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE, PUNCTUATION, WHITESPACE.
    charactersToSkip String
    Characters to not transform when masking. Only one of this or common_characters_to_ignore must be specified.
    commonCharactersToIgnore String
    Common characters to not transform when masking. Useful to avoid removing punctuation. Only one of this or characters_to_skip must be specified. Possible values are: NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE, PUNCTUATION, WHITESPACE.
    charactersToSkip string
    Characters to not transform when masking. Only one of this or common_characters_to_ignore must be specified.
    commonCharactersToIgnore string
    Common characters to not transform when masking. Useful to avoid removing punctuation. Only one of this or characters_to_skip must be specified. Possible values are: NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE, PUNCTUATION, WHITESPACE.
    characters_to_skip str
    Characters to not transform when masking. Only one of this or common_characters_to_ignore must be specified.
    common_characters_to_ignore str
    Common characters to not transform when masking. Useful to avoid removing punctuation. Only one of this or characters_to_skip must be specified. Possible values are: NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE, PUNCTUATION, WHITESPACE.
    charactersToSkip String
    Characters to not transform when masking. Only one of this or common_characters_to_ignore must be specified.
    commonCharactersToIgnore String
    Common characters to not transform when masking. Useful to avoid removing punctuation. Only one of this or characters_to_skip must be specified. Possible values are: NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE, PUNCTUATION, WHITESPACE.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfig, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigArgs

    Context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigContext
    A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and unstructured ContentItems. Structure is documented below.
    CryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKey
    The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. Structure is documented below.
    SurrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType
    The custom info type to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom info type followed by the number of characters comprising the surrogate. The following scheme defines the format: {info type name}({surrogate character count}):{surrogate} For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom info type 'Surrogate'. This facilitates reversal of the surrogate when it occurs in free text. Note: For record transformations where the entire cell in a table is being transformed, surrogates are not mandatory. Surrogates are used to denote the location of the token and are necessary for re-identification in free form text. In order for inspection to work properly, the name of this info type must not occur naturally anywhere in your data; otherwise, inspection may either

    • reverse a surrogate that does not correspond to an actual identifier
    • be unable to parse the surrogate and result in an error Therefore, choose your custom info type name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE. Structure is documented below.
    Context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigContext
    A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and unstructured ContentItems. Structure is documented below.
    CryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKey
    The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. Structure is documented below.
    SurrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType
    The custom info type to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom info type followed by the number of characters comprising the surrogate. The following scheme defines the format: {info type name}({surrogate character count}):{surrogate} For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom info type 'Surrogate'. This facilitates reversal of the surrogate when it occurs in free text. Note: For record transformations where the entire cell in a table is being transformed, surrogates are not mandatory. Surrogates are used to denote the location of the token and are necessary for re-identification in free form text. In order for inspection to work properly, the name of this info type must not occur naturally anywhere in your data; otherwise, inspection may either

    • reverse a surrogate that does not correspond to an actual identifier
    • be unable to parse the surrogate and result in an error Therefore, choose your custom info type name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE. Structure is documented below.
    context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigContext
    A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and unstructured ContentItems. Structure is documented below.
    cryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKey
    The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. Structure is documented below.
    surrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType
    The custom info type to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom info type followed by the number of characters comprising the surrogate. The following scheme defines the format: {info type name}({surrogate character count}):{surrogate} For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom info type 'Surrogate'. This facilitates reversal of the surrogate when it occurs in free text. Note: For record transformations where the entire cell in a table is being transformed, surrogates are not mandatory. Surrogates are used to denote the location of the token and are necessary for re-identification in free form text. In order for inspection to work properly, the name of this info type must not occur naturally anywhere in your data; otherwise, inspection may either

    • reverse a surrogate that does not correspond to an actual identifier
    • be unable to parse the surrogate and result in an error Therefore, choose your custom info type name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE. Structure is documented below.
    context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigContext
    A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and unstructured ContentItems. Structure is documented below.
    cryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKey
    The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. Structure is documented below.
    surrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType
    The custom info type to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom info type followed by the number of characters comprising the surrogate. The following scheme defines the format: {info type name}({surrogate character count}):{surrogate} For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom info type 'Surrogate'. This facilitates reversal of the surrogate when it occurs in free text. Note: For record transformations where the entire cell in a table is being transformed, surrogates are not mandatory. Surrogates are used to denote the location of the token and are necessary for re-identification in free form text. In order for inspection to work properly, the name of this info type must not occur naturally anywhere in your data; otherwise, inspection may either

    • reverse a surrogate that does not correspond to an actual identifier
    • be unable to parse the surrogate and result in an error Therefore, choose your custom info type name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE. Structure is documented below.
    context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigContext
    A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and unstructured ContentItems. Structure is documented below.
    crypto_key PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKey
    The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. Structure is documented below.
    surrogate_info_type PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType
    The custom info type to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom info type followed by the number of characters comprising the surrogate. The following scheme defines the format: {info type name}({surrogate character count}):{surrogate} For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom info type 'Surrogate'. This facilitates reversal of the surrogate when it occurs in free text. Note: For record transformations where the entire cell in a table is being transformed, surrogates are not mandatory. Surrogates are used to denote the location of the token and are necessary for re-identification in free form text. In order for inspection to work properly, the name of this info type must not occur naturally anywhere in your data; otherwise, inspection may either

    • reverse a surrogate that does not correspond to an actual identifier
    • be unable to parse the surrogate and result in an error Therefore, choose your custom info type name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE. Structure is documented below.
    context Property Map
    A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and unstructured ContentItems. Structure is documented below.
    cryptoKey Property Map
    The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. Structure is documented below.
    surrogateInfoType Property Map
    The custom info type to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom info type followed by the number of characters comprising the surrogate. The following scheme defines the format: {info type name}({surrogate character count}):{surrogate} For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom info type 'Surrogate'. This facilitates reversal of the surrogate when it occurs in free text. Note: For record transformations where the entire cell in a table is being transformed, surrogates are not mandatory. Surrogates are used to denote the location of the token and are necessary for re-identification in free form text. In order for inspection to work properly, the name of this info type must not occur naturally anywhere in your data; otherwise, inspection may either

    • reverse a surrogate that does not correspond to an actual identifier
    • be unable to parse the surrogate and result in an error Therefore, choose your custom info type name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigContext, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigContextArgs

    Name string
    Name describing the field.
    Name string
    Name describing the field.
    name String
    Name describing the field.
    name string
    Name describing the field.
    name str
    Name describing the field.
    name String
    Name describing the field.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKey, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyArgs

    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient_ PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kms_wrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped Property Map
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient Property Map
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped Property Map
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrappedArgs

    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    crypto_key_name str
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrapped_key str
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs

    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name str
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrappedArgs

    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key str
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeArgs

    Name string
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    SensitivityScore PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    Version string
    Optional version name for this InfoType.
    Name string
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    SensitivityScore PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    Version string
    Optional version name for this InfoType.
    name String
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivityScore PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version String
    Optional version name for this InfoType.
    name string
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivityScore PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version string
    Optional version name for this InfoType.
    name str
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivity_score PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version str
    Optional version name for this InfoType.
    name String
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivityScore Property Map
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version String
    Optional version name for this InfoType.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScore, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoTypeSensitivityScoreArgs

    Score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    Score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score String
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score str
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score String
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfig, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigArgs

    cryptoKey Property Map
    The key used by the encryption function. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKey, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyArgs

    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient_ PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kms_wrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped Property Map
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient Property Map
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped Property Map
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrappedArgs

    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    crypto_key_name str
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrapped_key str
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransientArgs

    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name str
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrappedArgs

    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key str
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfig, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigArgs

    CommonAlphabet string
    Common alphabets. Only one of this, custom_alphabet or radix must be specified. Possible values are: NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC, ALPHA_NUMERIC.
    Context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContext
    The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and non-structured ContentItems. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that:
    • a 64 bit integer is encoded followed by a single byte of value 1
    • a string is encoded in UTF-8 format followed by a single byte of value 2 Structure is documented below.
    CryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey
    The key used by the encryption algorithm. Structure is documented below.
    CustomAlphabet string
    This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 95]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~`!@#$%^&*()_-+={[}]|:;"'<,>.?/. Only one of this, common_alphabet or radix must be specified.
    Radix int
    The native way to select the alphabet. Must be in the range [2, 95]. Only one of this, custom_alphabet or common_alphabet must be specified.
    SurrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType
    The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType SurrogateType. This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE Structure is documented below.
    CommonAlphabet string
    Common alphabets. Only one of this, custom_alphabet or radix must be specified. Possible values are: NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC, ALPHA_NUMERIC.
    Context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContext
    The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and non-structured ContentItems. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that:
    • a 64 bit integer is encoded followed by a single byte of value 1
    • a string is encoded in UTF-8 format followed by a single byte of value 2 Structure is documented below.
    CryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey
    The key used by the encryption algorithm. Structure is documented below.
    CustomAlphabet string
    This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 95]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~`!@#$%^&*()_-+={[}]|:;"'<,>.?/. Only one of this, common_alphabet or radix must be specified.
    Radix int
    The native way to select the alphabet. Must be in the range [2, 95]. Only one of this, custom_alphabet or common_alphabet must be specified.
    SurrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType
    The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType SurrogateType. This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE Structure is documented below.
    commonAlphabet String
    Common alphabets. Only one of this, custom_alphabet or radix must be specified. Possible values are: NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC, ALPHA_NUMERIC.
    context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContext
    The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and non-structured ContentItems. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that:
    • a 64 bit integer is encoded followed by a single byte of value 1
    • a string is encoded in UTF-8 format followed by a single byte of value 2 Structure is documented below.
    cryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey
    The key used by the encryption algorithm. Structure is documented below.
    customAlphabet String
    This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 95]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~`!@#$%^&*()_-+={[}]|:;"'<,>.?/. Only one of this, common_alphabet or radix must be specified.
    radix Integer
    The native way to select the alphabet. Must be in the range [2, 95]. Only one of this, custom_alphabet or common_alphabet must be specified.
    surrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType
    The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType SurrogateType. This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE Structure is documented below.
    commonAlphabet string
    Common alphabets. Only one of this, custom_alphabet or radix must be specified. Possible values are: NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC, ALPHA_NUMERIC.
    context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContext
    The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and non-structured ContentItems. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that:
    • a 64 bit integer is encoded followed by a single byte of value 1
    • a string is encoded in UTF-8 format followed by a single byte of value 2 Structure is documented below.
    cryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey
    The key used by the encryption algorithm. Structure is documented below.
    customAlphabet string
    This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 95]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~`!@#$%^&*()_-+={[}]|:;"'<,>.?/. Only one of this, common_alphabet or radix must be specified.
    radix number
    The native way to select the alphabet. Must be in the range [2, 95]. Only one of this, custom_alphabet or common_alphabet must be specified.
    surrogateInfoType PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType
    The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType SurrogateType. This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE Structure is documented below.
    common_alphabet str
    Common alphabets. Only one of this, custom_alphabet or radix must be specified. Possible values are: NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC, ALPHA_NUMERIC.
    context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContext
    The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and non-structured ContentItems. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that:
    • a 64 bit integer is encoded followed by a single byte of value 1
    • a string is encoded in UTF-8 format followed by a single byte of value 2 Structure is documented below.
    crypto_key PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey
    The key used by the encryption algorithm. Structure is documented below.
    custom_alphabet str
    This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 95]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~`!@#$%^&*()_-+={[}]|:;"'<,>.?/. Only one of this, common_alphabet or radix must be specified.
    radix int
    The native way to select the alphabet. Must be in the range [2, 95]. Only one of this, custom_alphabet or common_alphabet must be specified.
    surrogate_info_type PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType
    The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType SurrogateType. This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE Structure is documented below.
    commonAlphabet String
    Common alphabets. Only one of this, custom_alphabet or radix must be specified. Possible values are: NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC, ALPHA_NUMERIC.
    context Property Map
    The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but:

    1. there is no record present when transforming a given value or
    2. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an InfoTypeTransformation is applied to both structured and non-structured ContentItems. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that:
    • a 64 bit integer is encoded followed by a single byte of value 1
    • a string is encoded in UTF-8 format followed by a single byte of value 2 Structure is documented below.
    cryptoKey Property Map
    The key used by the encryption algorithm. Structure is documented below.
    customAlphabet String
    This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 95]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~`!@#$%^&*()_-+={[}]|:;"'<,>.?/. Only one of this, common_alphabet or radix must be specified.
    radix Number
    The native way to select the alphabet. Must be in the range [2, 95]. Only one of this, custom_alphabet or common_alphabet must be specified.
    surrogateInfoType Property Map
    The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType SurrogateType. This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContext, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigContextArgs

    Name string
    Name describing the field.
    Name string
    Name describing the field.
    name String
    Name describing the field.
    name string
    Name describing the field.
    name str
    Name describing the field.
    name String
    Name describing the field.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyArgs

    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient_ PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kms_wrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped Property Map
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient Property Map
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped Property Map
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrappedArgs

    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    crypto_key_name str
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrapped_key str
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransientArgs

    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name str
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrappedArgs

    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key str
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeArgs

    Name string
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    SensitivityScore PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    Version string
    Optional version name for this InfoType.
    Name string
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    SensitivityScore PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    Version string
    Optional version name for this InfoType.
    name String
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivityScore PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version String
    Optional version name for this InfoType.
    name string
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivityScore PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version string
    Optional version name for this InfoType.
    name str
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivity_score PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScore
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version str
    Optional version name for this InfoType.
    name String
    Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern [A-Za-z0-9$-_]{1,64}.
    sensitivityScore Property Map
    Optional custom sensitivity for this InfoType. This only applies to data profiling. Structure is documented below.
    version String
    Optional version name for this InfoType.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScore, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoTypeSensitivityScoreArgs

    Score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    Score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score String
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score string
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score str
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
    score String
    The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfig, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigArgs

    LowerBoundDays int
    For example, -5 means shift date to at most 5 days back in the past.
    UpperBoundDays int
    Range of shift in days. Actual shift will be selected at random within this range (inclusive ends). Negative means shift to earlier in time. Must not be more than 365250 days (1000 years) each direction. For example, 3 means shift date to at most 3 days into the future.
    Context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigContext
    Points to the field that contains the context, for example, an entity id. If set, must also set cryptoKey. If set, shift will be consistent for the given context. Structure is documented below.
    CryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKey
    Causes the shift to be computed based on this key and the context. This results in the same shift for the same context and cryptoKey. If set, must also set context. Can only be applied to table items. Structure is documented below.
    LowerBoundDays int
    For example, -5 means shift date to at most 5 days back in the past.
    UpperBoundDays int
    Range of shift in days. Actual shift will be selected at random within this range (inclusive ends). Negative means shift to earlier in time. Must not be more than 365250 days (1000 years) each direction. For example, 3 means shift date to at most 3 days into the future.
    Context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigContext
    Points to the field that contains the context, for example, an entity id. If set, must also set cryptoKey. If set, shift will be consistent for the given context. Structure is documented below.
    CryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKey
    Causes the shift to be computed based on this key and the context. This results in the same shift for the same context and cryptoKey. If set, must also set context. Can only be applied to table items. Structure is documented below.
    lowerBoundDays Integer
    For example, -5 means shift date to at most 5 days back in the past.
    upperBoundDays Integer
    Range of shift in days. Actual shift will be selected at random within this range (inclusive ends). Negative means shift to earlier in time. Must not be more than 365250 days (1000 years) each direction. For example, 3 means shift date to at most 3 days into the future.
    context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigContext
    Points to the field that contains the context, for example, an entity id. If set, must also set cryptoKey. If set, shift will be consistent for the given context. Structure is documented below.
    cryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKey
    Causes the shift to be computed based on this key and the context. This results in the same shift for the same context and cryptoKey. If set, must also set context. Can only be applied to table items. Structure is documented below.
    lowerBoundDays number
    For example, -5 means shift date to at most 5 days back in the past.
    upperBoundDays number
    Range of shift in days. Actual shift will be selected at random within this range (inclusive ends). Negative means shift to earlier in time. Must not be more than 365250 days (1000 years) each direction. For example, 3 means shift date to at most 3 days into the future.
    context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigContext
    Points to the field that contains the context, for example, an entity id. If set, must also set cryptoKey. If set, shift will be consistent for the given context. Structure is documented below.
    cryptoKey PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKey
    Causes the shift to be computed based on this key and the context. This results in the same shift for the same context and cryptoKey. If set, must also set context. Can only be applied to table items. Structure is documented below.
    lower_bound_days int
    For example, -5 means shift date to at most 5 days back in the past.
    upper_bound_days int
    Range of shift in days. Actual shift will be selected at random within this range (inclusive ends). Negative means shift to earlier in time. Must not be more than 365250 days (1000 years) each direction. For example, 3 means shift date to at most 3 days into the future.
    context PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigContext
    Points to the field that contains the context, for example, an entity id. If set, must also set cryptoKey. If set, shift will be consistent for the given context. Structure is documented below.
    crypto_key PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKey
    Causes the shift to be computed based on this key and the context. This results in the same shift for the same context and cryptoKey. If set, must also set context. Can only be applied to table items. Structure is documented below.
    lowerBoundDays Number
    For example, -5 means shift date to at most 5 days back in the past.
    upperBoundDays Number
    Range of shift in days. Actual shift will be selected at random within this range (inclusive ends). Negative means shift to earlier in time. Must not be more than 365250 days (1000 years) each direction. For example, 3 means shift date to at most 3 days into the future.
    context Property Map
    Points to the field that contains the context, for example, an entity id. If set, must also set cryptoKey. If set, shift will be consistent for the given context. Structure is documented below.
    cryptoKey Property Map
    Causes the shift to be computed based on this key and the context. This results in the same shift for the same context and cryptoKey. If set, must also set context. Can only be applied to table items. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigContext, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigContextArgs

    Name string
    Name describing the field.
    Name string
    Name describing the field.
    name String
    Name describing the field.
    name string
    Name describing the field.
    name str
    Name describing the field.
    name String
    Name describing the field.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKey, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyArgs

    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    KmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    Transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    Unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient_ PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kms_wrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.
    kmsWrapped Property Map
    KMS wrapped key. Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see Creating a wrapped key. Only one of this, transient or unwrapped must be specified. Note: When you use Cloud KMS for cryptographic operations, charges apply. Structure is documented below.
    transient Property Map
    Transient crypto key. Use this to have a random data crypto key generated. It will be discarded after the request finishes. Only one of this, unwrapped or kms_wrapped must be specified. Structure is documented below.
    unwrapped Property Map
    Unwrapped crypto key. Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Only one of this, transient or kms_wrapped must be specified. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrappedArgs

    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    CryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    WrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName string
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey string
    The wrapped data crypto key. A base64-encoded string.
    crypto_key_name str
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrapped_key str
    The wrapped data crypto key. A base64-encoded string.
    cryptoKeyName String
    The resource name of the KMS CryptoKey to use for unwrapping.
    wrappedKey String
    The wrapped data crypto key. A base64-encoded string.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransientArgs

    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    Name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name string
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name str
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).
    name String
    Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate TransientCryptoKey protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated).

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyUnwrappedArgs

    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    Key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key string
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key str
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.
    key String
    A 128/192/256 bit key. A base64-encoded string. Note: This property is sensitive and will not be displayed in the plan.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfig, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigArgs

    BucketSize double
    Size of each bucket (except for minimum and maximum buckets). So if lower_bound = 10, upper_bound = 89, and bucketSize = 10, then the following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
    LowerBound PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBound
    Lower bound value of buckets. All values less than lower_bound are grouped together into a single bucket; for example if lower_bound = 10, then all values less than 10 are replaced with the value "-10". The lower_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    UpperBound PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBound
    Upper bound value of buckets. All values greater than upper_bound are grouped together into a single bucket; for example if upper_bound = 89, then all values greater than 89 are replaced with the value "89+". The upper_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    BucketSize float64
    Size of each bucket (except for minimum and maximum buckets). So if lower_bound = 10, upper_bound = 89, and bucketSize = 10, then the following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
    LowerBound PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBound
    Lower bound value of buckets. All values less than lower_bound are grouped together into a single bucket; for example if lower_bound = 10, then all values less than 10 are replaced with the value "-10". The lower_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    UpperBound PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBound
    Upper bound value of buckets. All values greater than upper_bound are grouped together into a single bucket; for example if upper_bound = 89, then all values greater than 89 are replaced with the value "89+". The upper_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    bucketSize Double
    Size of each bucket (except for minimum and maximum buckets). So if lower_bound = 10, upper_bound = 89, and bucketSize = 10, then the following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
    lowerBound PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBound
    Lower bound value of buckets. All values less than lower_bound are grouped together into a single bucket; for example if lower_bound = 10, then all values less than 10 are replaced with the value "-10". The lower_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    upperBound PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBound
    Upper bound value of buckets. All values greater than upper_bound are grouped together into a single bucket; for example if upper_bound = 89, then all values greater than 89 are replaced with the value "89+". The upper_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    bucketSize number
    Size of each bucket (except for minimum and maximum buckets). So if lower_bound = 10, upper_bound = 89, and bucketSize = 10, then the following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
    lowerBound PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBound
    Lower bound value of buckets. All values less than lower_bound are grouped together into a single bucket; for example if lower_bound = 10, then all values less than 10 are replaced with the value "-10". The lower_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    upperBound PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBound
    Upper bound value of buckets. All values greater than upper_bound are grouped together into a single bucket; for example if upper_bound = 89, then all values greater than 89 are replaced with the value "89+". The upper_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    bucket_size float
    Size of each bucket (except for minimum and maximum buckets). So if lower_bound = 10, upper_bound = 89, and bucketSize = 10, then the following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
    lower_bound PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBound
    Lower bound value of buckets. All values less than lower_bound are grouped together into a single bucket; for example if lower_bound = 10, then all values less than 10 are replaced with the value "-10". The lower_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    upper_bound PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBound
    Upper bound value of buckets. All values greater than upper_bound are grouped together into a single bucket; for example if upper_bound = 89, then all values greater than 89 are replaced with the value "89+". The upper_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    bucketSize Number
    Size of each bucket (except for minimum and maximum buckets). So if lower_bound = 10, upper_bound = 89, and bucketSize = 10, then the following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
    lowerBound Property Map
    Lower bound value of buckets. All values less than lower_bound are grouped together into a single bucket; for example if lower_bound = 10, then all values less than 10 are replaced with the value "-10". The lower_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.
    upperBound Property Map
    Upper bound value of buckets. All values greater than upper_bound are grouped together into a single bucket; for example if upper_bound = 89, then all values greater than 89 are replaced with the value "89+". The upper_bound block must only contain one argument. See the fixed_size_bucketing_config block description for more information about choosing a data type. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBound, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundArgs

    BooleanValue bool
    A boolean value.
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue double
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    BooleanValue bool
    A boolean value.
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue float64
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue Boolean
    A boolean value.
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Double
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue boolean
    A boolean value.
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue number
    A float value.
    integerValue string
    An integer value (int64 format)
    stringValue string
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    boolean_value bool
    A boolean value.
    date_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    day_of_week_value str
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    float_value float
    A float value.
    integer_value str
    An integer value (int64 format)
    string_value str
    A string value.
    time_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue
    Represents a time of day. Structure is documented below.
    timestamp_value str
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue Boolean
    A boolean value.
    dateValue Property Map
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Number
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue Property Map
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValueArgs

    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Integer
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Integer
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Integer
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValueArgs

    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Integer
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Integer
    Minutes of hour of day. Must be from 0 to 59.
    nanos Integer
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Integer
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes number
    Minutes of hour of day. Must be from 0 to 59.
    nanos number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes int
    Minutes of hour of day. Must be from 0 to 59.
    nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Number
    Minutes of hour of day. Must be from 0 to 59.
    nanos Number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBound, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundArgs

    BooleanValue bool
    A boolean value.
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue double
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    BooleanValue bool
    A boolean value.
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue float64
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue Boolean
    A boolean value.
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Double
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue boolean
    A boolean value.
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue number
    A float value.
    integerValue string
    An integer value (int64 format)
    stringValue string
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    boolean_value bool
    A boolean value.
    date_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    day_of_week_value str
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    float_value float
    A float value.
    integer_value str
    An integer value (int64 format)
    string_value str
    A string value.
    time_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue
    Represents a time of day. Structure is documented below.
    timestamp_value str
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue Boolean
    A boolean value.
    dateValue Property Map
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Number
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue Property Map
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValueArgs

    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Integer
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Integer
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Integer
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValueArgs

    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Integer
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Integer
    Minutes of hour of day. Must be from 0 to 59.
    nanos Integer
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Integer
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes number
    Minutes of hour of day. Must be from 0 to 59.
    nanos number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes int
    Minutes of hour of day. Must be from 0 to 59.
    nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Number
    Minutes of hour of day. Must be from 0 to 59.
    nanos Number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfig, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigArgs

    NewValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValue
    Replace each input value with a given value. The new_value block must only contain one argument. For example when replacing the contents of a string-type field, only string_value should be set. Structure is documented below.
    NewValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValue
    Replace each input value with a given value. The new_value block must only contain one argument. For example when replacing the contents of a string-type field, only string_value should be set. Structure is documented below.
    newValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValue
    Replace each input value with a given value. The new_value block must only contain one argument. For example when replacing the contents of a string-type field, only string_value should be set. Structure is documented below.
    newValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValue
    Replace each input value with a given value. The new_value block must only contain one argument. For example when replacing the contents of a string-type field, only string_value should be set. Structure is documented below.
    new_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValue
    Replace each input value with a given value. The new_value block must only contain one argument. For example when replacing the contents of a string-type field, only string_value should be set. Structure is documented below.
    newValue Property Map
    Replace each input value with a given value. The new_value block must only contain one argument. For example when replacing the contents of a string-type field, only string_value should be set. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueArgs

    BooleanValue bool
    A boolean value.
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue double
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    BooleanValue bool
    A boolean value.
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue float64
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue Boolean
    A boolean value.
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Double
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue boolean
    A boolean value.
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue number
    A float value.
    integerValue string
    An integer value (int64 format)
    stringValue string
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    boolean_value bool
    A boolean value.
    date_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    day_of_week_value str
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    float_value float
    A float value.
    integer_value str
    An integer value (int64 format)
    string_value str
    A string value.
    time_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueTimeValue
    Represents a time of day. Structure is documented below.
    timestamp_value str
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue Boolean
    A boolean value.
    dateValue Property Map
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Number
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue Property Map
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueDateValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueDateValueArgs

    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Integer
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Integer
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Integer
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueTimeValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceConfigNewValueTimeValueArgs

    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Integer
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Integer
    Minutes of hour of day. Must be from 0 to 59.
    nanos Integer
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Integer
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes number
    Minutes of hour of day. Must be from 0 to 59.
    nanos number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes int
    Minutes of hour of day. Must be from 0 to 59.
    nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Number
    Minutes of hour of day. Must be from 0 to 59.
    nanos Number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfig, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfigArgs

    WordList PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfigWordList
    A list of words to select from for random replacement. The limits page contains details about the size limits of dictionaries. Structure is documented below.
    WordList PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfigWordList
    A list of words to select from for random replacement. The limits page contains details about the size limits of dictionaries. Structure is documented below.
    wordList PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfigWordList
    A list of words to select from for random replacement. The limits page contains details about the size limits of dictionaries. Structure is documented below.
    wordList PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfigWordList
    A list of words to select from for random replacement. The limits page contains details about the size limits of dictionaries. Structure is documented below.
    word_list PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfigWordList
    A list of words to select from for random replacement. The limits page contains details about the size limits of dictionaries. Structure is documented below.
    wordList Property Map
    A list of words to select from for random replacement. The limits page contains details about the size limits of dictionaries. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfigWordList, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationReplaceDictionaryConfigWordListArgs

    Words List<string>
    Words or phrases defining the dictionary. The dictionary must contain at least one phrase and every phrase must contain at least 2 characters that are letters or digits.
    Words []string
    Words or phrases defining the dictionary. The dictionary must contain at least one phrase and every phrase must contain at least 2 characters that are letters or digits.
    words List<String>
    Words or phrases defining the dictionary. The dictionary must contain at least one phrase and every phrase must contain at least 2 characters that are letters or digits.
    words string[]
    Words or phrases defining the dictionary. The dictionary must contain at least one phrase and every phrase must contain at least 2 characters that are letters or digits.
    words Sequence[str]
    Words or phrases defining the dictionary. The dictionary must contain at least one phrase and every phrase must contain at least 2 characters that are letters or digits.
    words List<String>
    Words or phrases defining the dictionary. The dictionary must contain at least one phrase and every phrase must contain at least 2 characters that are letters or digits.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationTimePartConfig, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationTimePartConfigArgs

    PartToExtract string
    The part of the time to keep. Possible values are: YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY.
    PartToExtract string
    The part of the time to keep. Possible values are: YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY.
    partToExtract String
    The part of the time to keep. Possible values are: YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY.
    partToExtract string
    The part of the time to keep. Possible values are: YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY.
    part_to_extract str
    The part of the time to keep. Possible values are: YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY.
    partToExtract String
    The part of the time to keep. Possible values are: YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppression, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionArgs

    Condition PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionCondition
    A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. Structure is documented below.
    Condition PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionCondition
    A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. Structure is documented below.
    condition PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionCondition
    A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. Structure is documented below.
    condition PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionCondition
    A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. Structure is documented below.
    condition PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionCondition
    A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. Structure is documented below.
    condition Property Map
    A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionCondition, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionArgs

    Expressions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressions
    An expression, consisting of an operator and conditions. Structure is documented below.
    Expressions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressions
    An expression, consisting of an operator and conditions. Structure is documented below.
    expressions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressions
    An expression, consisting of an operator and conditions. Structure is documented below.
    expressions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressions
    An expression, consisting of an operator and conditions. Structure is documented below.
    expressions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressions
    An expression, consisting of an operator and conditions. Structure is documented below.
    expressions Property Map
    An expression, consisting of an operator and conditions. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressions, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsArgs

    Conditions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditions
    Conditions to apply to the expression. Structure is documented below.
    LogicalOperator string
    The operator to apply to the result of conditions. Default and currently only supported value is AND. Default value is AND. Possible values are: AND.
    Conditions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditions
    Conditions to apply to the expression. Structure is documented below.
    LogicalOperator string
    The operator to apply to the result of conditions. Default and currently only supported value is AND. Default value is AND. Possible values are: AND.
    conditions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditions
    Conditions to apply to the expression. Structure is documented below.
    logicalOperator String
    The operator to apply to the result of conditions. Default and currently only supported value is AND. Default value is AND. Possible values are: AND.
    conditions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditions
    Conditions to apply to the expression. Structure is documented below.
    logicalOperator string
    The operator to apply to the result of conditions. Default and currently only supported value is AND. Default value is AND. Possible values are: AND.
    conditions PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditions
    Conditions to apply to the expression. Structure is documented below.
    logical_operator str
    The operator to apply to the result of conditions. Default and currently only supported value is AND. Default value is AND. Possible values are: AND.
    conditions Property Map
    Conditions to apply to the expression. Structure is documented below.
    logicalOperator String
    The operator to apply to the result of conditions. Default and currently only supported value is AND. Default value is AND. Possible values are: AND.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditions, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsArgs

    conditions List<Property Map>
    A collection of conditions. Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsCondition, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionArgs

    Field PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionField
    Field within the record this condition is evaluated against. Structure is documented below.
    Operator string
    Operator used to compare the field or infoType to the value. Possible values are: EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN_OR_EQUALS, EXISTS.
    Value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValue
    Value to compare against. [Mandatory, except for EXISTS tests.] Structure is documented below.
    Field PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionField
    Field within the record this condition is evaluated against. Structure is documented below.
    Operator string
    Operator used to compare the field or infoType to the value. Possible values are: EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN_OR_EQUALS, EXISTS.
    Value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValue
    Value to compare against. [Mandatory, except for EXISTS tests.] Structure is documented below.
    field PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionField
    Field within the record this condition is evaluated against. Structure is documented below.
    operator String
    Operator used to compare the field or infoType to the value. Possible values are: EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN_OR_EQUALS, EXISTS.
    value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValue
    Value to compare against. [Mandatory, except for EXISTS tests.] Structure is documented below.
    field PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionField
    Field within the record this condition is evaluated against. Structure is documented below.
    operator string
    Operator used to compare the field or infoType to the value. Possible values are: EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN_OR_EQUALS, EXISTS.
    value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValue
    Value to compare against. [Mandatory, except for EXISTS tests.] Structure is documented below.
    field PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionField
    Field within the record this condition is evaluated against. Structure is documented below.
    operator str
    Operator used to compare the field or infoType to the value. Possible values are: EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN_OR_EQUALS, EXISTS.
    value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValue
    Value to compare against. [Mandatory, except for EXISTS tests.] Structure is documented below.
    field Property Map
    Field within the record this condition is evaluated against. Structure is documented below.
    operator String
    Operator used to compare the field or infoType to the value. Possible values are: EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUALS, LESS_THAN_OR_EQUALS, EXISTS.
    value Property Map
    Value to compare against. [Mandatory, except for EXISTS tests.] Structure is documented below.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionField, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionFieldArgs

    Name string
    Name describing the field.
    Name string
    Name describing the field.
    name String
    Name describing the field.
    name string
    Name describing the field.
    name str
    Name describing the field.
    name String
    Name describing the field.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueArgs

    BooleanValue bool
    A boolean value.
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue double
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    BooleanValue bool
    A boolean value.
    DateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    DayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    FloatValue float64
    A float value.
    IntegerValue string
    An integer value (int64 format)
    StringValue string
    A string value.
    TimeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueTimeValue
    Represents a time of day. Structure is documented below.
    TimestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue Boolean
    A boolean value.
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Double
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue boolean
    A boolean value.
    dateValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue string
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue number
    A float value.
    integerValue string
    An integer value (int64 format)
    stringValue string
    A string value.
    timeValue PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueTimeValue
    Represents a time of day. Structure is documented below.
    timestampValue string
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    boolean_value bool
    A boolean value.
    date_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueDateValue
    Represents a whole or partial calendar date. Structure is documented below.
    day_of_week_value str
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    float_value float
    A float value.
    integer_value str
    An integer value (int64 format)
    string_value str
    A string value.
    time_value PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueTimeValue
    Represents a time of day. Structure is documented below.
    timestamp_value str
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    booleanValue Boolean
    A boolean value.
    dateValue Property Map
    Represents a whole or partial calendar date. Structure is documented below.
    dayOfWeekValue String
    Represents a day of the week. Possible values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    floatValue Number
    A float value.
    integerValue String
    An integer value (int64 format)
    stringValue String
    A string value.
    timeValue Property Map
    Represents a time of day. Structure is documented below.
    timestampValue String
    A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueDateValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueDateValueArgs

    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    Day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    Month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    Year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Integer
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Integer
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Integer
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day int
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month int
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year int
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    day Number
    Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.


    month Number
    Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
    year Number
    Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.

    PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueTimeValue, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionValueTimeValueArgs

    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    Hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    Minutes int
    Minutes of hour of day. Must be from 0 to 59.
    Nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    Seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Integer
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Integer
    Minutes of hour of day. Must be from 0 to 59.
    nanos Integer
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Integer
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes number
    Minutes of hour of day. Must be from 0 to 59.
    nanos number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours int
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes int
    Minutes of hour of day. Must be from 0 to 59.
    nanos int
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds int
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
    hours Number
    Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
    minutes Number
    Minutes of hour of day. Must be from 0 to 59.
    nanos Number
    Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
    seconds Number
    Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

    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:

    $ pulumi import gcp:dataloss/preventionDeidentifyTemplate:PreventionDeidentifyTemplate default {{parent}}/deidentifyTemplates/{{name}}
    
    $ pulumi import gcp:dataloss/preventionDeidentifyTemplate:PreventionDeidentifyTemplate default {{parent}}/{{name}}
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud Classic v7.29.0 published on Wednesday, Jun 26, 2024 by Pulumi