1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. dataloss
  5. PreventionDeidentifyTemplate
Google Cloud v8.26.0 published on Thursday, Apr 10, 2025 by Pulumi

gcp.dataloss.PreventionDeidentifyTemplate

Explore with Pulumi AI

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",
                            },
                        },
                    },
                },
            ],
        },
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

basic = gcp.dataloss.PreventionDeidentifyTemplate("basic",
    parent="projects/my-project-name",
    description="Description",
    display_name="Displayname",
    deidentify_config={
        "info_type_transformations": {
            "transformations": [
                {
                    "info_types": [{
                        "name": "FIRST_NAME",
                    }],
                    "primitive_transformation": {
                        "replace_with_info_type_config": True,
                    },
                },
                {
                    "info_types": [
                        {
                            "name": "PHONE_NUMBER",
                        },
                        {
                            "name": "AGE",
                        },
                    ],
                    "primitive_transformation": {
                        "replace_config": {
                            "new_value": {
                                "integer_value": 9,
                            },
                        },
                    },
                },
                {
                    "info_types": [
                        {
                            "name": "EMAIL_ADDRESS",
                        },
                        {
                            "name": "LAST_NAME",
                        },
                    ],
                    "primitive_transformation": {
                        "character_mask_config": {
                            "masking_character": "X",
                            "number_to_mask": 4,
                            "reverse_order": True,
                            "characters_to_ignores": [{
                                "common_characters_to_ignore": "PUNCTUATION",
                            }],
                        },
                    },
                },
                {
                    "info_types": [{
                        "name": "DATE_OF_BIRTH",
                    }],
                    "primitive_transformation": {
                        "replace_config": {
                            "new_value": {
                                "date_value": {
                                    "year": 2020,
                                    "month": 1,
                                    "day": 1,
                                },
                            },
                        },
                    },
                },
                {
                    "info_types": [{
                        "name": "CREDIT_CARD_NUMBER",
                    }],
                    "primitive_transformation": {
                        "crypto_deterministic_config": {
                            "context": {
                                "name": "sometweak",
                            },
                            "crypto_key": {
                                "transient": {
                                    "name": "beep",
                                },
                            },
                            "surrogate_info_type": {
                                "name": "abc",
                            },
                        },
                    },
                },
            ],
        },
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}
Copy
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",
                                },
                            },
                        },
                    },
                },
            },
        },
    });

});
Copy
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());

    }
}
Copy
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
Copy

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: {},
                },
            ],
        },
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

basic = gcp.dataloss.PreventionDeidentifyTemplate("basic",
    parent="projects/my-project-name",
    description="Description",
    display_name="Displayname",
    deidentify_config={
        "image_transformations": {
            "transforms": [
                {
                    "redaction_color": {
                        "red": 0.5,
                        "blue": 1,
                        "green": 0.2,
                    },
                    "selected_info_types": {
                        "info_types": [{
                            "name": "COLOR_INFO",
                            "version": "latest",
                        }],
                    },
                },
                {
                    "all_info_types": {},
                },
                {
                    "all_text": {},
                },
            ],
        },
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/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: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformAllInfoTypesArgs{},
						},
						&dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs{
							AllText: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformAllTextArgs{},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
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,
                    },
                },
            },
        },
    });

});
Copy
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.0)
                                .green(0.2)
                                .build())
                            .selectedInfoTypes(PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesArgs.builder()
                                .infoTypes(PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformSelectedInfoTypesInfoTypeArgs.builder()
                                    .name("COLOR_INFO")
                                    .version("latest")
                                    .build())
                                .build())
                            .build(),
                        PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs.builder()
                            .allInfoTypes(PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformAllInfoTypesArgs.builder()
                                .build())
                            .build(),
                        PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs.builder()
                            .allText(PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformAllTextArgs.builder()
                                .build())
                            .build())
                    .build())
                .build())
            .build());

    }
}
Copy
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: {}
Copy

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 This property is required. string
The unique name of the resource.
args This property is required. PreventionDeidentifyTemplateArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. 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 This property is required. string
The unique name of the resource.
args This property is required. PreventionDeidentifyTemplateArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. PreventionDeidentifyTemplateArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. 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",
});
Copy
example, err := dataloss.NewPreventionDeidentifyTemplate(ctx, "preventionDeidentifyTemplateResource", &dataloss.PreventionDeidentifyTemplateArgs{
	DeidentifyConfig: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigArgs{
		ImageTransformations: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsArgs{
			Transforms: dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArray{
				&dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformArgs{
					AllInfoTypes: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformAllInfoTypesArgs{},
					AllText:      &dataloss.PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransformAllTextArgs{},
					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: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationRedactConfigArgs{},
						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: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationRedactConfigArgs{},
									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: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationReplaceWithInfoTypeConfigArgs{},
									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: &dataloss.PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationRedactConfigArgs{},
						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"),
})
Copy
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());
Copy
prevention_deidentify_template_resource = gcp.dataloss.PreventionDeidentifyTemplate("preventionDeidentifyTemplateResource",
    deidentify_config={
        "image_transformations": {
            "transforms": [{
                "all_info_types": {},
                "all_text": {},
                "redaction_color": {
                    "blue": 0,
                    "green": 0,
                    "red": 0,
                },
                "selected_info_types": {
                    "info_types": [{
                        "name": "string",
                        "sensitivity_score": {
                            "score": "string",
                        },
                        "version": "string",
                    }],
                },
            }],
        },
        "info_type_transformations": {
            "transformations": [{
                "primitive_transformation": {
                    "bucketing_config": {
                        "buckets": [{
                            "replacement_value": {
                                "date_value": {
                                    "day": 0,
                                    "month": 0,
                                    "year": 0,
                                },
                                "day_of_week_value": "string",
                                "float_value": 0,
                                "integer_value": "string",
                                "string_value": "string",
                                "time_value": {
                                    "hours": 0,
                                    "minutes": 0,
                                    "nanos": 0,
                                    "seconds": 0,
                                },
                                "timestamp_value": "string",
                            },
                            "max": {
                                "date_value": {
                                    "day": 0,
                                    "month": 0,
                                    "year": 0,
                                },
                                "day_of_week_value": "string",
                                "float_value": 0,
                                "integer_value": "string",
                                "string_value": "string",
                                "time_value": {
                                    "hours": 0,
                                    "minutes": 0,
                                    "nanos": 0,
                                    "seconds": 0,
                                },
                                "timestamp_value": "string",
                            },
                            "min": {
                                "date_value": {
                                    "day": 0,
                                    "month": 0,
                                    "year": 0,
                                },
                                "day_of_week_value": "string",
                                "float_value": 0,
                                "integer_value": "string",
                                "string_value": "string",
                                "time_value": {
                                    "hours": 0,
                                    "minutes": 0,
                                    "nanos": 0,
                                    "seconds": 0,
                                },
                                "timestamp_value": "string",
                            },
                        }],
                    },
                    "character_mask_config": {
                        "characters_to_ignores": [{
                            "characters_to_skip": "string",
                            "common_characters_to_ignore": "string",
                        }],
                        "masking_character": "string",
                        "number_to_mask": 0,
                        "reverse_order": False,
                    },
                    "crypto_deterministic_config": {
                        "context": {
                            "name": "string",
                        },
                        "crypto_key": {
                            "kms_wrapped": {
                                "crypto_key_name": "string",
                                "wrapped_key": "string",
                            },
                            "transient": {
                                "name": "string",
                            },
                            "unwrapped": {
                                "key": "string",
                            },
                        },
                        "surrogate_info_type": {
                            "name": "string",
                            "sensitivity_score": {
                                "score": "string",
                            },
                            "version": "string",
                        },
                    },
                    "crypto_hash_config": {
                        "crypto_key": {
                            "kms_wrapped": {
                                "crypto_key_name": "string",
                                "wrapped_key": "string",
                            },
                            "transient": {
                                "name": "string",
                            },
                            "unwrapped": {
                                "key": "string",
                            },
                        },
                    },
                    "crypto_replace_ffx_fpe_config": {
                        "common_alphabet": "string",
                        "context": {
                            "name": "string",
                        },
                        "crypto_key": {
                            "kms_wrapped": {
                                "crypto_key_name": "string",
                                "wrapped_key": "string",
                            },
                            "transient": {
                                "name": "string",
                            },
                            "unwrapped": {
                                "key": "string",
                            },
                        },
                        "custom_alphabet": "string",
                        "radix": 0,
                        "surrogate_info_type": {
                            "name": "string",
                            "sensitivity_score": {
                                "score": "string",
                            },
                            "version": "string",
                        },
                    },
                    "date_shift_config": {
                        "lower_bound_days": 0,
                        "upper_bound_days": 0,
                        "context": {
                            "name": "string",
                        },
                        "crypto_key": {
                            "kms_wrapped": {
                                "crypto_key_name": "string",
                                "wrapped_key": "string",
                            },
                            "transient": {
                                "name": "string",
                            },
                            "unwrapped": {
                                "key": "string",
                            },
                        },
                    },
                    "fixed_size_bucketing_config": {
                        "bucket_size": 0,
                        "lower_bound": {
                            "float_value": 0,
                            "integer_value": "string",
                        },
                        "upper_bound": {
                            "float_value": 0,
                            "integer_value": "string",
                        },
                    },
                    "redact_config": {},
                    "replace_config": {
                        "new_value": {
                            "boolean_value": False,
                            "date_value": {
                                "day": 0,
                                "month": 0,
                                "year": 0,
                            },
                            "day_of_week_value": "string",
                            "float_value": 0,
                            "integer_value": 0,
                            "string_value": "string",
                            "time_value": {
                                "hours": 0,
                                "minutes": 0,
                                "nanos": 0,
                                "seconds": 0,
                            },
                            "timestamp_value": "string",
                        },
                    },
                    "replace_dictionary_config": {
                        "word_list": {
                            "words": ["string"],
                        },
                    },
                    "replace_with_info_type_config": False,
                    "time_part_config": {
                        "part_to_extract": "string",
                    },
                },
                "info_types": [{
                    "name": "string",
                    "sensitivity_score": {
                        "score": "string",
                    },
                    "version": "string",
                }],
            }],
        },
        "record_transformations": {
            "field_transformations": [{
                "fields": [{
                    "name": "string",
                }],
                "condition": {
                    "expressions": {
                        "conditions": {
                            "conditions": [{
                                "field": {
                                    "name": "string",
                                },
                                "operator": "string",
                                "value": {
                                    "boolean_value": False,
                                    "date_value": {
                                        "day": 0,
                                        "month": 0,
                                        "year": 0,
                                    },
                                    "day_of_week_value": "string",
                                    "float_value": 0,
                                    "integer_value": "string",
                                    "string_value": "string",
                                    "time_value": {
                                        "hours": 0,
                                        "minutes": 0,
                                        "nanos": 0,
                                        "seconds": 0,
                                    },
                                    "timestamp_value": "string",
                                },
                            }],
                        },
                        "logical_operator": "string",
                    },
                },
                "info_type_transformations": {
                    "transformations": [{
                        "primitive_transformation": {
                            "bucketing_config": {
                                "buckets": [{
                                    "replacement_value": {
                                        "date_value": {
                                            "day": 0,
                                            "month": 0,
                                            "year": 0,
                                        },
                                        "day_of_week_value": "string",
                                        "float_value": 0,
                                        "integer_value": "string",
                                        "string_value": "string",
                                        "time_value": {
                                            "hours": 0,
                                            "minutes": 0,
                                            "nanos": 0,
                                            "seconds": 0,
                                        },
                                        "timestamp_value": "string",
                                    },
                                    "max": {
                                        "date_value": {
                                            "day": 0,
                                            "month": 0,
                                            "year": 0,
                                        },
                                        "day_of_week_value": "string",
                                        "float_value": 0,
                                        "integer_value": "string",
                                        "string_value": "string",
                                        "time_value": {
                                            "hours": 0,
                                            "minutes": 0,
                                            "nanos": 0,
                                            "seconds": 0,
                                        },
                                        "timestamp_value": "string",
                                    },
                                    "min": {
                                        "date_value": {
                                            "day": 0,
                                            "month": 0,
                                            "year": 0,
                                        },
                                        "day_of_week_value": "string",
                                        "float_value": 0,
                                        "integer_value": "string",
                                        "string_value": "string",
                                        "time_value": {
                                            "hours": 0,
                                            "minutes": 0,
                                            "nanos": 0,
                                            "seconds": 0,
                                        },
                                        "timestamp_value": "string",
                                    },
                                }],
                            },
                            "character_mask_config": {
                                "characters_to_ignores": [{
                                    "characters_to_skip": "string",
                                    "common_characters_to_ignore": "string",
                                }],
                                "masking_character": "string",
                                "number_to_mask": 0,
                                "reverse_order": False,
                            },
                            "crypto_deterministic_config": {
                                "crypto_key": {
                                    "kms_wrapped": {
                                        "crypto_key_name": "string",
                                        "wrapped_key": "string",
                                    },
                                    "transient": {
                                        "name": "string",
                                    },
                                    "unwrapped": {
                                        "key": "string",
                                    },
                                },
                                "surrogate_info_type": {
                                    "name": "string",
                                    "sensitivity_score": {
                                        "score": "string",
                                    },
                                    "version": "string",
                                },
                                "context": {
                                    "name": "string",
                                },
                            },
                            "crypto_hash_config": {
                                "crypto_key": {
                                    "kms_wrapped": {
                                        "crypto_key_name": "string",
                                        "wrapped_key": "string",
                                    },
                                    "transient": {
                                        "name": "string",
                                    },
                                    "unwrapped": {
                                        "key": "string",
                                    },
                                },
                            },
                            "crypto_replace_ffx_fpe_config": {
                                "crypto_key": {
                                    "kms_wrapped": {
                                        "crypto_key_name": "string",
                                        "wrapped_key": "string",
                                    },
                                    "transient": {
                                        "name": "string",
                                    },
                                    "unwrapped": {
                                        "key": "string",
                                    },
                                },
                                "common_alphabet": "string",
                                "context": {
                                    "name": "string",
                                },
                                "custom_alphabet": "string",
                                "radix": 0,
                                "surrogate_info_type": {
                                    "name": "string",
                                    "sensitivity_score": {
                                        "score": "string",
                                    },
                                    "version": "string",
                                },
                            },
                            "date_shift_config": {
                                "lower_bound_days": 0,
                                "upper_bound_days": 0,
                                "context": {
                                    "name": "string",
                                },
                                "crypto_key": {
                                    "kms_wrapped": {
                                        "crypto_key_name": "string",
                                        "wrapped_key": "string",
                                    },
                                    "transient": {
                                        "name": "string",
                                    },
                                    "unwrapped": {
                                        "key": "string",
                                    },
                                },
                            },
                            "fixed_size_bucketing_config": {
                                "bucket_size": 0,
                                "lower_bound": {
                                    "float_value": 0,
                                    "integer_value": "string",
                                },
                                "upper_bound": {
                                    "float_value": 0,
                                    "integer_value": "string",
                                },
                            },
                            "redact_config": {},
                            "replace_config": {
                                "new_value": {
                                    "boolean_value": False,
                                    "date_value": {
                                        "day": 0,
                                        "month": 0,
                                        "year": 0,
                                    },
                                    "day_of_week_value": "string",
                                    "float_value": 0,
                                    "integer_value": "string",
                                    "string_value": "string",
                                    "time_value": {
                                        "hours": 0,
                                        "minutes": 0,
                                        "nanos": 0,
                                        "seconds": 0,
                                    },
                                    "timestamp_value": "string",
                                },
                            },
                            "replace_dictionary_config": {
                                "word_list": {
                                    "words": ["string"],
                                },
                            },
                            "replace_with_info_type_config": {},
                            "time_part_config": {
                                "part_to_extract": "string",
                            },
                        },
                        "info_types": [{
                            "name": "string",
                            "sensitivity_score": {
                                "score": "string",
                            },
                            "version": "string",
                        }],
                    }],
                },
                "primitive_transformation": {
                    "bucketing_config": {
                        "buckets": [{
                            "replacement_value": {
                                "boolean_value": False,
                                "date_value": {
                                    "day": 0,
                                    "month": 0,
                                    "year": 0,
                                },
                                "day_of_week_value": "string",
                                "float_value": 0,
                                "integer_value": "string",
                                "string_value": "string",
                                "time_value": {
                                    "hours": 0,
                                    "minutes": 0,
                                    "nanos": 0,
                                    "seconds": 0,
                                },
                                "timestamp_value": "string",
                            },
                            "max": {
                                "boolean_value": False,
                                "date_value": {
                                    "day": 0,
                                    "month": 0,
                                    "year": 0,
                                },
                                "day_of_week_value": "string",
                                "float_value": 0,
                                "integer_value": "string",
                                "string_value": "string",
                                "time_value": {
                                    "hours": 0,
                                    "minutes": 0,
                                    "nanos": 0,
                                    "seconds": 0,
                                },
                                "timestamp_value": "string",
                            },
                            "min": {
                                "boolean_value": False,
                                "date_value": {
                                    "day": 0,
                                    "month": 0,
                                    "year": 0,
                                },
                                "day_of_week_value": "string",
                                "float_value": 0,
                                "integer_value": "string",
                                "string_value": "string",
                                "time_value": {
                                    "hours": 0,
                                    "minutes": 0,
                                    "nanos": 0,
                                    "seconds": 0,
                                },
                                "timestamp_value": "string",
                            },
                        }],
                    },
                    "character_mask_config": {
                        "characters_to_ignores": [{
                            "characters_to_skip": "string",
                            "common_characters_to_ignore": "string",
                        }],
                        "masking_character": "string",
                        "number_to_mask": 0,
                        "reverse_order": False,
                    },
                    "crypto_deterministic_config": {
                        "context": {
                            "name": "string",
                        },
                        "crypto_key": {
                            "kms_wrapped": {
                                "crypto_key_name": "string",
                                "wrapped_key": "string",
                            },
                            "transient": {
                                "name": "string",
                            },
                            "unwrapped": {
                                "key": "string",
                            },
                        },
                        "surrogate_info_type": {
                            "name": "string",
                            "sensitivity_score": {
                                "score": "string",
                            },
                            "version": "string",
                        },
                    },
                    "crypto_hash_config": {
                        "crypto_key": {
                            "kms_wrapped": {
                                "crypto_key_name": "string",
                                "wrapped_key": "string",
                            },
                            "transient": {
                                "name": "string",
                            },
                            "unwrapped": {
                                "key": "string",
                            },
                        },
                    },
                    "crypto_replace_ffx_fpe_config": {
                        "common_alphabet": "string",
                        "context": {
                            "name": "string",
                        },
                        "crypto_key": {
                            "kms_wrapped": {
                                "crypto_key_name": "string",
                                "wrapped_key": "string",
                            },
                            "transient": {
                                "name": "string",
                            },
                            "unwrapped": {
                                "key": "string",
                            },
                        },
                        "custom_alphabet": "string",
                        "radix": 0,
                        "surrogate_info_type": {
                            "name": "string",
                            "sensitivity_score": {
                                "score": "string",
                            },
                            "version": "string",
                        },
                    },
                    "date_shift_config": {
                        "lower_bound_days": 0,
                        "upper_bound_days": 0,
                        "context": {
                            "name": "string",
                        },
                        "crypto_key": {
                            "kms_wrapped": {
                                "crypto_key_name": "string",
                                "wrapped_key": "string",
                            },
                            "transient": {
                                "name": "string",
                            },
                            "unwrapped": {
                                "key": "string",
                            },
                        },
                    },
                    "fixed_size_bucketing_config": {
                        "bucket_size": 0,
                        "lower_bound": {
                            "boolean_value": False,
                            "date_value": {
                                "day": 0,
                                "month": 0,
                                "year": 0,
                            },
                            "day_of_week_value": "string",
                            "float_value": 0,
                            "integer_value": "string",
                            "string_value": "string",
                            "time_value": {
                                "hours": 0,
                                "minutes": 0,
                                "nanos": 0,
                                "seconds": 0,
                            },
                            "timestamp_value": "string",
                        },
                        "upper_bound": {
                            "boolean_value": False,
                            "date_value": {
                                "day": 0,
                                "month": 0,
                                "year": 0,
                            },
                            "day_of_week_value": "string",
                            "float_value": 0,
                            "integer_value": "string",
                            "string_value": "string",
                            "time_value": {
                                "hours": 0,
                                "minutes": 0,
                                "nanos": 0,
                                "seconds": 0,
                            },
                            "timestamp_value": "string",
                        },
                    },
                    "redact_config": {},
                    "replace_config": {
                        "new_value": {
                            "boolean_value": False,
                            "date_value": {
                                "day": 0,
                                "month": 0,
                                "year": 0,
                            },
                            "day_of_week_value": "string",
                            "float_value": 0,
                            "integer_value": "string",
                            "string_value": "string",
                            "time_value": {
                                "hours": 0,
                                "minutes": 0,
                                "nanos": 0,
                                "seconds": 0,
                            },
                            "timestamp_value": "string",
                        },
                    },
                    "replace_dictionary_config": {
                        "word_list": {
                            "words": ["string"],
                        },
                    },
                    "time_part_config": {
                        "part_to_extract": "string",
                    },
                },
            }],
            "record_suppressions": [{
                "condition": {
                    "expressions": {
                        "conditions": {
                            "conditions": [{
                                "field": {
                                    "name": "string",
                                },
                                "operator": "string",
                                "value": {
                                    "boolean_value": False,
                                    "date_value": {
                                        "day": 0,
                                        "month": 0,
                                        "year": 0,
                                    },
                                    "day_of_week_value": "string",
                                    "float_value": 0,
                                    "integer_value": "string",
                                    "string_value": "string",
                                    "time_value": {
                                        "hours": 0,
                                        "minutes": 0,
                                        "nanos": 0,
                                        "seconds": 0,
                                    },
                                    "timestamp_value": "string",
                                },
                            }],
                        },
                        "logical_operator": "string",
                    },
                },
            }],
        },
    },
    parent="string",
    description="string",
    display_name="string",
    template_id="string")
Copy
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",
});
Copy
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
Copy

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

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The PreventionDeidentifyTemplate resource accepts the following input properties:

DeidentifyConfig This property is required. PreventionDeidentifyTemplateDeidentifyConfig
Configuration of the deidentify template Structure is documented below.
Parent
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. 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 This property is required. PreventionDeidentifyTemplateDeidentifyConfigArgs
Configuration of the deidentify template Structure is documented below.
Parent
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. 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 This property is required. PreventionDeidentifyTemplateDeidentifyConfig
Configuration of the deidentify template Structure is documented below.
parent
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. 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 This property is required. PreventionDeidentifyTemplateDeidentifyConfig
Configuration of the deidentify template Structure is documented below.
parent
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. 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 This property is required. PreventionDeidentifyTemplateDeidentifyConfigArgs
Configuration of the deidentify template Structure is documented below.
parent
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. 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 This property is required. Property Map
Configuration of the deidentify template Structure is documented below.
parent
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. 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)
resources:  _:    type: gcp:dataloss:PreventionDeidentifyTemplate    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 This property is required. List<PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransform>
For determination of how redaction of images should occur. Structure is documented below.
Transforms This property is required. []PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransform
For determination of how redaction of images should occur. Structure is documented below.
transforms This property is required. List<PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransform>
For determination of how redaction of images should occur. Structure is documented below.
transforms This property is required. PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransform[]
For determination of how redaction of images should occur. Structure is documented below.
transforms This property is required. Sequence[PreventionDeidentifyTemplateDeidentifyConfigImageTransformationsTransform]
For determination of how redaction of images should occur. Structure is documented below.
transforms This property is required. 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 This property is required. 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 This property is required. []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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
Score This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. String
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. str
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. String
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.

PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformations
, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsArgs

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

PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformation
, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationArgs

PrimitiveTransformation This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
Score This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. String
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. str
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
CryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
crypto_key_name This property is required. str
The resource name of the KMS CryptoKey to use for unwrapping.
wrapped_key This property is required. str
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.

PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient
, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs

Name This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
Score This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. String
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. str
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. 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 This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
CryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
crypto_key_name This property is required. str
The resource name of the KMS CryptoKey to use for unwrapping.
wrapped_key This property is required. str
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.

PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient
, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransientArgs

Name This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
CryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
crypto_key_name This property is required. str
The resource name of the KMS CryptoKey to use for unwrapping.
wrapped_key This property is required. str
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.

PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient
, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransientArgs

Name This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
Score This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. String
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. str
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. String
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.

PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfig
, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigArgs

LowerBoundDays This property is required. int
For example, -5 means shift date to at most 5 days back in the past.
UpperBoundDays This property is required. 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 This property is required. int
For example, -5 means shift date to at most 5 days back in the past.
UpperBoundDays This property is required. 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 This property is required. Integer
For example, -5 means shift date to at most 5 days back in the past.
upperBoundDays This property is required. 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 This property is required. number
For example, -5 means shift date to at most 5 days back in the past.
upperBoundDays This property is required. 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 This property is required. int
For example, -5 means shift date to at most 5 days back in the past.
upper_bound_days This property is required. 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 This property is required. Number
For example, -5 means shift date to at most 5 days back in the past.
upperBoundDays This property is required. 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 This property is required. string
Name describing the field.
Name This property is required. string
Name describing the field.
name This property is required. String
Name describing the field.
name This property is required. string
Name describing the field.
name This property is required. str
Name describing the field.
name This property is required. 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 This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
CryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
crypto_key_name This property is required. str
The resource name of the KMS CryptoKey to use for unwrapping.
wrapped_key This property is required. str
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.

PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient
, PreventionDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransientArgs

Name This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. []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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. []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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionField
Field within the record this condition is evaluated against. Structure is documented below.
Operator This property is required. 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 This property is required. PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionField
Field within the record this condition is evaluated against. Structure is documented below.
Operator This property is required. 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 This property is required. PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionField
Field within the record this condition is evaluated against. Structure is documented below.
operator This property is required. 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 This property is required. PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionField
Field within the record this condition is evaluated against. Structure is documented below.
operator This property is required. 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 This property is required. PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationConditionExpressionsConditionsConditionField
Field within the record this condition is evaluated against. Structure is documented below.
operator This property is required. 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 This property is required. Property Map
Field within the record this condition is evaluated against. Structure is documented below.
operator This property is required. 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 This property is required. List<PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformation>
Transformation for each infoType. Cannot specify more than one for a given infoType. Structure is documented below.
Transformations This property is required. []PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformation
Transformation for each infoType. Cannot specify more than one for a given infoType. Structure is documented below.
transformations This property is required. List<PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformation>
Transformation for each infoType. Cannot specify more than one for a given infoType. Structure is documented below.
transformations This property is required. PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformation[]
Transformation for each infoType. Cannot specify more than one for a given infoType. Structure is documented below.
transformations This property is required. Sequence[PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformation]
Transformation for each infoType. Cannot specify more than one for a given infoType. Structure is documented below.
transformations This property is required. List<Property Map>
Transformation for each infoType. Cannot specify more than one for a given infoType. Structure is documented below.

PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformation
, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationArgs

PrimitiveTransformation This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
Score This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. String
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. str
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. 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 This property is required. 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 This property is required. []PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucket
Set of buckets. Ranges must be non-overlapping. Bucket is represented as a range, along with replacement values. Structure is documented below.
buckets This property is required. 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 This property is required. PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationBucketingConfigBucket[]
Set of buckets. Ranges must be non-overlapping. Bucket is represented as a range, along with replacement values. Structure is documented below.
buckets This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
Name describing the field.
Name This property is required. string
Name describing the field.
name This property is required. String
Name describing the field.
name This property is required. string
Name describing the field.
name This property is required. str
Name describing the field.
name This property is required. 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 This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
CryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
crypto_key_name This property is required. str
The resource name of the KMS CryptoKey to use for unwrapping.
wrapped_key This property is required. str
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.

PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient
, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs

Name This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
Score This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. String
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. str
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. String
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.

PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfig
, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigArgs

cryptoKey This property is required. 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 This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
CryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
crypto_key_name This property is required. str
The resource name of the KMS CryptoKey to use for unwrapping.
wrapped_key This property is required. str
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.

PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient
, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransientArgs

Name This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
Name describing the field.
Name This property is required. string
Name describing the field.
name This property is required. String
Name describing the field.
name This property is required. string
Name describing the field.
name This property is required. str
Name describing the field.
name This property is required. 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 This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
CryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
crypto_key_name This property is required. str
The resource name of the KMS CryptoKey to use for unwrapping.
wrapped_key This property is required. str
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.

PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient
, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransientArgs

Name This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
Score This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. String
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. str
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. String
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.

PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfig
, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigArgs

LowerBoundDays This property is required. int
For example, -5 means shift date to at most 5 days back in the past.
UpperBoundDays This property is required. 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 This property is required. int
For example, -5 means shift date to at most 5 days back in the past.
UpperBoundDays This property is required. 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 This property is required. Integer
For example, -5 means shift date to at most 5 days back in the past.
upperBoundDays This property is required. 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 This property is required. number
For example, -5 means shift date to at most 5 days back in the past.
upperBoundDays This property is required. 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 This property is required. int
For example, -5 means shift date to at most 5 days back in the past.
upper_bound_days This property is required. 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 This property is required. Number
For example, -5 means shift date to at most 5 days back in the past.
upperBoundDays This property is required. 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 This property is required. string
Name describing the field.
Name This property is required. string
Name describing the field.
name This property is required. String
Name describing the field.
name This property is required. string
Name describing the field.
name This property is required. str
Name describing the field.
name This property is required. 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 This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
CryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
crypto_key_name This property is required. str
The resource name of the KMS CryptoKey to use for unwrapping.
wrapped_key This property is required. str
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.

PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient
, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationInfoTypeTransformationsTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransientArgs

Name This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. []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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
CryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
crypto_key_name This property is required. str
The resource name of the KMS CryptoKey to use for unwrapping.
wrapped_key This property is required. str
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.

PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient
, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransientArgs

Name This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
Score This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. String
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. str
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. 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 This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
CryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
crypto_key_name This property is required. str
The resource name of the KMS CryptoKey to use for unwrapping.
wrapped_key This property is required. str
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.

PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransient
, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoHashConfigCryptoKeyTransientArgs

Name This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
CryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
crypto_key_name This property is required. str
The resource name of the KMS CryptoKey to use for unwrapping.
wrapped_key This property is required. str
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.

PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient
, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransientArgs

Name This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
Score This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. String
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. string
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. str
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.
score This property is required. String
The sensitivity score applied to the resource. Possible values are: SENSITIVITY_LOW, SENSITIVITY_MODERATE, SENSITIVITY_HIGH.

PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfig
, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigArgs

LowerBoundDays This property is required. int
For example, -5 means shift date to at most 5 days back in the past.
UpperBoundDays This property is required. 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 This property is required. int
For example, -5 means shift date to at most 5 days back in the past.
UpperBoundDays This property is required. 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 This property is required. Integer
For example, -5 means shift date to at most 5 days back in the past.
upperBoundDays This property is required. 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 This property is required. number
For example, -5 means shift date to at most 5 days back in the past.
upperBoundDays This property is required. 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 This property is required. int
For example, -5 means shift date to at most 5 days back in the past.
upper_bound_days This property is required. 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 This property is required. Number
For example, -5 means shift date to at most 5 days back in the past.
upperBoundDays This property is required. 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 This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
CryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
WrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. string
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. string
The wrapped data crypto key. A base64-encoded string.
crypto_key_name This property is required. str
The resource name of the KMS CryptoKey to use for unwrapping.
wrapped_key This property is required. str
The wrapped data crypto key. A base64-encoded string.
cryptoKeyName This property is required. String
The resource name of the KMS CryptoKey to use for unwrapping.
wrappedKey This property is required. String
The wrapped data crypto key. A base64-encoded string.

PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransient
, PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationPrimitiveTransformationDateShiftConfigCryptoKeyTransientArgs

Name This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. []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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionField
Field within the record this condition is evaluated against. Structure is documented below.
Operator This property is required. 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 This property is required. PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionField
Field within the record this condition is evaluated against. Structure is documented below.
Operator This property is required. 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 This property is required. PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionField
Field within the record this condition is evaluated against. Structure is documented below.
operator This property is required. 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 This property is required. PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionField
Field within the record this condition is evaluated against. Structure is documented below.
operator This property is required. 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 This property is required. PreventionDeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionConditionExpressionsConditionsConditionField
Field within the record this condition is evaluated against. Structure is documented below.
operator This property is required. 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 This property is required. Property Map
Field within the record this condition is evaluated against. Structure is documented below.
operator This property is required. 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}}
Copy
$ pulumi import gcp:dataloss/preventionDeidentifyTemplate:PreventionDeidentifyTemplate default {{parent}}/{{name}}
Copy

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.